!-,_,^       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~            !!!!!!!!!! ! " " " """""""""""######## #!#"##$$$%$&$'$($)$*$+$,$-$.%/%0123456789:;<=>?@A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\&]&^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~''''''''''''''''''''''''''''''(())((((((((((((((((((())))))))))**++,,----..//////////////////////////////////////////////////////////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~////////////////////////////////////////////////////////////////////////////////////////////,,,,,,,,,,,,,++++++++++000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 {1 |1 }1 ~1 1 1 1 1 1 1                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 8 8 !8 "8 #8 $8 %8 &8 '8 (8 )8 *9 +9 ,9 -9 .9 /9 09 19 29 39 49 59 69 79 89 99 :9 ;9 <9 =9 >9 ?9 @9 A9 B9 C9 D9 E: F: G* H* I* J* K* L* M* N* O* P* Q* R* S* T* U* V* W* X* Y* Z* [* \* ]* ^* _* `* a* b* c* d* e* f* g* h* i* j* k* l; m; n; o; p; q; r; s; t; u; v; w; x; y; z; {; |; }; ~; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; < < < < < < < < < < < < < < < < < < < < < < < < < = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l: m: n: o: p: q: r: s: t: u: v: w> x> y? z? {? |? }? ~? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? > > > > > > > > > > > > > > @ @ @ @ @ @ @ @ @ @ A A A A A A A A A A A A A B B B B B B B B B B B B B B C C D D D D D D D D D D D D D E E E E E E E E E E E C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C F F F F F F !F "F #G $G %G &G 'G (G )G *G +H ,H - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q RH SH TH UH VH WH XH YH ZH [I \I ]& ^& _& `& a& b& c& d& e& f& g& h& i& j& k& l& m& n& o& p& q& r& s& t& u& v& w& x& y& z& {& |& }& ~& & & & & & & & & & & & & & & & & & & & I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I IL7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None%,.=>?@AHVXbggi-glib3No description available in the introspection data.gi-glib+A good size for a buffer to be passed into =Jn. It is guaranteed to be enough for all output of that function on systems with 64bit IEEE-compatible doubles.*The typical usage would be something like:C code n char buf[G_ASCII_DTOSTR_BUF_SIZE]; fprintf (out, "value=%s\n", g_ascii_dtostr (buf, sizeof (buf), value));gi-glib7Specifies one of the possible types of byte order. See  G_BYTE_ORDER.gi-glibcThe set of uppercase ASCII alphabet characters. Used for specifying valid identifier characters in 'K.gi-glibLThe set of ASCII digits. Used for specifying valid identifier characters in 'K.gi-glibcThe set of lowercase ASCII alphabet characters. Used for specifying valid identifier characters in 'K.gi-glib6A bitmask that restricts the possible flags passed to =LN. Passing a flags value where flags & ~G_DATALIST_FLAGS_MASK != 0 is an error.gi-glibRepresents an invalid GDateDay.gi-glib(Represents an invalid Julian day number. gi-glibRepresents an invalid year. gi-glibVThe directory separator character. This is '/' on UNIX machines and '\' under Windows. gi-glibXThe directory separator as a string. This is "/" on UNIX machines and "\" under Windows. gi-glibThe base of natural logarithms. gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gint16. It is a string literal, but doesn't include the percent-sign, such that you can add precision and length modifiers between percent-sign and conversion specifier.C code t gint16 in; gint32 out; sscanf ("42", "%" G_GINT16_FORMAT, &in) out = in * 1000; g_print ("%" G_GINT32_FORMAT, out);gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gint16 or guint16. It is a string literal, but doesn't include the percent-sign, such that you can add precision and length modifiers between percent-sign and conversion specifier and append a conversion specifier.$The following example prints "0x7b";C code A gint16 value = 123; g_print ("%#" G_GINT16_MODIFIER "x", value); Since: 2.4gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gint32 . See also  .gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gint32 or guint32#. It is a string literal. See also . Since: 2.4gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gint64 . See also  .|Some platforms do not support scanning and printing 64-bit integers, even though the types are supported. On such platforms  is not defined. Note that scanf()* may not support 64-bit integers, even if - is defined. Due to its weak error handling, scanf()7 is not recommended for parsing anyway; consider using =M instead.gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gint64 or guint64. It is a string literal.oSome platforms do not support printing 64-bit integers, even though the types are supported. On such platforms  is not defined. Since: 2.4gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gintptr. Since: 2.22gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gintptr or guintptr. It is a string literal. Since: 2.22gi-glib/Expands to "" on all modern compilers, and to FUNCTION" on gcc version 2.x. Don't use it.gi-glib.Expands to "" on all modern compilers, and to PRETTY_FUNCTION" on gcc version 2.x. Don't use it.gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gsize . See also  . Since: 2.6gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gsize. It is a string literal. Since: 2.6gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type gssize . See also  . Since: 2.6gi-glibjThe platform dependent length modifier for conversion specifiers for scanning and printing values of type gssize. It is a string literal. Since: 2.6gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type guint16 . See also  gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type guint32 . See also  .gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type guint64 . See also  .|Some platforms do not support scanning and printing 64-bit integers, even though the types are supported. On such platforms  is not defined. Note that scanf()* may not support 64-bit integers, even if - is defined. Due to its weak error handling, scanf()7 is not recommended for parsing anyway; consider using =M instead.gi-glib]This is the platform dependent conversion specifier for scanning and printing values of type guintptr. Since: 2.22gi-glib3No description available in the introspection data. gi-glib3No description available in the introspection data.!gi-glib;Defined to 1 if gcc-style visibility handling is supported."gi-glib3No description available in the introspection data.#gi-glib3No description available in the introspection data.$gi-glibLThe position of the first bit which is not reserved for internal use be the N implementation, i.e. 1 << G_HOOK_FLAG_USER_SHIFTB is the first bit which can be used for application-defined flags.%gi-glibBThe bias by which exponents in double-precision floats are offset.&gi-glibBThe bias by which exponents in single-precision floats are offset.'gi-glibFThe name of the main group of a desktop entry file, as defined in the  3http://freedesktop.org/Standards/desktop-entry-specDesktop Entry SpecificationR. Consult the specification for more details about the meanings of the keys below. Since: 2.14(gi-glib A key under 'H, whose value is a string list giving the available application actions. Since: 2.38)gi-glib A key under 'n, whose value is a list of strings giving the categories in which the desktop entry should be shown in a menu. Since: 2.14*gi-glib A key under 'M, whose value is a localized string giving the tooltip for the desktop entry. Since: 2.14+gi-glib A key under 'O, whose value is a boolean set to true if the application is D-Bus activatable. Since: 2.38,gi-glib A key under 'l, whose value is a string giving the command line to execute. It is only valid for desktop entries with the  Application type. Since: 2.14-gi-glib A key under 'Q, whose value is a localized string giving the generic name of the desktop entry. Since: 2.14.gi-glib A key under 'Z, whose value is a boolean stating whether the desktop entry has been deleted by the user. Since: 2.14/gi-glib A key under 'f, whose value is a localized string giving the name of the icon to be displayed for the desktop entry. Since: 2.140gi-glib A key under 'Y, whose value is a list of strings giving the MIME types supported by this desktop entry. Since: 2.141gi-glib A key under 'R, whose value is a localized string giving the specific name of the desktop entry. Since: 2.142gi-glib A key under 'j, whose value is a list of strings identifying the environments that should not display the desktop entry. Since: 2.143gi-glib A key under 'V, whose value is a boolean stating whether the desktop entry should be shown in menus. Since: 2.144gi-glib A key under 'f, whose value is a list of strings identifying the environments that should display the desktop entry. Since: 2.145gi-glib A key under ', whose value is a string containing the working directory to run the program in. It is only valid for desktop entries with the  Application type. Since: 2.146gi-glib A key under 'H, whose value is a boolean stating whether the application supports the  >http://www.freedesktop.org/Standards/startup-notification-spec+Startup Notification Protocol Specification. Since: 2.147gi-glib A key under ', whose value is string identifying the WM class or name hint of a window that the application will create, which can be used to emulate Startup Notification with older applications. Since: 2.148gi-glib A key under ', whose value is a boolean stating whether the program should be run in a terminal window. It is only valid for desktop entries with the  Application type. Since: 2.149gi-glib A key under ', whose value is a string giving the file name of a binary on disk used to determine if the program is actually installed. It is only valid for desktop entries with the  Application type. Since: 2.14:gi-glib A key under 'H, whose value is a string giving the type of the desktop entry. Usually =, ?, or >. Since: 2.14;gi-glib A key under 'b, whose value is a string giving the URL to access. It is only valid for desktop entries with the Link type. Since: 2.14<gi-glib A key under 'p, whose value is a string giving the version of the Desktop Entry Specification used for the desktop entry file. Since: 2.14=gi-glibThe value of the :4, key for desktop entries representing applications. Since: 2.14>gi-glibThe value of the :3, key for desktop entries representing directories. Since: 2.14?gi-glibThe value of the ::, key for desktop entries representing links to documents. Since: 2.14@gi-glib7Specifies one of the possible types of byte order. See  G_BYTE_ORDER.Agi-glibThe natural logarithm of 10.Bgi-glibThe natural logarithm of 2.Cgi-glibKMultiplying the base 2 exponent by this number yields the base 10 exponent.Dgi-glibDefines the log domain. See  3http://developer.gnome.org/glib/stable/#log-domains Log Domains.Libraries should define this so that any messages which they log can be differentiated from messages from other libraries and application code. But be careful not to define it in any public header files.Log domains must be unique, and it is recommended that they are the application or library name, optionally followed by a hyphen and a sub-domain name. For example, bloatpad or  bloatpad-io.)If undefined, it defaults to the default   (or ""P) log domain; this is not advisable, as it cannot be filtered against using the G_MESSAGES_DEBUG environment variable.#For example, GTK+ uses this in its  Makefile.am': > >AM_CPPFLAGS = -DG_LOG_DOMAIN="Gtk"3Applications can choose to leave it as the default   (or ""K) domain. However, defining the domain offers the same advantages as above.Egi-glib5GLib log levels that are considered fatal by default.lThis is not used if structured logging is enabled; see [Using Structured Logging][using-structured-logging].Fgi-glibqLog levels below 1<<G_LOG_LEVEL_USER_SHIFT are used by GLib. Higher bits can be used for user-defined log levels.Ggi-glib-The major version number of the GLib library.Like glib_major_version}, but from the headers used at application compile time, rather than from the library linked against at application run time.Hgi-glib)The maximum value which can be held in a gint16. Since: 2.4Igi-glib)The maximum value which can be held in a gint32. Since: 2.4Jgi-glib)The maximum value which can be held in a gint64.Kgi-glib)The maximum value which can be held in a gint8. Since: 2.4Lgi-glib)The maximum value which can be held in a guint16. Since: 2.4Mgi-glib)The maximum value which can be held in a guint32. Since: 2.4Ngi-glib)The maximum value which can be held in a guint64.Ogi-glib)The maximum value which can be held in a guint8. Since: 2.4Pgi-glib-The micro version number of the GLib library.Like gtk_micro_version}, but from the headers used at application compile time, rather than from the library linked against at application run time.Qgi-glib)The minimum value which can be held in a gint16. Since: 2.4Rgi-glib)The minimum value which can be held in a gint32. Since: 2.4Sgi-glib)The minimum value which can be held in a gint64.Tgi-glib)The minimum value which can be held in a gint8. Since: 2.4Ugi-glib-The minor version number of the GLib library.Like gtk_minor_version}, but from the headers used at application compile time, rather than from the library linked against at application run time.Vgi-glib3No description available in the introspection data.Wgi-glibIf a long option in the main group has this name, it is not treated as a regular option. Instead it collects all non-option arguments which would otherwise be left in argv. The option must be of type O, P or Q.Using W instead of simply scanning argv} for leftover arguments has the advantage that GOption takes care of necessary encoding conversions for strings or filenames. Since: 2.6Xgi-glibJSpecifies one of the possible types of byte order (currently unused). See  G_BYTE_ORDER.Ygi-glibBThe value of pi (ratio of circle's circumference to its diameter).Zgi-glib'A format specifier that can be used in printf()&-style format strings when printing a GPid. Since: 2.50[gi-glibPi divided by 2.\gi-glibPi divided by 4.]gi-glib'A format specifier that can be used in printf()(-style format strings when printing the fd member of a  R.^gi-glib,Use this for default priority event sources.AIn GLib this priority is used when adding timeout functions with g_timeout_add()<. In GDK this priority is used for events from the X server._gi-glib-Use this for default priority idle functions.>In GLib this priority is used when adding idle functions with  g_idle_add().`gi-glib)Use this for high priority event sources.#It is not used within GLib or GTK+.agi-glib*Use this for high priority idle functions. GTK+ uses a# + 10 for resizing operations, and a + 20 for redrawing operations. (This is done to ensure that any pending resizes are processed before any pending redraws, so that widgets are not redrawn twice unnecessarily.)bgi-glib0Use this for very low priority background tasks.#It is not used within GLib or GTK+.cgi-glibXThe search path separator character. This is ':' on UNIX machines and ';' under Windows.dgi-glibZThe search path separator as a string. This is ":" on UNIX machines and ";" under Windows.egi-glib3No description available in the introspection data.fgi-glib3No description available in the introspection data.ggi-glib3No description available in the introspection data.hgi-glib3No description available in the introspection data.igi-glib(Use this macro as the return value of a /S to leave the *T in the main loop. Since: 2.32jgi-glib(Use this macro as the return value of a /S to remove the *T from the main loop. Since: 2.32kgi-glibThe square root of two.lgi-glib!The standard delimiters, used in =U.mgi-glib3No description available in the introspection data.ngi-glib3No description available in the introspection data.ogi-glib3No description available in the introspection data.pgi-glib3No description available in the introspection data.qgi-glib3No description available in the introspection data.rgi-glib3No description available in the introspection data.sgi-glibACreates a unique temporary directory for each unit test and uses g_set_user_dirs() to set XDG directories to point into subdirectories of it for the duration of the unit test. The directory tree is cleaned up after the test finishes successfully. Note that this doesn t take effect until =V& is called, so calls to (for example) g_get_user_home_dir()A will return the system-wide value when made in a test program s main() function.The following functions will return subdirectories of the temporary directory when this option is used. The specific subdirectory paths in use are not guaranteed to be stable API  always use a getter function to retrieve them.=W=X=Y=Z=[=\=]bThe subdirectories may not be created by the test harness; as with normal calls to functions like =XJ, the caller must be prepared to create the directory if it doesn t exist. Since: 2.60tgi-glib$Evaluates to a time span of one day. Since: 2.26ugi-glib%Evaluates to a time span of one hour. Since: 2.26vgi-glib,Evaluates to a time span of one millisecond. Since: 2.26wgi-glib'Evaluates to a time span of one minute. Since: 2.26xgi-glib'Evaluates to a time span of one second. Since: 2.26ygi-gliboThe maximum length (in codepoints) of a compatibility or canonical decomposition of a single Unicode character."This is as defined by Unicode 6.1. Since: 2.32zgi-glibIGeneric delimiters characters as defined in RFC 3986. Includes ":/?#[]@".{gi-glibQSubcomponent delimiter characters as defined in RFC 3986. Includes "!$&'()*+,;=".|gi-glib^Number of microseconds in one second (1 million). This macro is provided for code readability.}gi-glib3No description available in the introspection data.~gi-glibA macro that should be defined by the user prior to including the glib.h header. The definition should be one of the predefined GLib version macros: GLIB_VERSION_2_26, GLIB_VERSION_2_28,...kThis macro defines the earliest version of GLib that the package is required to be able to compile against.If the compiler is configured to warn about the use of deprecated functions, then using functions that were deprecated in version ~\ or earlier will cause warnings (but using functions deprecated in later releases will not). Since: 2.32gi-glib3No description available in the introspection data.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glib.Error codes returned by bookmark file parsing.gi-glib$The hashing algorithm to be used by ^) when performing the digest of some data.Note that the T enumeration may be extended at a later date to include new hashing algorithm types. Since: 2.16gi-glib:Error codes returned by character set conversion routines.gi-glibpThis enumeration isn't used in the API, but may be useful if you need to mark a number as a day, month, or year.gi-glib-Enumeration representing a month; values are G_DATE_JANUARY, G_DATE_FEBRUARY, etc. G_DATE_BAD_MONTH is the invalid value.gi-glib,Enumeration representing a day of the week;  G_DATE_MONDAY, G_DATE_TUESDAY, etc. G_DATE_BAD_WEEKDAY is an invalid weekday.gi-glib!The possible errors, used in the vError field of I_, when the token is a .gi-glibValues corresponding to errno5 codes returned from file operations on UNIX. Unlike errnoA codes, GFileError values are available on all systems, even Windows. The exact meaning of each code depends on what sort of file operation you were performing; the UNIX documentation gives more details. The following error code descriptions come from the GNU C Library manual, and are under the copyright of that manual.It's not very portable to make detailed assumptions about exactly which errors will be returned from a given operation. Some errors don't occur on some systems, etc., sometimes there are subtle differences in when a system will report a given error, etc.gi-glibError codes returned by ` operations.gi-glib* is only used by the deprecated functions a, b, and c.gi-glibStati returned by most of the 1d functions.gi-glib)Error codes returned by key file parsing.gi-glibReturn values from GLogWriterFuncs to indicate whether the given log entry was successfully handled by the writer, or whether there was an error in handling it (and hence a fallback writer should be used).If a /e' ignores a log entry, it should return . Since: 2.50gi-glib'Error codes returned by markup parsing.gi-glib$Defines how a Unicode string is transformed in a canonical form, standardizing such issues as whether a character with an accent is represented as a base character and combining accent or as a single precomposed character. Unicode strings should generally be normalized before comparing them.gi-glibBError codes returned by functions converting a string to a number. Since: 2.54gi-glibLThe possible statuses of a one-time initialization function controlled by a f struct. Since: 2.4gi-glibThe  enum values determine which type of extra argument the options expect to find. If an option expects an extra argument, it can be specified in several ways; with a short option: -x arg, with a long option:  --name arg# or combined in a single argument:  --name=arg.gi-glib'Error codes returned by option parsing.gi-glib6Error codes returned by regular expressions functions. Since: 2.14gi-glib2An enumeration specifying the base position for a g operation.gi-glib(Error codes returned by shell functions.gi-glib3No description available in the introspection data.gi-glib+Error codes returned by spawning processes.gi-glib<The type of file to return the filename for, when used with g_test_build_filename().These two options correspond rather directly to the 'dist' and 'built' terminology that automake uses and are explicitly used to distinguish between the 'srcdir' and 'builddir' being separate. All files in your project should either be dist (in the  EXTRA_DIST or dist_schema_DATAJ sense, in which case they will always be in the srcdir) or built (in the  BUILT_SOURCES; sense, in which case they will always be in the builddir).Note: as a general rule of automake, files that are generated only as part of the build-from-git process (but then are distributed with the tarball) always go in srcdir (even if doing a srcdir != builddir build from git) and are considered as distributed files. Since: 2.38gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib,Possible errors of thread related functions.gi-glib'Disambiguates a given time in two ways.AFirst, specifies if the given time is in universal or local time.Second, if the time is in local time, specifies if it is local standard time or local daylight time. This is important for the case where the same local time occurs twice (during daylight savings time transitions, for example).gi-glib/The possible types of token returned from each &h call.gi-glib,Specifies the type of traveral performed by g_tree_traverse(), g_node_traverse() and  g_node_find(),. The different orders are illustrated here:$In order: A, B, C, D, E, F, G, H, I Ehttp://developer.gnome.org/glib/stable/Sorted_binary_tree_inorder.svg%Pre order: F, B, A, D, C, E, G, I, H Fhttp://developer.gnome.org/glib/stable/Sorted_binary_tree_preorder.svg&Post order: A, C, E, D, B, H, I, G, F Ghttp://developer.gnome.org/glib/stable/Sorted_binary_tree_postorder.svg'Level order: F, B, G, A, D, I, C, E, H Uhttp://developer.gnome.org/glib/stable/Sorted_binary_tree_breadth-first_traversal.svggi-glib2These are the possible line break classifications.Since new unicode versions may add new types here, applications should be ready to handle unknown values. They may be regarded as .See  ,http://www.unicode.org/unicode/reports/tr14/Unicode Line Breaking Algorithm.gi-glibThe  enumeration identifies different writing systems. The values correspond to the names as defined in the Unicode standard. The enumeration has been added in GLib 2.14, and is interchangeable with  PangoScript.kNote that new types may be added in the future. Applications should be ready to handle unknown values. See  $http://www.unicode.org/reports/tr24/(Unicode Standard Annex #24: Script names.gi-glibUThese are the possible character classifications from the Unicode specification. See  <http://www.unicode.org/reports/tr44/#General_Category_ValuesUnicode Character Database.gi-gliboThese are logical ids for special directories which are defined depending on the platform used. You should use =i8 to retrieve the full path associated to the logical id.The x enumeration can be extended at later date. Not every platform has a directory for every logical id in this enumeration. Since: 2.14gi-glib)The range of possible top-level types of   instances. Since: 2.24gi-glib6Error codes returned by parsing text-format GVariants.gi-glibURI was ill-formedgi-gliba requested field was not foundgi-glib;a requested application did not register a bookmarkgi-gliba requested URI was not foundgi-glibdocument was ill formedgi-glib8the text being parsed was in an unknown encodinggi-gliban error occurred while writinggi-glibrequested file was not foundgi-glibCatch-all for unknown valuesgi-glibUse the MD5 hashing algorithmgi-glibUse the SHA-1 hashing algorithmgi-glib!Use the SHA-256 hashing algorithmgi-glib/Use the SHA-512 hashing algorithm (Since: 2.36)gi-glib/Use the SHA-384 hashing algorithm (Since: 2.51)gi-glibCatch-all for unknown valuesgi-glibIConversion between the requested character sets is not supported.gi-glibInvalid byte sequence in conversion input; or the character sequence could not be represented in the target character set.gi-glib"Conversion failed for some reason.gi-glib+Partial character sequence at end of input.gi-glibURI is invalid.gi-glib!Pathname is not an absolute path.gi-glib No memory available. Since: 2.40gi-glibAn embedded NUL character is present in conversion output where a NUL-terminated string is expected. Since: 2.56gi-glibCatch-all for unknown valuesgi-gliba daygi-gliba monthgi-gliba yeargi-glibCatch-all for unknown valuesgi-glib invalid valuegi-glibJanuarygi-glibFebruarygi-glibMarchgi-glibAprilgi-glibMaygi-glibJunegi-glibJulygi-glibAugustgi-glib Septembergi-glibOctobergi-glibNovembergi-glibDecembergi-glibCatch-all for unknown valuesgi-glib invalid valuegi-glibMondaygi-glibTuesdaygi-glib Wednesdaygi-glibThursdaygi-glibFridaygi-glibSaturdaygi-glibSundaygi-glibCatch-all for unknown valuesgi-glib unknown errorgi-glibunexpected end of filegi-glibunterminated string constantgi-glibunterminated commentgi-glibnon-digit character in a numbergi-glibdigit beyond radix in a numbergi-glib!non-decimal floating point numbergi-glibmalformed floating point numbergi-glibCatch-all for unknown valuesgi-glibOperation not permitted; only the owner of the file (or other resource) or processes with special privileges can perform the operation.gi-glibkFile is a directory; you cannot open a directory for writing, or create or remove hard links to it.gi-glibUPermission denied; the file permissions do not allow the attempted operation.gi-glibFilename too long.gi-glibNo such file or directory. This is a "file doesn't exist" error for ordinary files that are referenced in contexts where they are expected to already exist.gi-glibQA file that isn't a directory was specified when a directory is required.gi-glib3No such device or address. The system tried to use the device represented by a file you specified, and it couldn't find the device. This can mean that the device file was installed incorrectly, or that the physical device is missing or not correctly attached to the computer.gi-glibYThe underlying file system of the specified file does not support memory mapping.gi-glibhThe directory containing the new link can't be modified because it's on a read-only file system.gi-glibText file busy.gi-glibYou passed in a pointer to bad memory. (GLib won't reliably return this, don't pass in pointers to bad memory.)gi-glibToo many levels of symbolic links were encountered in looking up a file name. This often indicates a cycle of symbolic links.gi-glib[No space left on device; write operation on a file failed because the disk is full.gi-glibiNo memory available. The system cannot allocate more virtual memory because its capacity is full.gi-glibThe current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit.gi-glibGThere are too many distinct file openings in the entire system.gi-glibBad file descriptor; for example, I/O on a descriptor that has been closed or reading from a descriptor open only for writing (or vice versa).gi-glibInvalid argument. This is used to indicate various kinds of problems with passing the wrong argument to a library function.gi-glibdBroken pipe; there is no process reading from the other end of a pipe. Every library function that returns this error code also generates a 'SIGPIPE' signal; this signal terminates the program if not handled or blocked. Thus, your program will never actually see this code unless it has handled or blocked 'SIGPIPE'.gi-glibUResource temporarily unavailable; the call might work if you try again later.gi-glibInterrupted function call; an asynchronous signal occurred and prevented completion of the call. When this happens, you should try the call again.gi-glibInput/output error; usually used for physical read or write errors. i.e. the disk or other physical device hardware is returning errors.gi-glibOperation not permitted; only the owner of the file (or other resource) or processes with special privileges can perform the operation.gi-glib^Function not implemented; this indicates that the system is missing some functionality.gi-glibDoes not correspond to a UNIX error code; this is the standard "failed for unspecified reason" error code present in all  F error code enumerations. Returned if no specific code applies.gi-glibCatch-all for unknown valuesgi-glibFile too large.gi-glibInvalid argument.gi-glib IO error.gi-glibFile is a directory.gi-glibNo space left on device.gi-glibNo such device or address.gi-glib%Value too large for defined datatype.gi-glib Broken pipe.gi-glibSome other error.gi-glibCatch-all for unknown valuesgi-glibno errorgi-gliban EAGAIN error occurredgi-gliban EINVAL error occurredgi-glibanother error occurred gi-glibCatch-all for unknown values gi-glibAn error occurred. gi-glibSuccess. gi-glib End of file. gi-glib!Resource temporarily unavailable.gi-glibCatch-all for unknown valuesgi-glib8the text being parsed was in an unknown encodinggi-glibdocument was ill-formedgi-glibthe file was not foundgi-gliba requested key was not foundgi-gliba requested group was not foundgi-gliba value could not be parsedgi-glibCatch-all for unknown valuesgi-glib%Log writer has handled the log entry.gi-glib*Log writer could not handle the log entry.gi-glibCatch-all for unknown valuesgi-glib%text being parsed was not valid UTF-8gi-glib.document contained nothing, or only whitespacegi-glibdocument was ill-formedgi-gliberror should be set by j( functions; element wasn't knowngi-gliberror should be set by j* functions; attribute wasn't knowngi-gliberror should be set by j' functions; content was invalidgi-gliberror should be set by j4 functions; a required attribute was missing gi-glibCatch-all for unknown values!gi-glibvstandardize differences that do not affect the text content, such as the above-mentioned accent representation"gi-glibanother name for !#gi-gliblike !I, but with composed forms rather than a maximally decomposed form$gi-glibanother name for #%gi-glibbeyond ! also standardize the "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to the standard forms (in this case DIGIT THREE). Formatting information may be lost but for most text operations such characters should be considered the same&gi-glibanother name for %'gi-gliblike %I, but with composed forms rather than a maximally decomposed form(gi-glibanother name for ')gi-glibCatch-all for unknown values*gi-glibString was not a valid number.+gi-glib'String was a number, but out of bounds.,gi-glibCatch-all for unknown values-gi-glib%the function has not been called yet..gi-glib+the function call is currently in progress./gi-glibthe function has been called.0gi-glibCatch-all for unknown values1gi-glib3No extra argument. This is useful for simple flags.2gi-glib#The option takes a string argument.3gi-glib%The option takes an integer argument.4gi-glib0The option provides a callback (of type /k) to parse the extra argument.5gi-glib(The option takes a filename as argument.6gi-gliboThe option takes a string argument, multiple uses of the option are collected into an array of strings.7gi-glibtThe option takes a filename as argument, multiple uses of the option are collected into an array of strings.8gi-glibThe option takes a double argument. The argument can be formatted either for the user's locale or for the "C" locale. Since 2.129gi-glib0The option takes a 64-bit integer. Like 3j but for larger numbers. The number can be in decimal base, or in hexadecimal (when prefixed with 0x, for example,  0xffffffff ). Since 2.12:gi-glibCatch-all for unknown values;gi-glibAn option was not known to the parser. This error will only be reported, if the parser hasn't been instructed to ignore unknown options, see l.<gi-glibA value couldn't be parsed.=gi-glibA /k callback failed.>gi-glibCatch-all for unknown values?gi-glib-Compilation of the regular expression failed.@gi-glib.Optimization of the regular expression failed.Agi-glibCReplacement failed due to an ill-formed replacement string.Bgi-glibThe match process failed.Cgi-glibCInternal error of the regular expression engine. Since 2.16Dgi-glib!"\" at end of pattern. Since 2.16Egi-glib""\c" at end of pattern. Since 2.16Fgi-glib6Unrecognized character follows "\". Since 2.16Ggi-glib;Numbers out of order in "{}" quantifier. Since 2.16Hgi-glib5Number too big in "{}" quantifier. Since 2.16Igi-glib?Missing terminating "]" for character class. Since 2.16Jgi-glib>Invalid escape sequence in character class. Since 2.16Kgi-glib9Range out of order in character class. Since 2.16Lgi-glibNothing to repeat. Since 2.16Mgi-glibEUnrecognized character after "(?", "(?<" or "(?P". Since 2.16Ngi-glibIPOSIX named classes are supported only within a class. Since 2.16Ogi-glibFMissing terminating ")" or ")" without opening "(". Since 2.16Pgi-glib8Reference to non-existent subpattern. Since 2.16Qgi-glib9Missing terminating ")" after comment. Since 2.16Rgi-glib0Regular expression too large. Since 2.16Sgi-glib Failed to get memory. Since 2.16Tgi-glib<Lookbehind assertion is not fixed length. Since 2.16Ugi-glib8Malformed number or name after "(?(". Since 2.16Vgi-glibEConditional group contains more than two branches. Since 2.16Wgi-glib2Assertion expected after "(?(". Since 2.16Xgi-glib,Unknown POSIX class name. Since 2.16Ygi-glib>POSIX collating elements are not supported. Since 2.16Zgi-glibFCharacter value in "\x{...}" sequence is too large. Since 2.16[gi-glib%Invalid condition "(?(0)". Since 2.16\gi-glib:\C not allowed in lookbehind assertion. Since 2.16]gi-glib:Recursive call could loop indefinitely. Since 2.16^gi-glib9Missing terminator in subpattern name. Since 2.16_gi-glib<Two named subpatterns have the same name. Since 2.16`gi-glib3Malformed "\P" or "\p" sequence. Since 2.16agi-glib<Unknown property name after "\P" or "\p". Since 2.16bgi-glibGSubpattern name is too long (maximum 32 characters). Since 2.16cgi-glib?Too many named subpatterns (maximum 10,000). Since 2.16dgi-glib6Octal value is greater than "\377". Since 2.16egi-glib@"DEFINE" group contains more than one branch. Since 2.16fgi-glibkRepeating a "DEFINE" group is not allowed. This error is never raised. Since: 2.16 Deprecated: 2.34ggi-glib0Inconsistent newline options. Since 2.16hgi-glibw"\g" is not followed by a braced, angle-bracketed, or quoted name or number, or by a plain number. Since: 2.16igi-glib0relative reference must not be zero. Since: 2.34jgi-glibQthe backtracing control verb used does not allow an argument. Since: 2.34kgi-glib5unknown backtracing control verb. Since: 2.34lgi-glib1number is too big in escape sequence. Since: 2.34mgi-glib$Missing subpattern name. Since: 2.34ngi-glibMissing digit. Since 2.34ogi-glibWIn JavaScript compatibility mode, "[" is an invalid data character. Since: 2.34pgi-glibWdifferent names for subpatterns of the same number are not allowed. Since: 2.34qgi-glibFthe backtracing control verb requires an argument. Since: 2.34rgi-glib@"\c" must be followed by an ASCII character. Since: 2.34sgi-glibV"\k" is not followed by a braced, angle-bracketed, or quoted name. Since: 2.34tgi-glib-"\N" is not supported in a class. Since: 2.34ugi-glib(too many forward references. Since: 2.34vgi-glib[the name is too long in "(*MARK)", "(*PRUNE)", "(*SKIP)", or "(*THEN)". Since: 2.34wgi-glibHthe character value in the \u sequence is too large. Since: 2.34xgi-glibCatch-all for unknown valuesygi-glib!the current position in the file.zgi-glibthe start of the file.{gi-glibthe end of the file.|gi-glibCatch-all for unknown values}gi-glib(Mismatched or otherwise mangled quoting.~gi-glibString to be parsed was empty.gi-glibSome other error.gi-glibCatch-all for unknown valuesgi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glibCatch-all for unknown valuesgi-glib"Fork failed due to lack of memory.gi-glibRead or select on pipes failed.gi-glib%Changing to working directory failed.gi-glibexecv() returned EACCESgi-glibexecv() returned EPERMgi-glibexecv() returned E2BIGgi-glibdeprecated alias for gi-glibexecv() returned ENOEXECgi-glibexecv() returned  ENAMETOOLONGgi-glibexecv() returned ENOENTgi-glibexecv() returned ENOMEMgi-glibexecv() returned ENOTDIRgi-glibexecv() returned ELOOPgi-glibexecv() returned ETXTBUSYgi-glibexecv() returned EIOgi-glibexecv() returned ENFILEgi-glibexecv() returned EMFILEgi-glibexecv() returned EINVALgi-glibexecv() returned EISDIRgi-glibexecv() returned ELIBBADgi-glib Some other fatal failure, error->message should explain.gi-glibCatch-all for unknown valuesgi-glib4a file that was included in the distribution tarballgi-glib.a file that was built on the compiling machinegi-glibCatch-all for unknown valuesgi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glibCatch-all for unknown valuesgi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glibCatch-all for unknown valuesgi-glibba thread couldn't be created due to resource shortage. Try again later.gi-glibCatch-all for unknown valuesgi-glib"the time is in local standard timegi-glib"the time is in local daylight timegi-glibthe time is in UTCgi-glibCatch-all for unknown valuesgi-glibthe end of the filegi-gliba '(' charactergi-gliba ')' charactergi-gliba '{' charactergi-gliba '}' charactergi-gliba '[' charactergi-gliba ']' charactergi-gliba '=' charactergi-gliba ',' charactergi-glib not a tokengi-gliban error occurredgi-glib a charactergi-gliba binary integergi-gliban octal integergi-glib an integergi-glib a hex integergi-gliba floating point numbergi-gliba stringgi-gliba symbolgi-glib an identifiergi-gliba null identifiergi-glibone line commentgi-glibmulti line commentgi-glibCatch-all for unknown valuesgi-glibvists a node's left child first, then the node itself, then its right child. This is the one to use if you want the output sorted according to the compare function.gi-glib!visits a node, then its children.gi-glib1visits the node's children, then the node itself.gi-glibQis not implemented for [balanced binary trees][glib-Balanced-Binary-Trees]. For [n-ary trees][glib-N-ary-Trees], it vists the root node first, then its children, then its grandchildren, and so on. Note that this is less efficient than the other orders.gi-glibCatch-all for unknown valuesgi-glibMandatory Break (BK)gi-glibCarriage Return (CR)gi-glibLine Feed (LF)gi-glib,Attached Characters and Combining Marks (CM)gi-glibSurrogates (SG)gi-glibZero Width Space (ZW)gi-glibInseparable (IN)gi-glibNon-breaking ("Glue") (GL)gi-glib!Contingent Break Opportunity (CB)gi-glib Space (SP)gi-glibBreak Opportunity After (BA)gi-glibBreak Opportunity Before (BB)gi-glib'Break Opportunity Before and After (B2)gi-glib Hyphen (HY)gi-glibNonstarter (NS)gi-glibOpening Punctuation (OP)gi-glibClosing Punctuation (CL)gi-glibAmbiguous Quotation (QU)gi-glibExclamation/Interrogation (EX)gi-glibIdeographic (ID)gi-glib Numeric (NU)gi-glibInfix Separator (Numeric) (IS)gi-glib!Symbols Allowing Break After (SY)gi-glib.Ordinary Alphabetic and Symbol Characters (AL)gi-glibPrefix (Numeric) (PR)gi-glibPostfix (Numeric) (PO)gi-glib1Complex Content Dependent (South East Asian) (SA)gi-glib*Ambiguous (Alphabetic or Ideographic) (AI)gi-glib Unknown (XX)gi-glibNext Line (NL)gi-glibWord Joiner (WJ)gi-glibHangul L Jamo (JL)gi-glibHangul V Jamo (JV)gi-glibHangul T Jamo (JT)gi-glibHangul LV Syllable (H2)gi-glibHangul LVT Syllable (H3)gi-glib$Closing Parenthesis (CP). Since 2.28gi-glib.Conditional Japanese Starter (CJ). Since: 2.32gi-glibHebrew Letter (HL). Since: 2.32gi-glib$Regional Indicator (RI). Since: 2.36gi-glibEmoji Base (EB). Since: 2.50gi-glib Emoji Modifier (EM). Since: 2.50gi-glib$Zero Width Joiner (ZWJ). Since: 2.50gi-glibCatch-all for unknown valuesgi-gliba value never returned from =mgi-glib.a character used by multiple different scriptsgi-glibpa mark glyph that takes its script from the base glyph to which it is attachedgi-glibArabicgi-glibArmeniangi-glibBengaligi-glibBopomofo gi-glibCherokee gi-glibCoptic gi-glibCyrillic gi-glibDeseret gi-glib Devanagarigi-glibEthiopicgi-glibGeorgiangi-glibGothicgi-glibGreekgi-glibGujaratigi-glibGurmukhigi-glibHangi-glibHangulgi-glibHebrewgi-glibHiraganagi-glibKannadagi-glibKatakanagi-glibKhmergi-glibLaogi-glibLatingi-glib Malayalamgi-glib Mongoliangi-glibMyanmar gi-glibOgham!gi-glib Old Italic"gi-glibOriya#gi-glibRunic$gi-glibSinhala%gi-glibSyriac&gi-glibTamil'gi-glibTelugu(gi-glibThaana)gi-glibThai*gi-glibTibetan+gi-glibCanadian Aboriginal,gi-glibYi-gi-glibTagalog.gi-glibHanunoo/gi-glibBuhid0gi-glibTagbanwa1gi-glibBraille2gi-glibCypriot3gi-glibLimbu4gi-glibOsmanya5gi-glibShavian6gi-glibLinear B7gi-glibTai Le8gi-glibUgaritic9gi-glib New Tai Lue:gi-glibBuginese;gi-glib Glagolitic<gi-glibTifinagh=gi-glib Syloti Nagri>gi-glib Old Persian?gi-glib Kharoshthi@gi-gliban unassigned code pointAgi-glibBalineseBgi-glib CuneiformCgi-glib PhoenicianDgi-glibPhags-paEgi-glibN'KoFgi-glibKayah Li. Since 2.16.3Ggi-glibLepcha. Since 2.16.3Hgi-glibRejang. Since 2.16.3Igi-glibSundanese. Since 2.16.3Jgi-glibSaurashtra. Since 2.16.3Kgi-glibCham. Since 2.16.3Lgi-glibOl Chiki. Since 2.16.3Mgi-glibVai. Since 2.16.3Ngi-glibCarian. Since 2.16.3Ogi-glibLycian. Since 2.16.3Pgi-glibLydian. Since 2.16.3Qgi-glibAvestan. Since 2.26Rgi-glibBamum. Since 2.26Sgi-glib Egyptian Hieroglpyhs. Since 2.26Tgi-glibImperial Aramaic. Since 2.26Ugi-glib!Inscriptional Pahlavi. Since 2.26Vgi-glib"Inscriptional Parthian. Since 2.26Wgi-glibJavanese. Since 2.26Xgi-glibKaithi. Since 2.26Ygi-glibLisu. Since 2.26Zgi-glibMeetei Mayek. Since 2.26[gi-glibOld South Arabian. Since 2.26\gi-glibOld Turkic. Since 2.28]gi-glibSamaritan. Since 2.26^gi-glibTai Tham. Since 2.26_gi-glibTai Viet. Since 2.26`gi-glibBatak. Since 2.28agi-glibBrahmi. Since 2.28bgi-glibMandaic. Since 2.28cgi-glibChakma. Since: 2.32dgi-glibMeroitic Cursive. Since: 2.32egi-glib!Meroitic Hieroglyphs. Since: 2.32fgi-glibMiao. Since: 2.32ggi-glibSharada. Since: 2.32hgi-glibSora Sompeng. Since: 2.32igi-glibTakri. Since: 2.32jgi-glibBassa. Since: 2.42kgi-glibCaucasian Albanian. Since: 2.42lgi-glibDuployan. Since: 2.42mgi-glibElbasan. Since: 2.42ngi-glibGrantha. Since: 2.42ogi-glibKjohki. Since: 2.42pgi-glibKhudawadi, Sindhi. Since: 2.42qgi-glibLinear A. Since: 2.42rgi-glibMahajani. Since: 2.42sgi-glibManichaean. Since: 2.42tgi-glibMende Kikakui. Since: 2.42ugi-glibModi. Since: 2.42vgi-glibMro. Since: 2.42wgi-glibNabataean. Since: 2.42xgi-glibOld North Arabian. Since: 2.42ygi-glibOld Permic. Since: 2.42zgi-glibPahawh Hmong. Since: 2.42{gi-glibPalmyrene. Since: 2.42|gi-glibPau Cin Hau. Since: 2.42}gi-glibPsalter Pahlavi. Since: 2.42~gi-glibSiddham. Since: 2.42gi-glibTirhuta. Since: 2.42gi-glibWarang Citi. Since: 2.42gi-glibAhom. Since: 2.48gi-glib"Anatolian Hieroglyphs. Since: 2.48gi-glibHatran. Since: 2.48gi-glibMultani. Since: 2.48gi-glibOld Hungarian. Since: 2.48gi-glibSignwriting. Since: 2.48gi-glibAdlam. Since: 2.50gi-glibBhaiksuki. Since: 2.50gi-glibMarchen. Since: 2.50gi-glibNewa. Since: 2.50gi-glibOsage. Since: 2.50gi-glibTangut. Since: 2.50gi-glibMasaram Gondi. Since: 2.54gi-glibNushu. Since: 2.54gi-glibSoyombo. Since: 2.54gi-glibZanabazar Square. Since: 2.54gi-glibDogra. Since: 2.58gi-glibGunjala Gondi. Since: 2.58gi-glibHanifi Rohingya. Since: 2.58gi-glibMakasar. Since: 2.58gi-glibMedefaidrin. Since: 2.58gi-glibOld Sogdian. Since: 2.58gi-glibSogdian. Since: 2.58gi-glibCatch-all for unknown valuesgi-glib&General category "Other, Control" (Cc)gi-glib%General category "Other, Format" (Cf)gi-glib+General category "Other, Not Assigned" (Cn)gi-glib*General category "Other, Private Use" (Co)gi-glib(General category "Other, Surrogate" (Cs)gi-glib)General category "Letter, Lowercase" (Ll)gi-glib(General category "Letter, Modifier" (Lm)gi-glib%General category "Letter, Other" (Lo)gi-glib)General category "Letter, Titlecase" (Lt)gi-glib)General category "Letter, Uppercase" (Lu)gi-glib%General category "Mark, Spacing" (Mc)gi-glib'General category "Mark, Enclosing" (Me)gi-glib(General category "Mark, Nonspacing" (Mn)gi-glib-General category "Number, Decimal Digit" (Nd)gi-glib&General category "Number, Letter" (Nl)gi-glib%General category "Number, Other" (No)gi-glib.General category "Punctuation, Connector" (Pc)gi-glib)General category "Punctuation, Dash" (Pd)gi-glib*General category "Punctuation, Close" (Pe)gi-glib0General category "Punctuation, Final quote" (Pf)gi-glib2General category "Punctuation, Initial quote" (Pi)gi-glib*General category "Punctuation, Other" (Po)gi-glib)General category "Punctuation, Open" (Ps)gi-glib(General category "Symbol, Currency" (Sc)gi-glib(General category "Symbol, Modifier" (Sk)gi-glib$General category "Symbol, Math" (Sm)gi-glib%General category "Symbol, Other" (So)gi-glib'General category "Separator, Line" (Zl)gi-glib,General category "Separator, Paragraph" (Zp)gi-glib(General category "Separator, Space" (Zs)gi-glibCatch-all for unknown valuesgi-glibthe user's Desktop directorygi-glibthe user's Documents directorygi-glibthe user's Downloads directorygi-glibthe user's Music directorygi-glibthe user's Pictures directorygi-glibthe user's shared directorygi-glibthe user's Templates directorygi-glibthe user's Movies directorygi-glibthe number of enum valuesgi-glibCatch-all for unknown valuesgi-glibThe   is a boolean.gi-glibThe   is a byte.gi-glibThe   is a signed 16 bit integer.gi-glibThe   is an unsigned 16 bit integer.gi-glibThe   is a signed 32 bit integer.gi-glibThe   is an unsigned 32 bit integer.gi-glibThe   is a signed 64 bit integer.gi-glibThe   is an unsigned 64 bit integer.gi-glibThe   is a file handle index.gi-glibThe  I is a double precision floating point value.gi-glibThe   is a normal string.gi-glibThe  A is a D-Bus object path string.gi-glibThe   is a D-Bus signature string.gi-glibThe   is a variant.gi-glibThe   is a maybe-typed value.gi-glibThe   is an array.gi-glibThe   is a tuple.gi-glibThe   is a dictionary entry.gi-glibCatch-all for unknown valuesgi-glibgeneric error (unused)gi-glib a non-basic Cn* was given where a basic type was expectedgi-glibcannot infer the Cngi-gliban indefinite Cn- was given where a definite type was expectedgi-glib!extra data after parsing finishedgi-glib-invalid character in number or unicode escapegi-glib not a valid   format stringgi-glibnot a valid object pathgi-glibnot a valid type signaturegi-glib not a valid   type stringgi-glib.could not find a common type for array entriesgi-glib5the numerical value is out of range of the given typegi-glib0the numerical value is out of range for any typegi-glib-cannot parse as variant of the specified typegi-glib#an unexpected token was encounteredgi-glib"an unknown keyword was encounteredgi-glibunterminated string constantgi-glibno value givengi-glibCatch-all for unknown valuesgi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.gi-glibCatch exceptions of type #. This is a specialized version of op.gi-glibHandle exceptions of type #. This is a specialized version of oq.      !"#$%&'()*+,-./0467123589:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0467123589:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbK6gi-glib3No description available in the introspection data.gi-glib"A test to perform on a file using =r.gi-glib5Flags to modify the format of the string returned by =s.gi-glibFlags used internally in the N implementation.gi-glibOA bitwise combination representing a condition to watch for on an event source.gi-glibSpecifies properties of a `*. Some of the flags can only be read with t, but not changed with u.gi-glib"Flags which influence the parsing.gi-glib+Flags specifying the level of log messages.NIt is possible to change how GLib treats messages of the various levels using g_log_set_handler() and =v.gi-glibA mixed enumerated type and flags field. You must specify one type (string, strdup, boolean, tristate). Additionally, you may optionally bitwise OR the type with the flag .RIt is likely that this enum will be extended in the future to support other types.gi-glib.Flags that affect the behaviour of the parser.gi-glib&Flags which modify individual options.gi-glib&Flags specifying compile-time options. Since: 2.14gi-glib$Flags specifying match-time options. Since: 2.14gi-glibFlags passed to =w, =x and =y.gi-glibFlags to pass to =z to control input and output.Note that in contrast with ={/, the default is to not show stdout and stderr.gi-glibSTest traps are guards around forked tests. These flags determine what traps to set.gi-glibRSpecifies which nodes are visited during several of the tree functions, including g_node_traverse() and  g_node_find().gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glibCatch-all for unknown valuesgi-glib _ if the file is a regular file (not a directory). Note that this test will also return  ; if the tested file is a symlink to a regular file.gi-glib  if the file is a symlink.gi-glib  if the file is a directory.gi-glib  if the file is executable.gi-glib A if the file exists. It may or may not be a regular file.gi-glibCatch-all for unknown valuesgi-glibbehave the same as =|gi-glibqinclude the exact number of bytes as part of the returned string. For example, "45.6 kB (45,612 bytes)".gi-glib use IEC (base 1024) units with "KiB"-style suffixes. IEC units should only be used for reporting things with a strong "power of 2" basis, like RAM sizes or RAID stripe sizes. Network and storage sizes should be reported in the normal SI units.gi-glib|set the size as a quantity in bits, rather than bytes, and return units in bits. For example, Mb  rather than MB .gi-glibCatch-all for unknown valuesgi-glib&set if the hook has not been destroyedgi-glib&set if the hook is currently being rungi-glib<A mask covering all bits reserved for hook flags; see }gi-glibCatch-all for unknown valuesgi-glibThere is data to read.gi-glib'Data can be written (without blocking).gi-glibThere is urgent data to read.gi-glibError condition.gi-glibWHung up (the connection has been broken, usually for pipes and sockets).gi-glib1Invalid request. The file descriptor is not open.gi-glibCatch-all for unknown valuesgi-glib%turns on append mode, corresponds to O_APPEND, (see the documentation of the UNIX open() syscall)gi-glib2turns on nonblocking mode, corresponds to  O_NONBLOCK/O_NDELAY$ (see the documentation of the UNIX open() syscall)gi-glibOindicates that the io channel is readable. This flag cannot be changed.gi-glibOindicates that the io channel is writable. This flag cannot be changed.gi-gliba misspelled version of gIOFLAGISWRITABLE that existed before the spelling was fixed in GLib 2.30. It is kept here for compatibility reasons. Deprecated since 2.30gi-glib=indicates that the io channel is seekable, i.e. that g8 can be used on it. This flag cannot be changed.gi-glib,the mask that specifies all the valid flags.gi-glib5the mask of the flags that are returned from tgi-glib<the mask of the flags that the user can modify with ugi-glibCatch-all for unknown valuesgi-glibNo flags, default behaviourgi-glibUse this flag if you plan to write the (possibly modified) contents of the key file back to a file; otherwise all comments will be lost when the key file is written back.gi-glibUse this flag if you plan to write the (possibly modified) contents of the key file back to a file; otherwise only the translations for the current language will be written back.gi-glibCatch-all for unknown valuesgi-glib internal flaggi-glib internal flaggi-gliblog level for errors, see  g_error();. This level is also used for messages produced by  g_assert().gi-glib5log level for critical warning messages, see  g_critical();. This level is also used for messages produced by g_return_if_fail() and g_return_val_if_fail().gi-gliblog level for warnings, see  g_warning()gi-gliblog level for messages, see  g_message()gi-glib*log level for informational messages, see g_info()gi-glib"log level for debug messages, see  g_debug()gi-gliba mask including all log levelsgi-glibCatch-all for unknown valuesgi-glib;used to terminate the list of attributes to collectgi-glibcollect the string pointer directly from the attribute_values[] array. Expects a parameter of type (const char **). If V is specified and the attribute isn't present then the pointer will be set to  gi-glibas with 8, but expects a parameter of type (char **) and =~?s the returned pointer. The pointer must be freed with =gi-glibcexpects a parameter of type (gboolean *) and parses the attribute value as a boolean. Sets   if the attribute isn't present. Valid boolean values consist of (case-insensitive) "false", "f", "no", "n", "0" and "true", "t", "yes", "y", "1"gi-glibas with g, but in the case of a missing attribute a value is set that compares equal to neither   nor  - G_MARKUP_COLLECT_OPTIONAL is impliedgi-glibcan be bitwise ORed with the other fields. If present, allows the attribute not to appear. A default value is set depending on what value type is usedgi-glibCatch-all for unknown valuesgi-glibflag you should not usegi-glibUWhen this flag is set, CDATA marked sections are not passed literally to the  passthroughZ function of the parser. Instead, the content of the section (without the  <![CDATA[ and ]]>) is passed to the text+ function. This flag was added in GLib 2.12gi-glibNormally errors caught by GMarkup itself have line/column information prefixed to them to let the caller know the location of the error. When this flag is set the location information is also prefixed to errors generated by the j implementation functionsgi-glibIgnore (don't report) qualified attributes and tags, along with their contents. A qualified attribute or tag is one that contains ':' in its name (ie: is in another namespace). Since: 2.40.gi-glibCatch-all for unknown valuesgi-glibNo flags. Since: 2.42.gi-glibThe option doesn't appear in --help output.gi-glib6The option appears in the main section of the --help* output, even if it is defined in a group.gi-glibFor options of the L kind, this flag indicates that the sense of the option is reversed.gi-glibFor options of the O` kind, this flag indicates that the callback does not take any argument (like a  option). Since 2.8gi-glibFor options of the O kind, this flag indicates that the argument should be passed to the callback in the GLib filename encoding rather than UTF-8. Since 2.8gi-glibFor options of the Ov kind, this flag indicates that the argument supply is optional. If no argument is given then data of GOptionParseFunc' will be set to NULL. Since 2.8gi-glibdThis flag turns off the automatic conflict resolution which prefixes long option names with  groupname- if there is a conflict. This option should only be used in situations where aliasing is necessary to model some legacy commandline interface. It is not safe to use this option, unless all option groups are under your direct control. Since 2.8.gi-glibCatch-all for unknown valuesgi-glibLetters in the pattern match both upper- and lowercase letters. This option can be changed within a pattern by a "(?i)" option setting.gi-glibpBy default, GRegex treats the strings as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter ("^") matches only at the start of the string, while the "end of line" metacharacter ("$") matches only at the end of the string, or before a terminating newline (unless G_REGEX_DOLLAR_ENDONLY is set). When G_REGEX_MULTILINE is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the string, respectively, as well as at the very start and end. This can be changed within a pattern by a "(?m)" option setting.gi-glibA dot metacharacter (".") in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option can be changed within a pattern by a ("?s") option setting.gi-glibWhitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped "#" outside a character class and the next newline character, inclusive, are also ignored. This can be changed within a pattern by a "(?x)" option setting.gi-glib"The pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched. This effect can also be achieved by appropriate constructs in the pattern itself such as the "^" metacharacter.gi-glibA dollar metacharacter ("$") in the pattern matches only at the end of the string. Without this option, a dollar also matches immediately before the final character if it is a newline (but not before any other newlines). This option is ignored if G_REGEX_MULTILINE is set. gi-glibInverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It can also be set by a "(?U)" option setting within the pattern. gi-glibtUsually strings must be valid UTF-8 strings, using this flag they are considered as a raw sequence of bytes. gi-glib Disables the use of numbered capturing parentheses in the pattern. Any opening parenthesis that is not followed by "?" behaves as if it were followed by "?:" but named parentheses can still be used for capturing (and they acquire numbers in the usual way). gi-glibOptimize the regular expression. If the pattern will be used many times, then it may be worth the effort to optimize it to improve the speed of matches. gi-glib[Limits an unanchored pattern to match before (or at) the first newline. Since: 2.34gi-glibNames used to identify capturing subpatterns need not be unique. This can be helpful for certain types of pattern when it is known that only one instance of the named subpattern can ever be matched.gi-glibUsually any newline character or character sequence is recognized. If this option is set, the only recognized newline character is '\r'.gi-glibUsually any newline character or character sequence is recognized. If this option is set, the only recognized newline character is '\n'.gi-glibUsually any newline character or character sequence is recognized. If this option is set, the only recognized newline character sequence is '\r\n'.gi-glibUsually any newline character or character sequence is recognized. If this option is set, the only recognized newline character sequences are '\r', '\n', and '\r\n'. Since: 2.34gi-glibUsually any newline character or character sequence is recognised. If this option is set, then "\R" only recognizes the newline characters '\r', '\n' and '\r\n'. Since: 2.34gi-glib`Changes behaviour so that it is compatible with JavaScript rather than PCRE. Since: 2.34gi-glibCatch-all for unknown valuesgi-glib"The pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched. This effect can also be achieved by appropriate constructs in the pattern itself such as the "^" metacharacter.gi-glibSpecifies that first character of the string is not the beginning of a line, so the circumflex metacharacter should not match before it. Setting this without G_REGEX_MULTILINE (at compile time) causes circumflex never to match. This option affects only the behaviour of the circumflex metacharacter, it does not affect "\A".gi-glibSpecifies that the end of the subject string is not the end of a line, so the dollar metacharacter should not match it nor (except in multiline mode) a newline immediately before it. Setting this without G_REGEX_MULTILINE (at compile time) causes dollar never to match. This option affects only the behaviour of the dollar metacharacter, it does not affect "\Z" or "\z".gi-glibAn empty string is not considered to be a valid match if this option is set. If there are alternatives in the pattern, they are tried. If all the alternatives match the empty string, the entire match fails. For example, if the pattern "a?b?" is applied to a string not beginning with "a" or "b", it matches the empty string at the start of the string. With this flag set, this match is not valid, so GRegex searches further into the string for occurrences of "a" or "b".gi-glib^Turns on the partial matching feature, for more documentation on partial matching see .gi-glibAOverrides the newline definition set when creating a new %0, setting the '\r' character as line terminator.gi-glibAOverrides the newline definition set when creating a new %0, setting the '\n' character as line terminator.gi-glibAOverrides the newline definition set when creating a new %<, setting the '\r\n' characters sequence as line terminator.gi-glibAOverrides the newline definition set when creating a new %, any Unicode newline sequence is recognised as a newline. These are '\r', '\n' and '\rn', and the single characters U+000B LINE TABULATION, U+000C FORM FEED (FF), U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR.gi-glibAOverrides the newline definition set when creating a new %^; any '\r', '\n', or '\r\n' character sequence is recognized as a newline. Since: 2.34 gi-glibJOverrides the newline definition for "\R" set when creating a new %i; only '\r', '\n', or '\r\n' character sequences are recognized as a newline by "\R". Since: 2.34!gi-glibJOverrides the newline definition for "\R" set when creating a new %=; any Unicode newline character or character sequence are recognized as a newline by "\R". These are '\r', '\n' and '\rn', and the single characters U+000B LINE TABULATION, U+000C FORM FEED (FF), U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. Since: 2.34"gi-glib An alias for G_REGEX_MATCH_PARTIAL . Since: 2.34#gi-glibATurns on the partial matching feature. In contrast to to G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match is found, without continuing to search for a possible complete match. See " for more information. Since: 2.34$gi-glibLike G_REGEX_MATCH_NOTEMPTY, but only applied to the start of the matched string. For anchored patterns this can only happen for pattern containing "\K". Since: 2.34%gi-glibCatch-all for unknown values&gi-glibno flags, default behaviour'gi-glibthe parent's open file descriptors will be inherited by the child; otherwise all descriptors except stdin, stdout and stderr will be closed before calling exec() in the child.(gi-glibAthe child will not be automatically reaped; you must use g_child_watch_add() yourself (or call  waitpid() or handle SIGCHLD. yourself), or the child will become a zombie.)gi-glibargv[0]K need not be an absolute path, it will be looked for in the user's PATH.*gi-glib}the child's standard output will be discarded, instead of going to the same location as the parent's standard output.+gi-glib-the child's standard error will be discarded.,gi-glibrthe child will inherit the parent's standard input (by default, the child's standard input is attached to  /dev/null).-gi-glibthe first element of argv is the file to execute, while the remaining elements are the actual argument vector to pass to the file. Normally =y uses argv[0]3 as the file to execute, and passes all of argv to the child..gi-glibif argv[0]> is not an abolute path, it will be looked for in the PATH7 from the passed child environment. Since: 2.34/gi-glibcreate all pipes with the  O_CLOEXEC flag set. Since: 2.400gi-glibCatch-all for unknown values1gi-glibIf this flag is given, the child process will inherit the parent's stdin. Otherwise, the child's stdin is redirected to  /dev/null.2gi-glibIf this flag is given, the child process will inherit the parent's stdout. Otherwise, the child's stdout will not be visible, but it will be captured to allow later tests with g_test_trap_assert_stdout().3gi-glibIf this flag is given, the child process will inherit the parent's stderr. Otherwise, the child's stderr will not be visible, but it will be captured to allow later tests with g_test_trap_assert_stderr().4gi-glibCatch-all for unknown values5gi-glib-Redirect stdout of the test child to  /dev/null so it cannot be observed on the console during test runs. The actual output is still captured though to allow later tests with g_test_trap_assert_stdout().6gi-glib-Redirect stderr of the test child to  /dev/null so it cannot be observed on the console during test runs. The actual output is still captured though to allow later tests with g_test_trap_assert_stderr().7gi-glibIf this flag is given, stdin of the child process is shared with stdin of its parent process. It is redirected to  /dev/null otherwise.8gi-glibCatch-all for unknown values9gi-glibonly leaf nodes should be visited. This name has been introduced in 2.6, for older version use =.:gi-glibonly non-leaf nodes should be visited. This name has been introduced in 2.6, for older version use >.;gi-gliball nodes should be visited.<gi-gliba mask of all traverse flags.=gi-glib identical to 9.>gi-glib identical to :.?gi-glibCatch-all for unknown values      !"#$%&'()*+,-./0123456789:;<=>?      !"#$%&'()*+,-./0123456789:;<=>?7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb?)gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibAdds the application with name and execA to the list of applications that have registered a bookmark for uri into bookmark.Every bookmark inside a  must have at least an application registered. Each application must provide a name, a command line useful for launching the bookmark, the number of times the bookmark has been registered by the application and the last time the application registered this bookmark.If name is  ;, the name of the application will be the same returned by =; if exec is  L, the command line will be a composition of the program name as returned by =E and the "%u" modifier, which will be expanded to the bookmark's URI.This function will automatically take care of updating the registrations count and timestamping in case an application with the same name' had already registered a bookmark for uri inside bookmark.If no bookmark for uri is found, one is created. Since: 2.12gi-glibAdds group1 to the list of groups to which the bookmark for uri belongs to.If no bookmark for uri is found then it is created. Since: 2.12gi-glibFrees a . Since: 2.12gi-glibGets the time the bookmark for uri was added to bookmark9In the event the URI cannot be found, -1 is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib%Gets the registration information of appName for the bookmark for uri. See . for more information about the returned data.The string returned in appExec must be freed.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.. In the event that no application with name appName has registered a bookmark for uri,  ! is returned and error is set to (G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTEREDF. In the event that unquoting the command line fails, an error of the  G_SHELL_ERROR domain is set and   is returned. Since: 2.12gi-glibNRetrieves the names of the applications that have registered the bookmark for uri.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib.Retrieves the description of the bookmark for uri.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib6Retrieves the list of group names of the bookmark for uri.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.The returned array is   terminated, so length may optionally be  . Since: 2.12gi-glib"Gets the icon of the bookmark for uri.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib2Gets whether the private flag of the bookmark for uri is set.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND7. In the event that the private flag cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. Since: 2.12gi-glib3Retrieves the MIME type of the resource pointed by uri.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND4. In the event that the MIME type cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. Since: 2.12gi-glib$Gets the time when the bookmark for uri was last modified.9In the event the URI cannot be found, -1 is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib$Gets the number of bookmarks inside bookmark. Since: 2.12gi-glib&Returns the title of the bookmark for uri.If uri is  , the title of bookmark is returned.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib7Returns all URIs of the bookmarks in the bookmark file bookmark%. The array of returned URIs will be  -terminated, so length may optionally be  . Since: 2.12gi-glibGets the time the bookmark for uri was last visited.9In the event the URI cannot be found, -1 is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib Checks whether the bookmark for uri inside bookmark$ has been registered by application name.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glibChecks whether group9 appears in the list of groups to which the bookmark for uri belongs to.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glibCLooks whether the desktop bookmark has an item with its URI set to uri. Since: 2.12gi-glib0Loads a bookmark file from memory into an empty 2 structure. If the object cannot be created then error is set to a . Since: 2.12gi-glib6This function looks for a desktop bookmark file named file in the paths returned from =\ and =[, loads the file into bookmark% and returns the file's full path in fullPath(. If the file could not be loaded then error is set to either a  or . Since: 2.12gi-glib,Loads a desktop bookmark file into an empty 1 structure. If the file could not be loaded then error is set to either a  or . Since: 2.12gi-glib(Changes the URI of a bookmark item from oldUri to newUri. Any existing bookmark for newUri will be overwritten. If newUri is  , then the bookmark is removed.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. Since: 2.12gi-glib$Removes application registered with nameC from the list of applications that have registered a bookmark for uri inside bookmark.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND-. In the event that no application with name appName has registered a bookmark for uri,  ! is returned and error is set to (G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Since: 2.12gi-glibRemoves group3 from the list of groups to which the bookmark for uri belongs to.&In the event the URI cannot be found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND%. In the event no group was defined,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. Since: 2.12gi-glibRemoves the bookmark for uri from the bookmark file bookmark. Since: 2.12gi-glibSets the time the bookmark for uri was added into bookmark.If no bookmark for uri is found then it is created. Since: 2.12gi-glib"Sets the meta-data of application nameE inside the list of applications that have registered a bookmark for uri inside bookmark.)You should rarely use this function; use  and  instead.nameB can be any UTF-8 encoded string used to identify an application. exec can have one of these two modifiers: "%f", which will be expanded as the local file name retrieved from the bookmark's URI; "%u", which will be expanded as the bookmark's URI. The expansion is done automatically when retrieving the stored command line using the  function. count is the number of times the application has registered the bookmark; if is < 0, the current registration count will be increased by one, if is 0, the application with name; will be removed from the list of registered applications. stampW is the Unix time of the last registration; if it is -1, the current time will be used.cIf you try to remove an application by setting its registration count to zero, and no bookmark for uri is found,   is returned and error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.; similarly, in the event that no application name has registered a bookmark for uri,  ! is returned and error is set to (G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED!. Otherwise, if no bookmark for uri is found, one is created. Since: 2.12gi-glibSets  description( as the description of the bookmark for uri.If uri is  , the description of bookmark is set.If a bookmark for uri$ cannot be found then it is created. Since: 2.12gi-glib1Sets a list of group names for the item with URI uri2. Each previously set group name list is removed.If uri0 cannot be found then an item for it is created. Since: 2.12gi-glib#Sets the icon for the bookmark for uri. If href is  !, unsets the currently set icon. hrefe can either be a full URL for the icon file or the icon name following the Icon Naming specification.If no bookmark for uri is found one is created. Since: 2.12gi-glib*Sets the private flag of the bookmark for uri.If a bookmark for uri$ cannot be found then it is created. Since: 2.12gi-glibSets mimeType& as the MIME type of the bookmark for uri.If a bookmark for uri$ cannot be found then it is created. Since: 2.12gi-glib$Sets the last time the bookmark for uri was last modified.If no bookmark for uri is found then it is created.nThe "modified" time should only be set when the bookmark's meta-data was actually changed. Every function of I that modifies a bookmark also changes the modification time, except for . Since: 2.12gi-glibSets title" as the title of the bookmark for uri inside the bookmark file bookmark.If uri is  , the title of bookmark is set.If a bookmark for uri$ cannot be found then it is created. Since: 2.12gi-glibSets the time the bookmark for uri was last visited.If no bookmark for uri is found then it is created.oThe "visited" time should only be set if the bookmark was launched, either using the command line retrieved by M or by the default application for the bookmark's MIME type, retrieved using C. Changing the "visited" time does not affect the "modified" time. Since: 2.12gi-glibThis function outputs bookmark as a string. Since: 2.12gi-glibThis function outputs bookmarkE into a file. The write process is guaranteed to be atomic by using = internally. Since: 2.12gi-glib3No description available in the introspection data.&gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibname<: the name of the application registering the bookmark or   gi-glibexec4: command line to be used to launch the bookmark or   gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibgroup: the group name to be added gi-glibbookmark: a  gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a timestamp  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibname: an application's name gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a newly allocated  $-terminated array of strings. Use = to free it.  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a newly allocated string or  ) if the specified URI cannot be found.  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a newly allocated  (-terminated array of group names. Use = to free it.  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a newly allocated string or  ) if the specified URI cannot be found.  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a timestamp  (Can throw o) gi-glibbookmark: a  gi-glibReturns: the number of bookmarks gi-glibbookmark: a  gi-gliburi: a valid URI or   gi-glibReturns: a newly allocated string or  ) if the specified URI cannot be found.  (Can throw o) gi-glibbookmark: a  gi-glibReturns: a newly allocated  $-terminated array of strings. Use = to free it. gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns: a timestamp.  (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibname: the name of the application gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibgroup : the group name to be searched gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibReturns:   if uri is inside bookmark,   otherwise gi-glibbookmark : an empty  struct gi-glibdata(: desktop bookmarks loaded in memory gi-glib (Can throw o) gi-glibbookmark: a  gi-glibfile2: a relative path to a filename to open and parse gi-glib (Can throw o) gi-glibbookmark : an empty  struct gi-glibfilenameE: the path of a filename to load, in the GLib file name encoding gi-glib (Can throw o) gi-glibbookmark: a  gi-gliboldUri: a valid URI gi-glibnewUri: a valid URI, or   gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibname: the name of the application gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibgroup: the group name to be removed gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibadded,: a timestamp or -1 to use the current time gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibname: an application's name gi-glibexec : an application's command line gi-glibcount8: the number of registrations done for this application gi-glibstamp9: the time of the last registration for this application gi-glib (Can throw o) gi-glibbookmark: a  gi-gliburi: a valid URI or   gi-glib description : a string gi-glibbookmark: a  gi-gliburi: an item's URI gi-glibgroups!: an array of group names, or   to remove all groups gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibhref+: the URI of the icon for the bookmark, or   gi-glibmimeType-: the MIME type of the icon for the bookmark gi-glibbookmark: a  gi-gliburi: a valid URI gi-glib isPrivate:  - if the bookmark should be marked as private gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibmimeType: a MIME type gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibmodified,: a timestamp or -1 to use the current time gi-glibbookmark: a  gi-gliburi: a valid URI or   gi-glibtitle: a UTF-8 encoded string gi-glibbookmark: a  gi-gliburi: a valid URI gi-glibvisited,: a timestamp or -1 to use the current time gi-glibbookmark: a  gi-glibReturns:9 a newly allocated string holding the contents of the   (Can throw o) gi-glibbookmark: a  gi-glibfilename: path of the output file gi-glib (Can throw o) **7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbg@ gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  byteArray #data gi-glibSet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  byteArray [ #data  value ] gi-glibGet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  byteArray #len gi-glibSet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  byteArray [ #len  value ] gi-glib"Frees the memory allocated by the . If  freeSegment is  : it frees the actual byte data. If the reference count of array is greater than one, the & wrapper is preserved but the size of array will be set to zero.gi-glibTransfers the data from the  into a new immutable .The ( is freed unless the reference count of array is greater than one, the & wrapper is preserved but the size of array will be set to zero.This is identical to using  and = together. Since: 2.32gi-glibCreates a new  with a reference count of 1.gi-glibbCreate byte array containing the data. The data will be owned by the array and will be freed with =#, i.e. it could be allocated using =~. Since: 2.32gi-glib-Atomically decrements the reference count of array by one. If the reference count drops to 0, all memory allocated by the array is released. This function is thread-safe and may be called from any thread. Since: 2.22gi-glibarray: a  gi-glib freeSegment: if  ' the actual byte data is freed as well gi-glibReturns: the element data if  freeSegment is  , otherwise  *. The element data should be freed using =. gi-glibarray: a  gi-glibReturns: a new immutable 7 representing same byte data that was in the array gi-glibReturns: the new  gi-glibdata: byte data for the array gi-glibReturns: a new  gi-glibarray: A   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibCreates a new  from data.data is copied. If size is 0, data may be  . Since: 2.32gi-glibCreates a new  from data.After this call, dataD belongs to the bytes and may no longer be modified by the caller. = will be called on data5 when the bytes is no longer in use. Because of this data% must have been created by a call to =, = or =@ or by one of the many functions that wrap these calls (such as g_new(), =~, etc). For creating ( with memory from other allocators, see g_bytes_new_with_free_func().data may be   if size is 0. Since: 2.32gi-glibCompares the two  values.LThis function can be used to sort GBytes instances in lexicographical order.If bytes1 and bytes2 have different length but the shorter one is a prefix of the longer one then the shorter one is considered to be less than the longer one. Otherwise the first byte where both differ is used for comparison. If bytes1T has a smaller value at that position it is considered less, otherwise greater than bytes2. Since: 2.32gi-glibCompares the two % values being pointed to and returns   if they are equal.This function can be passed to g_hash_table_new() as the  keyEqualFunc parameter, when using non-   pointers as keys in a . Since: 2.32gi-glibGet the byte data in the #. This data should not be modified.>This function will always return the same pointer for a given .  may be returned if size& is 0. This is not guaranteed, as the $ may represent an empty string with data non-  and size as 0.   will not be returned if size is non-zero. Since: 2.32gi-glib%Get the size of the byte data in the .<This function will always return the same value for a given . Since: 2.32gi-glib6Creates an integer hash code for the byte data in the .This function can be passed to g_hash_table_new() as the  keyHashFunc parameter, when using non-   pointers as keys in a . Since: 2.32gi-glib Creates a " which is a subsection of another . The offset + length$ may not be longer than the size of bytes.A reference to bytes# will be held by the newly created ) until the byte data is no longer needed.Since 2.56, if offset is 0 and length matches the size of bytes, then bytes@ will be returned with the reference count incremented by 1. If bytes is a slice of another , then the resulting  will reference the same  instead of bytes1. This allows consumers to simplify the usage of ( when asynchronously writing to streams. Since: 2.32gi-glib Increase the reference count on bytes. Since: 2.32gi-glibReleases a reference on bytes0. This may result in the bytes being freed. If bytes is  , it will return immediately. Since: 2.32gi-glib2Unreferences the bytes, and returns a new mutable  containing the same byte data.As an optimization, the byte data is transferred to the array without copying if this was the last reference to bytes and bytes was created with ,  or =(. In all other cases the data is copied. Since: 2.32gi-glibJUnreferences the bytes, and returns a pointer the same byte data contents.As an optimization, the byte data is returned without copying if this was the last reference to bytes and bytes was created with ,  or =(. In all other cases the data is copied. Since: 2.32 gi-glibdata,: the data to be used for the bytes gi-glibReturns: a new  gi-glibdata,: the data to be used for the bytes gi-glibReturns: a new  gi-glibbytes1: a pointer to a  gi-glibbytes2: a pointer to a  to compare with bytes1 gi-glibReturns: a negative value if bytes1 is less than bytes2, a positive value if bytes1 is greater than bytes2, and zero if bytes1 is equal to bytes2 gi-glibbytes1: a pointer to a  gi-glibbytes2: a pointer to a  to compare with bytes1 gi-glibReturns:   if the two keys match. gi-glibbytes: a  gi-glibReturns:* a pointer to the byte data, or   gi-glibbytes: a  gi-glibReturns: the size gi-glibbytes: a pointer to a  key gi-glibReturns:( a hash value corresponding to the key. gi-glibbytes: a  gi-gliboffset$: offset which subsection starts at gi-gliblength: length of subsection gi-glibReturns: a new  gi-glibbytes: a  gi-glibReturns: the  gi-glibbytes: a  gi-glibbytes: a  gi-glibReturns: a new mutable  containing the same byte data gi-glibbytes: a  gi-glibReturns:F a pointer to the same byte data, which should be freed with = 7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibCreates a new , using the checksum algorithm  checksumType . If the  checksumType is not known,   is returned. A q can be used to compute the checksum, or digest, of an arbitrary binary blob, using different hashing algorithms.A ( works by feeding a binary blob through K until there is data to be checked; the digest can then be extracted using =, which will return the checksum as a hexadecimal string; or g_checksum_get_digest()7, which will return a vector of raw bytes. Once either  or g_checksum_get_digest() have been called on a ?, the checksum will be closed and it won't be possible to call  on it anymore. Since: 2.16gi-glib Copies a . If checksum has been closed, by calling  or g_checksum_get_digest()-, the copied checksum will be closed as well. Since: 2.16gi-glibFrees the memory allocated for checksum. Since: 2.16gi-glib)Gets the digest as an hexadecimal string.'Once this function has been called the  can no longer be updated with ..The hexadecimal characters will be lower case. Since: 2.16gi-glibResets the state of the checksum back to its initial state. Since: 2.18gi-glibFeeds data into an existing +. The checksum must still be open, that is  or g_checksum_get_digest() must not have been called on checksum. Since: 2.16gi-glib,Gets the length in bytes of digests of type  checksumType Since: 2.16gi-glib checksumType: the desired type of checksum gi-glibReturns: the newly created , or  . Use % to free the memory allocated by it. gi-glibchecksum: the  to copy gi-glibReturns: the copy of the passed . Use  when finished using it. gi-glibchecksum: a  gi-glibchecksum: a  gi-glibReturns: the hexadecimal representation of the checksum. The returned string is owned by the checksum and should not be modified or freed. gi-glibchecksum: the  to reset gi-glibchecksum: a  gi-glibdata&: buffer used to compute the checksum gi-glib checksumType: a  gi-glibReturns: the checksum length, or -1 if  checksumType is not supported.   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb$gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   . 7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the key  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  debugKey #key gi-glibSet the value of the key  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  debugKey [ #key  value ] gi-glibSet the value of the key  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #key gi-glibGet the value of the value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  debugKey #value gi-glibSet the value of the value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  debugKey [ #value  value ]   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbFgi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glib;Closes the directory and deallocates all related resources.gi-glib9Retrieves the name of another entry in the directory, or  . The order of entries returned from this function is not defined, and may vary by file system or other operating-system dependent factors. @ may also be returned in case of errors. On Unix, you can check errno to find out if  " was returned because of an error.`On Unix, the '.' and '..' entries are omitted, and the returned name is in the on-disk encoding.gOn Windows, as is true of all GLib functions which operate on filenames, the returned name is in UTF-8.gi-glib-Resets the given directory. The next call to # will return the first entry again.gi-glibVCreates a subdirectory in the preferred directory for temporary files (as returned by =).tmplt should be a string in the GLib file name encoding containing a sequence of six 'X' characters, as the parameter to  g_mkstemp(). However, unlike these functions, the template should only be a basename, no directory components are allowed. If template is  , a default template is used.Note that in contrast to  g_mkdtemp() (and  mkdtemp()) tmpl? is not modified, and might thus be a read-only literal string. Since: 2.30gi-glibdir: a  * created by  g_dir_open() gi-glibdir: a  * created by  g_dir_open() gi-glibReturns: The entry's name or  h if there are no more entries. The return value is owned by GLib and must not be modified or freed. gi-glibdir: a  * created by  g_dir_open() gi-glibtmpl): Template for directory name, as in  g_mkdtemp(), basename only, or   for a default template gi-glibReturns:< The actual name used. This string should be freed with =] when not needed any longer and is is in the GLib file name encoding. In case of errors,   is returned and error will be set.  (Can throw o)  7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb6gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glib=Initializes a key/value pair iterator and associates it with  hashTableY. Modifying the hash table after calling this function invalidates the returned iterator.C code  GHashTableIter iter; gpointer key, value; g_hash_table_iter_init (&iter, hash_table); while (g_hash_table_iter_next (&iter, &key, &value)) { // do something with key and value } Since: 2.16 gi-glib Advances iter` and retrieves the key and/or value that are now pointed to as a result of this advancement. If   is returned, key and value/ are not set, and the iterator becomes invalid. Since: 2.16 gi-glibTRemoves the key/value pair currently pointed to by the iterator from its associated . Can only be called after   returned  B, and cannot be called more than once for the same key/value pair.If the  was created using g_hash_table_new_full(), the key and value are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself.%It is safe to continue iterating the  afterward:C code x while (g_hash_table_iter_next (&iter, &key, &value)) { if (condition) g_hash_table_iter_remove (&iter); } Since: 2.16 gi-glibLReplaces the value currently pointed to by the iterator from its associated . Can only be called after   returned  .If you supplied a valueDestroyFunc when creating the -, the old value is freed using that function. Since: 2.30 gi-glibTRemoves the key/value pair currently pointed to by the iterator from its associated P, without calling the key and value destroy functions. Can only be called after   returned  B, and cannot be called more than once for the same key/value pair. Since: 2.16gi-glibiter: an uninitialized  gi-glib hashTable: a   gi-glibiter: an initialized  gi-glibReturns:   if the end of the  has been reached.  gi-glibiter: an initialized   gi-glibiter: an initialized  gi-glibvalue: the value to replace with  gi-glibiter: an initialized          7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbMgi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibGets the digest from checksum* as a raw binary array and places it into buffer9. The size of the digest depends on the type of checksum.(Once this function has been called, the - is closed and can no longer be updated with . Since: 2.30gi-glib'Gets the HMAC as an hexadecimal string.'Once this function has been called the  can no longer be updated with ..The hexadecimal characters will be lower case. Since: 2.30gi-glib-Atomically decrements the reference count of hmac by one.If the reference count drops to 0, all keys and values will be destroyed, and all memory allocated by the hash table is released. This function is MT-safe and may be called from any thread. Frees the memory allocated for hmac. Since: 2.30gi-glibFeeds data into an existing .%The HMAC must still be open, that is  or  must not have been called on hmac. Since: 2.30gi-glibhmac: a  gi-glibbuffer: output buffer gi-glibhmac: a  gi-glibReturns: the hexadecimal representation of the HMAC. The returned string is owned by the HMAC and should not be modified or freed. gi-glibhmac: a  gi-glibhmac: a  gi-glibdata&: buffer used to compute the checksum 7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb %gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glib Open a file filename as a  using mode moded. This channel will be closed when the last reference to it is dropped, so there is no need to call !s (though doing so will not cause problems, as long as no attempt is made to access the channel after it is closed). gi-glibCreates a new Y given a file descriptor. On UNIX systems this works for plain files, pipes, and sockets. The returned  has a reference count of 1.The default encoding for  is UTF-8. If your application is reading output from a command using via pipe, you may need to set the encoding to the encoding of the current locale (see = ) with the 6X function. By default, the fd passed will not be closed when the final reference to the  data structure is dropped.JIf you want to read raw binary data without interpretation, then call the 6 function with   for the encoding argument.This function is available in GLib on Windows, too, but you should avoid using it on Windows. The domain of file descriptors and sockets overlap. There is no way for GLib to know which one you mean in case the argument you pass to this function happens to be both a valid file descriptor and socket. If that happens a warning is issued, and GLib assumes that it is the file descriptor you mean.!gi-glibClose an IO channel. Any pending data to be written will be flushed, ignoring errors. The channel will not be freed until the last reference is dropped using ;."gi-glib,Flushes the write buffer for the GIOChannel.#gi-glibThis function returns a b depending on whether there is data to be read/space to write data in the internal buffers in the . Only the flags  and  may be set.$gi-glibGets the buffer size.%gi-glibReturns whether channel is buffered.&gi-glib9Returns whether the file/socket/whatever associated with channel will be closed when channelI receives its final unref and is destroyed. The default value of this is  7 for channels created by g_io_channel_new_file (), and   for all other channels.'gi-glibkGets the encoding for the input/output of the channel. The internal encoding is always UTF-8. The encoding  ( makes the channel safe for binary data.(gi-glibGets the current flags for a $, including read-only flags such as .The values of the flags  and  are cached for internal use by the channel when it is created. If they should change at some later point (e.g. partial shutdown of a socket with the UNIX  shutdown()- function), the user should immediately call (. to update the internal values of these flags.)gi-glibThis returns the string that E uses to determine where in the file a line break occurs. A value of   indicates autodetection.*gi-glibInitializes a  struct.>This is called by each of the above functions when creating a b, and so is not often needed by the application programmer (unless you are creating a new type of ).+gi-glibReads data from a .,gi-glibReplacement for + with the new API.-gi-glib=Reads a line, including the terminating character(s), from a  into a newly-allocated string.  strReturn0 will contain allocated memory if the return is ..gi-glib+Reads all the remaining data from the file./gi-glibReads a Unicode character from channel3. This function cannot be called on a channel with   encoding.0gi-glib$Increments the reference count of a .1gi-glib!Sets the current position in the +, similar to the standard library function fseek().2gi-glibReplacement for 1 with the new API.3gi-glibSets the buffer size.4gi-glibAThe buffering state can only be set if the channel's encoding is  7. For any other encoding, the channel must be buffered.A buffered channel can only be set unbuffered if the channel's internal buffers have been flushed. Newly created channels or channels which have returned  not require such a flush. For write-only channels, a call to g_io_channel_flush () is sufficient. For all other channels, the buffers may be flushed by a call to g_io_channel_seek_position (). This includes the possibility of seeking with seek type  and an offset of zero. Note that this means that socket-based channels cannot be set unbuffered once they have had data read from them.On unbuffered channels, it is safe to mix read and write calls from the new and old APIs, if this is necessary for maintaining old code.-The default state of the channel is buffered.5gi-glib7Whether to close the channel on the final unref of the . data structure. The default value of this is  7 for channels created by g_io_channel_new_file (), and   for all other channels.Setting this flag to  Z for a channel you have already closed can cause problems when the final reference to the  is dropped.6gi-glibSets the encoding for the input/output of the channel. The internal encoding is always UTF-8. The default encoding for the external file is UTF-8. The encoding  ! is safe to use with binary data.HThe encoding can only be set if one of the following conditions is true:KThe channel was just created, and has not been written to or read from yet.The channel is write-only.OThe channel is a file, and the file pointer was just repositioned by a call to 2*. (This flushes all the internal buffers.)The current encoding is   or UTF-8.6One of the (new API) read functions has just returned  (or, in the case of ., ).One of the functions , or / has returned  or %. This may be useful in the case of (. Returning one of these statuses from -, g_io_channel_read_line_string(), or .6 does not guarantee that the encoding can be changed.CChannels which do not meet one of the above conditions cannot call 2 with an offset of +, and, if they are "seekable", cannot call =/ after calling one of the API "read" functions.7gi-glibSets the (writeable) flags in channel to (flags & ).8gi-glibThis sets the string that 9 uses to determine where in the file a line break occurs.9gi-glibGClose an IO channel. Any pending data to be written will be flushed if flush is  J. The channel will not be freed until the last reference is dropped using ;.:gi-glib#Returns the file descriptor of the .FOn Windows this function returns the file descriptor or socket of the .;gi-glib$Decrements the reference count of a .<gi-glibWrites data to a .=gi-glibReplacement for < with the new API./On seekable channels with encodings other than   or UTF-8, generic mixing of reading and writing is not allowed. A call to g_io_channel_write_chars () may only be made on a channel from which data has been read in the cases described in the documentation for g_io_channel_set_encoding ().>gi-glibWrites a Unicode character to channel3. This function cannot be called on a channel with   encoding.?gi-glib Converts an errno error number to a .@gi-glib3No description available in the introspection data.!gi-glibfilename): A string containing the name of a file gi-glibmodeS: One of "r", "w", "a", "r+", "w+", "a+". These have the same meaning as in fopen() gi-glibReturns: A  on success,   on failure.  (Can throw o)  gi-glibfd: a file descriptor. gi-glibReturns: a new . !gi-glibchannel: A  "gi-glibchannel: a  gi-glibReturns:' the status of the operation: One of G_IO_STATUS_NORMAL, G_IO_STATUS_AGAIN, or G_IO_STATUS_ERROR.  (Can throw o) #gi-glibchannel: A  gi-glibReturns: A  $gi-glibchannel: a  gi-glibReturns: the size of the buffer. %gi-glibchannel: a  gi-glibReturns:   if the channel is buffered. &gi-glibchannel: a . gi-glibReturns:   if the channel will be closed,   otherwise. 'gi-glibchannel: a  gi-glibReturns:Y A string containing the encoding, this string is owned by GLib and must not be freed. (gi-glibchannel: a  gi-glibReturns:( the flags which are set on the channel )gi-glibchannel: a  gi-gliblength9: a location to return the length of the line terminator gi-glibReturns:S The line termination string. This value is owned by GLib and must not be freed. *gi-glibchannel: a  +gi-glibchannel: a  gi-glibbufS: a buffer to read the data into (which should be at least count bytes long) gi-glibcount': the number of bytes to read from the  gi-glib bytesRead,: returns the number of bytes actually read gi-glibReturns: " if the operation was successful. ,gi-glibchannel: a  gi-glibbuf": a buffer to read data into gi-glibReturns: the status of the operation.  (Can throw o) -gi-glibchannel: a  gi-glibReturns: the status of the operation.  (Can throw o) .gi-glibchannel: a  gi-glibReturns: - on success. This function never returns .  (Can throw o) /gi-glibchannel: a  gi-glibReturns: a   (Can throw o) 0gi-glibchannel: a  gi-glibReturns: the channel that was passed in (since 2.6) 1gi-glibchannel: a  gi-gliboffsetL: an offset, in bytes, which is added to the position specified by type gi-glibtype): the position in the file, which can be  (the current position),  (the start of the file), or  (the end of the file) gi-glibReturns: " if the operation was successful. 2gi-glibchannel: a  gi-gliboffset5: The offset in bytes from the position specified by type gi-glibtype: a  . The type  is only allowed in those cases where a call to g_io_channel_set_encoding () is allowed. See the documentation for g_io_channel_set_encoding () for details. gi-glibReturns: the status of the operation.  (Can throw o) 3gi-glibchannel: a  gi-glibsize<: the size of the buffer, or 0 to let GLib pick a good size 4gi-glibchannel: a  gi-glibbuffered4: whether to set the channel buffered or unbuffered 5gi-glibchannel: a  gi-glibdoClose_: Whether to close the channel on the final unref of the GIOChannel data structure. 6gi-glibchannel: a  gi-glibencoding: the encoding type gi-glibReturns: & if the encoding was successfully set  (Can throw o) 7gi-glibchannel: a  gi-glibflags%: the flags to set on the IO channel gi-glibReturns: the status of the operation.  (Can throw o) 8gi-glibchannel: a  gi-gliblineTerm#: The line termination string. Use   for autodetect. Autodetection breaks on "\n", "\r\n", "\r", "\0", and the Unicode paragraph separator. Autodetection should not be used for anything other than file-based channels. gi-gliblength: The length of the termination string. If -1 is passed, the string is assumed to be nul-terminated. This option allows termination strings with embedded nuls. 9gi-glibchannel: a  gi-glibflush: if  , flush pending gi-glibReturns: the status of the operation.  (Can throw o) :gi-glibchannel: a , created with  . gi-glibReturns: the file descriptor of the . ;gi-glibchannel: a  <gi-glibchannel: a  gi-glibbuf*: the buffer containing the data to write gi-glibcount: the number of bytes to write gi-glib bytesWritten': the number of bytes actually written gi-glibReturns: " if the operation was successful. =gi-glibchannel: a  gi-glibbuf: a buffer to write data from gi-glibcount\: the size of the buffer. If -1, the buffer is taken to be a nul-terminated string. gi-glibReturns: the status of the operation.  (Can throw o) >gi-glibchannel: a  gi-glibthechar: a character gi-glibReturns: a   (Can throw o) ?gi-gliben: an errno error number, e.g. EINVAL gi-glibReturns: a  error number, e.g. . & !"#$%&'()*+,-./0123456789:;<=>?@&!?@"#$%&'()*+,-./0123456789: ;<=>7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb 71Cgi-glibMemory-managed wrapper type.Egi-glibA convenience alias for   ::   C.Fgi-glibCreates a new empty C object. Use ^, [, ] or \ to read an existing key file. Since: 2.6Ggi-glib"Returns the value associated with key under  groupName as a boolean.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND). Likewise, if the value associated with key) cannot be interpreted as a boolean then   is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.6Hgi-glib#Returns the values associated with key under  groupName as booleans.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND*. Likewise, if the values associated with key( cannot be interpreted as booleans then   is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.6Igi-glibRetrieves a comment above key from  groupName. If key is   then comment will be read from above  groupName . If both key and  groupName are  , then comment5 will be read from above the first group in the file.Note that the returned string does not include the '#' comment markers, but does include any whitespace after them (on each line). It includes the line breaks between lines, but does not include the final line break. Since: 2.6Jgi-glib"Returns the value associated with key under  groupName as a double. If  groupName is  , the start_group is used.If key* cannot be found then 0.0 is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND). Likewise, if the value associated with key< cannot be interpreted as a double then 0.0 is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.12Kgi-glib#Returns the values associated with key under  groupName as doubles.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND*. Likewise, if the values associated with key' cannot be interpreted as doubles then   is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.12Lgi-glib/Returns all groups in the key file loaded with keyFile'. The array of returned groups will be  -terminated, so length may optionally be  . Since: 2.6Mgi-glib"Returns the value associated with key under  groupName0 as a signed 64-bit integer. This is similar to N2 but can return 64-bit results without truncation. Since: 2.26Ngi-glib"Returns the value associated with key under  groupName as an integer.If key( cannot be found then 0 is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND). Likewise, if the value associated with key? cannot be interpreted as an integer, or is out of range for a gint, then 0 is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.6Ogi-glib#Returns the values associated with key under  groupName as integers.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND*. Likewise, if the values associated with key< cannot be interpreted as integers, or are out of range for gint, then   is returned and error is set to G_KEY_FILE_ERROR_INVALID_VALUE. Since: 2.6Pgi-glib$Returns all keys for the group name  groupName&. The array of returned keys will be  -terminated, so length may optionally be  . In the event that the  groupName cannot be found,   is returned and error is set to  G_KEY_FILE_ERROR_GROUP_NOT_FOUND. Since: 2.6Qgi-glib.Returns the actual locale which the result of R or S came from. If calling R or S with exactly the same keyFile,  groupName, key and localeu, the result of those functions will have originally been tagged with the locale that is the result of this function. Since: 2.56Rgi-glib"Returns the value associated with key under  groupName translated in the given locale if available. If locale is  $ then the current locale is assumed.If locale is to be non- @, or if the current locale will change over the lifetime of the C, it must be loaded with * in order to load strings for all locales.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated with keyg cannot be interpreted or no suitable translation can be found then the untranslated value is returned. Since: 2.6Sgi-glib#Returns the values associated with key under  groupName translated in the given locale if available. If locale is  $ then the current locale is assumed.If locale is to be non- @, or if the current locale will change over the lifetime of the C, it must be loaded with * in order to load strings for all locales.If key cannot be found then   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND . If the values associated with key cannot be interpreted or no suitable translations can be found then the untranslated values are returned. The returned array is  -terminated, so length may optionally be  . Since: 2.6Tgi-glib0Returns the name of the start group of the file. Since: 2.6Ugi-glib)Returns the string value associated with key under  groupName . Unlike X1, this function handles escape sequences like \s.&In the event the key cannot be found,   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the  groupName cannot be found,   is returned and error is set to  G_KEY_FILE_ERROR_GROUP_NOT_FOUND. Since: 2.6Vgi-glib#Returns the values associated with key under  groupName.&In the event the key cannot be found,   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the  groupName cannot be found,   is returned and error is set to  G_KEY_FILE_ERROR_GROUP_NOT_FOUND. Since: 2.6Wgi-glib"Returns the value associated with key under  groupName3 as an unsigned 64-bit integer. This is similar to N: but can return large positive results without truncation. Since: 2.26Xgi-glib&Returns the raw value associated with key under  groupName. Use U' to retrieve an unescaped UTF-8 string.&In the event the key cannot be found,   is returned and error is set to G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the event that the  groupName cannot be found,   is returned and error is set to  G_KEY_FILE_ERROR_GROUP_NOT_FOUND. Since: 2.6Ygi-glib)Looks whether the key file has the group  groupName. Since: 2.6Zgi-glib"Loads a key file from the data in bytes into an empty C1 structure. If the object cannot be created then error is set to a . Since: 2.50[gi-glib+Loads a key file from memory into an empty C1 structure. If the object cannot be created then error is set to a . Since: 2.6\gi-glib)This function looks for a key file named file in the paths returned from =\ and =[, loads the file into keyFile% and returns the file's full path in fullPath+. If the file could not be loaded then an error is set to either a  or . Since: 2.6]gi-glib)This function looks for a key file named file in the paths specified in  searchDirs, loads the file into keyFile% and returns the file's full path in fullPath.-If the file could not be found in any of the  searchDirs, c is returned. If the file is found but the OS returns an error when opening or reading the file, a  G_FILE_ERROR8 is returned. If there is a problem parsing the file, a G_KEY_FILE_ERROR is returned. Since: 2.14^gi-glibLoads a key file into an empty C structure.?If the OS returns an error when opening or reading the file, a  G_FILE_ERROR8 is returned. If there is a problem parsing the file, a G_KEY_FILE_ERROR is returned."This function will never return a  error. If the file is not found,  is returned. Since: 2.6_gi-glibRemoves a comment above key from  groupName. If key is   then comment will be removed above  groupName . If both key and  groupName are  , then comment3 will be removed above the first group in the file. Since: 2.6`gi-glibRemoves the specified group,  groupName, from the key file. Since: 2.6agi-glibRemoves key in  groupName from the key file. Since: 2.6bgi-glibWrites the contents of keyFile to filename using =.3This function can fail for any of the reasons that = may fail. Since: 2.40cgi-glib$Associates a new boolean value with key under  groupName. If key$ cannot be found then it is created. Since: 2.6dgi-glib)Associates a list of boolean values with key under  groupName. If key( cannot be found then it is created. If  groupName is  , the start_group is used. Since: 2.6egi-glibPlaces a comment above key from  groupName.If key is   then comment will be written above  groupName . If both key and  groupName are  , then comment3 will be written above the first group in the file.FNote that this function prepends a '#' comment marker to each line of comment. Since: 2.6fgi-glib#Associates a new double value with key under  groupName. If key$ cannot be found then it is created. Since: 2.12ggi-glib(Associates a list of double values with key under  groupName. If key$ cannot be found then it is created. Since: 2.12hgi-glib$Associates a new integer value with key under  groupName. If key$ cannot be found then it is created. Since: 2.26igi-glib$Associates a new integer value with key under  groupName. If key$ cannot be found then it is created. Since: 2.6jgi-glib)Associates a list of integer values with key under  groupName. If key$ cannot be found then it is created. Since: 2.6kgi-glibSets the character which is used to separate values in lists. Typically ';' or ',' are used as separators. The default list separator is ';'. Since: 2.6lgi-glibAssociates a string value for key and locale under  groupName. If the translation for key$ cannot be found then it is created. Since: 2.6mgi-glib'Associates a list of string values for key and locale under  groupName. If the translation for key$ cannot be found then it is created. Since: 2.6ngi-glib#Associates a new string value with key under  groupName. If key( cannot be found then it is created. If  groupName, cannot be found then it is created. Unlike qH, this function handles characters that need escaping, such as newlines. Since: 2.6ogi-glib'Associates a list of string values for key under  groupName. If key( cannot be found then it is created. If  groupName$ cannot be found then it is created. Since: 2.6pgi-glib$Associates a new integer value with key under  groupName. If key$ cannot be found then it is created. Since: 2.26qgi-glibAssociates a new value with key under  groupName.If key( cannot be found then it is created. If  groupName cannot be found then it is created. To set an UTF-8 string which may contain characters that need escaping (such as newlines or spaces), use n. Since: 2.6rgi-glibThis function outputs keyFile as a string.FNote that this function never reports an error, so it is safe to pass   as error. Since: 2.6sgi-glib!Decreases the reference count of keyFile\ by 1. If the reference count reaches zero, frees the key file and all its allocated memory. Since: 2.32tgi-glib3No description available in the introspection data..Fgi-glibReturns: an empty C. Ggi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glib (Can throw o) Hgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns:B the values associated with the key as a list of booleans, or  k if the key was not found or could not be parsed. The returned list of booleans should be freed with = when no longer needed.  (Can throw o) Igi-glibkeyFile: a C gi-glib groupName: a group name, or   gi-glibkey: a key gi-glibReturns:% a comment that should be freed with =  (Can throw o) Jgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns:l the value associated with the key as a double, or 0.0 if the key was not found or could not be parsed.  (Can throw o) Kgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns:B the values associated with the key as a list of doubles, or  l if the key was not found or could not be parsed. The returned list of doubles should be freed with = when no longer needed.  (Can throw o) Lgi-glibkeyFile: a C gi-glibReturns: a newly-allocated  $-terminated array of strings. Use = to free it. Mgi-glibkeyFile: a non-  C gi-glib groupName: a non-  group name gi-glibkey: a non-  key gi-glibReturns:u the value associated with the key as a signed 64-bit integer, or 0 if the key was not found or could not be parsed.  (Can throw o) Ngi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns:l the value associated with the key as an integer, or 0 if the key was not found or could not be parsed.  (Can throw o) Ogi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns:C the values associated with the key as a list of integers, or  m if the key was not found or could not be parsed. The returned list of integers should be freed with = when no longer needed.  (Can throw o) Pgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibReturns: a newly-allocated  &-terminated array of strings. Use = to free it.  (Can throw o) Qgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblocale: a locale identifier or   gi-glibReturns: the locale from the file, or  J if the key was not found or the entry in the file was was untranslated Rgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblocale: a locale identifier or   gi-glibReturns: a newly allocated string or  ) if the specified key cannot be found.  (Can throw o) Sgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblocale: a locale identifier or   gi-glibReturns: a newly allocated  -terminated string array or  A if the key isn't found. The string array should be freed with =.  (Can throw o) Tgi-glibkeyFile: a C gi-glibReturns:" The start group of the key file. Ugi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns: a newly allocated string or  ) if the specified key cannot be found.  (Can throw o) Vgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns: a  -terminated string array or  G if the specified key cannot be found. The array should be freed with =.  (Can throw o) Wgi-glibkeyFile: a non-  C gi-glib groupName: a non-  group name gi-glibkey: a non-  key gi-glibReturns:x the value associated with the key as an unsigned 64-bit integer, or 0 if the key was not found or could not be parsed.  (Can throw o) Xgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibReturns: a newly allocated string or  ( if the specified key cannot be found.  (Can throw o) Ygi-glibkeyFile: a C gi-glib groupName: a group name gi-glibReturns:   if  groupName is a part of keyFile,   otherwise. Zgi-glibkeyFile : an empty C struct gi-glibbytes: a  gi-glibflags : flags from  gi-glib (Can throw o) [gi-glibkeyFile : an empty C struct gi-glibdata: key file loaded in memory gi-gliblength: the length of data3 in bytes (or (gsize)-1 if data is nul-terminated) gi-glibflags : flags from  gi-glib (Can throw o) \gi-glibkeyFile : an empty C struct gi-glibfile2: a relative path to a filename to open and parse gi-glibflags : flags from  gi-glib (Can throw o) ]gi-glibkeyFile : an empty C struct gi-glibfile2: a relative path to a filename to open and parse gi-glib searchDirs:  +-terminated array of directories to search gi-glibflags : flags from  gi-glib (Can throw o) ^gi-glibkeyFile : an empty C struct gi-glibfile@: the path of a filename to load, in the GLib filename encoding gi-glibflags : flags from  gi-glib (Can throw o) _gi-glibkeyFile: a C gi-glib groupName: a group name, or   gi-glibkey: a key gi-glib (Can throw o) `gi-glibkeyFile: a C gi-glib groupName: a group name gi-glib (Can throw o) agi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key name to remove gi-glib (Can throw o) bgi-glibkeyFile: a C gi-glibfilename#: the name of the file to write to gi-glib (Can throw o) cgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue:   or   dgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblist: an array of boolean values egi-glibkeyFile: a C gi-glib groupName: a group name, or   gi-glibkey: a key gi-glibcomment : a comment gi-glib (Can throw o) fgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue: an double value ggi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblist: an array of double values hgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue: an integer value igi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue: an integer value jgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblist: an array of integer values kgi-glibkeyFile: a C gi-glib separator: the separator lgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblocale: a locale identifier gi-glibstring : a string mgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblocale: a locale identifier gi-gliblist: a  *-terminated array of locale string values gi-gliblength: the length of list ngi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibstring : a string ogi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-gliblist: an array of string values gi-gliblength: number of string values in list pgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue: an integer value qgi-glibkeyFile: a C gi-glib groupName: a group name gi-glibkey: a key gi-glibvalue : a string rgi-glibkeyFile: a C gi-glibReturns:8 a newly allocated string holding the contents of the C  (Can throw o) sgi-glibkeyFile: a C 2CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst2CDEtGHIJKLMNOPQRSTUVWXYZ[\]^F_`abcdefghijklmnopqrs7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb TL vgi-glibMemory-managed wrapper type.xgi-glib Construct a v struct initialized to zero.ygi-glibA convenience alias for   ::   v.zgi-glibGet the value of the key  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField #key {gi-glibSet the value of the key  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField [ #key  value ] |gi-glibSet the value of the key  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #key }gi-glibGet the value of the value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField #value ~gi-glibSet the value of the value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField [ #value  value ] gi-glibSet the value of the value  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #value gi-glibGet the value of the length  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField #length gi-glibSet the value of the length  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  logField [ #length  value ] vwxyz{|}~ vwxy|z{}~7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb kU gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibCreates a new  structure.gi-glib Returns the  of loop.gi-glib:Checks to see if the main loop is currently being run via .gi-glibStops a  from running. Any calls to  for the loop will return.9Note that sources that have already been dispatched when " is called will still be executed.gi-glib#Increases the reference count on a  object by one.gi-glibRuns a main loop until G is called on the loop. If this is called for the thread of the loop's F, it will process events from the loop, otherwise it will simply wait.gi-glib#Decreases the reference count on a T object by one. If the result is zero, free the loop and free all associated memory.gi-glibcontext: a  (if  %, the default context will be used). gi-glib isRunning : set to  P to indicate that the loop is running. This is not very important since calling  will set this to   anyway. gi-glibReturns: a new . gi-glibloop: a . gi-glibReturns: the  of loop gi-glibloop: a . gi-glibReturns:  ) if the mainloop is currently being run. gi-glibloop: a  gi-glibloop: a  gi-glibReturns: loop gi-glibloop: a  gi-glibloop: a   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glib4Maps a file into memory. On UNIX, this is using the mmap() function.If writable is  , the mapped buffer may be modified, otherwise it is an error to modify the mapped buffer. Modifications to the buffer are not visible to other processes mapping the same file, and are not written back to the file.PNote that modifications of the underlying file might affect the contents of the . Therefore, mapping should only be used if the file will not be modified, or if all modifications of the file are done atomically (e.g. using =).If filenameW is the name of an empty, regular file, the function will successfully return an empty B. In other cases of size 0 (e.g. device files such as /dev/null), error will be set to the  value G_FILE_ERROR_INVAL. Since: 2.8gi-glib4Maps a file into memory. On UNIX, this is using the mmap() function.If writable is  , the mapped buffer may be modified, otherwise it is an error to modify the mapped buffer. Modifications to the buffer are not visible to other processes mapping the same file, and are not written back to the file.PNote that modifications of the underlying file might affect the contents of the . Therefore, mapping should only be used if the file will not be modified, or if all modifications of the file are done atomically (e.g. using =). Since: 2.32gi-glibThis call existed before 6 had refcounting and is currently exactly the same as . Since: 2.8gi-glibCreates a new ' which references the data mapped from filec. The mapped contents of the file must not be modified after creating this bytes object, because a  should be immutable. Since: 2.34gi-glibReturns the contents of a .?Note that the contents may not be zero-terminated, even if the  is backed by a text file.If the file is empty then   is returned. Since: 2.8gi-glib(Returns the length of the contents of a . Since: 2.8gi-glib"Increments the reference count of file; by one. It is safe to call this function from any thread. Since: 2.22gi-glib"Decrements the reference count of fileB by one. If the reference count drops to 0, unmaps the buffer of file and frees it.1It is safe to call this function from any thread. Since 2.22gi-glibfilenameB: The path of the file to load, in the GLib filename encoding gi-glibwritable): whether the mapping should be writable gi-glibReturns: a newly allocated  which must be unref'd with , or   if the mapping failed.  (Can throw o) gi-glibfd*: The file descriptor of the file to load gi-glibwritable): whether the mapping should be writable gi-glibReturns: a newly allocated  which must be unref'd with , or   if the mapping failed.  (Can throw o) gi-glibfile: a  gi-glibfile: a  gi-glibReturns: A newly allocated  referencing data from file gi-glibfile: a  gi-glibReturns: the contents of file, or  . gi-glibfile: a  gi-glibReturns: the length of the contents of file. gi-glibfile: a  gi-glibReturns: the passed in . gi-glibfile: a   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb "gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node #data gi-glibSet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node [ #data  value ] gi-glibSet the value of the data  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #data gi-glibGet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node #next gi-glibSet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node [ #next  value ] gi-glibSet the value of the next  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #next gi-glibGet the value of the prev  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node #prev gi-glibSet the value of the prev  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node [ #prev  value ] gi-glibSet the value of the prev  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #prev gi-glibGet the value of the parent  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node #parent gi-glibSet the value of the parent  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node [ #parent  value ] gi-glibSet the value of the parent  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #parent gi-glibGet the value of the children  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node #children gi-glibSet the value of the children  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  node [ #children  value ] gi-glibSet the value of the children  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #children gi-glib*Gets the position of the first child of a  which contains the given data.gi-glibGets the position of a  with respect to its siblings. child must be a child of node9. The first child is numbered 0, the second 1, and so on.gi-glibGets the depth of a .If node is  m the depth is 0. The root node has a depth of 1. For the children of the root node the depth is 2. And so on.gi-glibRemoves root> and its children from the tree, freeing any memory allocated.gi-glibReturns   if node is an ancestor of  descendant(. This is true if node is the parent of  descendant#, or if node is the grandparent of  descendant etc.gi-glib2Gets the maximum height of all branches beneath a (. This is the maximum distance from the  to all leaf nodes.If root is  , 0 is returned. If root$ has no children, 1 is returned. If root( has children, 2 is returned. And so on.gi-glib!Gets the number of children of a .gi-glib#Gets the number of nodes in a tree.gi-glib(Reverses the order of the children of a 5. (It doesn't change the order of the grandchildren.)gi-glib Unlinks a . from a tree, resulting in two separate trees. gi-glibnode: a  gi-glibdata: the data to find gi-glibReturns: the index of the child of node which contains data!, or -1 if the data is not found gi-glibnode: a  gi-glibchild : a child of node gi-glibReturns: the position of child with respect to its siblings gi-glibnode: a  gi-glibReturns: the depth of the  gi-glibroot*: the root of the tree/subtree to destroy gi-glibnode: a  gi-glib descendant: a  gi-glibReturns:   if node is an ancestor of  descendant gi-glibroot: a  gi-glibReturns:( the maximum height of the tree beneath root gi-glibnode: a  gi-glibReturns: the number of children of node gi-glibroot: a  gi-glibflags8: which types of children are to be counted, one of ,  and  gi-glibReturns:! the number of nodes in the tree gi-glibnode: a . gi-glibnode: the 1 to unlink, which becomes the root of a new tree 7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb ~ gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the status  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  once #status gi-glibSet the value of the status  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  once [ #status  value ] gi-glibGet the value of the retval  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  once #retval gi-glibSet the value of the retval  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  once [ #retval  value ] gi-glibSet the value of the retval  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #retval gi-glibTFunction to be called when starting a critical initialization section. The argument location must point to a static 0-initialized variable that will be set to a value other than 0 at the end of the initialization section. In combination with = and the unique address  valueLocation, it can be ensured that an initialization section will be executed only once during a program's life time, and that concurrent threads are blocked until initialization completed. To be used in constructs like this:C code  static gsize initialization_value = 0; if (g_once_init_enter (&initialization_value)) { gsize setup_value = 42; // initialization code here g_once_init_leave (&initialization_value, setup_value); } // use initialization_value here Since: 2.14gi-glibCounterpart to =. Expects a location of a static 0-initialized initialization variable, and an initialization value other than 0. Sets the variable to the initialization value, and releases concurrent threads blocking in =! on this initialization variable. Since: 2.14gi-gliblocation>: location of a static initializable variable containing 0 gi-glibReturns:  6 if the initialization section should be entered,   and blocks otherwise gi-gliblocation>: location of a static initializable variable containing 0 gi-glibresult: new non-0 value for * valueLocation  7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb Tkgi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the  long_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #longName gi-glibSet the value of the  long_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #longName  value ] gi-glibSet the value of the  long_name  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #longName gi-glibGet the value of the  short_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #shortName gi-glibSet the value of the  short_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #shortName  value ] gi-glibGet the value of the flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #flags gi-glibSet the value of the flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #flags  value ] gi-glibGet the value of the arg  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #arg gi-glibSet the value of the arg  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #arg  value ] gi-glibGet the value of the arg_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #argData gi-glibSet the value of the arg_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #argData  value ] gi-glibSet the value of the arg_data  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #argData gi-glibGet the value of the  description  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #description gi-glibSet the value of the  description  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #description  value ] gi-glibSet the value of the  description  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #description gi-glibGet the value of the arg_description  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry #argDescription gi-glibSet the value of the arg_description  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  optionEntry [ #argDescription  value ] gi-glibSet the value of the arg_description  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #argDescription 7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb ]|gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glib`Compares two compiled pattern specs and returns whether they will match the same set of strings.gi-glib#Frees the memory allocated for the .gi-glibpspec1: a  gi-glibpspec2 : another  gi-glibReturns:) Whether the compiled patterns are equal gi-glibpspec: a   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb sI gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the fd  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD #fd gi-glibSet the value of the fd  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD [ #fd  value ] gi-glibGet the value of the events  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD #events gi-glibSet the value of the events  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD [ #events  value ] gi-glibGet the value of the revents  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD #revents gi-glibSet the value of the revents  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  pollFD [ #revents  value ]  !7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb Egi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the pdata  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  ptrArray #pdata gi-glibSet the value of the pdata  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  ptrArray [ #pdata  value ] gi-glibSet the value of the pdata  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #pdata gi-glibGet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  ptrArray #len gi-glibSet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  ptrArray [ #len  value ]  "7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb  gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    .gi-glib-Frees the resources allocated to a lock with .(This function should not be used with a  $ that has been statically allocated.Calling = when any thread holds the lock leads to undefined behaviour. Sine: 2.32gi-glibInitializes a   so that it can be used.This function is useful to initialize a lock that has been allocated on the stack, or as part of a larger structure. It is not necessary to initialise a reader-writer lock that has been statically allocated.C code l typedef struct { GRWLock l; ... } Blob; Blob *b; b = g_new (Blob, 1); g_rw_lock_init (&b->l);To undo the effect of & when a lock is no longer needed, use .Calling  on an already initialized   leads to undefined behaviour. Since: 2.32gi-glibObtain a read lock on rwLock6. If another thread currently holds the write lock on rwLock^ or blocks waiting for it, the current thread will block. Read locks can be taken recursively.It is implementation-defined how many threads are allowed to hold read locks on the same lock simultaneously. If the limit is hit, or if a deadlock is detected, a critical warning will be emitted. Since: 2.32gi-glibTries to obtain a read lock on rwLock and returns  B if the read lock was successfully obtained. Otherwise it returns  . Since: 2.32gi-glibRelease a read lock on rwLock.Calling O on a lock that is not held by the current thread leads to undefined behaviour. Since: 2.32gi-glibObtain a write lock on rwLock6. If any thread already holds a read or write lock on rwLockT, the current thread will block until all other threads have dropped their locks on rwLock. Since: 2.32gi-glib Tries to obtain a write lock on rwLock4. If any other thread holds a read or write lock on rwLock, it immediately returns  . Otherwise it locks rwLock and returns  . Since: 2.32gi-glibRelease a write lock on rwLock.Calling O on a lock that is not held by the current thread leads to undefined behaviour. Since: 2.32gi-glibrwLock: an initialized   gi-glibrwLock: an uninitialized   gi-glibrwLock: a   gi-glibrwLock: a   gi-glibReturns:   if rwLock could be locked gi-glibrwLock: a   gi-glibrwLock: a   gi-glibrwLock: a   gi-glibReturns:   if rwLock could be locked gi-glibrwLock: a            #7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb I gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibReturns the next random gdouble from rand_+ equally distributed over the range [0..1).gi-glibReturns the next random gdouble from rand_% equally distributed over the range [begin..end).gi-glib#Frees the memory allocated for the .gi-glibReturns the next random guint32 from rand_0 equally distributed over the range [0..2^32-1].gi-glibReturns the next random gint32 from rand_% equally distributed over the range [begin..end-1]. gi-glib.Sets the seed for the random number generator  to seed.!gi-glibInitializes the random number generator by an array of longs. Array can be of arbitrary size, though only the first 624 values are taken. This function is useful if you have many low entropy seeds, or if you require more then 32 bits of actual entropy for your application. Since: 2.4gi-glibrand_: a  gi-glibReturns: a random number gi-glibrand_: a  gi-glibbegin%: lower closed bound of the interval gi-glibend#: upper open bound of the interval gi-glibReturns: a random number gi-glibrand_: a  gi-glibrand_: a  gi-glibReturns: a random number gi-glibrand_: a  gi-glibbegin%: lower closed bound of the interval gi-glibend#: upper open bound of the interval gi-glibReturns: a random number  gi-glibrand_: a  gi-glibseed6: a value to reinitialize the random number generator !gi-glibrand_: a  gi-glibseed: array to initialize with gi-glib seedLength: length of array  !  !$7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb G#gi-glibMemory-managed wrapper type.%gi-glib Construct a # struct initialized to zero.&gi-glibA convenience alias for   ::   #.'gi-glib8Frees the resources allocated to a recursive mutex with (.(This function should not be used with a #$ that has been statically allocated.Calling ': on a locked recursive mutex leads to undefined behaviour. Sine: 2.32(gi-glibInitializes a # so that it can be used.This function is useful to initialize a recursive mutex that has been allocated on the stack, or as part of a larger structure.WIt is not necessary to initialise a recursive mutex that has been statically allocated.C code p typedef struct { GRecMutex m; ... } Blob; Blob *b; b = g_new (Blob, 1); g_rec_mutex_init (&b->m);Calling ( on an already initialized # leads to undefined behaviour.To undo the effect of (1 when a recursive mutex is no longer needed, use '. Since: 2.32)gi-glibLocks recMutex. If recMutexJ is already locked by another thread, the current thread will block until recMutex% is unlocked by the other thread. If recMutex> is already locked by the current thread, the 'lock count' of recMutexr is increased. The mutex will only become available again when it is unlocked as many times as it has been locked. Since: 2.32*gi-glibTries to lock recMutex. If recMutex= is already locked by another thread, it immediately returns  . Otherwise it locks recMutex and returns  . Since: 2.32+gi-glibUnlocks recMutex$. If another thread is blocked in a ) call for recMutex(, it will become unblocked and can lock recMutex itself.Calling +\ on a recursive mutex that is not locked by the current thread leads to undefined behaviour. Since: 2.32'gi-glibrecMutex: an initialized # (gi-glibrecMutex: an uninitialized # )gi-glibrecMutex: a # *gi-glibrecMutex: a # gi-glibReturns:   if recMutex could be locked +gi-glibrecMutex: a # #$%&'()*+ #$%&'()*+7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb tgi-glibMemory-managed wrapper type.0gi-glibA convenience alias for   ::   .1gi-glib,Returns a new string containing the text in stringToExpand] with references and escape sequences expanded. References refer to the last match done with string against regex" and have the same syntax used by %.The stringToExpand must be UTF-8 encoded even if  G_REGEX_RAW was passed to %.The backreferences are extracted from the string passed to the match function, so you cannot call this function after freeing the string. matchInfo may be   in which case stringToExpand must not contain references. For instance "foo\n" does not refer to an actual pattern and '\n' merely will be replaced with \n character, while to expand "\0" (whole match) one needs the result of a match. Use = to find out whether stringToExpand contains references. Since: 2.142gi-glib Retrieves the text matching the matchNumn'th capturing parentheses. 0 is the full text of the match, 1 is the first paren set, 2 the second, and so on.If matchNum is a valid sub pattern but it didn't match anything (e.g. sub pattern 1, matching "b" against "(a)?b") then an empty string is returned.AIf the match was obtained using the DFA algorithm, that is using % or %, the retrieved string is not that of a set of parentheses but that of a matched substring. Substrings are matched in reverse order of length, so 0 is the longest match.~The string is fetched from the string passed to the match function, so you cannot call this function after freeing the string. Since: 2.143gi-glibBundles up pointers to each of the matching substrings from a match and stores them in an array of gchar pointers. The first element in the returned array is the match number 0, i.e. the entire matched text.{If a sub pattern didn't match anything (e.g. sub pattern 1, matching "b" against "(a)?b") then an empty string is inserted.FIf the last match was obtained using the DFA algorithm, that is using % or %, the retrieved strings are not that matched by sets of parentheses but that of the matched substring. Substrings are matched in reverse order of length, so the first one is the longest match.The strings are fetched from the string passed to the match function, so you cannot call this function after freeing the string. Since: 2.144gi-glib<Retrieves the text matching the capturing parentheses named name.If name is a valid sub pattern name but it didn't match anything (e.g. sub pattern "X", matching "b" against "(?P<X>a)?b") then an empty string is returned.~The string is fetched from the string passed to the match function, so you cannot call this function after freeing the string. Since: 2.145gi-glibCRetrieves the position in bytes of the capturing parentheses named name.If namey is a valid sub pattern name but it didn't match anything (e.g. sub pattern "X", matching "b" against "(?P<X>a)?b") then startPos and endPos are set to -1 and   is returned. Since: 2.146gi-glib'Retrieves the position in bytes of the matchNumn'th capturing parentheses. 0 is the full text of the match, 1 is the first paren set, 2 the second, and so on.If matchNumm is a valid sub pattern but it didn't match anything (e.g. sub pattern 1, matching "b" against "(a)?b") then startPos and endPos are set to -1 and   is returned.AIf the match was obtained using the DFA algorithm, that is using % or %, the retrieved position is not that of a set of parentheses but that of a matched substring. Substrings are matched in reverse order of length, so 0 is the longest match. Since: 2.147gi-glibIf  matchInfo is not  , calls ?; otherwise does nothing. Since: 2.148gi-glibRetrieves the number of matched substrings (including substring 0, that is the whole matched text), so 1 is returned if the pattern has no substrings in it and 0 is returned if the match failed.FIf the last match was obtained using the DFA algorithm, that is using % or %v, the retrieved count is not that of the number of capturing parentheses but that of the number of matched substrings. Since: 2.149gi-glibReturns % object used in  matchInfo0. It belongs to Glib and must not be freed. Use %' if you need to keep it after you free  matchInfo object. Since: 2.14:gi-glib!Returns the string searched with  matchInfo. This is the string passed to % or %5 so you may not free it before calling this function. Since: 2.14;gi-glibzUsually if the string passed to g_regex_match*() matches as far as it goes, but is too short to match the entire pattern,   is returned. There are circumstances where it might be helpful to distinguish this case from other cases in which there is no match.Consider, for example, an application where a human is required to type in data for a field with specific formatting requirements. An example might be a date in the form ddmmmyy, defined by the pattern "^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$". If the application sees the user s keystrokes one by one, and can check that what has been typed so far is potentially valid, it is able to raise an error as soon as a mistake is made.@GRegex supports the concept of partial matching by means of the G_REGEX_MATCH_PARTIAL_SOFT and G_REGEX_MATCH_PARTIAL_HARD0 flags. When they are used, the return code for % or % is, as usual,   for a complete match,  - otherwise. But, when these functions return  1, you can check if the match was partial calling ;.The difference between G_REGEX_MATCH_PARTIAL_SOFT and G_REGEX_MATCH_PARTIAL_HARD2 is that when a partial match is encountered with G_REGEX_MATCH_PARTIAL_SOFTI, matching continues to search for a possible complete match, while with G_REGEX_MATCH_PARTIAL_HARD0 matching stops at the partial match. When both G_REGEX_MATCH_PARTIAL_SOFT and G_REGEX_MATCH_PARTIAL_HARD& are set, the latter takes precedence.lThere were formerly some restrictions on the pattern for partial matching. The restrictions no longer apply.<See pcrepartial(3) for more information on partial matching. Since: 2.14<gi-glib7Returns whether the previous match operation succeeded. Since: 2.14=gi-glibKScans for the next match using the same parameters of the previous call to % or % that returned  matchInfo.qThe match is done on the string passed to the match function, so you cannot free it before calling this function. Since: 2.14>gi-glibIncreases reference count of  matchInfo by 1. Since: 2.30?gi-glibDecreases reference count of  matchInfol by 1. When reference count drops to zero, it frees all the memory associated with the match_info structure. Since: 2.301gi-glib matchInfo: a  or   gi-glibstringToExpand: the string to expand gi-glibReturns: the expanded string, or   if an error occurred  (Can throw o) 2gi-glib matchInfo:  structure gi-glibmatchNum: number of the sub expression gi-glibReturns: The matched substring, or  @ if an error occurred. You have to free the string yourself 3gi-glib matchInfo: a  structure gi-glibReturns: a  C-terminated array of gchar * pointers. It must be freed using =#. If the previous match failed   is returned 4gi-glib matchInfo:  structure gi-glibname: name of the subexpression gi-glibReturns: The matched substring, or  @ if an error occurred. You have to free the string yourself 5gi-glib matchInfo:  structure gi-glibname: name of the subexpression gi-glibReturns:   if the position was fetched,  3 otherwise. If the position cannot be fetched, startPos and endPos are left unchanged. 6gi-glib matchInfo:  structure gi-glibmatchNum: number of the sub expression gi-glibReturns:   if the position was fetched,  1 otherwise. If the position cannot be fetched, startPos and endPos are left unchanged 7gi-glib matchInfo: a , or   8gi-glib matchInfo: a  structure gi-glibReturns:: Number of matched substrings, or -1 if an error occurred 9gi-glib matchInfo: a  gi-glibReturns: % object used in  matchInfo :gi-glib matchInfo: a  gi-glibReturns: the string searched with  matchInfo ;gi-glib matchInfo: a  structure gi-glibReturns:   if the match was partial,   otherwise <gi-glib matchInfo: a  structure gi-glibReturns:  . if the previous match operation succeeded,   otherwise =gi-glib matchInfo: a  structure gi-glib (Can throw o) >gi-glib matchInfo: a  gi-glibReturns:  matchInfo ?gi-glib matchInfo: a  0123456789:;<=>?0123456789:;<=>?%7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb ~.gi-glibMemory-managed wrapper type.Agi-glibA convenience alias for   ::   ..Bgi-glibWCompiles the regular expression to an internal form, and does the initial setup of the . structure. Since: 2.14Cgi-glib;Returns the number of capturing subpatterns in the pattern. Since: 2.14Dgi-glib!Returns the compile options that regex was created with.sDepending on the version of PCRE that is used, this may or may not include flags set by option expressions such as (?i)4 found at the top-level within the compiled pattern. Since: 2.26Egi-glibAChecks whether the pattern contains explicit CR or LF references. Since: 2.34Fgi-glibReturns the match options that regex was created with. Since: 2.26Ggi-glibvReturns the number of the highest back reference in the pattern, or 0 if the pattern does not contain back references. Since: 2.14Hgi-glibGets the number of characters in the longest lookbehind assertion in the pattern. This information is useful when doing multi-segment matching using the partial matching facilities. Since: 2.38Igi-glib(Gets the pattern string associated with regex&, i.e. a copy of the string passed to B. Since: 2.14Jgi-glib0Retrieves the number of the subexpression named name. Since: 2.14Kgi-glibScans for a match in string for the pattern in regex. The  matchOptions8 are combined with the match options specified when the regexE structure was created, letting you have more flexibility in reusing . structures.Unless  is specified in the options, string must be valid UTF-8.A ? structure, used to get information on the match, is stored in  matchInfo if not  . Note that if  matchInfo is not  1 then it is created even if the function returns  J, i.e. you must free it regardless if regular expression actually matched.QTo retrieve all the non-overlapping matches of the pattern in string you can use .C code  static void print_uppercase_words (const gchar *string) { // Print all uppercase-only words. GRegex *regex; GMatchInfo *match_info; regex = g_regex_new ("[A-Z]+", 0, 0, NULL); g_regex_match (regex, string, 0, &match_info); while (g_match_info_matches (match_info)) { gchar *word = g_match_info_fetch (match_info, 0); g_print ("Found: %s\n", word); g_free (word); g_match_info_next (match_info, NULL); } g_match_info_free (match_info); g_regex_unref (regex); }string is not copied and is used in  internally. If you use any  method (except ) after freeing or modifying string! then the behaviour is undefined. Since: 2.14Lgi-glibUsing the standard algorithm for regular expression matching only the longest match in the string is retrieved. This function uses a different algorithm so it can retrieve all the possible matches. For more documentation see M.A ? structure, used to get information on the match, is stored in  matchInfo if not  . Note that if  matchInfo is not  1 then it is created even if the function returns  J, i.e. you must free it regardless if regular expression actually matched.string is not copied and is used in  internally. If you use any  method (except ) after freeing or modifying string! then the behaviour is undefined. Since: 2.14Mgi-glib[Using the standard algorithm for regular expression matching only the longest match in the string is retrieved, it is not possible to obtain all the available matches. For instance matching "<a> <b> <c>" against the pattern "<.*>" you get "<a> <b> <c>".:This function uses a different algorithm (called DFA, i.e. deterministic finite automaton), so it can retrieve all the possible matches, all starting at the same point in the string. For instance matching "<a> <b> <c>" against the pattern "<.*>;" you would obtain three matches: "<a> <b> <c>", "<a> <b>" and "<a>".1The number of matched strings is retrieved using N. To obtain the matched strings and their position you can use, respectively,  and u. Note that the strings are returned in reverse order of length; that is, the longest matching string is given first.Note that the DFA algorithm is slower than the standard one and it is not able to capture substrings, so backreferences do not work.Setting  startPosition? differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOLZ in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b".Unless  is specified in the options, string must be valid UTF-8.A ? structure, used to get information on the match, is stored in  matchInfo if not  . Note that if  matchInfo is not  1 then it is created even if the function returns  J, i.e. you must free it regardless if regular expression actually matched.string is not copied and is used in  internally. If you use any  method (except ) after freeing or modifying string! then the behaviour is undefined. Since: 2.14Ngi-glibScans for a match in string for the pattern in regex. The  matchOptions8 are combined with the match options specified when the regexE structure was created, letting you have more flexibility in reusing . structures.Setting  startPosition? differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOLZ in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b".Unless  is specified in the options, string must be valid UTF-8.A ? structure, used to get information on the match, is stored in  matchInfo if not  . Note that if  matchInfo is not  1 then it is created even if the function returns  J, i.e. you must free it regardless if regular expression actually matched.string is not copied and is used in  internally. If you use any  method (except ) after freeing or modifying string! then the behaviour is undefined.QTo retrieve all the non-overlapping matches of the pattern in string you can use .C code  static void print_uppercase_words (const gchar *string) { // Print all uppercase-only words. GRegex *regex; GMatchInfo *match_info; GError *error = NULL; regex = g_regex_new ("[A-Z]+", 0, 0, NULL); g_regex_match_full (regex, string, -1, 0, 0, &match_info, &error); while (g_match_info_matches (match_info)) { gchar *word = g_match_info_fetch (match_info, 0); g_print ("Found: %s\n", word); g_free (word); g_match_info_next (match_info, &error); } g_match_info_free (match_info); g_regex_unref (regex); if (error != NULL) { g_printerr ("Error while matching: %s\n", error->message); g_error_free (error); } } Since: 2.14Ogi-glibIncreases reference count of regex by 1. Since: 2.14Pgi-glib+Replaces all occurrences of the pattern in regex with the replacement text. Backreferences of the form '\number' or '\g<number>' in the replacement text are interpolated by the number-th captured subexpression of the match, '\g<name>' refers to the captured subexpression with the given name. '\0' refers to the complete match, but '\0' followed by a number is the octal representation of a character. To include a literal '\' in the replacement, write '\\'.CThere are also escapes that changes the case of the following text:,\l: Convert to lower case the next character,\u: Convert to upper case the next character!\L: Convert to lower case till \E!\U: Convert to upper case till \E\E: End case modification-If you do not need to use backreferences use Q.The  replacement& string must be UTF-8 encoded even if  G_REGEX_RAW was passed to B:. If you want to use not UTF-8 encoded stings you can use Q.Setting  startPosition? differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOLZ in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". Since: 2.14Qgi-glib+Replaces all occurrences of the pattern in regex with the replacement text.  replacement6 is replaced literally, to include backreferences use P.Setting  startPosition? differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOLZ in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". Since: 2.14Rgi-glib Breaks the string on the pattern, and returns an array of the tokens. If the pattern contains capturing parentheses, then the text for each of the substrings will also be returned. If the pattern does not match anywhere in the string, then the whole string is returned as the first token.As a special case, the result of splitting the empty string "" is an empty vector, not a vector containing a single string. The reason for this special case is that being able to represent a empty vector is typically more useful than consistent handling of empty elements. If you do need to represent empty elements, you'll need to check for the empty string before calling this function..A pattern that can match empty strings splits string into separate characters wherever it matches the empty string between characters. For example splitting "ab c" using as a separator "\s*", you will get "a", "b" and "c". Since: 2.14Sgi-glib Breaks the string on the pattern, and returns an array of the tokens. If the pattern contains capturing parentheses, then the text for each of the substrings will also be returned. If the pattern does not match anywhere in the string, then the whole string is returned as the first token.As a special case, the result of splitting the empty string "" is an empty vector, not a vector containing a single string. The reason for this special case is that being able to represent a empty vector is typically more useful than consistent handling of empty elements. If you do need to represent empty elements, you'll need to check for the empty string before calling this function..A pattern that can match empty strings splits string into separate characters wherever it matches the empty string between characters. For example splitting "ab c" using as a separator "\s*", you will get "a", "b" and "c".Setting  startPosition? differs from just passing over a shortened string and setting G_REGEX_MATCH_NOTBOLZ in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b". Since: 2.14Tgi-glibDecreases reference count of regexg by 1. When reference count drops to zero, it frees all the memory associated with the regex structure. Since: 2.14Ugi-glibChecks whether  replacement$ is a valid replacement string (see P2), i.e. that all escape sequences in it are valid.If  hasReferences is not   then  replacement is checked for pattern references. For instance, replacement text 'foo\n' does not contain references and may be evaluated without information about actual match, but '\0\1' (whole match followed by first subpattern) requires valid  object. Since: 2.14Vgi-glib3No description available in the introspection data.Wgi-glibEscapes the nul characters in stringL to "\x00". It can be used to compile a regex with embedded nul characters.For completeness, lengthb can be -1 for a nul-terminated string. In this case the output string will be of course equal to string. Since: 2.30Xgi-glib?Escapes the special characters used for regular expressions in stringn, for instance "a.b*c" becomes "a\.b\*c". This function is useful to dynamically generate regular expressions.stringp can contain nul characters that are replaced with "\0", in this case remember to specify the correct length of string in length. Since: 2.14Ygi-glibScans for a match in string for pattern.This function is equivalent to K5 but it does not require to compile the pattern with Bx, avoiding some lines of code when you need just to do a match without extracting substrings, capture counts, and so on.-If this function is to be called on the same patternF more than once, it's more efficient to compile the pattern once with B and then use K. Since: 2.14Zgi-glib Breaks the string on the pattern, and returns an array of the tokens. If the pattern contains capturing parentheses, then the text for each of the substrings will also be returned. If the pattern does not match anywhere in the string, then the whole string is returned as the first token.This function is equivalent to R5 but it does not require to compile the pattern with Bx, avoiding some lines of code when you need just to do a split without extracting substrings, capture counts, and so on.-If this function is to be called on the same patternF more than once, it's more efficient to compile the pattern once with B and then use R.As a special case, the result of splitting the empty string "" is an empty vector, not a vector containing a single string. The reason for this special case is that being able to represent a empty vector is typically more useful than consistent handling of empty elements. If you do need to represent empty elements, you'll need to check for the empty string before calling this function..A pattern that can match empty strings splits string into separate characters wherever it matches the empty string between characters. For example splitting "ab c" using as a separator "\s*", you will get "a", "b" and "c". Since: 2.14Bgi-glibpattern: the regular expression gi-glibcompileOptions3: compile options for the regular expression, or 0 gi-glib matchOptions1: match options for the regular expression, or 0 gi-glibReturns: a . structure or   if an error occured. Call T when you are done with it  (Can throw o) Cgi-glibregex: a . gi-glibReturns:% the number of capturing subpatterns Dgi-glibregex: a . gi-glibReturns: flags from  Egi-glibregex: a . structure gi-glibReturns:  6 if the pattern contains explicit CR or LF references Fgi-glibregex: a . gi-glibReturns: flags from  Ggi-glibregex: a . gi-glibReturns:* the number of the highest back reference Hgi-glibregex: a . structure gi-glibReturns:? the number of characters in the longest lookbehind assertion. Igi-glibregex: a . structure gi-glibReturns: the pattern of regex Jgi-glibregex: . structure gi-glibname: name of the subexpression gi-glibReturns:* The number of the subexpression or -1 if name does not exists Kgi-glibregex: a . structure from B gi-glibstring!: the string to scan for matches gi-glib matchOptions: match options gi-glibReturns:   is the string matched,   otherwise Lgi-glibregex: a . structure from B gi-glibstring!: the string to scan for matches gi-glib matchOptions: match options gi-glibReturns:   is the string matched,   otherwise Mgi-glibregex: a . structure from B gi-glibstring!: the string to scan for matches gi-glib startPosition2: starting index of the string to match, in bytes gi-glib matchOptions: match options gi-glib (Can throw o) Ngi-glibregex: a . structure from B gi-glibstring!: the string to scan for matches gi-glib startPosition2: starting index of the string to match, in bytes gi-glib matchOptions: match options gi-glib (Can throw o) Ogi-glibregex: a . gi-glibReturns: regex Pgi-glibregex: a . structure gi-glibstring(: the string to perform matches against gi-glib startPosition2: starting index of the string to match, in bytes gi-glib replacement": text to replace each match with gi-glib matchOptions: options for the match gi-glibReturns:6 a newly allocated string containing the replacements  (Can throw o) Qgi-glibregex: a . structure gi-glibstring(: the string to perform matches against gi-glib startPosition2: starting index of the string to match, in bytes gi-glib replacement": text to replace each match with gi-glib matchOptions: options for the match gi-glibReturns:6 a newly allocated string containing the replacements  (Can throw o) Rgi-glibregex: a . structure gi-glibstring': the string to split with the pattern gi-glib matchOptions: match time option flags gi-glibReturns: a  *-terminated gchar ** array. Free it using = Sgi-glibregex: a . structure gi-glibstring': the string to split with the pattern gi-glib startPosition2: starting index of the string to match, in bytes gi-glib matchOptions: match time option flags gi-glib maxTokens(: the maximum number of tokens to split string@ into. If this is less than 1, the string is split completely gi-glibReturns: a  *-terminated gchar ** array. Free it using =  (Can throw o) Tgi-glibregex: a . Ugi-glib replacement: the replacement string gi-glib (Can throw o) Wgi-glibstring: the string to escape gi-gliblength: the length of string gi-glibReturns:" a newly-allocated escaped string Xgi-glibstring: the string to escape gi-glibReturns:" a newly-allocated escaped string Ygi-glibpattern: the regular expression gi-glibstring!: the string to scan for matches gi-glibcompileOptions3: compile options for the regular expression, or 0 gi-glib matchOptions: match options, or 0 gi-glibReturns:   if the string matched,   otherwise Zgi-glibpattern: the regular expression gi-glibstring!: the string to scan for matches gi-glibcompileOptions3: compile options for the regular expression, or 0 gi-glib matchOptions: match options, or 0 gi-glibReturns: a  ,-terminated array of strings. Free it using = ./ABCDEFGHIJKLMNOPQRSTUVWXYZ./AUVWXCDEFGHIJKLMNYBOPQRSZT'7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb C;^gi-glibMemory-managed wrapper type.`gi-glib Construct a ^ struct initialized to zero.agi-glibA convenience alias for   ::   ^.bgi-glibGet the value of the cset_skip_characters  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to # scannerConfig #csetSkipCharacters cgi-glibSet the value of the cset_skip_characters  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to % scannerConfig [ #csetSkipCharacters  value ] dgi-glibSet the value of the cset_skip_characters  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #csetSkipCharacters egi-glibGet the value of the cset_identifier_first  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to $ scannerConfig #csetIdentifierFirst fgi-glibSet the value of the cset_identifier_first  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to & scannerConfig [ #csetIdentifierFirst  value ] ggi-glibSet the value of the cset_identifier_first  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #csetIdentifierFirst hgi-glibGet the value of the cset_identifier_nth  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to " scannerConfig #csetIdentifierNth igi-glibSet the value of the cset_identifier_nth  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to $ scannerConfig [ #csetIdentifierNth  value ] jgi-glibSet the value of the cset_identifier_nth  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #csetIdentifierNth kgi-glibGet the value of the cpair_comment_single  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to # scannerConfig #cpairCommentSingle lgi-glibSet the value of the cpair_comment_single  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to % scannerConfig [ #cpairCommentSingle  value ] mgi-glibSet the value of the cpair_comment_single  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #cpairCommentSingle ngi-glibGet the value of the case_sensitive  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #caseSensitive ogi-glibSet the value of the case_sensitive  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #caseSensitive  value ] pgi-glibGet the value of the skip_comment_multi  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to ! scannerConfig #skipCommentMulti qgi-glibSet the value of the skip_comment_multi  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to # scannerConfig [ #skipCommentMulti  value ] rgi-glibGet the value of the skip_comment_single  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to " scannerConfig #skipCommentSingle sgi-glibSet the value of the skip_comment_single  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to $ scannerConfig [ #skipCommentSingle  value ] tgi-glibGet the value of the scan_comment_multi  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to ! scannerConfig #scanCommentMulti ugi-glibSet the value of the scan_comment_multi  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to # scannerConfig [ #scanCommentMulti  value ] vgi-glibGet the value of the scan_identifier  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanIdentifier wgi-glibSet the value of the scan_identifier  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to ! scannerConfig [ #scanIdentifier  value ] xgi-glibGet the value of the scan_identifier_1char  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to $ scannerConfig #scanIdentifier1char ygi-glibSet the value of the scan_identifier_1char  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to & scannerConfig [ #scanIdentifier1char  value ] zgi-glibGet the value of the scan_identifier_NULL  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to # scannerConfig #scanIdentifierNULL {gi-glibSet the value of the scan_identifier_NULL  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to % scannerConfig [ #scanIdentifierNULL  value ] |gi-glibGet the value of the  scan_symbols  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanSymbols }gi-glibSet the value of the  scan_symbols  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanSymbols  value ] ~gi-glibGet the value of the  scan_binary  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanBinary gi-glibSet the value of the  scan_binary  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanBinary  value ] gi-glibGet the value of the  scan_octal  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanOctal gi-glibSet the value of the  scan_octal  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanOctal  value ] gi-glibGet the value of the  scan_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanFloat gi-glibSet the value of the  scan_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanFloat  value ] gi-glibGet the value of the scan_hex  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanHex gi-glibSet the value of the scan_hex  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanHex  value ] gi-glibGet the value of the scan_hex_dollar  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanHexDollar gi-glibSet the value of the scan_hex_dollar  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanHexDollar  value ] gi-glibGet the value of the scan_string_sq  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanStringSq gi-glibSet the value of the scan_string_sq  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanStringSq  value ] gi-glibGet the value of the scan_string_dq  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scanStringDq gi-glibSet the value of the scan_string_dq  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #scanStringDq  value ] gi-glibGet the value of the  numbers_2_int  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #numbers2Int gi-glibSet the value of the  numbers_2_int  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #numbers2Int  value ] gi-glibGet the value of the  int_2_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #int2Float gi-glibSet the value of the  int_2_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #int2Float  value ] gi-glibGet the value of the identifier_2_string  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to " scannerConfig #identifier2String gi-glibSet the value of the identifier_2_string  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to $ scannerConfig [ #identifier2String  value ] gi-glibGet the value of the  char_2_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #char2Token gi-glibSet the value of the  char_2_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #char2Token  value ] gi-glibGet the value of the symbol_2_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #symbol2Token gi-glibSet the value of the symbol_2_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #symbol2Token  value ] gi-glibGet the value of the scope_0_fallback  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #scope0Fallback gi-glibSet the value of the scope_0_fallback  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to ! scannerConfig [ #scope0Fallback  value ] gi-glibGet the value of the  store_int64  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig #storeInt64 gi-glibSet the value of the  store_int64  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scannerConfig [ #storeInt64  value ] <^_`abcdefghijklmnopqrstuvwxyz{|}~<^_`anomklgefjhidbc~tuvwxyz{|}pqrs(7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibAdds a new item to the end of seq. Since: 2.14gi-glibFrees the memory allocated for seq. If seqY has a data destroy function associated with it, that function is called on all items in seq. Since: 2.14gi-glibReturns the begin iterator for seq. Since: 2.14gi-glibReturns the end iterator for seg Since: 2.14gi-glib!Returns the iterator at position pos. If pos3 is negative or larger than the number of items in seq, the end iterator is returned. Since: 2.14gi-glibReturns the length of seqf. Note that this method is O(h) where `h' is the height of the tree. It is thus more efficient to use # when comparing the length to zero. Since: 2.14gi-glibReturns  % if the sequence contains zero items.BThis function is functionally identical to checking the result of P being equal to zero. However this function is implemented in O(1) running time. Since: 2.48gi-glib Adds a new item to the front of seq Since: 2.14gi-glibReturns the data that iter points to. Since: 2.14gi-glib6Inserts a new item just before the item pointed to by iter. Since: 2.14gi-glibMoves the item pointed to by src to the position indicated by dest. After calling this function dest. will point to the position immediately after src. It is allowed for src and dest# to point into different sequences. Since: 2.14gi-glib Inserts the (begin, end)) range at the destination pointed to by dest. The begin and end< iters must point into the same sequence. It is allowed for dest? to point to a different sequence than the one pointed into by begin and end.If dest is  , the range indicated by begin and end" is removed from the sequence. If dest points to a place within the (begin, end!) range, the range does not move. Since: 2.14gi-glib*Finds an iterator somewhere in the range (begin, endm). This iterator will be close to the middle of the range, but is not guaranteed to be exactly in the middle.The begin and end4 iterators must both point to the same sequence and begin! must come before or be equal to end in the sequence. Since: 2.14gi-glibRemoves the item pointed to by iter;. It is an error to pass the end iterator to this function.yIf the sequence has a data destroy function associated with it, this function is called on the data for the removed item. Since: 2.14gi-glibRemoves all items in the (begin, end) range.zIf the sequence has a data destroy function associated with it, this function is called on the data for the removed items. Since: 2.14gi-glib,Changes the data for the item pointed to by iter to be datat. If the sequence has a data destroy function associated with it, that function is called on the existing data that iter pointed to. Since: 2.14gi-glibSwaps the items pointed to by a and b. It is allowed for a and b$ to point into difference sequences. Since: 2.14gi-glibseq: a  gi-glibdata: the data for the new item gi-glibReturns:& an iterator pointing to the new item gi-glibseq: a  gi-glibseq: a  gi-glibReturns: the begin iterator for seq. gi-glibseq: a  gi-glibReturns: the end iterator for seq gi-glibseq: a  gi-glibpos: a position in seq, or -1 for the end gi-glibReturns: The ) at position pos gi-glibseq: a  gi-glibReturns: the length of seq gi-glibseq: a  gi-glibReturns:  % if the sequence is empty, otherwise  . gi-glibseq: a  gi-glibdata: the data for the new item gi-glibReturns:& an iterator pointing to the new item gi-glibiter: a ) gi-glibReturns: the data that iter points to gi-glibiter: a ) gi-glibdata: the data for the new item gi-glibReturns:& an iterator pointing to the new item gi-glibsrc: a ) pointing to the item to move gi-glibdest: a )9 pointing to the position to which the item is moved gi-glibdest: a ) gi-glibbegin: a ) gi-glibend: a ) gi-glibbegin: a ) gi-glibend: a ) gi-glibReturns: a ) pointing somewhere in the (begin, end) range gi-glibiter: a ) gi-glibbegin: a ) gi-glibend: a ) gi-glibiter: a ) gi-glibdata: new data for the item gi-gliba: a ) gi-glibb: a ) )7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb  gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   .gi-glibReturns a negative number if a comes before b0, 0 if they are equal, and a positive number if a comes after b.The a and b- iterators must point into the same sequence. Since: 2.14gi-glibReturns the position of iter Since: 2.14gi-glib Returns the ( that iter points into. Since: 2.14gi-glibReturns whether iter is the begin iterator Since: 2.14gi-glibReturns whether iter is the end iterator Since: 2.14gi-glib Returns the  which is delta positions away from iter. If iter is closer than -deltaP positions to the beginning of the sequence, the begin iterator is returned. If iter is closer than deltaD positions to the end of the sequence, the end iterator is returned. Since: 2.14gi-glib8Returns an iterator pointing to the next position after iter. If iter3 is the end iterator, the end iterator is returned. Since: 2.14gi-glib=Returns an iterator pointing to the previous position before iter. If iter7 is the begin iterator, the begin iterator is returned. Since: 2.14gi-gliba: a  gi-glibb: a  gi-glibReturns: a negative number if a comes before b4, 0 if they are equal, and a positive number if a comes after b gi-glibiter: a  gi-glibReturns: the position of iter gi-glibiter: a  gi-glibReturns: the ( that iter points into gi-glibiter: a  gi-glibReturns: whether iter is the begin iterator gi-glibiter: a  gi-glibReturns: Whether iter is the end iterator gi-glibiter: a  gi-glibdeltaK: A positive or negative number indicating how many positions away from iter the returned  will be gi-glibReturns: a  which is delta positions away from iter gi-glibiter: a  gi-glibReturns: a % pointing to the next position after iter gi-glibiter: a  gi-glibReturns: a . pointing to the previous position before iter  -7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type.gi-glibA convenience alias for   ::   ./7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbd~gi-glibPrototype of a GChildWatchSourceA callback, called when a child process has exited. To interpret status, see the documentation for =.gi-glibPrototype of a GChildWatchSourceA callback, called when a child process has exited. To interpret status, see the documentation for =.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib)Specifies the type of function passed to g_clear_handle_id()D. The implementation is expected to free the resource identified by handleId; for instance, if handleId is a *T ID, = can be used. Since: 2.56gi-glib0Type for the callback on the (unwrapped) C side.gi-glibSpecifies the type of a comparison function used to compare two values. The function should return a negative integer if the first value comes before the second, 0 if they are equal, or a positive integer if the first value comes after the second.gi-glibSpecifies the type of a comparison function used to compare two values. The function should return a negative integer if the first value comes before the second, 0 if they are equal, or a positive integer if the first value comes after the second.gi-glib0Type for the callback on the (unwrapped) C side.gi-glibSpecifies the type of a comparison function used to compare two values. The function should return a negative integer if the first value comes before the second, 0 if they are equal, or a positive integer if the first value comes after the second.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib\A function of this signature is used to copy the node data when doing a deep-copy of a tree. Since: 2.4gi-glib0Type for the callback on the (unwrapped) C side.gi-glib)Specifies the type of function passed to =. It is called with each GQuark3 id and associated data element, together with the userData parameter supplied to =.gi-glib)Specifies the type of function passed to =. It is called with each GQuark3 id and associated data element, together with the userData parameter supplied to =.gi-glib0Type for the callback on the (unwrapped) C side.gi-glibSpecifies the type of function which is called when a data element is destroyed. It is passed the pointer to the data element and should free any memory and resources allocated for it.gi-glib0Type for the callback on the (unwrapped) C side.gi-glibThe type of functions that are used to 'duplicate' an object. What this means depends on the context, it could just be incrementing the reference count, if data is a ref-counted object.gi-glibThe type of functions that are used to 'duplicate' an object. What this means depends on the context, it could just be incrementing the reference count, if data is a ref-counted object.gi-glib0Type for the callback on the (unwrapped) C side.gi-glibbSpecifies the type of a function used to test two values for equality. The function should return   if both values are equal and   otherwise.gi-glib0Type for the callback on the (unwrapped) C side.gi-glibDeclares a type of function which takes an arbitrary data pointer argument and has no return value. It is not currently used in GLib or GTK+.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib*Specifies the type of functions passed to g_list_foreach() and g_slist_foreach().gi-glib*Specifies the type of functions passed to g_list_foreach() and g_slist_foreach().gi-glib0Type for the callback on the (unwrapped) C side.gi-glib-Specifies the type of the function passed to g_hash_table_foreach();. It is called with each key/value pair, together with the userData parameter which is passed to g_hash_table_foreach().gi-glib-Specifies the type of the function passed to g_hash_table_foreach();. It is called with each key/value pair, together with the userData parameter which is passed to g_hash_table_foreach().gi-glib0Type for the callback on the (unwrapped) C side.gi-glib-Specifies the type of the function passed to g_hash_table_foreach_remove();. It is called with each key/value pair, together with the userData parameter passed to g_hash_table_foreach_remove(). It should return  2 if the key/value pair should be removed from the .gi-glib-Specifies the type of the function passed to g_hash_table_foreach_remove();. It is called with each key/value pair, together with the userData parameter passed to g_hash_table_foreach_remove(). It should return  2 if the key/value pair should be removed from the .gi-glib0Type for the callback on the (unwrapped) C side.gi-glib;Specifies the type of the hash function which is passed to g_hash_table_new() when a  is created.1The function is passed a key and should return a guint hash value. The functions =, = and =< provide hash functions which can be used when the key is a gpointer, gint*, and gchar* respectively.=< is also the appropriate hash function for keys of the form GINT_TO_POINTER (n) (or similar macros)."A good hash functions should produce hash values that are evenly distributed over a fairly large range. The modulus is taken with the hash table size (a prime number) to find the 'bucket' to place each key into. The function should also be very fast, since it is called for each key lookup.@Note that the hash functions provided by GLib have these qualities, but are not particularly robust against manufactured keys that cause hash collisions. Therefore, you should consider choosing a more secure hash function when using a GHashTable with keys that originate in untrusted data (such as HTTP requests). Using =< in that situation might make your application vulerable to  https://lwn.net/Articles/474912/Algorithmic Complexity Attacks. The key to choosing a good hash is unpredictability. Even cryptographic hashes are very easy to find collisions for when the remainder is taken modulo a somewhat predictable prime number. There must be an element of randomness that an attacker is unable to guess.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib;Defines the type of a hook function that can be invoked by .gi-glib0Type for the callback on the (unwrapped) C side.gi-glib%Defines the type of function used by g_hook_list_marshal_check().gi-glib0Type for the callback on the (unwrapped) C side.gi-glib-Defines the type of function used to compare N elements in g_hook_insert_sorted().gi-glib0Type for the callback on the (unwrapped) C side.gi-glibXDefines the type of function to be called when a hook in a list of hooks gets finalized.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib+Defines the type of the function passed to  g_hook_find().gi-glib0Type for the callback on the (unwrapped) C side.gi-glib;Defines the type of a hook function that can be invoked by .gi-glib0Type for the callback on the (unwrapped) C side.gi-glib%Defines the type of function used by g_hook_list_marshal().gi-glib0Type for the callback on the (unwrapped) C side.gi-glib)Specifies the type of function passed to g_io_add_watch() or =4, which is called when the requested condition on a ` is satisfied.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data. gi-glib0Type for the callback on the (unwrapped) C side. gi-glib3No description available in the introspection data. gi-glib0Type for the callback on the (unwrapped) C side. gi-glib1Specifies the prototype of log handler functions.The default log handler, =0, automatically appends a new-line character to message when printing it. It is advised that any custom log handler functions behave similarly, so that logging calls in user code do not need modifying to add a new-line character to the message if the log handler is changed.lThis is not used if structured logging is enabled; see [Using Structured Logging][using-structured-logging]. gi-glib1Specifies the prototype of log handler functions.The default log handler, =0, automatically appends a new-line character to message when printing it. It is advised that any custom log handler functions behave similarly, so that logging calls in user code do not need modifying to add a new-line character to the message if the log handler is changed.lThis is not used if structured logging is enabled; see [Using Structured Logging][using-structured-logging].gi-glib0Type for the callback on the (unwrapped) C side.gi-glibLWriter function for log entries. A log entry is a collection of one or more  GLogFields, using the standard < Lhttps://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html. field names from journal specification>. See g_log_structured() for more information.Writer functions must ignore fields which they do not recognise, unless they can write arbitrary binary output, as field values may be arbitrary binary.logLevel! is guaranteed to be included in fields as the PRIORITYh field, but is provided separately for convenience of deciding whether or where to output the log entry.Writer functions should return  if they handled the log message successfully or if they deliberately ignored it. If there was an error handling the message (for example, if the writer function is meant to send messages to a remote logging server and there is a network error), it should return b. This allows writer functions to be chained and fall back to simpler handlers in case of failure. Since: 2.50gi-glibLWriter function for log entries. A log entry is a collection of one or more  GLogFields, using the standard < Lhttps://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html. field names from journal specification>. See g_log_structured() for more information.Writer functions must ignore fields which they do not recognise, unless they can write arbitrary binary output, as field values may be arbitrary binary.logLevel! is guaranteed to be included in fields as the PRIORITYh field, but is provided separately for convenience of deciding whether or where to output the log entry.Writer functions should return  if they handled the log message successfully or if they deliberately ignored it. If there was an error handling the message (for example, if the writer function is meant to send messages to a remote logging server and there is a network error), it should return b. This allows writer functions to be chained and fall back to simpler handlers in case of failure. Since: 2.50gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data.gi-glib0Type for the callback on the (unwrapped) C side.gi-glib3No description available in the introspection data.gi-glib3No description available in the introspection data. gi-glib0Type for the callback on the (unwrapped) C side.!gi-glib3No description available in the introspection data."gi-glib0Type for the callback on the (unwrapped) C side.#gi-glib3No description available in the introspection data.$gi-glib0Type for the callback on the (unwrapped) C side.%gi-glib3No description available in the introspection data.&gi-glib0Type for the callback on the (unwrapped) C side.'gi-glib3No description available in the introspection data.(gi-glib0Type for the callback on the (unwrapped) C side.)gi-glib3No description available in the introspection data.*gi-glib0Type for the callback on the (unwrapped) C side.+gi-glib3No description available in the introspection data.,gi-glib0Type for the callback on the (unwrapped) C side.-gi-glib)Specifies the type of function passed to g_node_children_foreach()U. The function is called with each child node, together with the user data passed to g_node_children_foreach()..gi-glib0Type for the callback on the (unwrapped) C side./gi-glib)Specifies the type of function passed to g_node_traverse()_. The function is called with each of the nodes visited, together with the user data passed to g_node_traverse(). If the function returns   , then the traversal is stopped.0gi-glib0Type for the callback on the (unwrapped) C side.1gi-glib2The type of function to be passed as callback for O options.2gi-glib0Type for the callback on the (unwrapped) C side.3gi-glibFThe type of function to be used as callback when a parse error occurs.4gi-glib0Type for the callback on the (unwrapped) C side.5gi-glibAThe type of function that can be called before and after parsing.6gi-glib0Type for the callback on the (unwrapped) C side.7gi-glib)Specifies the type of function passed to g_main_context_set_poll_func():. The semantics of the function should match those of the poll() system call.8gi-glib0Type for the callback on the (unwrapped) C side.9gi-glibqSpecifies the type of the print handler functions. These are called with the complete formatted string to output.:gi-glib0Type for the callback on the (unwrapped) C side.;gi-glib-Specifies the type of the function passed to g_regex_replace_eval()J. It is called for each occurrence of the pattern in the string passed to g_regex_replace_eval()*, and it should append the replacement to result. Since: 2.14<gi-glib-Specifies the type of the function passed to g_regex_replace_eval()J. It is called for each occurrence of the pattern in the string passed to g_regex_replace_eval()*, and it should append the replacement to result. Since: 2.14=gi-glib0Type for the callback on the (unwrapped) C side.>gi-glib3Specifies the type of the message handler function.?gi-glib0Type for the callback on the (unwrapped) C side.@gi-glibA @r is a function used to compare iterators. It must return zero if the iterators compare equal, a negative value if a comes before b, and a positive value if b comes before a.Agi-glib0Type for the callback on the (unwrapped) C side.Bgi-glib3No description available in the introspection data.Cgi-glib0Type for the callback on the (unwrapped) C side.Dgi-glib3No description available in the introspection data.Egi-glib0Type for the callback on the (unwrapped) C side.Fgi-glibThis is just a placeholder for GClosureMarshal3, which cannot be used here for dependency reasons.Ggi-glib0Type for the callback on the (unwrapped) C side.Hgi-glib)Specifies the type of function passed to g_timeout_add(), =,  g_idle_add(), and =. When calling *H, you may need to cast a function of a different type to this type. Use G_SOURCE_FUNC()5 to avoid warnings about incompatible function types.Igi-glib)Specifies the type of function passed to g_timeout_add(), =,  g_idle_add(), and =. When calling *H, you may need to cast a function of a different type to this type. Use G_SOURCE_FUNC()5 to avoid warnings about incompatible function types.Jgi-glib0Type for the callback on the (unwrapped) C side.Kgi-glib3No description available in the introspection data.Lgi-glib0Type for the callback on the (unwrapped) C side.Mgi-glib3No description available in the introspection data.Ngi-glib0Type for the callback on the (unwrapped) C side.Ogi-glib3No description available in the introspection data.Pgi-glib0Type for the callback on the (unwrapped) C side.Qgi-glib3Specifies the type of the setup function passed to =x, =w and =yK, which can, in very limited ways, be used to affect the child's execution.On POSIX platforms, the function is called in the child after GLib has performed all the setup it plans to perform, but before calling exec()L. Actions taken in this function will only affect the child, not the parent.On Windows, the function is called in the parent. Its usefulness on Windows is thus questionable. In many cases executing the child setup function in the parent can have ill effects, and you should be very careful when porting software to Windows that uses child setup functions.SHowever, even on POSIX, you are extremely limited in what you can safely do from a R_, because any mutexes that were held by other threads in the parent process at the time of the fork() will still be locked in the child process, and they will never be unlocked (since the threads that held them don't exist in the child). POSIX allows only async-signal-safe functions (see signal(7)) to be called in the child between fork() and exec()C, which drastically limits the usefulness of child setup functions.BIn particular, it is not safe to call any function which may call malloc()), which includes POSIX functions such as setenv()Z. If you need to set up the child environment differently from the parent, you should use =, =, and =5, and then pass the complete environment list to the  g_spawn... function.Rgi-glib3Specifies the type of the setup function passed to =x, =w and =yK, which can, in very limited ways, be used to affect the child's execution.On POSIX platforms, the function is called in the child after GLib has performed all the setup it plans to perform, but before calling exec()L. Actions taken in this function will only affect the child, not the parent.On Windows, the function is called in the parent. Its usefulness on Windows is thus questionable. In many cases executing the child setup function in the parent can have ill effects, and you should be very careful when porting software to Windows that uses child setup functions.SHowever, even on POSIX, you are extremely limited in what you can safely do from a R_, because any mutexes that were held by other threads in the parent process at the time of the fork() will still be locked in the child process, and they will never be unlocked (since the threads that held them don't exist in the child). POSIX allows only async-signal-safe functions (see signal(7)) to be called in the child between fork() and exec()C, which drastically limits the usefulness of child setup functions.BIn particular, it is not safe to call any function which may call malloc()), which includes POSIX functions such as setenv()Z. If you need to set up the child environment differently from the parent, you should use =, =, and =5, and then pass the complete environment list to the  g_spawn... function.Sgi-glib0Type for the callback on the (unwrapped) C side.Tgi-glibJThe type used for test case functions that take an extra pointer argument. Since: 2.28Ugi-glibJThe type used for test case functions that take an extra pointer argument. Since: 2.28Vgi-glib0Type for the callback on the (unwrapped) C side.Wgi-glibThe type used for functions that operate on test fixtures. This is used for the fixture setup and teardown functions as well as for the testcases themselves.userDataH is a pointer to the data that was given when registering the test case.fixture will be a pointer to the area of memory allocated by the test framework, of the size requested. If the requested size was zero then fixture will be equal to userData. Since: 2.28Xgi-glibThe type used for functions that operate on test fixtures. This is used for the fixture setup and teardown functions as well as for the testcases themselves.userDataH is a pointer to the data that was given when registering the test case.fixture will be a pointer to the area of memory allocated by the test framework, of the size requested. If the requested size was zero then fixture will be equal to userData. Since: 2.28Ygi-glib0Type for the callback on the (unwrapped) C side.Zgi-glib&The type used for test case functions. Since: 2.28[gi-glib0Type for the callback on the (unwrapped) C side.\gi-glib7Specifies the prototype of fatal log handler functions. Since: 2.22]gi-glib7Specifies the prototype of fatal log handler functions. Since: 2.22^gi-glib0Type for the callback on the (unwrapped) C side._gi-glibSpecifies the type of the func functions passed to g_thread_new() or g_thread_try_new().`gi-glib0Type for the callback on the (unwrapped) C side.agi-glibkThe type of functions which are used to translate user-visible strings, for <option>--help</option> output.bgi-glib0Type for the callback on the (unwrapped) C side.cgi-glib)Specifies the type of function passed to g_tree_traverse()A. It is passed the key and value of each node, together with the userData parameter passed to g_tree_traverse(). If the function returns  , the traversal is stopped.dgi-glib0Type for the callback on the (unwrapped) C side.egi-glibHThe type of functions to be called when a UNIX fd watch source triggers.fgi-glibHThe type of functions to be called when a UNIX fd watch source triggers.ggi-glib0Type for the callback on the (unwrapped) C side.hgi-glibDeclares a type of function which takes no arguments and has no return value. It is used to specify the type function passed to =.igi-glib0Type for the callback on the (unwrapped) C side.jgi-glib9Generate a function pointer callable from C code, from a .kgi-glib9Generate a function pointer callable from C code, from a .lgi-glib9Generate a function pointer callable from C code, from a .mgi-glib9Generate a function pointer callable from C code, from a .ngi-glib9Generate a function pointer callable from C code, from a .ogi-glib9Generate a function pointer callable from C code, from a .pgi-glib9Generate a function pointer callable from C code, from a .qgi-glib9Generate a function pointer callable from C code, from a .rgi-glib9Generate a function pointer callable from C code, from a .sgi-glib9Generate a function pointer callable from C code, from a .tgi-glib9Generate a function pointer callable from C code, from a .ugi-glib9Generate a function pointer callable from C code, from a .vgi-glib9Generate a function pointer callable from C code, from a .wgi-glib9Generate a function pointer callable from C code, from a .xgi-glib9Generate a function pointer callable from C code, from a .ygi-glib9Generate a function pointer callable from C code, from a .zgi-glib9Generate a function pointer callable from C code, from a .{gi-glib9Generate a function pointer callable from C code, from a .|gi-glib9Generate a function pointer callable from C code, from a .}gi-glib9Generate a function pointer callable from C code, from a .~gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a  .gi-glib9Generate a function pointer callable from C code, from a  .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a .gi-glib9Generate a function pointer callable from C code, from a  .gi-glib9Generate a function pointer callable from C code, from a ".gi-glib9Generate a function pointer callable from C code, from a $.gi-glib9Generate a function pointer callable from C code, from a &.gi-glib9Generate a function pointer callable from C code, from a (.gi-glib9Generate a function pointer callable from C code, from a *.gi-glib9Generate a function pointer callable from C code, from a ,.gi-glib9Generate a function pointer callable from C code, from a ..gi-glib9Generate a function pointer callable from C code, from a 0.gi-glib9Generate a function pointer callable from C code, from a 2.gi-glib9Generate a function pointer callable from C code, from a 4.gi-glib9Generate a function pointer callable from C code, from a 6.gi-glib9Generate a function pointer callable from C code, from a 8.gi-glib9Generate a function pointer callable from C code, from a :.gi-glib9Generate a function pointer callable from C code, from a =.gi-glib9Generate a function pointer callable from C code, from a ?.gi-glib9Generate a function pointer callable from C code, from a A.gi-glib9Generate a function pointer callable from C code, from a C.gi-glib9Generate a function pointer callable from C code, from a E.gi-glib9Generate a function pointer callable from C code, from a G.gi-glib9Generate a function pointer callable from C code, from a J.gi-glib9Generate a function pointer callable from C code, from a L.gi-glib9Generate a function pointer callable from C code, from a N.gi-glib9Generate a function pointer callable from C code, from a P.gi-glib9Generate a function pointer callable from C code, from a S.gi-glib9Generate a function pointer callable from C code, from a V.gi-glib9Generate a function pointer callable from C code, from a Y.gi-glib9Generate a function pointer callable from C code, from a [.gi-glib9Generate a function pointer callable from C code, from a ^.gi-glib9Generate a function pointer callable from C code, from a `.gi-glib9Generate a function pointer callable from C code, from a b.gi-glib9Generate a function pointer callable from C code, from a d.gi-glib9Generate a function pointer callable from C code, from a g.gi-glib9Generate a function pointer callable from C code, from a i.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   h.gi-glibWrap the callback into a  .gi-glibWrap a h into a i.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   f.gi-glibA convenience synonym for   ::   e.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a f into a g.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   c.gi-glibWrap the callback into a  .gi-glibWrap a c into a d.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   a.gi-glibWrap the callback into a  .gi-glibWrap a a into a b.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   _.gi-glibWrap the callback into a  .gi-glibWrap a _ into a `.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   ].gi-glibA convenience synonym for   ::   \.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a ] into a ^.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   Z.gi-glibWrap the callback into a  .gi-glibWrap a Z into a [.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   X.gi-glibA convenience synonym for   ::   W.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a X into a Y.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   U.gi-glibA convenience synonym for   ::   T.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a U into a V.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   R.gi-glibA convenience synonym for   ::   Q.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a R into a S.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   O.gi-glibWrap the callback into a  .gi-glibWrap a O into a P.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   M.gi-glibWrap the callback into a  .gi-glibWrap a M into a N.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   K.gi-glibWrap the callback into a  .gi-glibWrap a K into a L.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   I.gi-glibA convenience synonym for   ::   H.gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a I into a J.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   F.gi-glibWrap the callback into a  .gi-glibWrap a F into a G.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   D.gi-glibWrap the callback into a  .gi-glibWrap a D into a E.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   B.gi-glibWrap the callback into a  .gi-glibWrap a B into a C.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   @.gi-glibWrap the callback into a  .gi-glibWrap a @ into a A.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   >.gi-glibWrap the callback into a  .gi-glibWrap a > into a ?.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell. gi-glibA convenience synonym for   ::   <. gi-glibA convenience synonym for   ::   ;. gi-glib4A simple wrapper that ignores the closure arguments. gi-glibWrap the callback into a  . gi-glibWrap a < into a =.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   9.gi-glibWrap the callback into a  .gi-glibWrap a 9 into a :.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   7.gi-glibWrap the callback into a  .gi-glibWrap a 7 into a 8.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   5.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   3.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   1.gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   /.gi-glibWrap the callback into a  .gi-glibWrap a / into a 0. gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.!gi-glibA convenience synonym for   ::   -."gi-glibWrap the callback into a  .#gi-glibWrap a - into a ..$gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.%gi-glibA convenience synonym for   ::   +.&gi-glibWrap the callback into a  .'gi-glibWrap a + into a ,.(gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.)gi-glibA convenience synonym for   ::   ).*gi-glibWrap the callback into a  .+gi-glibWrap a ) into a *.,gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.-gi-glibA convenience synonym for   ::   '..gi-glibWrap the callback into a  ./gi-glibWrap a ' into a (.0gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.1gi-glibA convenience synonym for   ::   %.2gi-glibWrap the callback into a  .3gi-glibWrap a % into a &.4gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.5gi-glibA convenience synonym for   ::   #.6gi-glibWrap the callback into a  .7gi-glibWrap a # into a $.8gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.9gi-glibA convenience synonym for   ::   !.:gi-glibWrap the callback into a  .;gi-glibWrap a ! into a ".<gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.=gi-glibA convenience synonym for   ::   .>gi-glibA convenience synonym for   ::   .?gi-glib4A simple wrapper that ignores the closure arguments.@gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Agi-glibA convenience synonym for   ::   .Bgi-glibA convenience synonym for   ::   .Cgi-glib4A simple wrapper that ignores the closure arguments.Dgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Egi-glibA convenience synonym for   ::   .Fgi-glibA convenience synonym for   ::   .Ggi-glib4A simple wrapper that ignores the closure arguments.Hgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Igi-glibA convenience synonym for   ::   .Jgi-glibA convenience synonym for   ::   .Kgi-glib4A simple wrapper that ignores the closure arguments.Lgi-glibWrap the callback into a  .Mgi-glibWrap a  into a .Ngi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Ogi-glibA convenience synonym for   ::   .Pgi-glibA convenience synonym for   ::   .Qgi-glib4A simple wrapper that ignores the closure arguments.Rgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Sgi-glibA convenience synonym for   ::   .Tgi-glibA convenience synonym for   ::   .Ugi-glib4A simple wrapper that ignores the closure arguments.Vgi-glibWrap the callback into a  .Wgi-glibWrap a  into a .Xgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.Ygi-glibA convenience synonym for   ::    .Zgi-glibA convenience synonym for   ::    .[gi-glib4A simple wrapper that ignores the closure arguments.\gi-glibWrap the callback into a  .]gi-glibWrap a   into a .^gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell._gi-glibA convenience synonym for   ::    .`gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.agi-glibA convenience synonym for   ::   .bgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.cgi-glibA convenience synonym for   ::   .dgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.egi-glibA convenience synonym for   ::   .fgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.ggi-glibA convenience synonym for   ::   .hgi-glibWrap the callback into a  .igi-glibWrap a  into a .jgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.kgi-glibA convenience synonym for   ::   .lgi-glibWrap the callback into a  .mgi-glibWrap a  into a .ngi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.ogi-glibA convenience synonym for   ::   .pgi-glibWrap the callback into a  .qgi-glibWrap a  into a .rgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.sgi-glibA convenience synonym for   ::   .tgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.ugi-glibA convenience synonym for   ::   .vgi-glibWrap the callback into a  .wgi-glibWrap a  into a .xgi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.ygi-glibA convenience synonym for   ::   .zgi-glibWrap the callback into a  .{gi-glibWrap a  into a .|gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.}gi-glibA convenience synonym for   ::   .~gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibWrap the callback into a  .gi-glibWrap a  into a .gi-glibWGiven a pointer to a foreign C function, wrap it into a function callable from Haskell.gi-glibA convenience synonym for   ::   .gi-glibA convenience synonym for   ::   .gi-glib4A simple wrapper that ignores the closure arguments.gi-glibWrap the callback into a  .gi-glibWrap a  into a .zgi-glibpid&: the process id of the child process gi-glibstatusX: Status information about the child process, encoded in a platform-specific manner gi-glibuserData: user data passed to g_child_watch_add() gi-glibpid&: the process id of the child process gi-glibstatusX: Status information about the child process, encoded in a platform-specific manner gi-glibhandleId: the handle ID to clear gi-gliba : a value gi-glibb: a value to compare with gi-glibuserData : user data gi-glibReturns: negative value if a < b ; zero if a = b; positive value if a > b gi-gliba : a value gi-glibb: a value to compare with gi-glibReturns: negative value if a < b ; zero if a = b; positive value if a > b gi-gliba : a value gi-glibb: a value to compare with gi-glibReturns: negative value if a < b ; zero if a = b; positive value if a > b gi-glibsrc/: A pointer to the data which should be copied gi-glibdata: Additional data gi-glibReturns: A pointer to the copy gi-glibkeyId: the GQuark% id to identifying the data element. gi-glibdata: the data element. gi-glibuserData: user data passed to =. gi-glibkeyId: the GQuark% id to identifying the data element. gi-glibdata: the data element. gi-glibdata: the data element. gi-glibdata: the data to duplicate gi-glibuserData.: user data that was specified in g_datalist_id_dup_data() gi-glibReturns: a duplicate of data gi-glibdata: the data to duplicate gi-glibReturns: a duplicate of data gi-gliba : a value gi-glibb: a value to compare with gi-glibReturns:   if a = b;   otherwise gi-glibdata: a data pointer gi-glibdata: the element's data gi-glibuserData: user data passed to g_list_foreach() or g_slist_foreach() gi-glibdata: the element's data gi-glibkey: a key gi-glibvalue%: the value corresponding to the key gi-glibuserData: user data passed to g_hash_table_foreach() gi-glibkey: a key gi-glibvalue%: the value corresponding to the key gi-glibkey: a key gi-glibvalue$: the value associated with the key gi-glibuserData: user data passed to = gi-glibReturns:  6 if the key/value pair should be removed from the  gi-glibkey: a key gi-glibvalue$: the value associated with the key gi-glibReturns:  6 if the key/value pair should be removed from the  gi-glibkey: a key gi-glibReturns:) the hash value corresponding to the key gi-glibdata: the data field of the N% is passed to the hook function here gi-glibReturns:   if the N should be destroyed gi-glibhook: a N gi-glib marshalData : user data gi-glibReturns:   if hook should be destroyed gi-glibnewHook: the N being inserted gi-glibsibling: the N to compare with newHook gi-glibReturns: a value <= 0 if newHook should be before sibling gi-glibhookList: a  gi-glibhook: the hook in hookList that gets finalized gi-glibhook: a N gi-glibdata: user data passed to g_hook_find_func() gi-glibReturns:   if the required N has been found gi-glibdata: the data field of the N% is passed to the hook function here gi-glibhook: a N gi-glib marshalData : user data gi-glibsource: the ` event source gi-glib condition): the condition which has been satisfied gi-glibdata: user data set in g_io_add_watch() or = gi-glibReturns: the function should return  0 if the event source should be removed gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o)  gi-glib (Can throw o)  gi-glib logDomain : the log domain of the message gi-gliblogLevelM: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-glibuserData: user data, set in g_log_set_handler()  gi-glib logDomain : the log domain of the message gi-gliblogLevelM: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-gliblogLevel: log level of the message gi-glibfields: fields forming the message gi-glibuserData: user data passed to = gi-glibReturns: / if the log entry was handled successfully;  otherwise gi-gliblogLevel: log level of the message gi-glibfields: fields forming the message gi-glibReturns: / if the log entry was handled successfully;  otherwise gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) gi-glib (Can throw o) -gi-glibnode: a . gi-glibdata: user data passed to g_node_children_foreach(). /gi-glibnode: a . gi-glibdata: user data passed to g_node_traverse(). gi-glibReturns:   to stop the traversal. 1gi-glib optionName: The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name. gi-glibvalue: The value to be parsed. gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glibReturns:  ( if the option was successfully parsed,  & if an error occurred, in which case error should be set with  g_set_error()  (Can throw o) 3gi-glibcontext : The active  gi-glibgroup*: The group to which the function belongs gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glib (Can throw o) 5gi-glibcontext : The active  gi-glibgroup*: The group to which the function belongs gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glibReturns:  ) if the function completed successfully,  & if an error occurred, in which case error should be set with  g_set_error()  (Can throw o) 7gi-glibufds: an array of  R elements gi-glibnfsd: the number of elements in ufds gi-glibtimeout_u: the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout. gi-glibReturns: the number of  RP elements which have events or errors reported, or -1 if an error occurred. 9gi-glibstring: the message to output ;gi-glib matchInfo: the ! generated by the match. Use  and  if you need the % or the matched string. gi-glibresult: a . containing the new string gi-glibuserData: user data passed to g_regex_replace_eval() gi-glibReturns:  & to continue the replacement process,   to stop it <gi-glib matchInfo: the ! generated by the match. Use  and  if you need the % or the matched string. gi-glibresult: a . containing the new string gi-glibReturns:  & to continue the replacement process,   to stop it >gi-glibscanner: a & gi-glibmessage: the message gi-gliberror:  & if the message signals an error,   if it signals a warning. @gi-gliba: a ) gi-glibb: a ) gi-glibdata : user data gi-glibReturns:6 zero if the iterators are equal, a negative value if a comes before b, and a positive value if b comes before a. Hgi-glibuserDatac: data passed to the function, set when the source was created with one of the above functions gi-glibReturns:  " if the source should be removed.  and 0 are more memorable names for the return value. Igi-glibReturns:  " if the source should be removed.  and 0 are more memorable names for the return value. Qgi-glibuserData%: user data to pass to the function. Tgi-glibuserData.: the data provided when registering the test Wgi-glibfixture: the test fixture gi-glibuserData.: the data provided when registering the test Xgi-glibfixture: the test fixture \gi-glib logDomain : the log domain of the message gi-gliblogLevelI: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-glibuserData: user data, set in g_test_log_set_fatal_handler() gi-glibReturns:   if the program should abort,   otherwise ]gi-glib logDomain : the log domain of the message gi-gliblogLevelI: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-glibReturns:   if the program should abort,   otherwise _gi-glibdata: data passed to the thread gi-glibReturns: the return value of the thread agi-glibstr: the untranslated string gi-glibdata=: user data specified when installing the function, e.g. in  gi-glibReturns:r a translation of the string for the current locale. The returned string is owned by GLib and must not be freed. cgi-glibkey : a key of a B node gi-glibvalue%: the value corresponding to the key gi-glibdata: user data passed to g_tree_traverse() gi-glibReturns:   to stop the traversal egi-glibfd": the fd that triggered the event gi-glib condition : the IO conditions reported on fd gi-glibuserData: user data passed to g_unix_fd_add() gi-glibReturns:  ! if the source should be removed fgi-glibfd": the fd that triggered the event gi-glib condition : the IO conditions reported on fd gi-glibReturns:  ! if the source should be removed gi-glibfd": the fd that triggered the event gi-glib condition : the IO conditions reported on fd gi-glibuserData: user data passed to g_unix_fd_add() gi-glibReturns:  ! if the source should be removed gi-glibkey : a key of a B node gi-glibvalue%: the value corresponding to the key gi-glibdata: user data passed to g_tree_traverse() gi-glibReturns:   to stop the traversal gi-glibstr: the untranslated string gi-glibdata=: user data specified when installing the function, e.g. in  gi-glibReturns:r a translation of the string for the current locale. The returned string is owned by GLib and must not be freed. gi-glibdata: data passed to the thread gi-glibReturns: the return value of the thread gi-glib logDomain : the log domain of the message gi-gliblogLevelI: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-glibuserData: user data, set in g_test_log_set_fatal_handler() gi-glibReturns:   if the program should abort,   otherwise gi-glibfixture: the test fixture gi-glibuserData.: the data provided when registering the test gi-glibuserData.: the data provided when registering the test gi-glibuserData%: user data to pass to the function. gi-glibuserDatac: data passed to the function, set when the source was created with one of the above functions gi-glibReturns:  " if the source should be removed.  and 0 are more memorable names for the return value. gi-gliba: a ) gi-glibb: a ) gi-glibdata : user data gi-glibReturns:6 zero if the iterators are equal, a negative value if a comes before b, and a positive value if b comes before a. gi-glibscanner: a & gi-glibmessage: the message gi-gliberror:  & if the message signals an error,   if it signals a warning. gi-glib matchInfo: the ! generated by the match. Use  and  if you need the % or the matched string. gi-glibresult: a . containing the new string gi-glibuserData: user data passed to g_regex_replace_eval() gi-glibReturns:  & to continue the replacement process,   to stop it gi-glibstring: the message to output gi-glibufds: an array of  R elements gi-glibnfsd: the number of elements in ufds gi-glibtimeout_u: the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout. gi-glibReturns: the number of  RP elements which have events or errors reported, or -1 if an error occurred. gi-glibcontext : The active  gi-glibgroup*: The group to which the function belongs gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glib (Can throw o) gi-glibcontext : The active  gi-glibgroup*: The group to which the function belongs gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glib (Can throw o) gi-glib optionName: The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name. gi-glibvalue: The value to be parsed. gi-glibdata: User data added to the 1 containing the option when it was created with  gi-glib (Can throw o) gi-glibnode: a . gi-glibdata: user data passed to g_node_traverse(). gi-glibReturns:   to stop the traversal.  gi-glibnode: a . gi-glibdata: user data passed to g_node_children_foreach(). <gi-glib (Can throw o) @gi-glib (Can throw o) Dgi-glib (Can throw o) Ngi-glib (Can throw o) Rgi-gliblogLevel: log level of the message gi-glibfields: fields forming the message gi-glibuserData: user data passed to = gi-glibReturns: / if the log entry was handled successfully;  otherwise Xgi-glib logDomain : the log domain of the message gi-gliblogLevelM: the log level of the message (including the fatal and recursion flags) gi-glibmessage: the message to process gi-glibuserData: user data, set in g_log_set_handler() ^gi-glib (Can throw o) `gi-glib (Can throw o) bgi-glib (Can throw o) dgi-glib (Can throw o) rgi-glib (Can throw o) tgi-glibsource: the ` event source gi-glib condition): the condition which has been satisfied gi-glibdata: user data set in g_io_add_watch() or = gi-glibReturns: the function should return  0 if the event source should be removed xgi-glibhook: a N gi-glib marshalData : user data |gi-glibdata: the data field of the N% is passed to the hook function here gi-glibhook: a N gi-glibdata: user data passed to g_hook_find_func() gi-glibReturns:   if the required N has been found gi-glibhookList: a  gi-glibhook: the hook in hookList that gets finalized gi-glibnewHook: the N being inserted gi-glibsibling: the N to compare with newHook gi-glibReturns: a value <= 0 if newHook should be before sibling gi-glibhook: a N gi-glib marshalData : user data gi-glibReturns:   if hook should be destroyed gi-glibdata: the data field of the N% is passed to the hook function here gi-glibReturns:   if the N should be destroyed gi-glibkey: a key gi-glibReturns:) the hash value corresponding to the key gi-glibkey: a key gi-glibvalue$: the value associated with the key gi-glibuserData: user data passed to = gi-glibReturns:  6 if the key/value pair should be removed from the  gi-glibkey: a key gi-glibvalue%: the value corresponding to the key gi-glibuserData: user data passed to g_hash_table_foreach() gi-glibdata: the element's data gi-glibuserData: user data passed to g_list_foreach() or g_slist_foreach() gi-glibdata: a data pointer gi-gliba : a value gi-glibb: a value to compare with gi-glibReturns:   if a = b;   otherwise gi-glibdata: the data to duplicate gi-glibuserData.: user data that was specified in g_datalist_id_dup_data() gi-glibReturns: a duplicate of data gi-glibdata: the data element. gi-glibkeyId: the GQuark% id to identifying the data element. gi-glibdata: the data element. gi-glibuserData: user data passed to =. gi-glibsrc/: A pointer to the data which should be copied gi-glibdata: Additional data gi-glibReturns: A pointer to the copy gi-gliba : a value gi-glibb: a value to compare with gi-glibReturns: negative value if a < b ; zero if a = b; positive value if a > b gi-gliba : a value gi-glibb: a value to compare with gi-glibuserData : user data gi-glibReturns: negative value if a < b ; zero if a = b; positive value if a > b gi-glibhandleId: the handle ID to clear gi-glibpid&: the process id of the child process gi-glibstatusX: Status information about the child process, encoded in a platform-specific manner gi-glibuserData: user data passed to g_child_watch_add()       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~jklmnopqrstuvwxyz{||~}}xz~y{tvuwrsnpoqjlkmfhgidebc `a  ^_  [X\YZ]URVSTWQNOPKHLIJMGDEFC@AB ?<=>"!8:9;$#4657&%0213(',.-/*)(*)+,+$&%'.- "!#0/21436587:9=<;     ?>A@CBEDGFJIHLKNMPOSRQVUTYXW[Z^]\`_badcgfeih,7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the prepare  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs #prepare gi-glibSet the value of the prepare  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs [ #prepare  value ] gi-glibSet the value of the prepare  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #prepare gi-glibGet the value of the check  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs #check gi-glibSet the value of the check  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs [ #check  value ] gi-glibSet the value of the check  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #check gi-glibGet the value of the finalize  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs #finalize gi-glibSet the value of the finalize  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceFuncs [ #finalize  value ] gi-glibSet the value of the finalize  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #finalize  +7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb; gi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the ref  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceCallbackFuncs #ref gi-glibSet the value of the ref  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceCallbackFuncs [ #ref  value ] gi-glibSet the value of the ref  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ref gi-glibGet the value of the unref  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceCallbackFuncs #unref gi-glibSet the value of the unref  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  sourceCallbackFuncs [ #unref  value ] gi-glibSet the value of the unref  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #unref  07Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type.gi-glib Construct a  struct initialized to zero.gi-glibA convenience alias for   ::   .gi-glibGet the value of the head  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue #head gi-glibSet the value of the head  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue [ #head  value ] gi-glibSet the value of the head  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #head gi-glibGet the value of the tail  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue #tail gi-glibSet the value of the tail  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue [ #tail  value ] gi-glibSet the value of the tail  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #tail gi-glibGet the value of the length  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue #length gi-glibSet the value of the length  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  queue [ #length  value ] gi-glibRemoves all the elements in queueU. If queue elements contain dynamically-allocated memory, they should be freed first. Since: 2.14gi-glib9Convenience method, which frees all the memory used by a , and calls the provided freeFunc on each item in the . Since: 2.60gi-glib#Frees the memory allocated for the . Only call this function if queue was created with  g_queue_new()U. If queue elements contain dynamically-allocated memory, they should be freed first.NIf queue elements contain dynamically-allocated memory, you should either use   or free them manually first. gi-glib9Convenience method, which frees all the memory used by a C, and calls the specified destroy function on every element's data.freeFuncI should not modify the queue (eg, by removing the freed element from it). Since: 2.32 gi-glibReturns the number of items in queue. Since: 2.4 gi-glib-Returns the position of the first element in queue which contains data. Since: 2.4 gi-glibA statically-allocated h must be initialized with this function before it can be used. Alternatively you can initialize it with  G_QUEUE_INIT8. It is not necessary to initialize queues created with  g_queue_new(). Since: 2.14 gi-glibReturns   if the queue is empty. gi-glib'Returns the first element of the queue. gi-glib Returns the n'th element of queue. Since: 2.4 gi-glib&Returns the last element of the queue. gi-glib<Removes the first element of the queue and returns its data. gi-glib Removes the n'th element of queue and returns its data. Since: 2.4 gi-glib;Removes the last element of the queue and returns its data. gi-glib,Adds a new element at the head of the queue. gi-glibInserts a new element into queue at the given position. Since: 2.4 gi-glib,Adds a new element at the tail of the queue. gi-glibRemoves the first element in queue that contains data. Since: 2.4 gi-glib&Remove all elements whose data equals data from queue. Since: 2.4 gi-glib#Reverses the order of the items in queue. Since: 2.4gi-glibqueue: a  gi-glibqueue: a pointer to a  gi-glibfreeFunc5: the function to be called to free memory allocated gi-glibqueue: a  gi-glibqueue: a pointer to a  gi-glibfreeFunc8: the function to be called to free each element's data gi-glibqueue: a  gi-glibReturns: the number of items in queue gi-glibqueue: a  gi-glibdata: the data to find gi-glibReturns:& the position of the first element in queue which contains data, or -1 if no element in queue contains data gi-glibqueue: an uninitialized  gi-glibqueue: a . gi-glibReturns:   if the queue is empty gi-glibqueue: a  gi-glibReturns:0 the data of the first element in the queue, or   if the queue is empty gi-glibqueue: a  gi-glibn: the position of the element gi-glibReturns: the data for the n'th element of queue , or   if n is off the end of queue gi-glibqueue: a  gi-glibReturns:/ the data of the last element in the queue, or   if the queue is empty gi-glibqueue: a  gi-glibReturns:0 the data of the first element in the queue, or   if the queue is empty gi-glibqueue: a  gi-glibn: the position of the element gi-glibReturns: the element's data, or   if n is off the end of queue gi-glibqueue: a  gi-glibReturns:/ the data of the last element in the queue, or   if the queue is empty gi-glibqueue: a . gi-glibdata : the data for the new element. gi-glibqueue: a  gi-glibdata: the data for the new element gi-glibn-: the position to insert the new element. If n> is negative or larger than the number of elements in the queue4, the element is added to the end of the queue. gi-glibqueue: a  gi-glibdata: the data for the new element gi-glibqueue: a  gi-glibdata: the data to remove gi-glibReturns:   if data was found and removed from queue gi-glibqueue: a  gi-glibdata: the data to remove gi-glibReturns:% the number of elements removed from queue gi-glibqueue: a                         7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb*U gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::   . gi-glibCreates a new . Since: 2.6 gi-glibAdds the options specified in entries to group. Since: 2.6 gi-glibFrees a @. Note that you must not free groups which have been added to a . Since: 2.6 gi-glib"Increments the reference count of group by one. Since: 2.44 gi-glibGSets the function which is used to translate user-visible strings, for --help, output. Different groups can use different GTranslateFuncs. If func is  , strings are not translated.If you are using  gettext()3, you only need to set the translation domain, see  . Since: 2.6 gi-glibA convenience function to use  gettext()& for translating user-visible strings. Since: 2.6 gi-glib"Decrements the reference count of group0 by one. If the reference count drops to 0, the group0 will be freed. and all memory allocated by the group is released. Since: 2.44 gi-glibnamec: the name for the option group, this is used to provide help for the options in this group with --help-name gi-glib description0: a description for this group to be shown in --help`. This string is translated using the translation domain or translation function of the group gi-glibhelpDescription: a description for the --help-namei option. This string is translated using the translation domain or translation function of the group gi-glibuserDatag: user data that will be passed to the pre- and post-parse hooks, the error hook and to callbacks of O options, or   gi-glibdestroy): a function that will be called to free userData, or   gi-glibReturns:9 a newly created option group. It should be added to a  or freed with  . gi-glibgroup: a  gi-glibentries: a  -terminated array of  GOptionEntrys gi-glibgroup: a  gi-glibgroup: a  gi-glibReturns: a  gi-glibgroup: a  gi-glibfunc: the /, or   gi-glibgroup: a  gi-glibdomain: the domain to use gi-glibgroup: a                   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::   . gi-glibAdds a  to the context, so that parsing with contextT will recognize the options in the group. Note that this will take ownership of the group and thus the group should not be freed. Since: 2.6 gi-glibPA convenience function which creates a main group if it doesn't exist, adds the entries' to it and sets the translation domain. Since: 2.6 gi-glib=Frees context and all the groups which have been added to it.CPlease note that parsed arguments need to be freed separately (see ). Since: 2.6 gi-glibReturns the description. See  ). Since: 2.12 !gi-glib`Returns a formatted, translated help text for the given context. To obtain the text produced by --help, call /g_option_context_get_help (context, TRUE, NULL)!. To obtain the text produced by  --help-all, call 0g_option_context_get_help (context, FALSE, NULL)4. To obtain the help text for an option group, call 1g_option_context_get_help (context, FALSE, group). Since: 2.14 "gi-glibReturns whether automatic --help generation is turned on for context. See  *. Since: 2.6 #gi-glib8Returns whether unknown options are ignored or not. See  +. Since: 2.6 $gi-glib'Returns a pointer to the main group of context. Since: 2.6 %gi-glib-Returns whether strict POSIX code is enabled.See  - for more information. Since: 2.44 &gi-glibReturns the summary. See  .. Since: 2.12 'gi-glibPParses the command line arguments, recognizing options which have been added to context1. A side-effect of calling this function is that = will be called.RIf the parsing is successful, any parsed arguments are removed from the array and argc and argv9 are updated accordingly. A '--' option is stripped from argv} unless there are unparsed options before and after it, or some of the options after it start with '-'. In case of an error, argc and argv are left unmodified. If automatic --help support is enabled (see  * ), and the argvn array contains one of the recognized help options, this function will produce help output to stdout and call exit (0).Note that function depends on the [current locale][setlocale] for automatic character set conversion of string and filename arguments. Since: 2.6 (gi-glib"Parses the command line arguments.This function is similar to  ' except that it respects the normal memory rules when dealing with a strv instead of assuming that the passed-in array is the argv of the main function.TIn particular, strings that are removed from the arguments list will be freed using =.MOn Windows, the strings are expected to be in UTF-8. This is in contrast to  'R which expects them to be in the system codepage, which is how they are passed as argv to main(). See g_win32_get_command_line() for a solution.1This function is useful if you are trying to use  with  GApplication. Since: 2.40 )gi-glib!Adds a string to be displayed in --helpT output after the list of options. This text often includes a bug reporting address.)Note that the summary is translated (see  /). Since: 2.12 *gi-glib,Enables or disables automatic generation of --help output. By default,  ' recognizes --help, -h, -?,  --help-all and --help-groupname' and creates suitable output to stdout. Since: 2.6 +gi-glib\Sets whether to ignore unknown options or not. If an argument is ignored, it is left in the argv" array after parsing. By default,  '! treats unknown options as error.This setting does not affect non-option arguments (i.e. arguments which don't start with a dash). But note that GOption cannot reliably determine whether a non-option belongs to a preceding unknown option. Since: 2.6 ,gi-glibSets a  as main group of the context&. This has the same effect as calling  d, the only difference is that the options in the main group are treated differently when generating --help output. Since: 2.6 -gi-glibSets strict POSIX mode."By default, this mode is disabled.In strict POSIX mode, the first non-argument parameter encountered (eg: filename) terminates argument processing. Remaining arguments are treated as non-options and are not attempted to be parsed.If strict POSIX mode is disabled then parsing is done in the GNU way where option arguments can be freely mixed with non-options.As an example, consider "ls foo -l". With GNU style parsing, this will list "foo" in long mode. In strict POSIX style, this will list the files named "foo" and "-l".It may be useful to force strict POSIX mode when creating "verb style" command line tools. For example, the "gsettings" command line tool supports the global option "--schemadir" as well as many subcommands ("get", "set", etc.) which each have their own set of arguments. Using strict POSIX mode will allow parsing the global options up to the verb name while leaving the remaining options to be parsed by the relevant subcommand (which can be determined by examining the verb name, which should be present in argv[1] after parsing). Since: 2.44 .gi-glib!Adds a string to be displayed in --help] output before the list of options. This is typically a summary of the program functionality.)Note that the summary is translated (see  / and  0). Since: 2.12 /gi-glibTSets the function which is used to translate the contexts user-visible strings, for --help output. If func is  , strings are not translated.]Note that option groups have their own translation functions, this function only affects the parameterString (see g_option_context_new()), the summary (see  .) and the description (see  )).If you are using  gettext()3, you only need to set the translation domain, see  0. Since: 2.12 0gi-glibA convenience function to use  gettext()& for translating user-visible strings. Since: 2.12 gi-glibcontext: a  gi-glibgroup: the group to add gi-glibcontext: a  gi-glibentries: a  -terminated array of  GOptionEntrys gi-glibtranslationDomain5: a translation domain to use for translating the --help output for the options in entries with  gettext(), or   gi-glibcontext: a  gi-glibcontext: a  gi-glibReturns: the description !gi-glibcontext: a  gi-glibmainHelp: if  , only include the main group gi-glibgroup: the  to create help for, or   gi-glibReturns:3 A newly allocated string containing the help text "gi-glibcontext: a  gi-glibReturns:  , if automatic help generation is turned on. #gi-glibcontext: a  gi-glibReturns:  ! if unknown options are ignored. $gi-glibcontext: a  gi-glibReturns: the main group of context, or   if context8 doesn't have a main group. Note that group belongs to context& and should not be modified or freed. %gi-glibcontext: a  gi-glibReturns:   if strict POSIX is enabled,   otherwise. &gi-glibcontext: a  gi-glibReturns: the summary 'gi-glibcontext: a  gi-glibargv3: a pointer to the array of command line arguments gi-glib (Can throw o) (gi-glibcontext: a  gi-glib argumentsQ: a pointer to the command line arguments (which must be in UTF-8 on Windows) gi-glib (Can throw o) )gi-glibcontext: a  gi-glib description: a string to be shown in --help( output after the list of options, or   *gi-glibcontext: a  gi-glib helpEnabled:   to enable --help,   to disable it +gi-glibcontext: a  gi-glib ignoreUnknown:   to ignore unknown options,  5 to produce an error when unknown options are met ,gi-glibcontext: a  gi-glibgroup!: the group to set as main group -gi-glibcontext: a  gi-glib strictPosix: the new value .gi-glibcontext: a  gi-glibsummary: a string to be shown in --help( output before the list of options, or   /gi-glibcontext: a  gi-glibfunc: the /, or   0gi-glibcontext: a  gi-glibdomain: the domain to use      ! " # $ % & ' ( ) * + , - . / 0     ! " # $ % & ' ( ) * + , - . / 07Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type. 2gi-glib Construct a  struct initialized to zero. 3gi-glibA convenience alias for   ::   . 4gi-glibGet the value of the malloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #malloc 5gi-glibSet the value of the malloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #malloc  value ] 6gi-glibSet the value of the malloc  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #malloc 7gi-glibGet the value of the realloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #realloc 8gi-glibSet the value of the realloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #realloc  value ] 9gi-glibSet the value of the realloc  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #realloc :gi-glibGet the value of the free  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #free ;gi-glibSet the value of the free  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #free  value ] <gi-glibSet the value of the free  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #free =gi-glibGet the value of the calloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #calloc >gi-glibSet the value of the calloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #calloc  value ] ?gi-glibSet the value of the calloc  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #calloc @gi-glibGet the value of the  try_malloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #tryMalloc Agi-glibSet the value of the  try_malloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #tryMalloc  value ] Bgi-glibSet the value of the  try_malloc  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #tryMalloc Cgi-glibGet the value of the  try_realloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable #tryRealloc Dgi-glibSet the value of the  try_realloc  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  memVTable [ #tryRealloc  value ] Egi-glibSet the value of the  try_realloc  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #tryRealloc  2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E 2 3 ? = > < : ; 6 4 5 9 7 8 B @ A E C D7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type. Hgi-glib Construct a  struct initialized to zero. Igi-glibA convenience alias for   ::   . Jgi-glibGet the value of the  start_element  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser #startElement Kgi-glibSet the value of the  start_element  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser [ #startElement  value ] Lgi-glibSet the value of the  start_element  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #startElement Mgi-glibGet the value of the  end_element  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser #endElement Ngi-glibSet the value of the  end_element  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser [ #endElement  value ] Ogi-glibSet the value of the  end_element  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #endElement Pgi-glibGet the value of the text  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser #text Qgi-glibSet the value of the text  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser [ #text  value ] Rgi-glibSet the value of the text  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #text Sgi-glibGet the value of the  passthrough  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser #passthrough Tgi-glibSet the value of the  passthrough  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser [ #passthrough  value ] Ugi-glibSet the value of the  passthrough  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #passthrough Vgi-glibGet the value of the error  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser #error Wgi-glibSet the value of the error  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  markupParser [ #error  value ] Xgi-glibSet the value of the error  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #error  H I J K L M N O P Q R S T U V W X H I O M N X V W U S T L J K R P Q7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb} gi-glibMemory-managed wrapper type. [gi-glibA convenience alias for   ::   . \gi-glibCreates a new parse context. A parse context is used to parse marked-up documents. You can feed any number of documents into a context, as long as no errors occur; once an error occurs, the parse context can't continue to parse text (you have to free it and create a new parse context). ]gi-glibSignals to the 8 that all data has been fed into the parse context with  a.fThis function reports an error if the document isn't complete, for example if elements are still open. ^gi-glibFrees a .5This function can't be called from inside one of the j* functions or while a subparser is pushed. _gi-glib1Retrieves the name of the currently open element.If called from the start_element or end_element handlers this will give the element_name as passed to those functions. For the parent elements, see *g_markup_parse_context_get_element_stack(). Since: 2.2 `gi-glib&Returns the user_data associated with context.7This will either be the user_data that was provided to  \ or to the most recent call of  c. Since: 2.18 agi-glibFeed some data to the .The data need not be valid UTF-8; an error will be signaled if it's invalid. The data need not be an entire document; you can feed a document into the parser incrementally, via multiple calls to this function. Typically, as you receive data from a network connection or file, you feed each received chunk of data into this function, aborting the process if an error occurs. Once an error is reported, no further data may be fed to the ; all errors are fatal. bgi-glib<Completes the process of a temporary sub-parser redirection.NThis function exists to collect the user_data allocated by a matching call to  cg. It must be called in the end_element handler corresponding to the start_element handler during which  cL was called. You must not call this function from the error callback -- the userData3 is provided directly to the callback in that case.This function is not intended to be directly called by users interested in invoking subparsers. Instead, it is intended to be used by the subparsers themselves to implement a higher-level interface. Since: 2.18 cgi-glib2Temporarily redirects markup data to a sub-parser.EThis function may only be called from the start_element handler of a j2. It must be matched with a corresponding call to  ba in the matching end_element handler (except in the case that the parser aborts due to an error).`All tags, text and other data between the matching tags is redirected to the subparser given by parser. userData+ is used as the user_data for that parser. userData is also passed to the error callback in the event that an error occurs. This includes errors that occur in subparsers of the subparser.The end tag matching the start tag for which this call was made is handled by the previous parser (which is given its own user_data) which is why  b/ is provided to allow "one last access" to the userData6 provided to this function. In the case of error, the userDataM provided here is passed directly to the error callback of the subparser and  b* should not be called. In either case, if userDataF was allocated then it ought to be freed from both of these locations.This function is not intended to be directly called by users interested in invoking subparsers. Instead, it is intended to be used by the subparsers themselves to implement a higher-level interface.nAs an example, see the following implementation of a simple parser that counts the number of tags encountered.C code " typedef struct { gint tag_count; } CounterData; static void counter_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { CounterData *data = user_data; data->tag_count++; } static void counter_error (GMarkupParseContext *context, GError *error, gpointer user_data) { CounterData *data = user_data; g_slice_free (CounterData, data); } static GMarkupParser counter_subparser = { counter_start_element, NULL, NULL, NULL, counter_error };dIn order to allow this parser to be easily used as a subparser, the following interface is provided:C code  void start_counting (GMarkupParseContext *context) { CounterData *data = g_slice_new (CounterData); data->tag_count = 0; g_markup_parse_context_push (context, &counter_subparser, data); } gint end_counting (GMarkupParseContext *context) { CounterData *data = g_markup_parse_context_pop (context); int result; result = data->tag_count; g_slice_free (CounterData, data); return result; },The subparser would then be used as follows:C code r static void start_element (context, element_name, ...) { if (strcmp (element_name, "count-these") == 0) start_counting (context); // else, handle other tags... } static void end_element (context, element_name, ...) { if (strcmp (element_name, "count-these") == 0) g_print ("Counted %d tags\n", end_counting (context)); // else, handle other tags... } Since: 2.18 dgi-glib!Increases the reference count of context. Since: 2.36 egi-glib!Decreases the reference count of context4. When its reference count drops to 0, it is freed. Since: 2.36 \gi-glibparser: a j gi-glibflags: one or more  gi-glibuserData: user data to pass to j functions gi-glibuserDataDnotifyH: user data destroy notifier called when the parse context is freed gi-glibReturns: a new  ]gi-glibcontext: a  gi-glib (Can throw o) ^gi-glibcontext: a  _gi-glibcontext: a  gi-glibReturns:, the name of the currently open element, or   `gi-glibcontext: a  gi-glibReturns:h the provided user_data. The returned data belongs to the markup context and will be freed when  ^ is called. agi-glibcontext: a  gi-glibtext: chunk of text to parse gi-glibtextLen : length of text in bytes gi-glib (Can throw o) bgi-glibcontext: a  gi-glibReturns: the user data passed to  c cgi-glibcontext: a  gi-glibparser: a j gi-glibuserData: user data to pass to j functions dgi-glibcontext: a  gi-glibReturns: the same context egi-glibcontext: a   [ \ ] ^ _ ` a b c d e  [ ] ^ _ ` \ a b c d e17Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbd ggi-glibMemory-managed wrapper type. igi-glib Construct a  g struct initialized to zero. jgi-glibA convenience alias for   ::    g. kgi-glibGet the value of the io_read  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioRead lgi-glibSet the value of the io_read  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioRead  value ] mgi-glibSet the value of the io_read  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioRead ngi-glibGet the value of the io_write  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioWrite ogi-glibSet the value of the io_write  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioWrite  value ] pgi-glibSet the value of the io_write  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioWrite qgi-glibGet the value of the io_seek  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioSeek rgi-glibSet the value of the io_seek  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioSeek  value ] sgi-glibSet the value of the io_seek  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioSeek tgi-glibGet the value of the io_close  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioClose ugi-glibSet the value of the io_close  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioClose  value ] vgi-glibSet the value of the io_close  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioClose wgi-glibGet the value of the io_create_watch  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioCreateWatch xgi-glibSet the value of the io_create_watch  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioCreateWatch  value ] ygi-glibSet the value of the io_create_watch  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioCreateWatch zgi-glibGet the value of the io_free  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioFree {gi-glibSet the value of the io_free  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioFree  value ] |gi-glibSet the value of the io_free  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioFree }gi-glibGet the value of the  io_set_flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioSetFlags ~gi-glibSet the value of the  io_set_flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioSetFlags  value ] gi-glibSet the value of the  io_set_flags  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioSetFlags gi-glibGet the value of the  io_get_flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs #ioGetFlags gi-glibSet the value of the  io_get_flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  iOFuncs [ #ioGetFlags  value ] gi-glibSet the value of the  io_get_flags  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #ioGetFlags  g h i j k l m n o p q r s t u v w x y z { | } ~   g h i j v t u y w x | z { m k l s q r  } ~ p n o7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbgi-glibMemory-managed wrapper type. gi-glib Construct a  struct initialized to zero. gi-glibA convenience alias for   ::   . gi-glibGet the value of the seq_id  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #seqId gi-glibSet the value of the seq_id  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #seqId  value ] gi-glibGet the value of the  hook_size  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #hookSize gi-glibSet the value of the  hook_size  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #hookSize  value ] gi-glibGet the value of the is_setup  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #isSetup gi-glibSet the value of the is_setup  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #isSetup  value ] gi-glibGet the value of the hooks  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #hooks gi-glibSet the value of the hooks  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #hooks  value ] gi-glibSet the value of the hooks  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #hooks gi-glibGet the value of the dummy3  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #dummy3 gi-glibSet the value of the dummy3  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #dummy3  value ] gi-glibSet the value of the dummy3  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #dummy3 gi-glibGet the value of the  finalize_hook  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList #finalizeHook gi-glibSet the value of the  finalize_hook  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hookList [ #finalizeHook  value ] gi-glibSet the value of the  finalize_hook  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #finalizeHook gi-glibRemoves all the N elements from a . gi-glibInitializes a !. This must be called before the  is used. gi-glibCalls all of the N functions in a . gi-glibCalls all of the N functions in a . Any function which returns   is removed from the . gi-glibhookList: a  gi-glibhookList: a  gi-glibhookSize": the size of each element in the , typically sizeof (GHook). gi-glibhookList: a  gi-glib mayRecurse:  ^ if functions which are already running (e.g. in another thread) can be called. If set to  , these are skipped gi-glibhookList: a  gi-glib mayRecurse:  ^ if functions which are already running (e.g. in another thread) can be called. If set to  , these are skipped   7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbZgi-glibMemory-managed wrapper type. gi-glib Construct a  struct initialized to zero. gi-glibA convenience alias for   ::   . gi-glibGet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #data gi-glibSet the value of the data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #data  value ] gi-glibSet the value of the data  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #data gi-glibGet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #next gi-glibSet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #next  value ] gi-glibSet the value of the next  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #next gi-glibGet the value of the prev  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #prev gi-glibSet the value of the prev  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #prev  value ] gi-glibSet the value of the prev  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #prev gi-glibGet the value of the  ref_count  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #refCount gi-glibSet the value of the  ref_count  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #refCount  value ] gi-glibGet the value of the hook_id  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #hookId gi-glibSet the value of the hook_id  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #hookId  value ] gi-glibGet the value of the flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #flags gi-glibSet the value of the flags  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #flags  value ] gi-glibGet the value of the func  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #func gi-glibSet the value of the func  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #func  value ] gi-glibSet the value of the func  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #func gi-glibGet the value of the destroy  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook #destroy gi-glibSet the value of the destroy  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  hook [ #destroy  value ] gi-glibSet the value of the destroy  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #destroy gi-glibCompares the ids of two Q elements, returning a negative value if the second id is greater than the first. gi-glib Destroys a , given its ID. gi-glib Removes one  from a ", marking it inactive and calling = on it. gi-glib Calls the   finalizeHook? function if it exists, and frees the memory allocated for the . gi-glib Inserts a  into a , before a given . gi-glib Prepends a  on the start of a . gi-glib$Decrements the reference count of a ). If the reference count falls to 0, the  is removed from the  and = is called to free it. gi-glibnewHook: a  gi-glibsibling: a  to compare with newHook gi-glibReturns: a value <= 0 if the id of sibling is >= the id of newHook gi-glibhookList: a  gi-glibhookId : a hook ID gi-glibReturns:   if the  was found in the  and destroyed gi-glibhookList: a  gi-glibhook: the  to remove gi-glibhookList: a  gi-glibhook: the  to free gi-glibhookList: a  gi-glibsibling: the  to insert the new  before gi-glibhook: the  to insert gi-glibhookList: a  gi-glibhook: the  to add to the start of hookList gi-glibhookList: a  gi-glibhook: the  to unref   .7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb%gi-glibMemory-managed wrapper type. gi-glib Construct a  struct initialized to zero. gi-glibA convenience alias for   ::   . gi-glibGet the value of the str  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string #str gi-glibSet the value of the str  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string [ #str  value ] gi-glibSet the value of the str  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #str gi-glibGet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string #len gi-glibSet the value of the len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string [ #len  value ] gi-glibGet the value of the  allocated_len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string #allocatedLen gi-glibSet the value of the  allocated_len  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  string [ #allocatedLen  value ] gi-glib Adds a string onto the end of a , expanding it if necessary. gi-glibAdds a byte onto the end of a , expanding it if necessary. gi-glibAppends len bytes of val to string.If len is positive, vall may contain embedded nuls and need not be nul-terminated. It is the caller's responsibility to ensure that val has at least len addressable bytes.If len is negative, val must be nul-terminated and len? is considered to request the entire string length. This makes   equivalent to  . gi-glibFConverts a Unicode character into UTF-8, and appends it to the string. gi-glibAppends  unescaped to stringT, escaped any characters that are reserved in URIs using URI-style escape sequences. Since: 2.16 gi-glib@Converts all uppercase ASCII letters to lowercase ASCII letters. gi-glib@Converts all lowercase ASCII letters to uppercase ASCII letters. gi-glib&Copies the bytes from a string into a C, destroying any previous contents. It is rather like the standard strcpy()] function, except that you do not have to worry about having enough space to copy the string. gi-glib Converts a  to lowercase. gi-glib-Compares two strings for equality, returning  ! if they are equal. For use with . gi-glibRemoves len bytes from a , starting at position pos. The rest of the ! is shifted down to fill the gap. gi-glib#Frees the memory allocated for the . If  freeSegment is  , it also frees the character data. If it's  K, the caller gains ownership of the buffer and must free it after use with =. gi-glib'Transfers ownership of the contents of string to a newly allocated . The E structure itself is deallocated, and it is therefore invalid to use string after invoking this function.Note that while h ensures that its buffer always has a trailing nul character (not reflected in its "len"), the returned W does not include this extra nul; i.e. it has length exactly equal to the "len" member. Since: 2.34 gi-glibCreates a hash code for str; for use with . gi-glib"Inserts a copy of a string into a , expanding it if necessary. gi-glibInserts a byte into a , expanding it if necessary. gi-glibInserts len bytes of val into string at pos.If len is positive, vall may contain embedded nuls and need not be nul-terminated. It is the caller's responsibility to ensure that val has at least len addressable bytes.If len is negative, val must be nul-terminated and len3 is considered to request the entire string length.If pos4 is -1, bytes are inserted at the end of the string. gi-glib]Converts a Unicode character into UTF-8, and insert it into the string at the given position. gi-glib9Overwrites part of a string, lengthening it if necessary. Since: 2.14 gi-glibeOverwrites part of a string, lengthening it if necessary. This function will work with embedded nuls. Since: 2.14 gi-glib#Adds a string on to the start of a , expanding it if necessary. gi-glib Adds a byte onto the start of a , expanding it if necessary. gi-glib Prepends len bytes of val to string.If len is positive, vall may contain embedded nuls and need not be nul-terminated. It is the caller's responsibility to ensure that val has at least len addressable bytes.If len is negative, val must be nul-terminated and len? is considered to request the entire string length. This makes   equivalent to  . gi-glibGConverts a Unicode character into UTF-8, and prepends it to the string. gi-glibSets the length of a . If the length is less than the current length, the string will be truncated. If the length is greater than the current length, the contents of the newly added area are undefined. (However, as always, string->str[string->len] will be a nul byte.) gi-glib3Cuts off the end of the GString, leaving the first len bytes. gi-glib Converts a  to uppercase. gi-glibstring: a  gi-glibval': the string to append onto the end of string gi-glibReturns: string gi-glibstring: a  gi-glibc%: the byte to append onto the end of string gi-glibReturns: string gi-glibstring: a  gi-glibval: bytes to append gi-gliblen: number of bytes of val to use, or -1 for all of val gi-glibReturns: string gi-glibstring: a  gi-glibwc: a Unicode character gi-glibReturns: string gi-glibstring: a  gi-glib unescaped : a string gi-glibreservedCharsAllowed=: a string of reserved characters allowed to be used, or   gi-glib allowUtf8: set  3 if the escaped string may include UTF8 characters gi-glibReturns: string gi-glibstring : a GString gi-glibReturns: passed-in stringw pointer, with all the uppercase characters converted to lowercase in place, with semantics that exactly match =. gi-glibstring : a GString gi-glibReturns: passed-in stringw pointer, with all the lowercase characters converted to uppercase in place, with semantics that exactly match =. gi-glibstring: the destination /. Its current contents are destroyed. gi-glibrval: the string to copy into string gi-glibReturns: string gi-glibstring: a  gi-glibReturns: the  gi-glibv: a  gi-glibv2 : another  gi-glibReturns:  C if the strings are the same length and contain the same bytes gi-glibstring: a  gi-glibpos(: the position of the content to remove gi-gliblenK: the number of bytes to remove, or -1 to remove all following bytes gi-glibReturns: string gi-glibstring: a  gi-glib freeSegment: if  -, the actual character data is freed as well gi-glibReturns: the character data of string (i.e.   if  freeSegment is  ) gi-glibstring: a  gi-glibReturns: A newly allocated  containing contents of string; string itself is freed gi-glibstr: a string to hash gi-glibReturns: hash code for str gi-glibstring: a  gi-glibpos0: the position to insert the copy of the string gi-glibval: the string to insert gi-glibReturns: string gi-glibstring: a  gi-glibpos": the position to insert the byte gi-glibc: the byte to insert gi-glibReturns: string gi-glibstring: a  gi-glibpos: position in string; where insertion should happen, or -1 for at the end gi-glibval: bytes to insert gi-gliblen: number of bytes of val to insert, or -1 for all of val gi-glibReturns: string gi-glibstring: a  gi-glibposZ: the position at which to insert character, or -1 to append at the end of the string gi-glibwc: a Unicode character gi-glibReturns: string gi-glibstring: a  gi-glibpos-: the position at which to start overwriting gi-glibval%: the string that will overwrite the string starting at pos gi-glibReturns: string gi-glibstring: a  gi-glibpos-: the position at which to start overwriting gi-glibval%: the string that will overwrite the string starting at pos gi-gliblen$: the number of bytes to write from val gi-glibReturns: string gi-glibstring: a  gi-glibval(: the string to prepend on the start of string gi-glibReturns: string gi-glibstring: a  gi-glibc*: the byte to prepend on the start of the  gi-glibReturns: string gi-glibstring: a  gi-glibval: bytes to prepend gi-gliblen: number of bytes in val to prepend, or -1 for all of val gi-glibReturns: string gi-glibstring: a  gi-glibwc: a Unicode character gi-glibReturns: string gi-glibstring: a  gi-gliblen: the new length gi-glibReturns: string gi-glibstring: a  gi-gliblen: the new size of string gi-glibReturns: string gi-glibstring: a  gi-glibReturns: string & & 27Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb6 gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib'Frees all strings contained within the  . After calling  L it is not safe to access any of the strings which were contained within it. Since: 2.14 gi-glib"Frees all memory allocated by the  . After calling  L it is not safe to access any of the strings which were contained within it. gi-glibAdds a copy of string to the  <. It returns a pointer to the new copy of the string in the  . The characters in the string can be changed, if necessary, though you should not change anything after the end of the string.Unlike  G, this function does not check for duplicates. Also strings added with   will not be searched by   when looking for duplicates. gi-glibAdds a copy of string to the  7, unless the same string has already been added to the   with  . This function is useful if you need to copy a large number of strings but do not want to waste space storing duplicates. But you must remember that there may be several pointers to the same string, and so any changes made to the strings should be done very carefully. Note that  2 will not return a pointer to a string added with  , even if they do match. gi-glibAdds a copy of the first len bytes of string to the  . The copy is nul-terminated.aSince this function does not stop at nul bytes, it is the caller's responsibility to ensure that string has at least len addressable bytes.The characters in the returned string can be changed, if necessary, though you should not change anything after the end of the string. Since: 2.4 gi-glibchunk: a   gi-glibchunk: a   gi-glibchunk: a   gi-glibstring: the string to add gi-glibReturns: a pointer to the copy of string within the   gi-glibchunk: a   gi-glibstring: the string to add gi-glibReturns:* a pointer to the new or existing copy of string within the   gi-glibchunk: a   gi-glibstring: bytes to insert gi-gliblen: number of bytes of string8 to insert, or -1 to insert a nul-terminated string gi-glibReturns: a pointer to the copy of string within the     37Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb6 gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    .  47Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbC) gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    . gi-glibGet the value of the test_initialized  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testInitialized gi-glibSet the value of the test_initialized  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testInitialized  value ] gi-glibGet the value of the  test_quick  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testQuick gi-glibSet the value of the  test_quick  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testQuick  value ] gi-glibGet the value of the  test_perf  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testPerf gi-glibSet the value of the  test_perf  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testPerf  value ] gi-glibGet the value of the  test_verbose  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testVerbose gi-glibSet the value of the  test_verbose  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testVerbose  value ] gi-glibGet the value of the  test_quiet  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testQuiet gi-glibSet the value of the  test_quiet  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testQuiet  value ] gi-glibGet the value of the test_undefined  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig #testUndefined gi-glibSet the value of the test_undefined  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testConfig [ #testUndefined  value ]   57Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbK, gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    . gi-glibTInternal function for gtester to free test log messages, no ABI guarantees provided. gi-glibVInternal function for gtester to decode test log messages, no ABI guarantees provided.            67Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbk gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    . gi-glibGet the value of the log_type  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg #logType gi-glibSet the value of the log_type  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg [ #logType  value ] gi-glibGet the value of the  n_strings  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg #nStrings gi-glibSet the value of the  n_strings  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg [ #nStrings  value ] gi-glibGet the value of the strings  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg #strings gi-glibSet the value of the strings  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg [ #strings  value ] gi-glibSet the value of the strings  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #strings gi-glibGet the value of the n_nums  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg #nNums gi-glibSet the value of the n_nums  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  testLogMsg [ #nNums  value ] gi-glibTInternal function for gtester to free test log messages, no ABI guarantees provided.                  77Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbs gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glibAdds testCase to suite. Since: 2.16 gi-glibAdds  nestedsuite to suite. Since: 2.16 gi-glibsuite: a   gi-glibtestCase: a 3 gi-glibsuite: a   gi-glib nestedsuite : another             87Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb gi-glibMemory-managed wrapper type. !gi-glibA convenience alias for   ::    . "gi-glib Waits until thread finishes, i.e. the function func, as given to g_thread_new() , returns or = is called. If thread has already terminated, then  " returns immediately.4Any thread can wait for any other thread by calling  "", not just its 'creator'. Calling  "$ from multiple threads for the same thread leads to undefined behaviour.The value returned by func or given to = is returned by this function. ") consumes the reference to the passed-in thread. This will usually cause the  2 struct and associated resources to be freed. Use  #O to obtain an extra reference if you want to keep the GThread alive beyond the  " call. #gi-glib Increase the reference count on thread. Since: 2.32 $gi-glib Decrease the reference count on thread4, possibly freeing all resources associated with it./Note that each thread holds a reference to its  b while it is running, so it is safe to drop your own reference to it if you don't need it anymore. Since: 2.32 %gi-glib3No description available in the introspection data. &gi-glibTerminates the current thread.*If another thread is waiting for us using  "2 then the waiting thread will be woken up and get retval as the return value of  ".Calling = with a parameter retval is equivalent to returning retval from the function func, as given to g_thread_new().You must only call =. from a thread that you created yourself with g_thread_new(){ or related APIs. You must not call this function from a thread created with another threading library or or from within a 9. 'gi-glibThis function returns the  { corresponding to the current thread. Note that this function does not increase the reference count of the returned struct.This function will return a   even for threads that were not created by GLib (i.e. those created by other threading APIs). This may be useful for thread identification purposes (i.e. comparisons) but you must not use GLib functions (such as  ") on these threads. (gi-glib[Causes the calling thread to voluntarily relinquish the CPU, so that other threads can run.DThis function is often used as a method to make busy wait less evil. "gi-glibthread: a   gi-glibReturns: the return value of the thread #gi-glibthread: a   gi-glibReturns: a new reference to thread $gi-glibthread: a   &gi-glibretval": the return value of this thread 'gi-glibReturns: the  ! representing the current thread  ! " # $ % & ' (  ! % & " # ' $ (97Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb *gi-glibMemory-managed wrapper type. ,gi-glib Construct a  * struct initialized to zero. -gi-glibA convenience alias for   ::    *. .gi-glibGet the value of the func  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool #func /gi-glibSet the value of the func  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool [ #func  value ] 0gi-glibSet the value of the func  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #func 1gi-glibGet the value of the  user_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool #userData 2gi-glibSet the value of the  user_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool [ #userData  value ] 3gi-glibSet the value of the  user_data  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #userData 4gi-glibGet the value of the  exclusive  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool #exclusive 5gi-glibSet the value of the  exclusive  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  threadPool [ #exclusive  value ] 6gi-glib"Frees all resources allocated for pool.If  immediate is  , no new task is processed for pool . Otherwise pool is not freed before the last task is processed. Note however, that no thread of this pool is interrupted while processing a task. Instead at least all still running threads can finish their tasks before the pool is freed.If wait_ is  O, the functions does not return before all tasks to be processed (dependent on  immediatec, whether all or only the currently running) are ready. Otherwise the function returns immediately.After calling this function pool must not be used anymore. 7gi-glib*Returns the maximal number of threads for pool. 8gi-glib3Returns the number of threads currently running in pool. 9gi-glibaMoves the item to the front of the queue of unprocessed items, so that it will be processed next. Since: 2.46 :gi-glibInserts data* into the list of tasks to be executed by pool.When the number of currently running threads is lower than the maximal allowed number of threads, a new thread is started (or reused) with the properties given to g_thread_pool_new() . Otherwise, dataY stays in the queue until a thread in this pool finishes its previous task and processes data.error can be   to ignore errors, or non- _ to report errors. An error can only occur when a new thread couldn't be created. In that case data/ is simply appended to the queue of work to do.CBefore version 2.32, this function did not return a success status. ;gi-glib/Sets the maximal allowed number of threads for poolJ. A value of -1 means that the maximal number of threads is unlimited. If poolY is an exclusive thread pool, setting the maximal number of threads to -1 is not allowed.Setting  maxThreads" to 0 means stopping all work for pool!. It is effectively frozen until  maxThreads" is set to a non-zero value again.+A thread is never terminated while calling func, as supplied by g_thread_pool_new()]. Instead the maximal number of threads only has effect for the allocation of new threads in  :Q. A new thread is allocated, whenever the number of currently running threads in pool$ is smaller than the maximal number.error can be   to ignore errors, or non- Q to report errors. An error can only occur when a new thread couldn't be created.CBefore version 2.32, this function did not return a success status. <gi-glib1Returns the number of tasks still unprocessed in pool. =gi-glib&This function will return the maximum intervalO that a thread will wait in the thread pool for new tasks before being stopped.\If this function returns 0, threads waiting in the thread pool for new work are not stopped. Since: 2.10 >gi-glib5Returns the maximal allowed number of unused threads. ?gi-glib/Returns the number of currently unused threads. @gi-glib#This function will set the maximum interval{ that a thread waiting in the pool for new tasks can be idle for before being stopped. This function is similar to calling =A on a regular timeout, except this is done on a per thread basis. By setting interval( to 0, idle threads will not be stopped.(The default value is 15000 (15 seconds). Since: 2.10 Agi-glib-Sets the maximal number of unused threads to  maxThreads. If  maxThreads< is -1, no limit is imposed on the number of unused threads.The default value is 2. Bgi-glibStops all currently unused threads. This does not change the maximal number of unused threads. This function can be used to regularly stop all unused threads e.g. from g_timeout_add(). 6gi-glibpool: a  * gi-glib immediate : should pool shut down immediately? gi-glibwait_9: should the function wait for all tasks to be finished? 7gi-glibpool: a  * gi-glibReturns: the maximal number of threads 8gi-glibpool: a  * gi-glibReturns:) the number of threads currently running 9gi-glibpool: a  * gi-glibdata": an unprocessed item in the pool gi-glibReturns:  ! if the item was found and moved :gi-glibpool: a  * gi-glibdata: a new task for pool gi-glib (Can throw o) ;gi-glibpool: a  * gi-glib maxThreads&: a new maximal number of threads for pool, or -1 for unlimited gi-glib (Can throw o) <gi-glibpool: a  * gi-glibReturns:! the number of unprocessed tasks =gi-glibReturns: the maximum interval\ (milliseconds) to wait for new tasks in the thread pool before stopping the thread >gi-glibReturns:& the maximal number of unused threads ?gi-glibReturns:( the number of currently unused threads @gi-glibinterval: the maximum interval, (in milliseconds) a thread can be idle Agi-glib maxThreads#: maximal number of unused threads  * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B * + , - 6 = 7 > 8 ? 9 : @ ; A B < 4 5 0 . / 3 1 2*7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb $gi-glibMemory-managed wrapper type. Ggi-glib Construct a  struct initialized to zero. Hgi-glibA convenience alias for   ::   . Igi-glibCreates a new L structure. The size is specified to allow creating structures derived from C that contain additional data. The size passed in must be at least sizeof (GSource).5The source will not initially be associated with any  and must be added to one with  M before it will be executed. Jgi-glibAdds  childSource to source as a "polled" source; when source is added to a ,  childSource: will be automatically added with the same priority, when  childSource is triggered, it will cause sourceA to dispatch (in addition to calling its own callback), and when source is destroyed, it will destroy  childSource as well. (source] will also still be dispatched if its own prepare/check functions indicate that it is ready.)If you don't need  childSource: to do anything on its own when it triggers, you can call g_source_set_dummy_callback(): on it to set a callback that does nothing (except return   if appropriate).source will hold a reference on  childSource while  childSource is attached to it.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create. Since: 2.28 Kgi-gliblAdds a file descriptor to the set of file descriptors polled for this source. This is usually combined with  IS to add an event source. The event source's check function will typically test the revents field in the  R struct and return   if events need to be processed.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create.Using this API forces the linear scanning of event sources on each main loop iteration. Newly-written event sources should try to use  L instead of this API. Lgi-glib Monitors fd for the IO events in events.aThe tag returned by this function can be used to remove or modify the monitoring of the fd using  ] or  X.gIt is not necessary to remove the fd before destroying the source; it will be cleaned up automatically.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create.@As the name suggests, this function is not available on Windows. Since: 2.36 Mgi-glibAdds a  to a contextG so that it will be executed within that context. Remove it by calling  N. Ngi-glibRemoves a source from its , if any, and mark it as destroyed. The source cannot be subsequently added to another context. It is safe to call this on sources which have already been removed from their context. Ogi-glibAChecks whether a source is allowed to be called recursively. see  `. Pgi-glib Gets the % with which the source is associated.IYou can call this on a source that has been destroyed, provided that the D it was attached to still exists (in which case it will return that P). In particular, you can always call this function on the source returned from =.. But calling this function on a source whose  has been destroyed is an error. Qgi-glibThis function ignores source and is otherwise the same as =. Rgi-glibReturns the numeric ID for a particular source. The ID of a source is a positive integer which is unique within a particular main loop context. The reverse mapping from ID to source is done by .DYou can only call this function while the source is associated to a ( instance; calling this function before  M or after  NA yields undefined behavior. The ID returned is unique within the  instance passed to  M. Sgi-glibNGets a name for the source, used in debugging and profiling. The name may be NULL if it has never been set with  b. Since: 2.26 Tgi-glibGets the priority of a source. Ugi-glibGets the "ready time" of source , as set by  d.pAny time before the current monotonic time (including 0) is an indication that the source will fire immediately. Vgi-glibhGets the time to be used when checking this source. The advantage of calling this function over calling = directly is that when checking multiple sources, GLib can cache a single value instead of having to repeatedly get the system monotonic time.oThe time here is the system monotonic time, if available, or some other reasonable alternative otherwise. See =. Since: 2.28 Wgi-glibReturns whether source has been destroyed.This is important when you operate upon your objects from within idle handlers, but may have freed the object before the dispatch of your idle handler.C code  static gboolean idle_callback (gpointer data) { SomeWidget *self = data; GDK_THREADS_ENTER (); // do stuff with self self->idle_id = 0; GDK_THREADS_LEAVE (); return G_SOURCE_REMOVE; } static void some_widget_do_stuff_later (SomeWidget *self) { self->idle_id = g_idle_add (idle_callback, self); } static void some_widget_finalize (GObject *object) { SomeWidget *self = SOME_WIDGET (object); if (self->idle_id) g_source_remove (self->idle_id); G_OBJECT_CLASS (parent_class)->finalize (object); }This will fail in a multi-threaded application if the widget is destroyed before the idle handler fires due to the use after free in the callback. A solution, to this particular problem, is to check to if the source has already been destroy within the callback.C code  static gboolean idle_callback (gpointer data) { SomeWidget *self = data; GDK_THREADS_ENTER (); if (!g_source_is_destroyed (g_main_current_source ())) { // do stuff with self } GDK_THREADS_LEAVE (); return FALSE; }HCalls to this function from a thread other than the one acquired by the  the  is attached to are typically redundant, as the source could be destroyed immediately after this function returns. However, once a source is destroyed it cannot be un-destroyed, so this function can be used for opportunistic checks from any thread. Since: 2.12 Xgi-glib9Updates the event mask to watch for the fd identified by tag.tag is the tag returned from  L.LIf you want to remove a fd, don't set its event mask to zero. Instead, call  ].;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create.@As the name suggests, this function is not available on Windows. Since: 2.36 Ygi-glib8Queries the events reported for the fd corresponding to tag on source during the last poll.wThe return value of this function is only defined when the function is called from the check or dispatch functions for source.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create.@As the name suggests, this function is not available on Windows. Since: 2.36 Zgi-glib1Increases the reference count on a source by one. [gi-glib Detaches  childSource from source and destroys it.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create. Since: 2.28 \gi-glibRRemoves a file descriptor from the set of file descriptors polled for this source.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create. ]gi-glib*Reverses the effect of a previous call to  L.You only need to call this if you want to remove an fd from being watched while keeping the same source around. In the normal case you will just want to destroy the source.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create.@As the name suggests, this function is not available on Windows. Since: 2.36 ^gi-glibqSets the callback function for a source. The callback for a source is called from the source's dispatch function.The exact type of func< depends on the type of source; ie. you should not count on func being called with data as its first parameter. Cast func with G_SOURCE_FUNC()5 to avoid warnings about incompatible function types.qSee [memory management of sources][mainloop-memory-management] for details on how to handle memory management of data.tTypically, you won't use this function. Instead use functions specific to the type of source you are using, such as  g_idle_add() or g_timeout_add().It is safe to call this function multiple times on a source which has already been attached to a context. The changes will take effect for the next time the source is dispatched after this call returns. _gi-glibzSets the callback function storing the data as a refcounted callback "object". This is used internally. Note that calling  _' assumes an initial reference count on  callbackData , and thus  callbackFuncs1->unref will eventually be called once more than  callbackFuncs->ref.It is safe to call this function multiple times on a source which has already been attached to a context. The changes will take effect for the next time the source is dispatched after this call returns. `gi-glib4Sets whether a source can be called recursively. If  canRecurse is  , then while the source is being dispatched then this source will be processed normally. Otherwise, all processing of this source is blocked until the dispatch function returns. agi-glibdSets the source functions (can be used to override default implementations) of an unattached source. Since: 2.12 bgi-glibRSets a name for the source, used in debugging and profiling. The name defaults to NULL.The source name should describe in a human-readable way what the source does. For example, "X11 event queue" or "GTK+ repaint idle handler" or whatever it is.It is permitted to call this function multiple times, but is not recommended due to the potential performance impact. For example, one could change the name in the "check" function of a ,; to include details like the event type in the source name.OUse caution if changing the name while another thread may be accessing it with  S; that function does not copy the value, and changing the value will free it while the other thread may be attempting to use it. Since: 2.26 cgi-glibSets the priority of a source. While the main loop is being run, a source will be dispatched if it is ready to be dispatched and no sources at a higher (numerically smaller) priority are ready to be dispatched.A child source always has the same priority as its parent. It is not permitted to change the priority of a source once it has been added as a child of another source. dgi-glibSets a  to be dispatched when the given monotonic time is reached (or passed). If the monotonic time is in the past (as it always will be if  readyTime6 is 0) then the source will be dispatched immediately.If  readyTimeM is -1 then the source is never woken up on the basis of the passage of time.tDispatching the source does not reset the ready time. You should do so yourself, from the source dispatch function.6Note that if you have a pair of sources where the ready time of one suggests that it will be delivered first but the priority for the other suggests that it would be delivered first, and the ready time for both sources is reached during the same main context iteration, then the order of dispatch is undefined.)It is a no-op to call this function on a ' which has already been destroyed with  N.;This API is only intended to be used by implementations of . Do not call this API on a  that you did not create. Since: 2.36 egi-glibDecreases the reference count of a source by one. If the resulting reference count is zero the source and associated memory will be destroyed. fgi-glibQRemoves the source with the given ID from the default main context. You must use  N1 for sources added to a non-default main context. The ID of a  is given by  R', or will be returned by the functions  M,  g_idle_add(), =, g_timeout_add(), =, g_child_watch_add(), =, g_io_add_watch(), and =.DIt is a programmer error to attempt to remove a non-existent source.More specifically: source IDs can be reissued after a source has been destroyed and therefore it is never valid to use this function with a source ID which may have already been removed. An example is when scheduling an idle to run in another thread with  g_idle_add(): the idle may already have run and been removed by the time this function is called on its (now invalid) source ID. This source ID may have been reissued, leading to the operation being performed against the wrong source. ggi-glibRemoves a source from the default main loop context given the source functions and user data. If multiple sources exist with the same source functions and user data, only one will be destroyed. hgi-glibRemoves a source from the default main loop context given the user data for the callback. If multiple sources exist with the same user data, only one will be destroyed. igi-glib'Sets the name of a source using its ID.KThis is a convenience utility to set source names from the return value of  g_idle_add(), g_timeout_add(), etc.MIt is a programmer error to attempt to set the name of a non-existent source.More specifically: source IDs can be reissued after a source has been destroyed and therefore it is never valid to use this function with a source ID which may have already been removed. An example is when scheduling an idle to run in another thread with  g_idle_add(): the idle may already have run and been removed by the time this function is called on its (now invalid) source ID. This source ID may have been reissued, leading to the operation being performed against the wrong source. Since: 2.26! Igi-glib sourceFuncsU: structure containing functions that implement the sources behavior. gi-glib structSize: size of the  structure to create. gi-glibReturns: the newly-created . Jgi-glibsource: a  gi-glib childSource : a second  that source should "poll" Kgi-glibsource: a  gi-glibfd: a  RF structure holding information about a file descriptor to watch. Lgi-glibsource: a  gi-glibfd: the fd to monitor gi-glibevents: an event mask gi-glibReturns: an opaque tag Mgi-glibsource: a  gi-glibcontext: a  (if  $, the default context will be used) gi-glibReturns:5 the ID (greater than 0) for the source within the . Ngi-glibsource: a  Ogi-glibsource: a  gi-glibReturns: whether recursion is allowed. Pgi-glibsource: a  gi-glibReturns: the 7 with which the source is associated, or  B if the context has not yet been added to a source. Qgi-glibsource: a  gi-glibtimeval: :+ structure in which to store current time. Rgi-glibsource: a  gi-glibReturns:( the ID (greater than 0) for the source Sgi-glibsource: a  gi-glibReturns: the name of the source Tgi-glibsource: a  gi-glibReturns: the priority of the source Ugi-glibsource: a  gi-glibReturns:* the monotonic ready time, -1 for "never" Vgi-glibsource: a  gi-glibReturns:$ the monotonic time in microseconds Wgi-glibsource: a  gi-glibReturns:  " if the source has been destroyed Xgi-glibsource: a  gi-glibtag: the tag from  L gi-glib newEvents: the new event mask to watch Ygi-glibsource: a  gi-glibtag: the tag from  L gi-glibReturns:# the conditions reported on the fd Zgi-glibsource: a  gi-glibReturns: source [gi-glibsource: a  gi-glib childSource: a  previously passed to  J. \gi-glibsource: a  gi-glibfd: a  R structure previously passed to  K. ]gi-glibsource: a  gi-glibtag: the tag from  L ^gi-glibsource : the source gi-glibfunc: a callback function _gi-glibsource : the source gi-glib callbackData$: pointer to callback data "object" gi-glib callbackFuncs#: functions for reference counting  callbackData4 and getting the callback and data `gi-glibsource: a  gi-glib canRecurse/: whether recursion is allowed for this source agi-glibsource: a  gi-glibfuncs : the new , bgi-glibsource: a  gi-glibname: debug name for the source cgi-glibsource: a  gi-glibpriority: the new priority. dgi-glibsource: a  gi-glib readyTimei: the monotonic time at which the source will be ready, 0 for "immediately", -1 for "never" egi-glibsource: a  fgi-glibtag": the ID of the source to remove. gi-glibReturns:6 For historical reasons, this function always returns   ggi-glibfuncs: The  sourceFuncs passed to  I gi-glibuserData!: the user data for the callback gi-glibReturns:  $ if a source was found and removed. hgi-glibuserData": the user_data for the callback. gi-glibReturns:  $ if a source was found and removed. igi-glibtag: a  ID gi-glibname: debug name for the source % G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i% G H J K L M N O P Q R S T U V W X I Y Z f g h [ \ ] ^ _ ` a b i c d e;7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb@ lgi-glibMemory-managed wrapper type. ngi-glib Construct a  l struct initialized to zero. ogi-glibA convenience alias for   ::    l. pgi-glibGet the value of the  julian_days  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #julianDays qgi-glibSet the value of the  julian_days  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #julianDays  value ] rgi-glibGet the value of the julian  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #julian sgi-glibSet the value of the julian  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #julian  value ] tgi-glibGet the value of the dmy  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #dmy ugi-glibSet the value of the dmy  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #dmy  value ] vgi-glibGet the value of the day  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #day wgi-glibSet the value of the day  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #day  value ] xgi-glibGet the value of the month  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #month ygi-glibSet the value of the month  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #month  value ] zgi-glibGet the value of the year  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date #year {gi-glibSet the value of the year  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  date [ #year  value ] |gi-glib Allocates a  lV and initializes it to a sane state. The new date will be cleared (as if you'd called  O) but invalid (it won't represent an existing day). Free the return value with  . }gi-glibLike  |, but also sets the value of the date. Assuming the day-month-year triplet you pass in represents an existing day, the returned date will be valid. ~gi-glibLike  |, but also sets the value of the date. Assuming the Julian day number you pass in is valid (greater than 0, less than an unreasonably large number), the returned date will be valid. gi-glibjIncrements a date some number of days. To move forward by weeks, add weeks*7 days. The date must be valid. gi-glibIncrements a date by some number of months. If the day of the month is greater than 28, this routine may change the day of the month (because the destination month may not have the current day in it). The date must be valid. gi-glibIncrements a date by some number of years. If the date is February 29, and the destination year is not a leap year, the date will be changed to February 28. The date must be valid. gi-glibIf date is prior to minDate, sets date equal to minDate. If date falls after maxDate, sets date equal to maxDate . Otherwise, date is unchanged. Either of minDate and maxDate may be   . All non-  dates must be valid. gi-glibInitializes one or more  l structs to a sane but invalid state. The cleared dates will not represent an existing date, but will not contain garbage. Useful to init a date declared on the stack. Validity can be tested with  . gi-glibqsort()?-style comparison function for dates. Both dates must be valid. gi-glibVCopies a GDate to a newly-allocated GDate. If the input was invalid (as determined by  >), the invalid state will be copied as is into the new object. Since: 2.56 gi-glib2Computes the number of days between two dates. If date2 is prior to date1;, the returned value is negative. Both dates must be valid. gi-glibFrees a  l returned from  |. gi-glib5Returns the day of the month. The date must be valid. gi-glib^Returns the day of the year, where Jan 1 is the first day of the year. The date must be valid. gi-glibPReturns the week of the year, where weeks are interpreted according to ISO 8601. Since: 2.6 gi-glib1Returns the Julian day or "serial number" of the  l. The Julian day is simply the number of days since January 1, Year 1; i.e., January 1, Year 1 is Julian day 1; January 2, Year 1 is Julian day 2, etc. The date must be valid. gi-glibReturns the week of the year, where weeks are understood to start on Monday. If the date is before the first Monday of the year, return 0. The date must be valid. gi-glib6Returns the month of the year. The date must be valid. gi-glibReturns the week of the year during which this date falls, if weeks are understood to begin on Sunday. The date must be valid. Can return 0 if the day is before the first Sunday of the year. gi-glib"Returns the day of the week for a  l. The date must be valid. gi-glibReturns the year of a  l. The date must be valid. gi-glibReturns  @ if the date is on the first of a month. The date must be valid. gi-glibReturns  B if the date is the last day of the month. The date must be valid. gi-glib Checks if date1 is less than or equal to date2., and swap the values if this is not the case. gi-glib Sets the day of the month for a  lO. If the resulting day-month-year triplet is invalid, the date will be invalid. gi-glibSets the value of a  lg from a day, month, and year. The day-month-year triplet must be valid; if you aren't sure it is, call = to check before you set it. gi-glibSets the value of a  l from a Julian day number. gi-glib!Sets the month of the year for a  lP. If the resulting day-month-year triplet is invalid, the date will be invalid. gi-glibParses a user-inputted string str, and try to figure out what date it represents, taking the [current locale][setlocale] into account. If the string is successfully parsed, the date will be valid after the call. Otherwise, it will be invalid. You should check using  & to see whether the parsing succeeded.This function is not appropriate for file formats and the like; it isn't very precise, and its exact behavior varies with the locale. It's intended to be a heuristic routine that guesses what the user means by a given string (and it does work pretty well in that capacity). gi-glib Sets the value of a date from a GTimeN value. The time to date conversion is done using the user's current timezone. gi-glibSets the value of a date to the date corresponding to a time specified as a time_t. The time to date conversion is done using the user's current timezone.?To set the value of a date to the current day, you could write:C code g time_t now = time (NULL); if (now == (time_t) -1) // handle the error g_date_set_time_t (date, now); Since: 2.10 gi-glib Sets the value of a date from a : value. Note that the tvUsec member is ignored, because  l, can't make use of the additional precision.FThe time to date conversion is done using the user's current timezone. Since: 2.10 gi-glibSets the year for a  lO. If the resulting day-month-year triplet is invalid, the date will be invalid. gi-glibtMoves a date some number of days into the past. To move by weeks, just move by weeks*7 days. The date must be valid. gi-glibMoves a date some number of months into the past. If the current day of the month doesn't exist in the destination month, the day of the month may change. The date must be valid. gi-glibMoves a date some number of years into the past. If the current day doesn't exist in the destination year (i.e. it's February 29 and you move to a non-leap-year) then the day is changed to February 29. The date must be valid. gi-glib8Fills in the date-related bits of a struct tm using the dateK value. Initializes the non-date parts with something sane but meaningless. gi-glibReturns   if the  le represents an existing day. The date must not contain garbage; it should have been initialized with  & if it wasn't allocated by one of the  | variants. gi-glibFReturns the number of days in a month, taking leap years into account. gi-glibtReturns the number of weeks in the year, where weeks are taken to start on Monday. Will be 52 or 53. The date must be valid. (Years always have 52 7-day periods, plus 1 or 2 extra days depending on whether it's a leap year. This function is basically telling you how many Mondays are in the year, i.e. there are 53 Mondays if one of the extra days happens to be a Monday.) gi-glibtReturns the number of weeks in the year, where weeks are taken to start on Sunday. Will be 52 or 53. The date must be valid. (Years always have 52 7-day periods, plus 1 or 2 extra days depending on whether it's a leap year. This function is basically telling you how many Sundays are in the year, i.e. there are 53 Sundays if one of the extra days happens to be a Sunday.) gi-glibReturns   if the year is a leap year.For the purposes of this function, leap year is every year divisible by 4 unless that year is divisible by 100. If it is divisible by 100 it would be a leap year only if that year is also divisible by 400. gi-glibGenerates a printed representation of the date, in a [locale][setlocale]-specific way. Works just like the platform's C library  strftime()z function, but only accepts date-related formats; time-related formats give undefined results. Date must be valid. Unlike  strftime()\ (which uses the locale encoding), works on a UTF-8 format string and stores a UTF-8 result.This function does not provide any conversion specifiers in addition to those implemented by the platform's C library. For example, don't expect that using =' would make the %F provided by the C99  strftime(): work on Windows where the C library only complies to C89. gi-glibReturns  V if the day of the month is valid (a day is valid if it's between 1 and 31 inclusive). gi-glibReturns  P if the day-month-year triplet forms a valid, existing day in the range of days  lP understands (Year 1 or later, no more than a few thousand years in the future). gi-glibReturns  t if the Julian day is valid. Anything greater than zero is basically a valid Julian, though there is a 32-bit limit. gi-glibReturns  % if the month value is valid. The 12 . enumeration values are the only valid months. gi-glibReturns  $ if the weekday is valid. The seven 0 enumeration values are the only valid weekdays. gi-glibReturns  ` if the year is valid. Any year greater than 0 is valid, though there is a 16-bit limit to what  l will understand.1 |gi-glibReturns: a newly-allocated  l }gi-glibday: day of the month gi-glibmonth: month of the year gi-glibyear: year gi-glibReturns: a newly-allocated  l initialized with day, month, and year ~gi-glib julianDay: days since January 1, Year 1 gi-glibReturns: a newly-allocated  l initialized with  julianDay gi-glibdate: a  l to increment gi-glibnDays*: number of days to move the date forward gi-glibdate: a  l to increment gi-glibnMonths#: number of months to move forward gi-glibdate: a  l to increment gi-glibnYears": number of years to move forward gi-glibdate: a  l to clamp gi-glibminDate: minimum accepted value for date gi-glibmaxDate: maximum accepted value for date gi-glibdate(: pointer to one or more dates to clear gi-glibnDates: number of dates to clear gi-gliblhs: first date to compare gi-glibrhs: second date to compare gi-glibReturns: 0 for equal, less than zero if lhs is less than rhs, greater than zero if lhs is greater than rhs gi-glibdate: a  l to copy gi-glibReturns: a newly-allocated  l initialized from date gi-glibdate1: the first date gi-glibdate2: the second date gi-glibReturns: the number of days between date1 and date2 gi-glibdate: a  l to free gi-glibdate: a  l& to extract the day of the month from gi-glibReturns: day of the month gi-glibdate: a  l to extract day of year from gi-glibReturns: day of the year gi-glibdate : a valid  l gi-glibReturns:# ISO 8601 week number of the year. gi-glibdate: a  l to extract the Julian day from gi-glibReturns: Julian day gi-glibdate: a  l gi-glibReturns: week of the year gi-glibdate: a  l to get the month from gi-glibReturns: month of the year as a  gi-glibdate: a  l gi-glibReturns: week number gi-glibdate: a  l gi-glibReturns: day of the week as a . gi-glibdate: a  l gi-glibReturns: year in which the date falls gi-glibdate: a  l to check gi-glibReturns:  ' if the date is the first of the month gi-glibdate: a  l to check gi-glibReturns:  * if the date is the last day of the month gi-glibdate1: the first date gi-glibdate2: the second date gi-glibdate: a  l gi-glibday : day to set gi-glibdate: a  l gi-glibday: day gi-glibmonth: month gi-gliby: year gi-glibdate: a  l gi-glib julianDate3: Julian day number (days since January 1, Year 1) gi-glibdate: a  l gi-glibmonth: month to set gi-glibdate: a  l to fill in gi-glibstr: string to parse gi-glibdate: a  l. gi-glibtime_: GTime value to set. gi-glibdate: a  l gi-glibtimet: time_t value to set gi-glibdate: a  l gi-glibtimeval: : value to set gi-glibdate: a  l gi-glibyear: year to set gi-glibdate: a  l to decrement gi-glibnDays: number of days to move gi-glibdate: a  l to decrement gi-glibnMonths: number of months to move gi-glibdate: a  l to decrement gi-glibnYears: number of years to move gi-glibdate: a  l to set the struct tm from gi-glibtm: struct tm to fill gi-glibdate: a  l to check gi-glibReturns: Whether the date is valid gi-glibmonth: month gi-glibyear: year gi-glibReturns: number of days in month during the year gi-glibyear : a year gi-glibReturns: number of Mondays in the year gi-glibyear: year to count weeks in gi-glibReturns: the number of weeks in year gi-glibyear: year to check gi-glibReturns:   if the year is a leap year gi-glibs: destination buffer gi-glibslen: buffer size gi-glibformat: format string gi-glibdate: valid  l gi-glibReturns:K number of characters written to the buffer, or 0 the buffer was too small gi-glibday: day to check gi-glibReturns:   if the day is valid gi-glibday: day gi-glibmonth: month gi-glibyear: year gi-glibReturns:   if the date is a valid one gi-glib julianDate: Julian day to check gi-glibReturns:   if the Julian day is valid gi-glibmonth: month gi-glibReturns:   if the month is valid gi-glibweekday : weekday gi-glibReturns:   if the weekday is valid gi-glibyear: year gi-glibReturns:   if the year is valid A l m n o p q r s t u v w x y z { | } ~  A l m n o  | } ~ v w t u r s p q x y z {<7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXbi gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib Returns the length of the queue.Actually this function returns the number of data items in the queue minus the number of waiting threads, so a negative value means waiting threads, and a positive value means available entries in the queue. A return value of 0 could mean n entries in the queue and n threads waiting. This can happen due to locking of the queue or due to scheduling. gi-glib Returns the length of the queue.Actually this function returns the number of data items in the queue minus the number of waiting threads, so a negative value means waiting threads, and a positive value means available entries in the queue. A return value of 0 could mean n entries in the queue and n threads waiting. This can happen due to locking of the queue or due to scheduling./This function must be called while holding the queue's lock. gi-glib Acquires the queuen's lock. If another thread is already holding the lock, this call will block until the lock becomes available.Call   to drop the lock again.=While holding the lock, you can only call the g_async_queue_* _unlocked() functions on queue . Otherwise, deadlock may occur. gi-glibPops data from the queue. If queue= is empty, this function blocks until data becomes available. gi-glibPops data from the queue. If queue= is empty, this function blocks until data becomes available./This function must be called while holding the queue's lock. gi-glib Pushes the data into the queue. data must not be  . gi-glib Pushes the item into the queue. item must not be  . In contrast to  , this function pushes the new item ahead of the items already in the queue, so that it will be the next one to be popped off the queue. Since: 2.46 gi-glib Pushes the item into the queue. item must not be  . In contrast to  , this function pushes the new item ahead of the items already in the queue, so that it will be the next one to be popped off the queue./This function must be called while holding the queue's lock. Since: 2.46 gi-glib Pushes the data into the queue. data must not be  ./This function must be called while holding the queue's lock. gi-glib2Increases the reference count of the asynchronous queue by 1. gi-glibRemove an item from the queue. Since: 2.46 gi-glibRemove an item from the queue./This function must be called while holding the queue's lock. Since: 2.46 gi-glibPops data from the queue&. If the queue is empty, blocks until endTime! or until data becomes available.If no data is received before endTime,   is returned.To easily calculate endTime, a combination of = and : can be used. gi-glibPops data from the queue&. If the queue is empty, blocks until endTime! or until data becomes available.If no data is received before endTime,   is returned.To easily calculate endTime, a combination of = and : can be used./This function must be called while holding the queue's lock. gi-glibPops data from the queue$. If the queue is empty, blocks for timeout/ microseconds, or until data becomes available.+If no data is received before the timeout,   is returned. gi-glibPops data from the queue$. If the queue is empty, blocks for timeout/ microseconds, or until data becomes available.+If no data is received before the timeout,   is returned./This function must be called while holding the queue's lock. gi-glibTries to pop data from the queue. If no data is available,   is returned. gi-glibTries to pop data from the queue. If no data is available,   is returned./This function must be called while holding the queue's lock. gi-glibReleases the queue's lock.:Calling this function when you have not acquired the with   leads to undefined behaviour. gi-glib2Decreases the reference count of the asynchronous queue by 1.&If the reference count went to 0, the queue] will be destroyed and the memory allocated will be freed. So you are not allowed to use the queueb afterwards, as it might have disappeared. You do not need to hold the lock to call this function. gi-glib2Decreases the reference count of the asynchronous queueL by 1 and releases the lock. This function must be called while holding the queue/'s lock. If the reference count went to 0, the queue: will be destroyed and the memory allocated will be freed. gi-glibqueue: a  . gi-glibReturns: the length of the queue gi-glibqueue: a   gi-glibReturns: the length of the queue. gi-glibqueue: a   gi-glibqueue: a   gi-glibReturns: data from the queue gi-glibqueue: a   gi-glibReturns: data from the queue. gi-glibqueue: a   gi-glibdata: data to push into the queue gi-glibqueue: a   gi-glibitem: data to push into the queue gi-glibqueue: a   gi-glibitem: data to push into the queue gi-glibqueue: a   gi-glibdata: data to push into the queue gi-glibqueue: a   gi-glibqueue: a   gi-glibitem: the data to remove from the queue gi-glibReturns:   if the item was removed gi-glibqueue: a   gi-glibitem: the data to remove from the queue gi-glibReturns:   if the item was removed gi-glibqueue: a   gi-glibendTime: a :, determining the final time gi-glibReturns: data from the queue or  &, when no data is received before endTime. gi-glibqueue: a   gi-glibendTime: a :, determining the final time gi-glibReturns: data from the queue or  &, when no data is received before endTime. gi-glibqueue: a   gi-glibtimeout%: the number of microseconds to wait gi-glibReturns: data from the queue or  3, when no data is received before the timeout. gi-glibqueue: a   gi-glibtimeout%: the number of microseconds to wait gi-glibReturns: data from the queue or  3, when no data is received before the timeout. gi-glibqueue: a   gi-glibReturns: data from the queue or  -, when no data is available immediately. gi-glibqueue: a   gi-glibReturns: data from the queue or  -, when no data is available immediately. gi-glibqueue: a   gi-glibqueue: a  . gi-glibqueue: a     =7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb&$ gi-glib3No description available in the introspection data. gi-glib9Generates a random UUID (RFC 4122 version 4) as a string. Since: 2.52 gi-glibParses the string str and verify if it is a UUID.*The function accepts the following syntax:simple forms (e.g. $f81d4fae-7dec-11d0-a765-00a0c91e6bf6)\Note that hyphens are required within the UUID string itself, as per the aforementioned RFC. Since: 2.52 gi-glibValidates UTF-8 encoded text.As with  , but maxLen9 must be set, and hence this function will always return   if any of the bytes of str are nul. Since: 2.60 gi-glibValidates UTF-8 encoded text. str is the text to validate; if str is nul-terminated, then maxLen can be -1, otherwise maxLen/ should be the number of bytes to validate. If end is non- , then the end of the valid range will be stored there (i.e. the start of the first invalid character if some bytes were invalid, or the end of the text being validated otherwise). Note that   returns   if maxLen is positive and any of the maxLen bytes are nul.Returns   if all of str was valid. Many GLib and GTK+ routines require valid UTF-8 as input; so data read from a file or the network should be checked with  $ before doing anything else with it. gi-glibMCopies a substring out of a UTF-8 encoded string. The substring will contain endPos - startPos characters. Since: 2.30 gi-glib Converts all Unicode characters in the string that have a case to uppercase. The exact manner that this is done depends on the current locale, and may result in the number of characters in the string increasing. (For instance, the German ess-zet will be changed to SS.) gi-glibReverses a UTF-8 string. str( must be valid UTF-8 encoded text. (Use  C on all text before trying to use UTF-8 utility functions with it.)$This function is intended for programmatic uses of reversed strings. It pays no attention to decomposed characters, combining marks, byte order marks, directional indicators (LRM, LRO, etc) and similar characters which might need special handling when reversing a string for display purposes.Note that unlike  EK, this function returns newly-allocated memory, which should be freed with   when no longer needed. Since: 2.2 gi-glibuFind the rightmost occurrence of the given Unicode character in a UTF-8 encoded string, while limiting the search to len bytes. If len is -1, allow unbounded search. gi-glibLike the standard C  strncpy()[ function, but copies a given number of characters instead of a given number of bytes. The src/ string must be valid UTF-8 encoded text. (Use  C on all text before trying to use UTF-8 utility functions with it.)Note you must ensure dest is at least 4 * n- to fit the largest possible UTF-8 characters gi-glibeComputes the length of the string in characters, not including the terminating nul character. If the maxY'th byte falls in the middle of a character, the last (partial) character is not counted. gi-glibConverts all Unicode characters in the string that have a case to lowercase. The exact manner that this is done depends on the current locale, and may result in the number of characters in the string changing. gi-glibuFinds the leftmost occurrence of the given Unicode character in a UTF-8 encoded string, while limiting the search to len bytes. If len is -1, allow unbounded search. gi-glib8Finds the previous UTF-8 character in the string before p.p does not have to be at the beginning of a UTF-8 character. No check is made to see if the character found is actually valid other than it starts with an appropriate byte. If p: might be the first character of the string, you must use   instead. gi-glibRConverts from a pointer to position within a string to a integer character offset.!Since 2.10, this function allows pos to be before str-, and returns a negative offset in this case. gi-glibWConverts from an integer character offset to a pointer to a position within the string.4Since 2.10, this function allows to pass a negative offset_ to step backwards. It is usually worth stepping backwards from the end instead of forwards if offseth is in the last fourth of the string, since moving forward is about 3 times faster than moving backward.?Note that this function doesn't abort when reaching the end of str$. Therefore you should be sure that offset@ is within string boundaries before calling that function. Call   when unsure. This limitation exists as this function is called frequently during text rendering and therefore has to be as fast as possible. gi-glibConverts a string into canonical form, standardizing such issues as whether a character with an accent is represented as a base character and combining accent or as a single precomposed character. The string has to be valid UTF-8, otherwise  ( is returned. You should generally call  & before comparing two Unicode strings.The normalization mode w only standardizes differences that do not affect the text content, such as the above-mentioned accent representation.   also standardizes the "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to the standard forms (in this case DIGIT THREE). Formatting information may be lost but for most text operations such characters should be considered the same.  and   are like  and  , but returned a result with composed forms rather than a maximally decomposed form. This is often useful if you intend to convert the string to a legacy encoding or pass it to a system with less capable Unicode handling. gi-glibIf the provided string is valid UTF-8, return a copy of it. If not, return a copy in which bytes that could not be interpreted as valid Unicode are replaced with the Unicode replacement character (U+FFFD).-For example, this is an appropriate function to use if you have received a string that was incorrectly declared to be UTF-8, and you need a valid UTF-8 version of it that can be logged or displayed to the user, with the assumption that it is close enough to ASCII or UTF-8 to be mostly readable as-is. Since: 2.52 gi-glibConvert a sequence of bytes encoded as UTF-8 to a Unicode character. This function checks for incomplete characters, for invalid characters such as characters that are out of the range of Unicode, and for overlong encodings of valid characters. Note that   returns (gunichar)-2 if maxLenP is positive and any of the bytes in the first UTF-8 character sequence are nul. gi-glibEConverts a sequence of bytes encoded as UTF-8 to a Unicode character.If p does not point to a valid UTF-8 encoded character, results are undefined. If you are not sure that the bytes are complete valid Unicode characters, you should use   instead. gi-glibGiven a position p with a UTF-8 encoded string strA, find the start of the previous UTF-8 character starting before p . Returns  ' if no UTF-8 characters are present in str before p.p does not have to be at the beginning of a UTF-8 character. No check is made to see if the character found is actually valid other than it starts with an appropriate byte. gi-glib@Finds the start of the next UTF-8 character in the string after p.p does not have to be at the beginning of a UTF-8 character. No check is made to see if the character found is actually valid other than it starts with an appropriate byte.If end is  !, the return value will never be  ]: if the end of the string is reached, a pointer to the terminating nul byte is returned. If end is non- , the return value will be  % if the end of the string is reached. gi-glibzConverts a string into a collation key that can be compared with other collation keys produced by the same function using strcmp().In order to sort filenames correctly, this function treats the dot '.' as a special case. Most dictionary orderings seem to consider it insignificant, thus producing the ordering "event.c" "eventgenerator.c" "event.h" instead of "event.c" "event.h" "eventgenerator.c". Also, we would like to treat numbers intelligently so that "file1" "file10" "file5" is sorted as "file1" "file5" "file10".CNote that this function depends on the [current locale][setlocale]. Since: 2.8 gi-glibzConverts a string into a collation key that can be compared with other collation keys produced by the same function using strcmp().@The results of comparing the collation keys of two strings with strcmp()A will always be the same as comparing the two original keys with  .CNote that this function depends on the [current locale][setlocale]. gi-glibCompares two strings for ordering using the linguistically correct rules for the [current locale][setlocale]. When sorting a large number of strings, it will be significantly faster to obtain collation keys with   and compare the keys with strcmp()6 when sorting instead of sorting the original strings. gi-glibConverts a string into a form that is independent of case. The result will not correspond to any particular case, but can be compared for equality or ordered with the results of calling   on other strings.Note that calling   followed by   is only an approximation to the correct linguistic case insensitive ordering, though it is a fairly good one. Getting this exactly right would require a more sophisticated collation function that takes case sensitivity into account. GLib does not currently provide such a function. gi-glib?Pauses the current thread for the given number of microseconds.@There are 1 million microseconds per second (represented by the   macro).  u may have limited precision, depending on hardware and operating system; don't rely on the exact length of the sleep. gi-glib!Unescapes a whole escaped string.If any of the characters in illegalCharacters: or the character zero appears as an escaped character in  escapedString then that is an error and   will be returned. This is useful it you want to avoid for instance having a slash being expanded in an escaped path element, which might confuse pathname handling. Since: 2.16 gi-glib)Unescapes a segment of an escaped string.If any of the characters in illegalCharacters: or the character zero appears as an escaped character in  escapedString then that is an error and   will be returned. This is useful it you want to avoid for instance having a slash being expanded in an escaped path element, which might confuse pathname handling. Since: 2.16 gi-glibGets the scheme portion of a URI string. RFC 3986 decodes the scheme as: > >URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]6Common schemes include "file", "http", "svn+ssh", etc. Since: 2.16 gi-glibSplits an URI list conforming to the text/uri-list mime type defined in RFC 2483 into individual URIs, discarding any comments. The URIs are not validated. Since: 2.6 gi-glib"Escapes a string for use in a URI.Normally all characters that are not "unreserved" (i.e. ASCII alphanumerical characters plus dash, dot, underscore and tilde) are escaped. But if you specify characters in reservedCharsAllowed they are not escaped. This is useful for the "reserved" characters in the URI specification, since those are allowed unescaped in some portions of a URI. Since: 2.16 gi-glib5Removes an environment variable from the environment.Note that on some systems, when variables are overwritten, the memory used for the previous variables and its value isn't reclaimed.You should be mindful of the fact that environment variable handling in UNIX is not thread-safe, and your program may crash if one thread calls  ! while another thread is calling getenv()). (And note that many functions, such as  gettext(), call getenv() internally.) This function is only safe to use at the very start of your program, before creating any other threads (or creating objects that create worker threads of their own).GIf you need to set up the environment for a child process, you can use  / to get an environment array, modify that with   and  ', and then pass that array directly to  execvpe(),  n, or the like. Since: 2.4 gi-glibA wrapper for the POSIX unlink() function. The unlink() function deletes a name from the filesystem. If this was the last link to the file and no processes have it opened, the diskspace occupied by the file is freed.1See your C library manual for more details about unlink(){. Note that on Windows, it is in general not possible to delete files that are open to some process, or mapped into memory. Since: 2.6 gi-glib Create a *T: that will be dispatched upon delivery of the UNIX signal signum&. In GLib versions before 2.36, only SIGHUP, SIGINT, SIGTERM" can be monitored. In GLib 2.36, SIGUSR1 and SIGUSR2 were added. In GLib 2.54, SIGWINCH was added.Note that unlike the UNIX default, all sources which have created a watch will be dispatched, regardless of which underlying thread invoked  .<For example, an effective use of this function is to handle SIGTERM cleanly; flushing any outstanding files, and then calling g_main_loop_quit (). It is not safe to do any of this a regular UNIX signal handler; your handler may be invoked while malloc() or another library function is running, causing reentrancy if you attempt to use it from the handler. None of the GLib/GObject API is safe against this kind of reentrancy.MThe interaction of this source when combined with native UNIX functions like  sigprocmask() is not defined.5The source will not initially be associated with any  and must be added to one with *  before it will be executed. Since: 2.30 gi-glibA convenience function for   , which attaches to the default ". You can remove the watch using =. Since: 2.30 gi-glibJControl the non-blocking state of the given file descriptor, according to nonblock. On most systems this uses  O_NONBLOCK!, but on some older ones may use O_NDELAY. Since: 2.30 gi-glibSimilar to the UNIX pipe()1 call, but on modern systems like Linux uses the pipe2()n system call, which atomically creates a pipe with the configured flags. The only supported flag currently is  FD_CLOEXEC'. If for example you want to configure  O_NONBLOCK*, that must still be done separately with fcntl().This function does not take  O_CLOEXEC , it takes  FD_CLOEXEC as if for fcntl()%; these are different on Linux/glibc. Since: 2.30 gi-glib Creates a *T= to watch for a particular IO condition on a file descriptor.>The source will never close the fd -- you must do it yourself. Since: 2.36 gi-glibDSets a function to be called when the IO condition, as specified by  condition becomes true for fd.This is the same as g_unix_fd_add()N, except that it allows you to specify a non-default priority and a provide a / for userData. Since: 2.36 gi-glib3No description available in the introspection data. gi-glib Looks up the ISO 15924 code for script. ISO 15924 assigns four-letter codes to scripts. For example, the code for Arabic is 'Arab'. The four letter codes are encoded as a guint32 by this function in a big-endian fashion. That is, the code returned for Arabic is 0x41726162 (0x41 is ASCII code for 'A', 0x72 is ASCII code for 'r', etc).See  *http://unicode.org/iso15924/codelists.html0Codes for the representation of names of scripts for details. Since: 2.30 gi-glib Looks up the Unicode script for iso15924. ISO 15924 assigns four-letter codes to scripts. For example, the code for Arabic is 'Arab'. This function accepts four letter codes encoded as a guint32 in a big-endian fashion. That is, the code expected for Arabic is 0x41726162 (0x41 is ASCII code for 'A', 0x72 is ASCII code for 'r', etc).See  *http://unicode.org/iso15924/codelists.html0Codes for the representation of names of scripts for details. Since: 2.30 gi-glibComputes the canonical ordering of a string in-place. This rearranges decomposed characters in the string according to their combining classes. See the Unicode manual for more information. gi-glib<Computes the canonical decomposition of a Unicode character. gi-glibCDetermines the numeric value of a character as a hexidecimal digit. gi-glibChecks whether ch? is a valid Unicode character. Some possible integer values of ch` will not be valid. 0 is considered a valid character, though it's normally a string terminator. gi-glib'Classifies a Unicode character by type. gi-glib"Converts a character to uppercase. gi-glib&Converts a character to the titlecase. gi-glib#Converts a character to lower case. gi-glib^Determines if a given character typically takes zero width when rendered. The return value is   for all non-spacing and enclosing marks (e.g., combining accents), format characters, zero-width space, but not U+00AD SOFT HYPHEN..A typical use of this function is with one of   or   to determine the number of cells a string occupies when displayed on a grid display (terminals). However, note that not all terminals support zero-width rendering of zero-width marks. Since: 2.14 gi-glib1Determines if a character is a hexidecimal digit. gi-glibDetermines if a character is typically rendered in a double-width cell under legacy East Asian locales. If a character is wide according to  f, then it is also reported wide with this function, but the converse is not necessarily true. See the  $http://www.unicode.org/reports/tr11/Unicode Standard Annex #11 for details.If a character passes the  } test then it will also pass this test, but not the other way around. Note that some characters may pass both this test and  . Since: 2.12 gi-glibGDetermines if a character is typically rendered in a double-width cell. gi-glib'Determines if a character is uppercase. gi-glib[Determines if a character is titlecase. Some characters in Unicode which are composites, such as the DZ digraph have three case variants instead of just two. The titlecase form is used at the beginning of a word where only the first letter is capitalized. The titlecase form of the DZ digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z. gi-glibDetermines whether a character is a space, tab, or line separator (newline, carriage return, etc.). Given some UTF-8 text, obtain a character value with  .(Note: don't use this to do word breaking; you have to use Pango or equivalent to get word breaking right, the algorithm is fairly complex.) gi-glibpDetermines whether a character is punctuation or a symbol. Given some UTF-8 text, obtain a character value with  . gi-glib4Determines whether a character is printable. Unlike   , returns  B for spaces. Given some UTF-8 text, obtain a character value with  . gi-glibDetermines whether a character is a mark (non-spacing mark, combining mark, or enclosing mark in Unicode speak). Given some UTF-8 text, obtain a character value with  .Note: in most cases where isalpha characters are allowed, ismark characters should be allowed to as they are essential for writing most European languages as well as many non-Latin scripts. Since: 2.14 gi-glibkDetermines whether a character is a lowercase letter. Given some UTF-8 text, obtain a character value with  . gi-glibEDetermines whether a character is printable and not a space (returns  9 for control characters, format characters, and spaces).   is similar, but returns  B for spaces. Given some UTF-8 text, obtain a character value with  . gi-glibDetermines whether a character is numeric (i.e. a digit). This covers ASCII 0-9 and also digits in other languages/scripts. Given some UTF-8 text, obtain a character value with  . gi-glibDDetermines if a given character is assigned in the Unicode standard. gi-gliblDetermines whether a character is a control character. Given some UTF-8 text, obtain a character value with  . gi-glibsDetermines whether a character is alphabetic (i.e. a letter). Given some UTF-8 text, obtain a character value with  . gi-glibeDetermines whether a character is alphanumeric. Given some UTF-8 text, obtain a character value with  . gi-glib Looks up the ] for a particular character (as defined by Unicode Standard Annex #24). No check is made for ch\ being a valid Unicode character; if you pass in invalid character, the result is undefined.This function is equivalent to pango_script_for_unichar()! and the two are interchangeable. Since: 2.14 gi-glibIn Unicode, some characters are "mirrored". This means that their images are mirrored horizontally in text that is laid out from right to left. For instance, "(" would become its mirror image, ")", in right-to-left text.If ch has the Unicode mirrored property and there is another unicode character that typically has a glyph that is the mirror image of ch 's glyph and  mirroredCh= is set, it puts that character in the address pointed to by  mirroredCh+. Otherwise the original character is put. Since: 2.4 gi-glib?Determines the numeric value of a character as a decimal digit. gi-glibVPerforms a single decomposition step of the Unicode canonical decomposition algorithm.This function does not include compatibility decompositions. It does, however, include algorithmic Hangul Jamo decomposition, as well as 'singleton' decompositions which replace a character by a single other character. In the case of singletons *b will be set to zero.If ch is not decomposable, *a is set to ch and *b is set to zero.QNote that the way Unicode decomposition pairs are defined, it is guaranteed that b" would not decompose further, but aD may itself decompose. To get the full canonical decomposition for ch6, one would need to recursively call this function on a . Or use g_unichar_fully_decompose().See  http://unicode.org/reports/tr15/UAX#15 for details. Since: 2.30 gi-glibRPerforms a single composition step of the Unicode canonical composition algorithm.aThis function includes algorithmic Hangul Jamo composition, but it is not exactly the inverse of  $. No composition can have either of a or b equal to zero. To be precise, this function composes if and only if there exists a Primary Composite P which is canonically equivalent to the sequence <a,bE>. See the Unicode Standard for the definition of Primary Composite.If a and b! do not compose a new character, ch is set to zero.See  http://unicode.org/reports/tr15/UAX#15 for details. Since: 2.30 gi-glib@Determines the canonical combining class of a Unicode character. Since: 2.14 gi-glibDetermines the break type of c. cS should be a Unicode character (to derive a character from UTF-8 encoded text, use  ). The break type is used to find word and line breaks ("text boundaries"), Pango implements the Unicode boundary resolution algorithms and normally you would use a function such as  pango_break(). instead of caring about break types yourself. gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glibAttempts to realloc mem to a new size, nBytes, and returns   on failure. Contrast with  &, which aborts the program on failure.If mem is  , behaves the same as  . gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glibAttempts to allocate nBytes", initialized to 0's, and returns   on failure. Contrast with  &, which aborts the program on failure. Since: 2.8 gi-glibAttempts to allocate nBytes, and returns   on failure. Contrast with  &, which aborts the program on failure. gi-glibCreates a new timeout source.5The source will not initially be associated with any  and must be added to one with *  before it will be executed.NThe scheduling granularity/accuracy of this timeout source will be in seconds.KThe interval given is in terms of monotonic time, not wall clock time. See  . Since: 2.14 gi-glibCreates a new timeout source.5The source will not initially be associated with any  and must be added to one with *  before it will be executed.LThe interval given is in terms of monotonic time, not wall clock time. See  . gi-glib8Sets a function to be called at regular intervals, with priority5. The function is called repeatedly until it returns  b, at which point the timeout is automatically destroyed and the function will not be called again.Unlike g_timeout_add() , this function operates at whole second granularity. The initial starting point of the timer is determined by the implementation and the implementation is expected to group multiple timers together so that they fire all at the same time. To allow this grouping, the interval to the first timer is rounded and can deviate up to one second from the specified interval. Subsequent timer iterations will generally run at the specified interval.Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given intervalSee [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.8If you want timing more precise than whole seconds, use g_timeout_add() instead.The grouping of timers to fire at the same time results in a more power and CPU efficient behavior so if your timer is in multiples of seconds and you don't require the first timer exactly one second from now, the use of g_timeout_add_seconds() is preferred over g_timeout_add().1This internally creates a main loop source using  0 and attaches it to the main loop context using * >. You can do these steps manually if you need greater control.LThe interval given is in terms of monotonic time, not wall clock time. See  . Since: 2.14 gi-glibSets a function to be called at regular intervals, with the given priority. The function is called repeatedly until it returns  h, at which point the timeout is automatically destroyed and the function will not be called again. The notifys function is called when the timeout is destroyed. The first call to the function will be at the end of the first interval.KNote that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays).See [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.1This internally creates a main loop source using   and attaches it to the global  using * , so the callback will be invoked in whichever thread is running that main context. You can do these steps manually if you need greater control or to use a custom main context.KThe interval given is in terms of monotonic time, not wall clock time. See  . gi-glib&Respawns the test program to run only testPath^ in a subprocess. This can be used for a test case that might not return, or that might abort.If testPath is  ; then the same test is re-run in a subprocess. You can use  %9 to determine whether the test is in a subprocess or not.testPath7 can also be the name of the parent test, followed by " /subprocess/A" and then a name for the specific subtest (or just ending with " /subprocessz" if the test only has one child test); tests with names of this form will automatically be skipped in the parent process.If  usecTimeout\ is non-0, the test subprocess is aborted and considered failing if its run time exceeds it.3The subprocess behavior can be configured with the  flags.You can use methods such as g_test_trap_assert_passed(), g_test_trap_assert_failed(), and g_test_trap_assert_stderr()8 to check the results of the subprocess. (But note that g_test_trap_assert_stdout() and g_test_trap_assert_stderr() cannot be used if  testFlagsC specifies that the child should inherit the parent stdout/stderr.)If your main ()= needs to behave differently in the subprocess, you can call  % (after calling  g_test_init())) to see whether you are in a subprocess.)The following example tests that calling my_object_new(1000000)" will abort with an error message.C code  static void test_create_large_object (void) { if (g_test_subprocess ()) { my_object_new (1000000); return; } // Reruns this same test in a subprocess g_test_trap_subprocess (NULL, 0, 0); g_test_trap_assert_failed (); g_test_trap_assert_stderr ("*ERROR*too large*"); } int main (int argc, char **argv) { g_test_init (&argc, &argv, NULL); g_test_add_func ("/myobject/create_large_object", test_create_large_object); return g_test_run (); } Since: 2.38 gi-glibCheck the result of the last   call. Since: 2.16 gi-glibCheck the result of the last   call. Since: 2.16 gi-glib_Fork the current test program to execute a test case that might not return or that might abort.If  usecTimeout] is non-0, the forked test case is aborted and considered failing if its run time exceeds it.0The forking behavior can be configured with the  flags.In the following example, the test code forks, the forked child process produces some sample output and exits successfully. The forking parent process then asserts successful child program termination and validates child program outputs.C code  static void test_fork_patterns (void) { if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) { g_print ("some stdout text: somagic17\n"); g_printerr ("some stderr text: semagic43\n"); exit (0); // successful test run } g_test_trap_assert_passed (); g_test_trap_assert_stdout ("*somagic17*"); g_test_trap_assert_stderr ("*semagic43*"); } Since: 2.16 !gi-glib3No description available in the introspection data. "gi-glibStart a timing test. Call  $U when the task is supposed to be done. Call this function again to restart the timer. Since: 2.16 #gi-glibReport the last result of  $. Since: 2.16 $gi-glib4Get the time since the last start of the timer with  ". Since: 2.16 %gi-glibReturns   (after  g_test_init()7 has been called) if the test program is running under  . Since: 2.38 &gi-glib"Indicates that a test was skipped.Calling this function will not stop the test from running, you need to return from the test function yourself. So you can produce additional diagnostic messages or even continue running the test.=If not called from inside a test, this function does nothing. Since: 2.38 'gi-glibChanges the behaviour of g_assert_cmpstr(), g_assert_cmpint(), g_assert_cmpuint(), g_assert_cmphex(), g_assert_cmpfloat(), g_assert_true(), g_assert_false(), g_assert_null(), g_assert_no_error(), g_assert_error(), !g_test_assert_expected_messages()Y and the various g_test_trap_assert_*() macros to not abort to program, but instead call  42 and continue. (This also changes the behavior of  4W so that it will not cause the test program to abort after completing the failed test.)Note that the g_assert_not_reached() and  g_assert() are not affected by this.'This function can only be called after  g_test_init(). Since: 2.38 (gi-glibExecute the tests within suite and all nested  GTestSuitesP. The test suites to be executed are filtered according to test path arguments ( -p testpath and  -s testpath) as parsed by  g_test_init() . See the  )G documentation for more information on the order that tests are run in. ( or  )& may only be called once in a program. Since: 2.16 )gi-glibDRuns all tests under the toplevel suite which can be retrieved with g_test_get_root() . Similar to  (J, the test cases to be run are filtered according to test path arguments ( -p testpath and  -s testpath) as parsed by  g_test_init().  ( or  )& may only be called once in a program.In general, the tests and sub-suites within each suite are run in the order in which they are defined. However, note that prior to GLib 2.36, there was a bug in the  g_test_add_* functions which caused them to create multiple suites with the same name, meaning that if you created tests "/foo/simple", "/bar/simple", and "/foo/using-bar" in that order, they would get run in that order (since  )= would run the first "/foo" suite, then the "/bar" suite, then the second "/foo" suite). As of 2.36, this bug is fixed, and adding the tests in that order would result in a running order of "/foo/simple", "/foo/using-bar", "/bar/simple". If this new ordering is sub-optimal (because it puts more-complicated tests before simpler ones, making it harder to figure out exactly what has failed), you can fix it by changing the test paths to group tests by suite in a way that will result in the desired running order. Eg, "/simple/foo", "/simple/bar", "/complex/foo-using-bar".However, you should never make the actual result of a test depend on the order that tests are run in. If you need to ensure that some particular code runs before or after a given test case, use  g_test_add()6, which lets you specify setup and teardown functions.If all tests are skipped or marked as incomplete (expected failures), this function will return 0 if producing TAP output, or 77 (treated as "skip test" by Automake) otherwise. Since: 2.16 *gi-glibGGet a reproducible random integer number out of a specified range, see  +) for details on test case random numbers. Since: 2.16 +gi-glib)Get a reproducible random integer number.The random numbers generated by the g_test_rand_*() family of functions change with every new test program start, unless the --seed option is given when starting test programs.For individual test cases however, the random number generator is reseeded, to avoid dependencies between tests and to make --seed effective for all test cases. Since: 2.16 ,gi-glibPGet a reproducible random floating pointer number out of a specified range, see  +) for details on test case random numbers. Since: 2.16 -gi-glib5Get a reproducible random floating point number, see  +) for details on test case random numbers. Since: 2.16 .gi-glib&Enqueue a pointer to be released with  ? during the next teardown phase. This is equivalent to calling  / with a destroy callback of  . Since: 2.16 /gi-glib!This function enqueus a callback  destroyFunc to be executed during the next test case teardown phase. This is most useful to auto destruct allocated test resources at the end of a test run. Resources are released in reverse queue order, that means enqueueing callback A before callback B will cause B() to be called before A() during teardown. Since: 2.16 0gi-glib3No description available in the introspection data. 1gi-glibIndicates that a test failed because of some incomplete functionality. This function can be called multiple times from the same test.Calling this function will not stop the test from running, you need to return from the test function yourself. So you can produce additional diagnostic messages or even continue running the test.=If not called from inside a test, this function does nothing. Since: 2.38 2gi-glibRGets the pathname of the directory containing test files of the type specified by fileType.rThis is approximately the same as calling g_test_build_filename("."), but you don't need to free the return value. Since: 2.38 3gi-glibFReturns whether a test has already failed. This will be the case when  4,  1 or  &7 have been called, but also if an assertion has failed.gThis can be useful to return early from a test if continuing after a failed assertion might be harmful.aThe return value of this function is only meaningful if it is called from inside a test function. Since: 2.38 4gi-glibIndicates that a test failed. This function can be called multiple times from the same test. You can use this function if your test failed in a recoverable way.YDo not use this function if the failure of a test could cause other tests to malfunction.Calling this function will not stop the test from running, you need to return from the test function yourself. So you can produce additional diagnostic messages or even continue running the test.=If not called from inside a test, this function does nothing. Since: 2.30 5gi-glib(Indicates that a message with the given  logDomain and logLevel, with text matching patternr, is expected to be logged. When this message is logged, it will not be printed, and the test case will not abort.4This API may only be used with the old logging API (g_log() without G_LOG_USE_STRUCTUREDn defined). It will not work with the structured logging API. See [Testing for Messages][testing-for-messages].Use !g_test_assert_expected_messages()O to assert that all previously-expected messages have been seen and suppressed.You can call this multiple times in a row, if multiple messages are expected as a result of a single call. (The messages must appear in the same order as the calls to  5.) For example:C code V // g_main_context_push_thread_default() should fail if the // context is already owned by another thread. g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "assertion*acquired_context*failed"); g_main_context_push_thread_default (bad_context); g_test_assert_expected_messages ();&Note that you cannot use this to test  g_error() messages, since  g_error()D intentionally never returns even if the program doesn't abort; use   in this case.If messages at . are emitted, but not explicitly expected via  5 then they will be ignored. Since: 2.34 6gi-glib%Specify the base URI for bug reports.:The base URI is used to construct bug report messages for g_test_message() when  7 is called. Calling this function outside of a test case sets the default base URI for all test cases. Calling it from within a test case changes the base URI for the scope of the test case only. Bug URIs are constructed by appending a bug specific URI portion to  uriPattern1, or by replacing the special string '%s' within  uriPattern if that is present. Since: 2.16 7gi-glibThis function adds a message to test reports that associates a bug URI with a test case. Bug URIs are constructed from a base URI set with  6 and  bugUriSnippet. Since: 2.16 8gi-glib3No description available in the introspection data. 9gi-glib#Create a new test case, similar to g_test_create_case(). However the test is assumed to use no fixture, and test suites are automatically created on the fly and added to the root fixture, based on the slash-separated portions of testpath.If testpath includes the component "subprocess" anywhere in it, the test will be skipped by default, and only run if explicitly required via the -p command-line option or  .No component of testpath may start with a dot (. ) if the G option is being used; and it is recommended to do so even if it isn t. Since: 2.16 :gi-glib#Create a new test case, similar to g_test_create_case(). However the test is assumed to use no fixture, and test suites are automatically created on the fly and added to the root fixture, based on the slash-separated portions of testpath. The testData. argument will be passed as first argument to testFunc.If testpath includes the component "subprocess" anywhere in it, the test will be skipped by default, and only run if explicitly required via the -p command-line option or  .No component of testpath may start with a dot (. ) if the G option is being used; and it is recommended to do so even if it isn t. Since: 2.16 ;gi-glib Returns the length of the given  -terminated string array strArray. strArray must not be  . Since: 2.6 <gi-glib3No description available in the introspection data. =gi-glib Checks if strv1 and strv2Z contain exactly the same elements in exactly the same order. Elements are compared using  c@. To match independently of order, sort the arrays first (using g_qsort_with_data() or similar)./Two empty arrays are considered equal. Neither strv1 not strv2 may be  . Since: 2.60 >gi-glib Checks if strv contains str. strv must not be  . Since: 2.44 ?gi-glib Converts a string to upper case. @gi-glibConverts a string to a gdouble value. It calls the standard strtod()x function to handle the conversion, but if the string is not completely converted it attempts the conversion again with  b, and returns the best match.sThis function should seldom be used. The normal situation when reading numbers not for human consumption is to use  b. Only when you know that you must expect both locale formatted and C formatted numbers should you use this. Make sure that you don't pass strings such as comma separated lists of values, since the commas may be interpreted as a decimal point in some locales, causing unexpected results. Agi-glibSearches the string haystack( for the first occurrence of the string needle', limiting the length of the search to  haystackLen. Bgi-glibwReturns a string describing the given signal, e.g. "Segmentation fault". You should use this function in preference to  strsignal()Y, because it returns a string in UTF-8 encoding, and since not all platforms support the  strsignal() function. Cgi-glibSearches the string haystack' for the last occurrence of the string needle', limiting the length of the search to  haystackLen. Dgi-glibSearches the string haystack' for the last occurrence of the string needle. Egi-glib4Reverses all of the bytes in a string. For example, g_strreverse ("abcdef") will result in "fedcba". Note that  EV doesn't work on UTF-8 strings containing multibyte characters. For that purpose, use  . Fgi-glibCreates a new string length bytes long filled with fillChar<. The returned string should be freed when no longer needed. Ggi-glibDuplicates the first n7 bytes of a string, returning a newly-allocated buffer n8 + 1 bytes long which will always be nul-terminated. If str is less than n/ bytes long the buffer is padded with nuls. If str is   it returns  ;. The returned value should be freed when no longer needed.@To copy a number of characters from a UTF-8 encoded string, use   instead. Hgi-glibDA case-insensitive string comparison, corresponding to the standard  strncasecmp(): function on platforms which support it. It is similar to  Z# except it only compares the first n characters of the strings. Igi-glibPortability wrapper that calls  strlcpy()( on systems which have it, and emulates  strlcpy() otherwise. Copies src to dest; dest% is guaranteed to be nul-terminated; src must be nul-terminated; destSize5 is the buffer size, not the number of bytes to copy.At most destSize> - 1 characters will be copied. Always nul-terminates (unless destSize7 is 0). This function does not allocate memory. Unlike  strncpy(), this function doesn't pad destZ (so it's often faster). It returns the size of the attempted result, strlen (src), so if retval >= destSize, truncation occurred.Caveat:  strlcpy() is supposedly more secure than strcpy() or  strncpy(),, but if you really want to avoid screwups,  S is an even better idea. Jgi-glibPortability wrapper that calls  strlcat()M on systems which have it, and emulates it otherwise. Appends nul-terminated src string to dest#, guaranteeing nul-termination for dest. The total size of dest won't exceed destSize.At most destSize' - 1 characters will be copied. Unlike  strncat(), destSize} is the full size of dest, not the space left over. This function does not allocate memory. It always nul-terminates (unless destSize- == 0 or there were no nul characters in the destSize# characters of dest to start with).8Caveat: this is supposedly a more secure alternative to strcat() or  strncat(), but for real security  g_strconcat() is harder to mess up. Kgi-glibNJoins a number of strings together to form one long string, with the optional  separatorI inserted between each of them. The returned string should be freed with  .If strArray< has no items, the return value will be an empty string. If strArray contains a single item,  separator) will not appear in the resulting string. Lgi-glibAn auxiliary function for  gettext() support (see Q_()). Since: 2.4 Mgi-glibCreates a new ., with enough space for dflSizey bytes. This is useful if you are going to add a lot of text to the string and don't want it to be reallocated too often. Ngi-glibCreates a new . with len bytes of the init' buffer. Because a length is provided, init@ need not be nul-terminated, and can contain embedded nul bytes.aSince this function does not stop at nul bytes, it is the caller's responsibility to ensure that init has at least len addressable bytes. Ogi-glibCreates a new .$, initialized with the given string. Pgi-glibFrees a  A-terminated array of strings, as well as each string it contains.If strArray is  , this function simply returns. Qgi-glib]Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\v', '\' and '"' in the string source by inserting a '\' before them. Additionally all characters in the range 0x01-0x1F (everything below SPACE) and in the range 0x7F-0xFF (all non-ASCII chars) are replaced with a '\' followed by their octal representation. Characters supplied in  exceptions are not escaped. V does the reverse conversion. Rgi-glibWReturns a string corresponding to the given error code, e.g. "no such process". Unlike  strerror(), this always returns a string in UTF-8 encoding, and the pointer is guaranteed to remain valid for the lifetime of the process.GNote that the string may be translated according to the current locale. The value of errno will not be changed by this function. However, it may be changed by intermediate function calls, so you should save its value as soon as the call returns: > > int saved_errno; > > ret = read (blah); > saved_errno = errno; > > g_strerror (saved_errno); Sgi-glibDuplicates a string. If str is   it returns  +. The returned string should be freed with   when no longer needed. Tgi-glib Converts a string to lower case. Ugi-glib%Converts any delimiter characters in string to  newDelimiter. Any characters in string which are found in  delimiters are changed to the  newDelimiter character. Modifies string in place, and returns stringA itself, not a copy. The return value is to allow nesting such asC code 0 g_ascii_strup (g_strdelimit (str, "abc", '?')) Vgi-glib?Replaces all escaped characters with their one byte equivalent.-This function does the reverse conversion of  Q. Wgi-glib Compares str1 and str2 like strcmp() . Handles  % gracefully by sorting it before non-  strings. Comparing two   pointers returns 0. Since: 2.16 Xgi-glibWRemoves leading whitespace from a string, by moving the rest of the characters forward.EThis function doesn't allocate or reallocate any memory; it modifies stringH in place. Therefore, it cannot be used on statically allocated strings.The pointer to string/ is returned to allow the nesting of functions. Also see  Y and  g_strstrip(). Ygi-glib*Removes trailing whitespace from a string.EThis function doesn't allocate or reallocate any memory; it modifies stringH in place. Therefore, it cannot be used on statically allocated strings.The pointer to string/ is returned to allow the nesting of functions. Also see  X and  g_strstrip(). Zgi-glibDA case-insensitive string comparison, corresponding to the standard  strcasecmp()( function on platforms which support it. [gi-glibFor each character in string, if the character is not in  validChars, replaces the character with  substitutor . Modifies string in place, and return stringA itself, not a copy. The return value is to allow nesting such asC code . g_ascii_strup (g_strcanon (str, "abc", '?')) \gi-glib Tokenises string$ and performs folding on each token.A token is a non-empty sequence of alphanumeric characters in the source string, separated by non-alphanumeric characters. An "alphanumeric" character for this purpose is one that matches   or  .=Each token is then (Unicode) normalised and case-folded. If asciiAlternates is non- d and some of the returned tokens contain non-ASCII characters, ASCII alternatives will be generated.dThe number of ASCII alternatives that are generated and the method for doing so is unspecified, but translitLocale^ (if specified) may improve the transliteration if the language of the source string is known. Since: 2.40 ]gi-glibTransliterate str to plain ASCII.For best results, str' should be in composed normalised form.This function performs a reasonably good set of character replacements. The particular set of replacements that is done may change by version or even by runtime environment.If the source language of strS is known, it can used to improve the accuracy of the translation by passing it as  fromLocale9. It should be a valid POSIX locale string (of the form )language[_territory][.codeset][@modifier]).If  fromLocale is  ! then the current locale is used.If you want to do translation for no specific locale, and you want it to be done independently of the currently locale, specify "C" for  fromLocale. Since: 2.40 ^gi-glib!Checks if a search conducted for  searchTerm should match  potentialHit.This function calls  \ on both  searchTerm and  potentialHit(. ASCII alternates are never taken for  searchTerm but will be taken for  potentialHit according to the value of acceptAlternates.'A hit occurs when each folded token in  searchTerm$ is a prefix of a folded token from  potentialHit.SDepending on how you're performing the search, it will typically be faster to call  \[ on each string in your corpus and build an index on the returned folded tokens, then call  \8 on the search term and perform lookups into that index.JAs some examples, searching for fred  would match the potential hit Smith, Fred  and also Frdric . Searching for Frd  would match Frdric  but not Frederic  (due to the one-directional nature of accent matching). Searching fo  would match Foo  and Bar Foo Baz , but not SFO  (because no word has fo  as a prefix). Since: 2.40 _gi-glibkDetermines if a string is pure ASCII. A string is pure ASCII if it contains no bytes with the high bit set. Since: 2.40 `gi-glib"Converts a string to a hash value.This function implements the widely used "djb" hash apparently posted by Daniel Bernstein to comp.lang.c some time ago. The 32 bit unsigned hash value starts at 5381 and for each byte 'c' in the string, is updated: hash = hash * 33 + c3. This function uses the signed value of each byte.It can be passed to g_hash_table_new() as the hashFunc parameter, when using non-  strings as keys in a .Note that this function may not be a perfect fit for all use cases. For example, it produces some hash collisions with strings as short as 2. agi-glibLooks whether the string str ends with suffix. Since: 2.2 bgi-glibLooks whether the string str begins with prefix. Since: 2.2 cgi-glib;Compares two strings for byte-by-byte equality and returns  ( if they are equal. It can be passed to g_hash_table_new() as the  keyEqualFunc parameter, when using non-  strings as keys in a .sThis function is typically used for hash table comparisons, but can be used for general purpose comparisons of non-  strings. For a  &-safe string comparison function, see  W. dgi-glibCopies a nul-terminated string into the dest buffer, include the trailing nul, and return a pointer to the trailing nul byte. This is useful for concatenating multiple strings together without having to repeatedly scan for the end. egi-glibvExecutes a child synchronously (waits for the child to exit before returning). All output from the child is stored in standardOutput and  standardError, if those parameters are non- . Note that you must set the  and  flags when passing   for standardOutput and  standardError.If  exitStatus is non- [, the platform-specific exit status of the child is stored there; see the documentation of  kD for how to use and interpret this. Note that it is invalid to pass  in flags7, and on POSIX platforms, the same restrictions as for  * apply.+If an error occurs, no data is returned in standardOutput,  standardError, or  exitStatus.This function calls  l{ internally; see that function for full details on the other parameters and details on how these functions work on Windows. fgi-glib3No description available in the introspection data. ggi-glib3No description available in the introspection data. hgi-glibA simple version of  e` with little-used parameters removed, taking a command line instead of an argument vector. See  e for full details.  commandLine will be parsed by  z . Unlike  e, the  flag is enabled. Note that 3 can have security implications, so consider using  e9 directly if appropriate. Possible errors are those from  e and those from  z.If  exitStatus is non- [, the platform-specific exit status of the child is stored there; see the documentation of  k# for how to use and interpret this.,On Windows, please note the implications of  z parsing  commandLine. Parsing is done according to Unix shell rules, not Windows command interpreter rules. Space is a separator, and backslashes are special. Thus you cannot simply pass a  commandLine containing canonical Windows paths, like "c:\program files\app\app.exe", as the backslashes will be eaten, and the space will act as a separator. You need to enclose such paths with single quotes, like "'c:\program files\app\app.exe' 'e:\folder\argument.txt'". igi-glibA simple version of  n! that parses a command line with  z and passes it to  n0. Runs a command line in the background. Unlike  n, the 1 flag is enabled, other flags are not. Note that 3 can have security implications, so consider using  n9 directly if appropriate. Possible errors are those from  z and  n.*The same concerns on Windows apply as for  h. jgi-glib(On some platforms, notably Windows, the GPidN type represents a resource which must be closed to prevent resource leaking.  jq is provided for this purpose. It should be used on all platforms, even though it doesn't do anything under UNIX. kgi-glibSet error if  exitStatus^ indicates the child exited abnormally (e.g. with a nonzero exit code, or via a fatal signal).The  e and g_child_watch_add() family of APIs return an exit status for subprocesses encoded in a platform-specific way. On Unix, this is guaranteed to be in the same format  waitpid()> returns, and on Windows it is guaranteed to be the result of GetExitCodeProcess().FPrior to the introduction of this function in GLib 2.34, interpreting  exitStatusp required use of platform-specific APIs, which is problematic for software using GLib as a cross-platform layer.zAdditionally, many programs simply want to determine whether or not the child exited successfully, and either propagate a  v or print a message to standard error. In that common case, this function can be used. Note that the error message in error? will contain human-readable information about the exit status.The domain and code of error have special semantics in the case where the process has an "exit code", as opposed to being killed by a signal. On Unix, this happens if  WIFEXITED() would be true of  exitStatus$. On Windows, it is always the case.LThe special semantics are that the actual exit code will be the code set in error, and the domain will be G_SPAWN_EXIT_ERROR@. This allows you to differentiate between different exit codes.ZIf the process was terminated by some means other than an exit status, the domain will be  G_SPAWN_ERROR, and the code will be .oThis function just offers convenience; you can of course also check the available platform via a macro such as  G_OS_UNIX , and use  WIFEXITED() and  WEXITSTATUS() on  exitStatus directly. Do not attempt to scan or parse the error message string; it may be translated and/or change in future versions of GLib. Since: 2.34 lgi-glibExecutes a child program asynchronously (your program will not block waiting for the child to exit). The child program is specified by the only argument that must be provided, argv. argv should be a  e-terminated array of strings, to be passed as the argument vector for the child. The first string in argvn is of course the name of the program to execute. By default, the name of the program must be a full path. If flags contains the  flag, the PATH? environment variable is used to search for the executable. If flags contains the  flag, the PATH variable from envp3 is used to search for the executable. If both the  and  flags are set, the PATH variable from envp0 takes precedence over the environment variable.+If the program name is not a full path and O flag is not used, then the program will be run from the current directory (or workingDirectoryw, if specified); this might be unexpected or even dangerous in some cases when the current directory is world-writable.On Windows, note that all the string or string vector arguments to this function and the other g_spawn*() functions are in UTF-8, the GLib file name encoding. Unicode characters that are not part of the system codepage passed in these arguments will be correctly available in the spawned program only if it uses wide character API to retrieve its command line. For C programs built with Microsoft's tools it is enough to make the program have a wmain() instead of main(). wmain()3 has a wide character argument vector as parameter.*At least currently, mingw doesn't support wmain()E, so if you use mingw to develop the spawned program, it should call g_win32_get_command_line() to get arguments in UTF-8.4On Windows the low-level child process creation API CreateProcess()o doesn't use argument vectors, but a command line. The C runtime library's spawn*() family of functions (which  l eventually calls) paste the argument vector elements together into a command line, and the C runtime startup code does a corresponding reconstruction of an argument vector from the command line, to be passed to main()g. Complications arise when you have argument vector elements that contain spaces or double quotes. The spawn*() functions don't do any quoting or escaping, but on the other hand the startup code does do unquoting and unescaping in order to enable receiving arguments with embedded spaces or double quotes. To work around this asymmetry,  ld will do quoting and escaping on argument vector elements that need it before calling the C runtime spawn() function. The returned childPid on Windows is a handle to the child process, not its identifier. Process handles and process identifiers are different concepts on Windows.envp is a  =-terminated array of strings, where each string has the form  KEY=VALUE/. This will become the child's environment. If envp is  ., the child inherits its parent's environment.flagsX should be the bitwise OR of any flags you want to affect the function's behaviour. The T means that the child will not automatically be reaped; you must use a child watch (g_child_watch_add()) to be notified about the death of the child process, otherwise it will stay around as a zombie process until this process exits. Eventually you must call  j on the childPid, in order to free resources which may be associated with the child process. (On Unix, using a child watch is equivalent to calling  waitpid() or handling the SIGCHLD& signal manually. On Windows, calling  j is equivalent to calling  CloseHandle()# on the process handle returned in childPid). See g_child_watch_add().%Open UNIX file descriptors marked as  FD_CLOEXEC4 will be automatically closed in the child process.  means that other open file descriptors will be inherited by the child; otherwise all descriptors except stdin/stdout/stderr will be closed before calling exec() in the child.  means that argv?[0] need not be an absolute path, it will be looked for in the PATH environment variable. B means need not be an absolute path, it will be looked for in the PATH variable from envp . If both  and  are used, the value from envp( takes precedence over the environment.  means that the child's standard output will be discarded, instead of going to the same location as the parent's standard output. If you use this flag, standardOutput must be  .  means that the child's standard error will be discarded, instead of going to the same location as the parent's standard error. If you use this flag,  standardError must be  . v means that the child will inherit the parent's standard input (by default, the child's standard input is attached to  /dev/null). If you use this flag,  standardInput must be  . ! means that the first element of argvs is the file to execute, while the remaining elements are the actual argument vector to pass to the file. Normally  l uses argv.[0] as the file to execute, and passes all of argv to the child. childSetup and userData are a function and user data. On POSIX platforms, the function is called in the child after GLib has performed all the setup it plans to perform (including creating pipes, closing file descriptors, etc.) but before calling exec() . That is,  childSetup is called just before calling exec()c in the child. Obviously actions taken in this function will only affect the child, not the parent.!On Windows, there is no separate fork() and exec()L functionality. Child processes are created and run with a single API call, CreateProcess(). There is no sensible thing  childSetup> could be used for on Windows so it is ignored and not called.If non- , childPidx will on Unix be filled with the child's process ID. You can use the process ID to send signals to the child, or to use g_child_watch_add() (or  waitpid()) if you specified the  flag. On Windows, childPidM will be filled with a handle to the child process only if you specified the  flag. You can then access the child process using the Win32 API, for example wait for its termination with the WaitFor*() functions, or examine its exit code with GetExitCodeProcess()#. You should close the handle with  CloseHandle() or  j when you no longer need it.If non- , the  standardInput, standardOutput,  standardError locations will be filled with file descriptors for writing to the child's standard input or reading from its standard output or standard error. The caller of  l[ must close these file descriptors when they are no longer in use. If these parameters are  *, the corresponding pipe won't be created.If  standardInput is  ,, the child's standard input is attached to  /dev/null unless  is set.If  standardErrore is NULL, the child's standard error goes to the same location as the parent's standard error unless  is set.If standardOutputg is NULL, the child's standard output goes to the same location as the parent's standard output unless  is set.error can be   to ignore errors, or non- < to report errors. If an error is set, the function returns  X. Errors are reported even if they occur in the child (for example if the executable in argv![0] is not found). Typically the message[ field of returned errors should be displayed to users. Possible errors are those from the  G_SPAWN_ERROR domain.If an error occurs, childPid,  standardInput, standardOutput, and  standardError& will not be filled with valid values.If childPid is not  V and an error does not occur then the returned process reference must be closed using  j.dOn modern UNIX platforms, GLib can use an efficient process launching codepath driven internally by  posix_spawn()I. This has the advantage of avoiding the fork-time performance costs of cloning the parent process address space, and avoiding associated memory overcommit checks that are not relevant in the context of immediately executing a distinct process. This optimized codepath will be used provided that the following conditions are met:  is set is set is not setworkingDirectory is   childSetup is  The program is of a recognised binary format, or has a shebang. Otherwise, GLib will have to execute the program through the shell, which is not done using the optimized codepath.If you are writing a GTK+ application, and the program you are spawning is a graphical application too, then to ensure that the spawned program opens its windows on the right screen, you may want to use GdkAppLaunchContext, GAppLaunchContext , or set the DISPLAY environment variable. mgi-glib Identical to  l but instead of creating pipes for the stdin/stdout/stderr, you can pass existing file descriptors into this function through the stdinFd, stdoutFd and stderrFd parameters. The following flags8 also have their behaviour slightly tweaked as a result: means that the child's standard output will be discarded, instead of going to the same location as the parent's standard output. If you use this flag, standardOutput must be -1.  means that the child's standard error will be discarded, instead of going to the same location as the parent's standard error. If you use this flag,  standardError must be -1.  means that the child will inherit the parent's standard input (by default, the child's standard input is attached to /dev/null). If you use this flag,  standardInput must be -1.rIt is valid to pass the same fd in multiple parameters (e.g. you can pass a single fd for both stdout and stderr). Since: 2.58 ngi-glibSee  l8 for a full description; this function simply calls the  l without any pipes.You should call  jI on the returned child process reference when you don't need it any more.If you are writing a GTK+ application, and the program you are spawning is a graphical application too, then to ensure that the spawned program opens its windows on the right screen, you may want to use GdkAppLaunchContext, GAppLaunchContext , or set the DISPLAY environment variable.Note that the returned childPid on Windows is a handle to the child process and not its identifier. Process handles and process identifiers are different concepts on Windows. ogi-glibTGets the smallest prime number from a built-in array of primes which is larger than num>. This is used within GLib to calculate the optimum size of a .}The built-in array of primes ranges from 11 to 13845163 such that each prime is approximately 1.5-2 times the previous prime. pgi-glib3No description available in the introspection data. qgi-glib3No description available in the introspection data. rgi-glib3No description available in the introspection data. sgi-glib7Frees a linked list of memory blocks of structure type type.5The memory blocks must be equal-sized, allocated via  w or  v and linked together by a next pointer (similar to ). The offset of the nextq field in each block is passed as third argument. Note that the exact release behaviour can be changed with the [G_DEBUG=gc-friendly+][G_DEBUG] environment variable, also see [G_SLICE)][G_SLICE] for related debugging options.If memChain is  , this function does nothing. Since: 2.10 tgi-glibFrees a block of memory.(The memory must have been allocated via  w or  v and the  blockSizeq has to match the size specified upon allocation. Note that the exact release behaviour can be changed with the [G_DEBUG=gc-friendly+][G_DEBUG] environment variable, also see [G_SLICE)][G_SLICE] for related debugging options.If memBlock is  , this function does nothing. Since: 2.10 ugi-glib@Allocates a block of memory from the slice allocator and copies  blockSize bytes into it from memBlock.memBlock must be non-  if  blockSize is non-zero. Since: 2.14 vgi-glib Allocates a block of memory via  wx and initializes the returned memory to 0. Note that the underlying slice allocation mechanism can be changed with the [G_SLICE=always-malloc ][G_SLICE] environment variable. Since: 2.10 wgi-glibAllocates a block of memory from the slice allocator. The block address handed out can be expected to be aligned to at least 1 * sizeof (void*), though in general slices are 2 * sizeof (void*) bytes aligned, if a malloc() fallback implementation is used instead, the alignment may be reduced in a libc dependent fashion. Note that the underlying slice allocation mechanism can be changed with the [G_SLICE=always-malloc ][G_SLICE] environment variable. Since: 2.10 xgi-glibUnquotes a string as the shell (/bin/sh) would. Only handles quotes; if a string contains file globs, arithmetic operators, variables, backticks, redirections, or other special-to-the-shell features, the result will be different from the result a real shell would produce (the variables, backticks, etc. will be passed through literally instead of being expanded). This function is guaranteed to succeed if applied to the result of  y. If it fails, it returns   and sets the error. The  quotedString3 need not actually contain quoted or escaped text;  x simply goes through the string and unquotes/unescapes anything that the shell would. Both single and double quotes are handled, as are escapes including escaped newlines. The return value must be freed with  . Possible errors are in the  G_SHELL_ERROR domain.WShell quoting rules are a bit strange. Single quotes preserve the literal string exactly. escape sequences are not allowed; not even \' - if you want a ' in the quoted text, you have to do something like 'foo'\''bar'. Double quotes allow $, `, ", \, and newline to be escaped with backslash. Otherwise double quotes preserve things literally. ygi-glibUQuotes a string so that the shell (/bin/sh) will interpret the quoted string to mean unquotedString. If you pass a filename to the shell, for example, you should first quote it with this function. The return value must be freed with  L. The quoting style used is undefined (single or double quotes may be used). zgi-glibParses a command line into an argument vector, in much the same way the shell would, but without many of the expansions the shell would perform (variable expansion, globs, operators, filename expansion, etc. are not supported). The results are defined to be the same as those you would get from a UNIX98 /bin/sh, as long as the input contains none of the unsupported shell expansions. If the input does contain such expansions, they are passed through literally. Possible errors are those from the  G_SHELL_ERROR' domain. Free the returned vector with  P. {gi-glib3No description available in the introspection data. |gi-glibSets an environment variable. On UNIX, both the variable's name and value can be arbitrary byte strings, except that the variable's name cannot contain '='. On Windows, they should be in UTF-8.Note that on some systems, when variables are overwritten, the memory used for the previous variables and its value isn't reclaimed.You should be mindful of the fact that environment variable handling in UNIX is not thread-safe, and your program may crash if one thread calls  |! while another thread is calling getenv()). (And note that many functions, such as  gettext(), call getenv() internally.) This function is only safe to use at the very start of your program, before creating any other threads (or creating objects that create worker threads of their own).GIf you need to set up the environment for a child process, you can use  / to get an environment array, modify that with   and  ', and then pass that array directly to  execvpe(),  n, or the like. Since: 2.4 }gi-glibPSets the name of the program. This name should not be localized, in contrast to  .If you are using  GApplication the program name is set in g_application_run()&. In case of GDK or GTK+ it is set in  gdk_init(), which is called by  gtk_init() and the GtkApplication::startupD handler. The program name is found by taking the last component of argv[0].JNote that for thread-safety reasons this function can only be called once. ~gi-glibDoes nothing if err is  ; if err is non- , then *err must be  . A new   is created and assigned to *err . Unlike  g_set_error(), message is not a printf()+-style format string. Use this function if message? contains text you don't have control over, that could include printf() escape sequences. Since: 2.18 gi-glibSets a human-readable name for the application. This name should be localized if possible, and is intended for display to the user. Contrast with  }#, which sets a non-localized name.  }! will be called automatically by  gtk_init(), but   will not.KNote that for thread safety reasons, this function can only be called once.The application name will be used in contexts such as error messages, or when displaying an application's name in the task list. Since: 2.2 gi-glibA wrapper for the POSIX rmdir() function. The rmdir()2 function deletes a directory from the filesystem.5See your C library manual for more details about how rmdir() works on your system. Since: 2.6 gi-glibResets the cache used for  k, so that the latest on-disk version is used. Call this only if you just changed the data on disk yourself.aDue to thread safety issues this may cause leaking of strings that were previously returned from  m that can't be freed. We ensure to only leak the data for the directories that actually changed value though. Since: 2.22 gi-glibxReleases a reference on a string; if it was the last reference, the resources allocated by the string are freed as well. Since: 2.58 gi-glibBCreates a new reference counted string and copies the contents of str into it, up to len bytes.aSince this function does not stop at nul bytes, it is the caller's responsibility to ensure that str has at least len addressable bytes. Since: 2.58 gi-glibACreates a new reference counted string and copies the content of str into it.7If you call this function multiple times with the same str, or with the same contents of strC, it will return a new reference, instead of creating a new string. Since: 2.58 gi-glibBCreates a new reference counted string and copies the contents of str into it. Since: 2.58 gi-glibRetrieves the length of str. Since: 2.58 gi-glib!Acquires a reference on a string. Since: 2.58 gi-glib'Initializes a reference count variable. Since: 2.58 gi-glibIncreases the reference count. Since: 2.58 gi-glibDecreases the reference count. Since: 2.58 gi-glibCompares the current value of rc with val. Since: 2.58 gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glib%Reallocates the memory pointed to by mem, so that it now has space for nBytesW bytes of memory. It returns the new address of the memory, which may have been moved. mem may be  5, in which case it's considered to have zero-length. nBytes may be 0, in which case   will be returned and mem will be freed unless it is  . gi-glib,Releases a reference on the data pointed by memBlock.0If the reference was the last one, it will call  clearFunc to clear the contents of memBlock1, and then will free the resources allocated for memBlock. Since: 2.58 gi-glib,Releases a reference on the data pointed by memBlock.LIf the reference was the last one, it will free the resources allocated for memBlock. Since: 2.58 gi-glib<Retrieves the size of the reference counted data pointed by memBlock. Since: 2.58 gi-glibLAllocates a new block of data with reference counting semantics, and copies  blockSize bytes of memBlock into it. Since: 2.58 gi-glib Allocates  blockSize> bytes of memory, and adds reference counting semantics to it.1The contents of the returned data is set to zero.>The data will be freed when its reference count drops to zero.NThe allocated data is guaranteed to be suitably aligned for any built-in type. Since: 2.58 gi-glib Allocates  blockSize> bytes of memory, and adds reference counting semantics to it.>The data will be freed when its reference count drops to zero.NThe allocated data is guaranteed to be suitably aligned for any built-in type. Since: 2.58 gi-glib,Acquires a reference on the data pointed by memBlock. Since: 2.58 gi-glibdSets the seed for the global random number generator, which is used by the g_random_* functions, to seed. gi-glibReturns a random gint32% equally distributed over the range [begin..end-1]. gi-glibReturn a random guint320 equally distributed over the range [0..2^32-1]. gi-glibReturns a random gdouble% equally distributed over the range [begin..end). gi-glibReturns a random gdouble+ equally distributed over the range [0..1). gi-glib Gets the GQuark5 associated with the given string, or 0 if string is   or it has no associated GQuark.FIf you want the GQuark to be created if it doesn't already exist, use   or  . gi-glib*Gets the string associated with the given GQuark. gi-glib Gets the GQuarkS identifying the given string. If the string does not currently have an associated GQuark, a new GQuark( is created, using a copy of the string. gi-glib Gets the GQuark\ identifying the given (static) string. If the string does not currently have an associated GQuark, a new GQuark( is created, linked to the given string.(Note that this function is identical to   except that if a new GQuark is created the string itself is used rather than a copy. This saves memory, but can only be used if the string will continue to exist until the program terminates. It can be used with statically allocated strings in the main program, but not with statically allocated memory in dynamically loaded modules, if you expect to ever unload the module again (e.g. do not use this function in GTK+ theme engines). gi-glibIf dest is  , free src; otherwise, moves src into *dest. The error variable dest points to must be  .src must be non- . Note that srcg is no longer valid after this call. If you want to keep using the same GError*, you need to set it to  # after calling this function on it. gi-glibPolls fds, as with the poll()8 system call, but portably. (On systems that don't have poll(), it is emulated using select().) This is used internally by , but it can be called directly if you need to block until a file descriptor is ready, but don't want to run the full main loop.Each element of fds is a  R2 describing a single file descriptor to poll. The fd. field indicates the file descriptor, and the events8 field indicates the events to poll for. On return, the revents> fields will be filled with the events that actually occurred.*On POSIX systems, the file descriptors in fdso can be any sort of file descriptor, but the situation is much more complicated on Windows. If you need to use  V in code that has to run on Windows, the easiest solution is to construct all of your GPollFDs with  g_io_channel_win32_make_pollfd(). Since: 2.20 gi-glib\This is equivalent to g_bit_unlock, but working on pointers (or other pointer-sized values).PFor portability reasons, you may only lock on the bottom 32 bits of the pointer. Since: 2.30 gi-glib]This is equivalent to g_bit_trylock, but working on pointers (or other pointer-sized values).PFor portability reasons, you may only lock on the bottom 32 bits of the pointer. Since: 2.30 gi-glibZThis is equivalent to g_bit_lock, but working on pointers (or other pointer-sized values).PFor portability reasons, you may only lock on the bottom 32 bits of the pointer. Since: 2.30 gi-glibzMatches a string against a compiled pattern. If the string is to be matched against more than one pattern, consider using  - instead while supplying the reversed string. gi-glibMatches a string against a pattern given as a string. If this function is to be called in a loop, it's more efficient to compile the pattern once with g_pattern_spec_new() and call   repeatedly. gi-glibMatches a string against a compiled pattern. Passing the correct length of the string given is mandatory. The reversed string can be omitted by passing  `, this is more efficient if the reversed version of the string to be matched is not at hand, as  I will only construct it if the compiled pattern requires reverse matches.6Note that, if the user code will (possibly) match a string against a multitude of patterns containing wildcards, chances are high that some patterns will require a reversed string. In this case, it's more efficient to provide the reversed string to avoid multiple constructions thereof in the various calls to  .WNote also that the reverse of a UTF-8 encoded string can in general not be obtained by  E[. This works only if the string does not contain any multibyte characters. GLib offers the  + function to reverse UTF-8 encoded strings. gi-glibReturns a pointer into fileNameQ after the root component, i.e. after the "/" in UNIX or "C:\" under Windows. If fileName$ is not an absolute path it returns  . gi-glibReturns   if the given fileNameQ is an absolute file name. Note that this is a somewhat vague concept on Windows.On POSIX systems, an absolute file name is well-defined. It always starts from the single root directory. For example "/usr/local".On Windows, the concepts of current drive and drive-specific current directory introduce vagueness. This function interprets as an absolute file name one that either begins with a directory separator such as "\Users\tml" or begins with the root on a drive, for example "C:\Windows". The first case also includes UNC paths such as "\\myserver\docs\foo". In all cases, either slashes or backslashes are accepted.Note that a file name relative to the current drive root does not truly specify a file uniquely over time and across processes, as the current drive is a per-process value and can be changed.File names relative the current directory on some specific drive, such as "D:foo/bar", are not interpreted as absolute by this function, but they obviously are not relative to the normal current directory as returned by getcwd() or  Y either. Such paths should be avoided, or need to be handled using Windows-specific code. gi-glibVGets the directory components of a file name. For example, the directory component of  /usr/bin/test is /usr/bin. The directory component of / is /.xIf the file name has no directory components "." is returned. The returned string should be freed when no longer needed. gi-glib(Gets the last component of the filename.If fileNameQ ends with a directory separator it gets the component before the last slash. If fileNameu consists only of directory separators (and on Windows, possibly a drive letter), a single separator is returned. If fileName is empty, it gets ".". gi-glib4Parses a string containing debugging options into a guint containing bit flags. This is used within GDK and GTK+ to parse the debug options passed on the command line or through environment variables.If stringO is equal to "all", all flags are set. Any flags specified along with "all" in stringq are inverted; thus, "all,foo,bar" or "foo,bar,all" sets all flags except those corresponding to "foo" and "bar".If string/ is equal to "help", all the available keys in keys# are printed out to standard error. gi-glib3No description available in the introspection data. gi-glibVInvokes gdb, which attaches to the current process and shows a stack trace. Called by  b when the "[S]tack trace" option is selected. You can get the current process's program name with   , assuming that you have called  gtk_init() or  gdk_init().@This function may cause different actions on non-UNIX platforms. gi-glibPrompts the user with /[E]xit, [H]alt, show [S]tack trace or [P]roceed. This function is intended to be used for debugging use only. The following example shows how it can be used together with the g_log() functions.C code 6 #include <glib.h> static void log_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { g_log_default_handler (log_domain, log_level, message, user_data); g_on_error_query (MY_PROGRAM_NAME); } int main (int argc, char *argv[]) { g_log_set_handler (MY_LOG_DOMAIN, G_LOG_LEVEL_WARNING | G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL, log_handler, NULL); ...LIf "[E]xit" is selected, the application terminates with a call to _exit(0). If "[S]tack" trace is selected,  | is called. This invokes gdb, which attaches to the current process and shows a stack trace. The prompt is then shown again.1If "[P]roceed" is selected, the function returns.@This function may cause different actions on non-UNIX platforms. gi-glib3No description available in the introspection data. gi-glib-Set the pointer at the specified location to  . gi-glibfCreate a directory if it doesn't already exist. Create intermediate parent directories as needed, too. Since: 2.8 gi-glib Allocates byteSize bytes of memory, and copies byteSize bytes into it from mem. If mem is   it returns  . gi-glibThis function used to let you override the memory allocation function. However, its use was incompatible with the use of global constructors in GLib and GIO, because those use the GLib allocators before main is reached. Therefore this function is now deprecated and is just a stub. gi-glibGLib used to support some tools for memory profiling, but this no longer works. There are many other useful tools for memory profiling these days which can be used instead. gi-glib%Checks whether the allocator used by  6 is the system's malloc implementation. If it returns   memory allocated with malloc()9 can be used interchangeable with memory allocated using  j. This function is useful for avoiding an extra copy of allocated memory returned by a non-GLib-based API. gi-glibEscapes text so that the markup parser will parse it verbatim. Less than, greater than, ampersand, etc. are replaced with the corresponding entities. This function would typically be used when writing out a file to be parsed with the markup parser.Note that this function doesn't protect whitespace and line endings from being processed according to the XML rules for normalization of line endings and attribute values.PNote also that this function will produce character references in the range of &x1; ... &x1f; for all control sequences except for tabstop, newline and carriage return. The character references in this range are not valid XML 1.0, but they are valid XML 1.1 and will be accepted by the GMarkup parser. gi-glib3No description available in the introspection data. gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glibThis function is similar to  , allocating (nBlocks *  nBlockBytesM) bytes, but care is taken to detect possible overflow during multiplication. Since: 2.24 gi-glib Allocates nBytes) bytes of memory, initialized to 0's. If nBytes is 0 it returns  . gi-glib Allocates nBytes bytes of memory. If nBytes is 0 it returns  . gi-glib+Returns the depth of the stack of calls to  on any u in the current thread. That is, when called from the toplevel, it gives 0. When called from within a callback from   (or !P, etc.) it returns 1. When called from within a callback to a recursive call to  , it returns 2. And so forth.rThis function is useful in a situation like the following: Imagine an extremely simple "garbage collected" system.C code  static GList *free_list; gpointer allocate_memory (gsize size) { gpointer result = g_malloc (size); free_list = g_list_prepend (free_list, result); return result; } void free_allocated_memory (void) { GList *l; for (l = free_list; l; l = l->next); g_free (l->data); g_list_free (free_list); free_list = NULL; } [...] while (TRUE); { g_main_context_iteration (NULL, TRUE); free_allocated_memory(); }This works from an application, however, if you want to do the same thing from a library, it gets more difficult, since you no longer control the main loop. You might think you can simply use an idle function to make the call to free_allocated_memory()w, but that doesn't work, since the idle function could be called from a recursive callback. This can be fixed by using  C code l gpointer allocate_memory (gsize size) { FreeListBlock *block = g_new (FreeListBlock, 1); block->mem = g_malloc (size); block->depth = g_main_depth (); free_list = g_list_prepend (free_list, block); return block->mem; } void free_allocated_memory (void) { GList *l; int depth = g_main_depth (); for (l = free_list; l; ); { GList *next = l->next; FreeListBlock *block = l->data; if (block->depth > depth) { g_free (block->mem); g_free (block); free_list = g_list_delete_link (free_list, l); } l = next; } }There is a temptation to use   to solve problems with reentrancy. For instance, while waiting for data to be received from the network in response to a menu item, the menu item might be selected again. It might seem that one could make the menu item's callback return immediately and do nothing if  : returns a value greater than 1. However, this should be avoided since the user then sees selecting the menu item do nothing. Furthermore, you'll find yourself adding these checks all over your code, since there are doubtless many, many things that the user could do. Instead, you can use the following techniques: Use gtk_widget_set_sensitive()l or modal dialogs to prevent the user from interacting with elements while the main loop is recursing.Avoid main loop recursion in situations where you can't handle arbitrary callbacks. Instead, structure your code so that you simply return to the main loop and then get called again when there is more work to do. gi-glib4Returns the currently firing source for this thread. Since: 2.12 gi-glibCheck whether the given outputFds file descriptor supports ANSI color escape sequences. If so, they can safely be used when formatting log messages. Since: 2.50 gi-glib7Format a structured log message and print it to either stdout or stderr, depending on its log level. " and  messages are sent to stdout#; all other log levels are sent to stderrj. Only fields which are understood by this function are included in the formatted string which is printed.[If the output stream supports ANSI color escape sequences, they will be used in the output.MA trailing new-line character is added to the log message when it is printed.This is suitable for use as a /e. Since: 2.50 gi-glibFormat a structured log message and send it to the systemd journal as a set of key value pairs. All fields are sent to the journal, but if a field has length zero (indicating program-specific data) then only its key will be sent.This is suitable for use as a /e.jIf GLib has been compiled without systemd support, this function is still defined, but will always return . Since: 2.50 gi-glibCheck whether the given outputFd_ file descriptor is a connection to the systemd journal, or something else (like a log file or stdout or stderr).1Invalid file descriptors are accepted and return  Y, which allows for the following construct without needing any additional error handling:C code ; is_journald = g_log_writer_is_journald (fileno (stderr)); Since: 2.50 gi-glibFormat a structured log message as a string suitable for outputting to the terminal (or elsewhere). This will include the values of all fields it knows how to interpret, which includes MESSAGE and  GLIB_DOMAIN (see the documentation for g_log_structured()2). It does not include values from unknown fields.The returned string does **not** have a trailing new-line character. It is encoded in the character set of the current locale, which is not necessarily UTF-8. Since: 2.50 gi-glibFormat a structured log message and output it to the default log destination for the platform. On Linux, this is typically the systemd journal, falling back to stdout or stderrI if running from the terminal or if output is being redirected to a file.Support for other platform-specific logging mechanisms may be added in future. Distributors of GLib may modify this function to impose their own (documented) platform-specific log writing policies.This is suitable for use as a /e:, and is the default writer used if no other is set using =.As with  S, this function drops debug and informational messages unless their log domain (or all#) is listed in the space-separated G_MESSAGES_DEBUG environment variable. Since: 2.50 gi-glib@Log a message with structured data, accepting the data within a  R. This version is especially useful for use in other languages, via introspection.The only mandatory item in the fieldsK dictionary is the "MESSAGE" which must contain the text shown to the user.The values in the fields- dictionary are likely to be of type String (G_VARIANT_TYPE_STRING). Array of bytes (G_VARIANT_TYPE_BYTESTRING) is also supported. In this case the message is handled as binary and will be forwarded to the log writer as such. The size of the array should not be higher than  G_MAXSSIZE?. Otherwise it will be truncated to this size. For other types #$1 will be used to convert the value into a string.<For more details on its usage and about the parameters, see g_log_structured(). Since: 2.50 gi-glibvLog a message with structured data. The message will be passed through to the log writer set by the application using =1. If the message is fatal (i.e. its log level is %;), the program will be aborted at the end of this function.See g_log_structured() for more documentation.This assumes that logLevel is already present in fields (typically as the PRIORITY field). Since: 2.50 gi-glibLike g_log_set_handler()%, but takes a destroy notify for the userData.nThis has no effect if structured logging is enabled; see [Using Structured Logging][using-structured-logging]. Since: 2.46 gi-glib9Sets the log levels which are fatal in the given domain. % is always fatal.5This has no effect on structured log messages (using g_log_structured() or  u). To change the fatal behaviour for specific log messages, programs must install a custom log writer function using =;. See [Using Structured Logging][using-structured-logging].1This function is mostly intended to be used with & . You should typically not set ', (, " or ) as fatal except inside of test programs. gi-glibSets the message levels which are always fatal, in any log domain. When a message with any of these levels is logged the program terminates. You can only set the levels defined by GLib to be fatal. % is always fatal.FYou can also make some message levels fatal at runtime by setting the G_DEBUG environment variable (see  8http://developer.gnome.org/glib/stable/glib-running.htmlRunning GLib Applications).~Libraries should not call this function, as it affects all messages logged by a process, including those from other libraries.Structured log messages (using g_log_structured() and  ) are fatal only if the default log writer is used; otherwise it is up to the writer function to determine which log messages are fatal. See [Using Structured Logging][using-structured-logging]. gi-glibRemoves the log handler.nThis has no effect if structured logging is enabled; see [Using Structured Logging][using-structured-logging]. gi-glib(The default log handler set up by GLib; g_log_set_default_handler() allows to install an alternate default log handler. This is used if no log handler has been set for the particular log domain and log level combination. It outputs the message to stderr or stdout and if the log level is fatal it calls G_BREAKPOINT()r. It automatically prints a new-line character after the message, so one does not need to be manually included in message.XThe behavior of this log handler can be influenced by a number of environment variables:G_MESSAGES_PREFIXEDw: A :-separated list of log levels for which messages should be prefixed by the program name and PID of the aplication.G_MESSAGES_DEBUG: A space-separated list of log domains for which debug and informational messages are printed. By default these messages are not printed.stderr is used for levels %, &, ' and (. stdout is used for the rest.nThis has no effect if structured logging is enabled; see [Using Structured Logging][using-structured-logging]. gi-glibConverts a string which is in the encoding used for strings by the C runtime (usually the same as that used by the operating system) in the [current locale][setlocale] into a UTF-8 string.bIf the source encoding is not UTF-8 and the conversion output contains a nul character, the error )! is set and the function returns  Q. If the source encoding is UTF-8, an embedded nul character is treated with the M error for backward compatibility with earlier versions of this library. Use  !< to produce output that may contain embedded nul characters. gi-glibConverts a string from UTF-8 to the encoding used for strings by the C runtime (usually the same as that used by the operating system) in the [current locale][setlocale]. On Windows this means the system codepage.>The input string shall not contain nul characters even if the lenT argument is positive. A nul character found inside the string will result in error . Use  !; to convert input that may contain embedded nul characters. gi-glib7Gets the names of all variables set in the environment.TPrograms that want to be portable to Windows should typically use this function and   instead of using the environ array from the C library directly. On Windows, the strings in the environ array are in system codepage encoding, while in most of the typical use cases for environment variables in GLib-using programs you want the UTF-8 encoding that this function and   provide. Since: 2.8 gi-glib Creates a *T that's dispatched when  condition is met for the given channel. For example, if condition is G_IO_INH, the source will be dispatched when there's data available for reading.g_io_add_watch() is a simpler interface to this same functionality, for the case where you want to add the source to the default main loop context at the default priority.On Windows, polling a *T created to watch a channel for a socket puts the socket in non-blocking mode. This is a side-effect of the implementation and unavoidable. gi-glib Adds the `< into the default main loop context with the given priority.1This internally creates a main loop source using  / and attaches it to the main loop context with * >. You can do these steps manually if you need greater control. gi-glib'Returns a canonical representation for string\. Interned strings can be compared for equality by comparing the pointers, instead of using strcmp(). Since: 2.10 gi-glib'Returns a canonical representation for string\. Interned strings can be compared for equality by comparing the pointers, instead of using strcmp().  % does not copy the string, therefore string must not be freed or modified. Since: 2.10 gi-glibConverts a pointer to a gint& to a hash value. It can be passed to g_hash_table_new() as the hashFunc parameter, when using non- ) pointers to integer values as keys in a .,Note that this function acts on pointers to gint , not on gint5 directly: if your hash table's keys are of the form GINT_TO_POINTER (n), use   instead. gi-glibCompares the two gint% values being pointed to and returns  ( if they are equal. It can be passed to g_hash_table_new() as the  keyEqualFunc parameter, when using non- # pointers to integers as keys in a .,Note that this function acts on pointers to gint , not on gint5 directly: if your hash table's keys are of the form GINT_TO_POINTER (n), use   instead. gi-glibConverts a pointer to a gint64 to a hash value.It can be passed to g_hash_table_new() as the hashFunc parameter, when using non- 0 pointers to 64-bit integer values as keys in a . Since: 2.22 gi-glibCompares the two gint64% values being pointed to and returns  ( if they are equal. It can be passed to g_hash_table_new() as the  keyEqualFunc parameter, when using non- * pointers to 64-bit integers as keys in a . Since: 2.22 gi-glibCreates a new idle source.5The source will not initially be associated with any  and must be added to one with * P before it will be executed. Note that the default priority for idle sources is *@, as compared to other sources which have a default priority of +. gi-glib.Removes the idle function with the given data. gi-gliblAdds a function to be called whenever there are no higher priority events pending. If the function returns  Y it is automatically removed from the list of event sources and will not be called again.See [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.1This internally creates a main loop source using   and attaches it to the global  using * , so the callback will be invoked in whichever thread is running that main context. You can do these steps manually if you need greater control or to use a custom main context. gi-glib Converts hostname to its canonical presentation form; a UTF-8 string in Unicode normalization form C, containing no uppercase letters, no forbidden characters, and no ASCII-encoded segments, and not ending with a trailing dot. Of course if hostnamec is not an internationalized hostname, then the canonical presentation form will be entirely ASCII. Since: 2.22 gi-glib Converts hostnamev to its canonical ASCII form; an ASCII-only string containing no uppercase letters and not ending with a trailing dot. Since: 2.22 gi-glib Tests if hostname. contains Unicode characters. If this returns  ', you need to encode the hostname with  + before using it in non-IDN-aware contexts.fNote that a hostname might contain a mix of encoded and unencoded segments, and so it is possible for   and   to both return   for a name. Since: 2.22 gi-glib Tests if hostnameD is the string form of an IPv4 or IPv6 address. (Eg, "192.168.0.1".) Since: 2.22 gi-glib Tests if hostnamej contains segments with an ASCII-compatible encoding of an Internationalized Domain Name. If this returns  &, you should decode the hostname with  " before displaying it to the user.fNote that a hostname might contain a mix of encoded and unencoded segments, and so it is possible for   and   to both return   for a name. Since: 2.22 gi-glib-Returns the value of an environment variable.On UNIX, the name and value are byte strings which might or might not be in some consistent character set and encoding. On Windows, they are in UTF-8. On Windows, in case the environment variable's value contains references to other environment variables, they are expanded. gi-glibBReturns the full path of a special directory using its logical id.gOn UNIX this is done using the XDG special user directories. For compatibility with existing practise, , falls back to  $HOME/Desktop8 when XDG special user directories have not been set up.Depending on the platform, the user might be able to change the path of the special directory without requiring the session to restart; GLib will not reflect any change once the special directories are loaded. Since: 2.14 gi-glibKReturns a directory that is unique to the current user on the local system.9This is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification). This is the directory specified in the XDG_RUNTIME_DIRY environment variable. In the case that this variable is not set, we return the value of  !, after verifying that it exists. Since: 2.28 gi-glib Gets the user name of the current user. The encoding of the returned string is system-defined. On UNIX, it might be the preferred file name encoding, or something else, and there is no guarantee that it is even consistent on a machine. On Windows, it is always UTF-8. gi-glibtReturns a base directory in which to access application data such as icons that is customized for a particular user.KOn UNIX platforms this is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification/. In this case the directory retrieved will be  XDG_DATA_HOME.:On Windows it follows XDG Base Directory Specification if  XDG_DATA_HOME is defined. If  XDG_DATA_HOMEm is undefined, the folder to use for local (as opposed to roaming) application data is used instead. See the  ghttps://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata'documentation for `CSIDL_LOCAL_APPDATA`@. Note that in this case on Windows it will be the same as what   returns. Since: 2.6 gi-glibReturns a base directory in which to store user-specific application configuration information such as user preferences and settings.KOn UNIX platforms this is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification/. In this case the directory retrieved will be XDG_CONFIG_HOME.:On Windows it follows XDG Base Directory Specification if XDG_CONFIG_HOME is defined. If XDG_CONFIG_HOMEm is undefined, the folder to use for local (as opposed to roaming) application data is used instead. See the  ghttps://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata'documentation for `CSIDL_LOCAL_APPDATA`A. Note that in this case on Windows it will be the same as what   returns. Since: 2.6 gi-glibbReturns a base directory in which to store non-essential, cached data specific to particular user.KOn UNIX platforms this is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification/. In this case the directory retrieved will be XDG_CACHE_HOME.:On Windows it follows XDG Base Directory Specification if XDG_CACHE_HOME is defined. If XDG_CACHE_HOME is undefined, the directory that serves as a common repository for temporary Internet files is used instead. A typical path is JC:\Documents and Settings\username\Local Settings\Temporary Internet Files . See the  hhttps://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache(documentation for `CSIDL_INTERNET_CACHE`. Since: 2.6 gi-glib.Gets the directory to use for temporary files. On UNIX, this is taken from the TMPDIR3 environment variable. If the variable is not set, P_tmpdirg is used, as defined by the system C library. Failing that, a hard-coded default of "/tmp" is returned.On Windows, the TEMPq environment variable is used, with the root directory of the Windows installation (eg: "C:\") used as a default.qThe encoding of the returned string is system-defined. On Windows, it is always UTF-8. The return value is never   or the empty string. gi-glib\Returns an ordered list of base directories in which to access system-wide application data.KOn UNIX platforms this is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification8 In this case the list of directories retrieved will be  XDG_DATA_DIRS.:On Windows it follows XDG Base Directory Specification if  XDG_DATA_DIRS is defined. If  XDG_DATA_DIRS% is undefined, the first elements in the list are the Application Data and Documents folders for All Users. (These can be determined only on Windows 2000 or later and are not present in the list on other Windows versions.) See documentation for CSIDL_COMMON_APPDATA and CSIDL_COMMON_DOCUMENTS.Then follows the "share" subfolder in the installation folder for the package containing the DLL that calls this function, if it can be determined.Finally the list contains the "share" subfolder in the installation folder for GLib, and in the installation folder for the package the application's .exe file belongs to.The installation folders above are determined by looking up the folder where the module (DLL or EXE) in question is located. If the folder's name is "bin", its parent is used, otherwise the folder itself.[Note that on Windows the returned list can vary depending on where this function is called. Since: 2.6 gi-glibeReturns an ordered list of base directories in which to access system-wide configuration information.KOn UNIX platforms this is determined using the mechanisms described in the  1http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification9. In this case the list of directories retrieved will be XDG_CONFIG_DIRS.:On Windows it follows XDG Base Directory Specification if XDG_CONFIG_DIRS is defined. If XDG_CONFIG_DIRSm is undefined, the directory that contains application data for all users is used instead. A typical path is 4C:\Documents and Settings\All Users\Application Data. This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. This information will not roam and is available to anyone using the computer. Since: 2.6 gi-glib#Queries the system wall-clock time.(This call is functionally equivalent to  K except that the return value is often more convenient than dealing with a :.[You should only use this call if you are actually interested in the real wall-clock time.  1 is probably more useful for measuring intervals. Since: 2.28 gi-glibPGets the real name of the user. This usually comes from the user's entry in the passwd file. The encoding of the returned string is system-defined. (On Windows, it is, however, always UTF-8.) If the real user name cannot be determined, the string "Unknown" is returned. gi-glibPGets the name of the program. This name should not be localized, in contrast to  .If you are using  GApplication the program name is set in g_application_run()&. In case of GDK or GTK+ it is set in  gdk_init(), which is called by  gtk_init() and the GtkApplication::startupD handler. The program name is found by taking the last component of argv[0]. gi-glibDetermine the approximate number of threads that the system will schedule simultaneously for this process. This is intended to be used as a parameter to g_thread_pool_new()' for CPU bound tasks and similar cases. Since: 2.36 gi-glib"Queries the system monotonic time.The monotonic clock will always increase and doesn't suffer discontinuities when the user (or NTP) changes the system time. It may or may not continue to tick during times where the machine is suspended.{We try to use the clock that corresponds as closely as possible to the passage of time as measured by system calls such as poll(). but it may not always be possible to do this. Since: 2.28 gi-glib&Returns a list of derived variants of locale, which can be used to e.g. construct locale-dependent filenames or search paths. The returned list is sorted from most desirable to least desirable. This function handles territory, charset and extra locale modifiers.For example, if locale5 is "fr_BE", then the returned list is "fr_BE", "fr".=If you need the list of variants for the current locale, use  . Since: 2.28 gi-glibComputes a list of applicable locale names with a locale category name, which can be used to construct the fallback locale-dependent filenames or search paths. The returned list is sorted from most desirable to least desirable and always contains the default locale "C".1This function consults the environment variables LANGUAGE, LC_ALL,  categoryName, and LANG3 to find the list of locales specified by the user. ; returns g_get_language_names_with_category("LC_MESSAGES"). Since: 2.58 gi-glibComputes a list of applicable locale names, which can be used to e.g. construct locale-dependent filenames or search paths. The returned list is sorted from most desirable to least desirable and always contains the default locale "C".VFor example, if LANGUAGE=de:en_US, then the returned list is "de", "en_US", "en", "C".1This function consults the environment variables LANGUAGE, LC_ALL,  LC_MESSAGES and LANG3 to find the list of locales specified by the user. Since: 2.6 gi-glibReturn a name for the machine.UThe returned name is not necessarily a fully-qualified domain name, or even present in DNS or some other name service at all. It need not even be unique on your local network or site, but usually it is. Callers should not rely on the return value having any specific properties like uniqueness for security purposes. Even if the name of the machine is changed while an application is running, the return value from this function does not change. The returned string is owned by GLib and should not be modified or freed. If no name can be determined, a default fixed string "localhost" is returned.-The encoding of the returned string is UTF-8. Since: 2.8 gi-glib'Gets the current user's home directory.DAs with most UNIX tools, this function will return the value of the HOMEZ environment variable if it is set to an existing absolute path name, falling back to the passwd# file in the case that it is unset.If the path given in HOMEQ is non-absolute, does not exist, or is not a directory, the result is undefined.3Before version 2.36 this function would ignore the HOME1 environment variable, taking the value from the passwd database instead. This was changed to increase the compatibility of GLib with other programs (and the XDG basedir specification) and to increase testability of programs based on GLib (by making it easier to run them from test frameworks).If your program has a strong requirement for either the new or the old behaviour (and if you don't wish to increase your GLib dependency to ensure that the new behaviour is in effect) then you should either directly check the HOMEP environment variable yourself or unset it before calling any functions in GLib. gi-glib]Determines the preferred character sets used for filenames. The first character set from the charsets is the filename encoding, the subsequent character sets are used when trying to generate a displayable representation of a filename, see  .SOn Unix, the character sets are determined by consulting the environment variables G_FILENAME_ENCODING and G_BROKEN_FILENAMESs. On Windows, the character set used in the GLib API is always UTF-8 and said environment variables have no effect.G_FILENAME_ENCODING may be set to a comma-separated list of character set names. The special token "@locale" is taken to mean the character set for the [current locale][setlocale]. If G_FILENAME_ENCODING is not set, but G_BROKEN_FILENAMES is, the character set of the current locale is taken as the filename encoding. If neither environment variable is set, UTF-8 is taken as the filename encoding, but the character set of the current locale is also put in the list of encodings. The returned charsets& belong to GLib and must not be freed.=Note that on Unix, regardless of the locale character set or G_FILENAME_ENCODINGd value, the actual file names present on a system might be in any random encoding or just gibberish. Since: 2.6 gi-glib?Gets the list of environment variables for the current process. The list is  B terminated and each item in the list is of the form 'NAME=VALUE'.VThis is equivalent to direct access to the 'environ' global variable, except portable.BThe return value is freshly allocated and it should be freed with  P when it is no longer needed. Since: 2.28 gi-glibEquivalent to the UNIX gettimeofday() function, but portable. You may find   to be more convenient. gi-glibGets the current directory.The returned string should be freed when no longer needed. The encoding of the returned string is system defined. On Windows, it is always UTF-8.Since GLib 2.40, this function will return the value of the "PWD" environment variable if it is set and it happens to be the same as the current directory. This can make a difference in the case that the current directory is the target of a symbolic link. gi-glib.Gets the character set for the current locale. gi-glibrObtains the character set for the [current locale][setlocale]; you might use this character set as an argument to  !T, to convert from the current locale's encoding to some other encoding. (Frequently   and   are nice shortcuts, though.),On Windows the character set returned by this function is the so-called system default ANSI code-page. That is the character set used by the "narrow" versions of C library and Win32 functions that handle file names. It might be different from the character set used by the C library's current locale.3On Linux, the character set is found by consulting  nl_langinfo()1 if available. If not, the environment variables LC_ALL, LC_CTYPE, LANG and CHARSET are queried in order.The return value is  O if the locale's encoding is UTF-8, in that case you can perhaps avoid calling  !.The string returned in charset+ is not allocated, and should not be freed. gi-glib:Gets a human-readable name for the application, as set by  e. This name should be localized if possible, and is intended for display to the user. Contrast with  &, which gets a non-localized name. If  , has not been called, returns the result of   (which may be   if  } has also not been called). Since: 2.2 gi-glibFrees the memory pointed to by mem.If mem is  1 it simply returns, so there is no need to check mem against   before calling this function. gi-glibFormats a size.This function is similar to  2 but allows for flags that modify the output. See -. Since: 2.30 gi-glibFormats a size (for example the size of a file) into a human readable string. Sizes are rounded to the nearest size prefix (KB, MB, GB) and are displayed rounded to the nearest tenth. E.g. the file size 3292528 bytes will be converted into the string "3.1 MB".8The prefix units base is 1024 (i.e. 1 KB is 1024 bytes).!This string should be freed with   when not needed any longer. Since: 2.16 gi-glibFormats a size (for example the size of a file) into a human readable string. Sizes are rounded to the nearest size prefix (kB, MB, GB) and are displayed rounded to the nearest tenth. E.g. the file size 3292528 bytes will be converted into the string "3.2 MB". The returned string is UTF-8, and may use a non-breaking space to separate the number and units, to ensure they aren t separated when line wrapped.8The prefix units base is 1000 (i.e. 1 kB is 1000 bytes).!This string should be freed with   when not needed any longer.See  8 for more options about how the size might be formatted. Since: 2.30 gi-glib#Locates the first executable named program* in the user's path, in the same way that execvp()N would locate it. Returns an allocated string with the absolute path name, or  - if the program is not found in the path. If program0 is already an absolute path, returns a copy of program if program exists and is executable, and   otherwise.On Windows, if programn does not have a file type suffix, tries with the suffixes .exe, .cmd, .bat and .com, and the suffixes in the PATHEXT environment variable.5On Windows, it looks for the file in the same way as CreateProcess() would. This means first in the directory where the executing program was loaded from, then in the current directory, then in the Windows 32-bit system directory, then in the Windows directory, and finally in the directories in the PATHr environment variable. If the program is found, the return value contains the full name including the type suffix. gi-glibConverts a string which is in the encoding used by GLib for filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8 for filenames; on other platforms, this function indirectly depends on the [current locale][setlocale].>The input string shall not contain nul characters even if the lenT argument is positive. A nul character found inside the string will result in error d. If the source encoding is not UTF-8 and the conversion output contains a nul character, the error )! is set and the function returns  . Use  !< to produce output that may contain embedded nul characters. gi-glibzConverts an absolute filename to an escaped ASCII-encoded URI, with the path component following Section 3.3. of RFC 2396. gi-glibConverts a string from UTF-8 to the encoding GLib uses for filenames. Note that on Windows GLib uses UTF-8 for filenames; on other platforms, this function indirectly depends on the [current locale][setlocale].>The input string shall not contain nul characters even if the lenT argument is positive. A nul character found inside the string will result in error f. If the filename encoding is not UTF-8 and the conversion output contains a nul character, the error )! is set and the function returns  . gi-glib]Converts an escaped ASCII-encoded URI to a local filename in the encoding used for filenames. gi-glibConverts a filename into a valid UTF-8 string. The conversion is not necessarily reversible, so you should keep the original around and use the return value of this function only for display purposes. Unlike  %, the result is guaranteed to be non- D even if the filename actually isn't in the GLib file name encoding.-If GLib cannot make sense of the encoding of filename, as a last resort it replaces unknown characters with U+FFFD, the Unicode replacement character. You can search the result for the UTF-8 encoding of this character (which is "\357\277\275" in octal notation) to find out if filename was in an invalid encoding.:If you know the whole pathname of the file you should use  <, since that allows location-based translation of filenames. Since: 2.6 gi-glibReturns the display basename for the particular filename, guaranteed to be valid UTF-8. The display name might not be identical to the filename, for instance there might be problems converting it to UTF-8, and some files can be translated in the display.-If GLib cannot make sense of the encoding of filename, as a last resort it replaces unknown characters with U+FFFD, the Unicode replacement character. You can search the result for the UTF-8 encoding of this character (which is "\357\277\275" in octal notation) to find out if filename was in an invalid encoding.tYou must pass the whole absolute pathname to this functions so that translation of well known locations can be done. This function is preferred over  6 if you know the whole path, as it allows translation. Since: 2.6 gi-glibReturns  % if any of the tests in the bitfield test are  . For example, )(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR) will return  c if the file exists; the check whether it's a directory doesn't matter since the existence test is  d. With the current set of available tests, there's no point passing in more than one test at a time. Apart from .K all tests follow symbolic links, so for a symbolic link to a regular file   will return   for both . and /.(Note, that for a dangling symbolic link   will return   for . and   for all other flags.You should never use   to test whether it is safe to perform an operation, because there is always the possibility of the condition changing before you actually perform the operation. For example, you might think you could use .} to know whether it is safe to write to a file without being tricked into writing into a different location. It doesn't work!C code  // DON'T DO THIS if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK)) { fd = g_open (filename, O_WRONLY); // write to fd }Another thing to note is that 0 and 1 are implemented using the access() system call. This usually doesn't matter, but if your program is setuid or setgid it means that these tests will give you the answer for the real user ID and group ID, rather than the effective user ID and group ID.2On Windows, there are no symlinks, so testing for . will always return  . Testing for 1 will just check that the file exists and its name indicates that it is executable, checking for well-known extensions and those listed in the PATHEXT environment variable. gi-glibWrites all of contents to a file named filename-, with good error checking. If a file called filename' already exists it will be overwritten.~This write is atomic in the sense that it is first written to a temporary file which is then renamed to the final name. Notes: On UNIX, if filename already exists hard links to filenamey will break. Also since the file is recreated, existing permissions, access control lists, metadata etc. may be lost. If filenameK is a symbolic link, the link itself will be replaced, not the linked file. On UNIX, if filenamer already exists and is non-empty, and if the system supports it (via a journalling filesystem or equivalent), the fsync()A call (or equivalent) will be used to ensure atomic replacement: filename) will contain either its old contents or contentsN, even in the face of system power loss, the disk being unsafely removed, etc. On UNIX, if filename does not already exist or is empty, there is a possibility that system power loss etc. after calling this function will leave filenameD empty or full of NUL bytes, depending on the underlying filesystem.On Windows renaming a file will not remove an existing file with the new name, so on Windows there is a race condition between the existing file being removed and the temporary file being renamed.On Windows there is no way to remove a file that is open to some process, or mapped into memory. Thus, this function will fail if filename already exists and is open.'If the call was successful, it returns  -. If the call was not successful, it returns   and sets error. The error domain is  G_FILE_ERROR(. Possible error codes are those in the  enumeration.\Note that the name for the temporary file is constructed by appending up to 7 characters to filename. Since: 2.8 gi-glib(Reads the contents of the symbolic link filename like the POSIX  readlink()K function. The returned string is in the encoding used for filenames. Use   to convert it to UTF-8. Since: 2.4 gi-glibXOpens a file for writing in the preferred directory for temporary files (as returned by  ).tmplt should be a string in the GLib file name encoding containing a sequence of six 'X' characters, as the parameter to  g_mkstemp(). However, unlike these functions, the template should only be a basename, no directory components are allowed. If template is  , a default template is used.Note that in contrast to  g_mkstemp() (and  mkstemp()) tmpl? is not modified, and might thus be a read-only literal string.Upon success, and if nameUsed is non- &, the actual name used is returned in nameUsed#. This string should be freed with  Q when not needed any longer. The returned name is in the GLib file name encoding. gi-glibEReads an entire file into allocated memory, with good error checking.'If the call was successful, it returns   and sets contents to the file contents and lengthC to the length of the file contents in bytes. The string stored in contents8 will be nul-terminated, so for text files you can pass   for the length6 argument. If the call was not successful, it returns   and sets error. The error domain is  G_FILE_ERROR(. Possible error codes are those in the ! enumeration. In the error case, contents is set to   and length is set to zero. gi-glib3No description available in the introspection data. gi-glibGets a ! constant based on the passed-in errNo. For example, if you pass in EEXIST this function returns G_FILE_ERROR_EXIST . Unlike errno* values, you can portably assume that all  values will exist. Normally a  value goes into a  C returned from a function that manipulates files. So you would use   when constructing a  . gi-glib!Removes the environment variable variable from the provided environment envp. Since: 2.32 gi-glibSets the environment variable variable in the provided list envp to value. Since: 2.32 gi-glib.Returns the value of the environment variable variable in the provided list envp. Since: 2.32 gi-glibThis function is a variant of   which supports a disambiguating message context. GNU gettext uses the '\004' character to separate the message context and message id in  msgctxtid. This uses  5 internally. See that functions for differences with  dgettext() proper.This function differs from C_()c in that it is not a macro and thus you may use non-string-literals as context and msgid arguments. Since: 2.18 gi-glibThis function is a variant of   which supports a disambiguating message context. GNU gettext uses the '\004' character to separate the message context and message id in  msgctxtid. If 0 is passed as  msgidoffsetq, this function will fall back to trying to use the deprecated convention of using "|" as a separation character. This uses  5 internally. See that functions for differences with  dgettext() proper.IApplications should normally not use this function directly, but use the C_()% macro for translations with context. Since: 2.16 gi-glibConverts a pointer to a gdouble& to a hash value. It can be passed to g_hash_table_new() as the hashFunc parameter, It can be passed to g_hash_table_new() as the hashFunc parameter, when using non- " pointers to doubles as keys in a . Since: 2.22 gi-glibCompares the two gdouble% values being pointed to and returns  ( if they are equal. It can be passed to g_hash_table_new() as the  keyEqualFunc parameter, when using non- " pointers to doubles as keys in a . Since: 2.22 gi-glibThis function is a wrapper of  dngettext()H which does not translate the message if the default domain as set with  textdomain(), has no translations for the current locale.See  & for details of how this differs from  dngettext() proper. Since: 2.18 gi-glib9Converts a gpointer to a hash value. It can be passed to g_hash_table_new() as the hashFuncN parameter, when using opaque pointers compared by pointer value as keys in a .^This hash function is also appropriate for keys that are integers stored in pointers, such as GINT_TO_POINTER (n). gi-glib Compares two gpointer arguments and returns  ( if they are equal. It can be passed to g_hash_table_new() as the  keyEqualFuncN parameter, when using opaque pointers compared by pointer value as keys in a .bThis equality function is also appropriate for keys that are integers stored in pointers, such as GINT_TO_POINTER (n). gi-glibThis function is a wrapper of  dgettext()H which does not translate the message if the default domain as set with  textdomain(), has no translations for the current locale.*The advantage of using this function over  dgettext()4 proper is that libraries using this function (like GTK+) will not use translations if the application using the library does not have translations for the current locale. This results in a consistent English-only interface instead of one having partial translations. For this feature to work, the call to  textdomain() and  setlocale() should precede any  * invocations. For GTK+, it means calling  textdomain()! before gtk_init or its variants.iThis function disables translations if and only if upon its first call all the following conditions hold:domain is not   textdomain()- has been called to set a default text domainUthere is no translations available for the default text domain and the current localeLcurrent locale is not "C" or any English locales (those starting with "en_")Note that this behavior may not be desired for example if an application has its untranslated messages in a language other than English. In those cases the application should call  textdomain() after initializing GTK+.IApplications should normally not use this function directly, but use the _() macro for translations. Since: 2.18 gi-glibThis is a variant of  B that allows specifying a locale category instead of always using  LC_MESSAGES. See  D for more information about how this functions differs from calling  dcgettext() directly. Since: 2.26 gi-glib)Gets the data element corresponding to a GQuark. gi-glibCalls the given function for each data element which is associated with the given location. Note that this function is NOT thread-safe. So unless datasetLocatione can be protected from any modifications during invocation of this function, it should not be called.func] can make changes to the dataset, but the iteration will not reflect changes made during the  : call, other than skipping over elements that are removed. gi-gliblDestroys the dataset, freeing all memory allocated, and calling any destroy functions set for data elements. gi-glib+Turns off flag values for a data list. See   Since: 2.8 gi-glib Turns on flag values for a data list. This function is used to keep a small number of boolean flags in an object with a data list without using any additional space. It is not generally useful except in circumstances where space is very tight. (It is used in the base GObject type, for example.) Since: 2.8 gi-glib,Retrieves the data element corresponding to keyId. gi-glib<Gets flags values packed in together with the datalist. See  . Since: 2.8 gi-glibFGets a data element, using its string identifier. This is slower than   because it compares strings. gi-glibpCalls the given function for each data element of the datalist. The function is called with each data element's GQuark& id and data, together with the given userDataB parameter. Note that this function is NOT thread-safe. So unless dataliste can be protected from any modifications during invocation of this function, it should not be called.func can make changes to datalist=, but the iteration will not reflect changes made during the  : call, other than skipping over elements that are removed. gi-glibConverts a string from one character set to another, possibly including fallback sequences for characters not representable in the output. Note that it is not guaranteed that the specification for the fallback sequences in fallbackE will be honored. Some systems may do an approximate conversion from  fromCodeset to  toCodeset in their iconv()N functions, in which case GLib will simply return that approximate conversion.Note that you should use  g_iconv()2 for streaming conversions. Despite the fact that  bytesRead can return information about partial characters, the g_convert_... functions are not generally suitable for streaming. If the underlying converter maintains internal state, then this won't be preserved across successive calls to  !, g_convert_with_iconv() or  . (An example of this is the GNU C converter for CP1255 which does not emit a base character until it knows that the next character is not a mark that could combine with the base character.) gi-glib3No description available in the introspection data. !gi-glib4Converts a string from one character set to another.Note that you should use  g_iconv()2 for streaming conversions. Despite the fact that  bytesRead can return information about partial characters, the g_convert_... functions are not generally suitable for streaming. If the underlying converter maintains internal state, then this won't be preserved across successive calls to  !, g_convert_with_iconv() or  . (An example of this is the GNU C converter for CP1255 which does not emit a base character until it knows that the next character is not a mark that could combine with the base character.)mUsing extensions such as "//TRANSLIT" may not work (or may not work well) on many platforms. Consider using  ] instead. "gi-glibComputes the HMAC for a string.6The hexadecimal string returned will be in lower case. Since: 2.30 #gi-glibComputes the HMAC for a binary data of length$. This is a convenience wrapper for  g_hmac_new(),  2 and  3.6The hexadecimal string returned will be in lower case. Since: 2.30 $gi-glibComputes the HMAC for a binary data$. This is a convenience wrapper for  g_hmac_new(),  2 and  3.6The hexadecimal string returned will be in lower case. Since: 2.50 %gi-glib"Computes the checksum of a string.6The hexadecimal string returned will be in lower case. Since: 2.16 &gi-glib#Computes the checksum for a binary data of length$. This is a convenience wrapper for 4, 5 and 6.6The hexadecimal string returned will be in lower case. Since: 2.16 'gi-glib#Computes the checksum for a binary data$. This is a convenience wrapper for 4, 5 and 6.6The hexadecimal string returned will be in lower case. Since: 2.34 (gi-glibThis wraps the close() call; in case of error, errno; will be preserved, but the error will also be stored as a   in error.Besides using  , there is another major reason to prefer this function over the call provided by the system; on Unix, it will attempt to correctly handle EINTR(, which has platform-specific semantics. Since: 2.36 )gi-glibIf err or *err is  !, does nothing. Otherwise, calls 78 on *err and sets *err to  . *gi-glib!Creates a new child_watch source.5The source will not initially be associated with any  and must be added to one with *  before it will be executed.CNote that child watch sources can only be used in conjunction with  g_spawn... when the  flag is used.Note that on platforms where GPid must be explicitly closed (see  j) pidW must not be closed while the source is still active. Typically, you will want to call  j) in the callback function for the source.pOn POSIX platforms, the following restrictions apply to this API due to limitations in POSIX process interfaces:pid must be a child of this processpid must be positivethe application must not call waitpidE with a non-positive first argument, for instance in another thread"the application must not wait for pid- to exit by any other mechanism, including waitpid(pid, ...)/ or a second child-watch source for the same pid(the application must not ignore SIGCHILDIf any of those conditions are not met, this and related APIs will not work correctly. This can often be diagnosed via a GLib warning stating that ECHILD was received by waitpid.Calling waitpid# for specific processes other than pid remains a valid thing to do. Since: 2.4 +gi-glib9Sets a function to be called when the child indicated by pid exits, at the priority priority.If you obtain pid from  n or  l you will need to pass G_SPAWN_DO_NOT_REAP_CHILD> as flag to the spawn function for the child watching to work.(In many programs, you will want to call  kK in the callback to determine whether or not the child exited successfully.#Also, note that on platforms where GPid must be explicitly closed (see  j) pidT must not be closed while the source is still active. Typically, you should invoke  j) in the callback function for the source.mGLib supports only a single callback per process id. On POSIX platforms, the same restrictions mentioned for  * apply to this function.1This internally creates a main loop source using  *0 and attaches it to the main loop context using * >. You can do these steps manually if you need greater control. Since: 2.4 ,gi-glibtChecks that the GLib library in use is compatible with the given version. Generally you would pass in the constants 9, :, ; as the three arguments to this function; that produces a check that the library in use is compatible with the version of GLib the application or module was compiled against.kCompatibility is defined by two things: first the version of the running library is newer than the version  requiredMajor.required_minor. requiredMicroH. Second the running library must be binary compatible with the version  requiredMajor.required_minor. requiredMicro (same major version.) Since: 2.6 -gi-glibA wrapper for the POSIX chdir()H function. The function changes the current directory of the process to path.1See your C library manual for more details about chdir(). Since: 2.8 .gi-glib"Gets the canonical file name from filename=. All triple slashes are turned into single slashes, and all .. and .s resolved against  relativeTo.NSymlinks are not followed, and the returned path is guaranteed to be absolute.If filename is an absolute path,  relativeTo is ignored. Otherwise,  relativeTo will be prepended to filename to make it absolute.  relativeTo must be an absolute path, or  . If  relativeTo is  , it'll fallback to  .UThis function never fails, and will canonicalize file paths even if they don't exist.No file system I/O is done. Since: 2.58 /gi-glibBehaves exactly like g_build_path()y, but takes the path elements as a string array, instead of varargs. This function is mainly meant for language bindings. Since: 2.8 0gi-glibBehaves exactly like g_build_filename()y, but takes the path elements as a string array, instead of varargs. This function is mainly meant for language bindings. Since: 2.8 1gi-glibClears the indicated lockBit in address-. If another thread is currently blocked in  6+ on this same bit then it will be woken up.This function accesses address$ atomically. All other accesses to address< must be atomic in order for this function to work reliably. Since: 2.24 2gi-glibSets the indicated lockBit in address , returning  4 if successful. If the bit is already set, returns   immediately.RAttempting to lock on two different bits within the same integer is not supported.+The value of the bit that is set is (1u << bit). If bit6 is not between 0 and 31 then the result is undefined.This function accesses address$ atomically. All other accesses to address< must be atomic in order for this function to work reliably. Since: 2.24 3gi-glib%Gets the number of bits used to hold number , e.g. if number is 4, 3 bits are needed. 4gi-glib*Find the position of the first bit set in mask%, searching from (but not including) nthBitC downwards. Bits are numbered from 0 (least significant) to sizeof(gulongI) * 8 - 1 (31 or 63, usually). To start searching from the last bit, set nthBit to -1 or GLIB_SIZEOF_LONG * 8. 5gi-glib*Find the position of the first bit set in mask%, searching from (but not including) nthBitA upwards. Bits are numbered from 0 (least significant) to sizeof(gulongH) * 8 - 1 (31 or 63, usually). To start searching from the 0th bit, set nthBit to -1. 6gi-glibSets the indicated lockBit in address9. If the bit is already set, this call will block until  1 unsets the corresponding bit.yAttempting to lock on two different bits within the same integer is not supported and will very probably cause deadlocks.+The value of the bit that is set is (1u << bit). If bit6 is not between 0 and 31 then the result is undefined.This function accesses address$ atomically. All other accesses to address< must be atomic in order for this function to work reliably. Since: 2.24 7gi-glibyGets the name of the file without any leading directory components. It returns a pointer into the given file name string. 8gi-glibMEncode a sequence of binary data into its Base-64 stringified representation. Since: 2.12 9gi-glibYDecode a sequence of Base-64 encoded text into binary data by overwriting the input data. Since: 2.20 :gi-glibDecode a sequence of Base-64 encoded text into binary data. Note that the returned binary data is not necessarily zero-terminated, so it should not be used as a character string. Since: 2.12 ;gi-glib'Initializes a reference count variable. Since: 2.58 <gi-glib)Atomically increases the reference count. Since: 2.58 =gi-glib)Atomically decreases the reference count. Since: 2.58 >gi-glib)Atomically compares the current value of arc with val. Since: 2.58 ?gi-glib7Atomically releases a reference on the data pointed by memBlock.0If the reference was the last one, it will call  clearFunc to clear the contents of memBlock1, and then will free the resources allocated for memBlock. Since: 2.58 @gi-glib7Atomically releases a reference on the data pointed by memBlock.LIf the reference was the last one, it will free the resources allocated for memBlock. Since: 2.58 Agi-glib<Retrieves the size of the reference counted data pointed by memBlock. Since: 2.58 Bgi-glibSAllocates a new block of data with atomit reference counting semantics, and copies  blockSize bytes of memBlock into it. Since: 2.58 Cgi-glib Allocates  blockSizeD bytes of memory, and adds atomic referenc counting semantics to it.1The contents of the returned data is set to zero.>The data will be freed when its reference count drops to zero.NThe allocated data is guaranteed to be suitably aligned for any built-in type. Since: 2.58 Dgi-glib Allocates  blockSizeE bytes of memory, and adds atomic reference counting semantics to it.>The data will be freed when its reference count drops to zero.NThe allocated data is guaranteed to be suitably aligned for any built-in type. Since: 2.58 Egi-glib7Atomically acquires a reference on the data pointed by memBlock. Since: 2.58 Fgi-glib1Performs an atomic bitwise 'xor' of the value of atomic and val, storing the result back in atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic ^= val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Ggi-glibSets the value of atomic to newval.NThis call acts as a full compiler and hardware memory barrier (after the set). Since: 2.4 Hgi-glib0Performs an atomic bitwise 'or' of the value of atomic and val, storing the result back in atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic |= val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Igi-glibGets the current value of atomic.OThis call acts as a full compiler and hardware memory barrier (before the get). Since: 2.4 Jgi-glib Compares atomic to oldval and, if equal, sets it to newval. If atomic was not equal to oldval then no change occurs.-This compare and exchange is done atomically.0Think of this operation as an atomic version of P{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.4 Kgi-glib1Performs an atomic bitwise 'and' of the value of atomic and val, storing the result back in atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic &= val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Lgi-glibAtomically adds val to the value of atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic += val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Mgi-glib1Performs an atomic bitwise 'xor' of the value of atomic and val, storing the result back in atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic ^= val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Ngi-glibSets the value of atomic to newval.NThis call acts as a full compiler and hardware memory barrier (after the set). Since: 2.4 Ogi-glib0Performs an atomic bitwise 'or' of the value of atomic and val, storing the result back in atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic |= val; return tmp; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.30 Pgi-glibIncrements the value of atomic by 1.0Think of this operation as an atomic version of { *atomic += 1; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.4 Qgi-glibGets the current value of atomic.OThis call acts as a full compiler and hardware memory barrier (before the get). Since: 2.4 Rgi-glibThis function existed before  V returned the prior value of the integer (which it now does). It is retained only for compatibility reasons. Don't use this function in new code. Since: 2.4 Sgi-glibDecrements the value of atomic by 1.0Think of this operation as an atomic version of ({ *atomic -= 1; return (*atomic == 0); }.>This call acts as a full compiler and hardware memory barrier. Since: 2.4 Tgi-glib Compares atomic to oldval and, if equal, sets it to newval. If atomic was not equal to oldval then no change occurs.-This compare and exchange is done atomically.0Think of this operation as an atomic version of P{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }.>This call acts as a full compiler and hardware memory barrier. Since: 2.4 Ugi-glib1Performs an atomic bitwise 'and' of the value of atomic and val, storing the result back in atomic.>This call acts as a full compiler and hardware memory barrier.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic &= val; return tmp; }. Since: 2.30 Vgi-glibAtomically adds val to the value of atomic.0Think of this operation as an atomic version of .{ tmp = *atomic; *atomic += val; return tmp; }.>This call acts as a full compiler and hardware memory barrier.?Before version 2.30, this function did not return a value (but  R did, and had the same meaning). Since: 2.4 Wgi-glib@Specifies a function to be called at normal program termination.Since GLib 2.8.2, on Windows  W= actually is a preprocessor macro that maps to a call to the atexit()H function in the C library. This means that in case the code that calls  W, i.e. atexit(), is in a DLL, the function will be called when the DLL is detached from the program. This typically makes more sense than that the function is called when the GLib DLL is detached, which happened earlier when  W was a function in the GLib DLL.The behaviour of atexit()Z in the context of dynamically loaded modules is not formally specified and varies wildly.On POSIX systems, calling  W (or atexit()z) in a dynamically loaded module which is unloaded before the program terminates might well cause a crash at program exit.Some POSIX systems implement atexit() like Windows, and have each dynamically loaded module maintain an own atexit chain that is called when the module is unloaded.On other POSIX systems, before a dynamically loaded module is unloaded, the registered atexit functions (if any) residing in that module are called, regardless where the code that registered them resided. This is presumably the most robust approach.JAs can be seen from the above, for portability it's best to avoid calling  W (or atexit()-) except in the main executable of a program. Xgi-glib3No description available in the introspection data. Ygi-glib3No description available in the introspection data. Zgi-glib3No description available in the introspection data. [gi-glib3No description available in the introspection data. \gi-glibQDetermines the numeric value of a character as a hexidecimal digit. Differs from  \ because it takes a char, so there's no worry about sign extension if characters are signed. ]gi-glib(Convert a character to ASCII upper case.Unlike the standard C library  toupper()* function, this only recognizes standard ASCII letters and ignores the locale, returning all non-ASCII characters unchanged, even if they are upper case letters in a particular character set. Also unlike the standard library function, this takes and returns a char, not an int, so don't call it on EOF' but no need to worry about casting to guchar2 before passing a possibly non-ASCII character in. ^gi-glib(Convert a character to ASCII lower case.Unlike the standard C library  tolower()* function, this only recognizes standard ASCII letters and ignores the locale, returning all non-ASCII characters unchanged, even if they are lower case letters in a particular character set. Also unlike the standard library function, this takes and returns a char, not an int, so don't call it on EOF' but no need to worry about casting to guchar2 before passing a possibly non-ASCII character in. _gi-glibBConverts all lower case ASCII letters to upper case ASCII letters. `gi-glibConverts a string to a guint640 value. This function behaves like the standard  strtoull() function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe.+Note that input with a leading minus sign (-_) is accepted, and will return the negation of the parsed number, unless that would overflow a guint64. Critically, this means you cannot assume that a short fixed length input will never result in a low return value, as the input could have a leading -.This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use the locale-sensitive system  strtoull() function.+If the correct value would cause overflow, < is returned, and ERANGE is stored in errno@. If the base is outside the valid range, zero is returned, and EINVAL is stored in errno8. If the string conversion fails, zero is returned, and endptr returns nptr (if endptr is non- ). Since: 2.2 agi-glibConverts a string to a gint640 value. This function behaves like the standard  strtoll() function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe.This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use the locale-sensitive system  strtoll() function.+If the correct value would cause overflow, = or > is returned, and ERANGE is stored in errno@. If the base is outside the valid range, zero is returned, and EINVAL is stored in errno8. If the string conversion fails, zero is returned, and endptr returns nptr (if endptr is non- ). Since: 2.12 bgi-glibConverts a string to a gdouble value.(This function behaves like the standard strtod() function does in the C locale. It does this without actually changing the current locale, since that would not be thread-safe. A limitation of the implementation is that this function will still accept localized versions of infinities and NANs.This function is typically used when reading configuration files or other non-user input that should be locale independent. To handle input from the user you should normally use the locale-sensitive system strtod() function.To convert from a gdouble. to a string in a locale-insensitive way, use  i.9If the correct value would cause overflow, plus or minus HUGE_VAL7 is returned (according to the sign of the value), and ERANGE is stored in errnoC. If the correct value would cause underflow, zero is returned and ERANGE is stored in errno.This function resets errno before calling strtod()8 so that you can reliably detect overflow and underflow. cgi-glibCompare s1 and s2K, ignoring the case of ASCII characters and any characters after the first n in each string.Unlike the BSD  strcasecmp() function, this only recognizes standard ASCII letters and ignores the locale, treating all non-ASCII characters as if they are not letters.The same warning as in  g applies: Use this function only on strings known to be in encodings where bytes corresponding to ASCII letters always represent themselves. dgi-glibEA convenience function for converting a string to an unsigned number.This function assumes that str% contains only a number of the given base, that is within inclusive bounds limited by min and max:. If this is true, then the converted number is stored in outNum. An empty string is not a valid input. A string with leading or trailing whitespace is also an invalid input. A string with a leading sign (- or +/) is not a valid input for the unsigned parser.base can be between 2 and 36 inclusive. Hexadecimal numbers must not be prefixed with "0x" or "0X". Such a problem does not exist for octal numbers, since they were usually prefixed with a zero which does not change the value of the parsed number.-Parsing failures result in an error with the G_NUMBER_PARSER_ERROR9 domain. If the input is invalid, the error code will be ?*. If the parsed number is out of bounds - @.See  `s if you have more complex needs such as parsing a string which starts with a number, but then has other characters. Since: 2.54 egi-glibBA convenience function for converting a string to a signed number.This function assumes that str% contains only a number of the given base, that is within inclusive bounds limited by min and max:. If this is true, then the converted number is stored in outNumn. An empty string is not a valid input. A string with leading or trailing whitespace is also an invalid input.base can be between 2 and 36 inclusive. Hexadecimal numbers must not be prefixed with "0x" or "0X". Such a problem does not exist for octal numbers, since they were usually prefixed with a zero which does not change the value of the parsed number.-Parsing failures result in an error with the G_NUMBER_PARSER_ERROR9 domain. If the input is invalid, the error code will be ?*. If the parsed number is out of bounds - @.See  as if you have more complex needs such as parsing a string which starts with a number, but then has other characters. Since: 2.54 fgi-glibBConverts all upper case ASCII letters to lower case ASCII letters. ggi-glib;Compare two strings, ignoring the case of ASCII characters.Unlike the BSD  strcasecmp() function, this only recognizes standard ASCII letters and ignores the locale, treating all non-ASCII bytes as if they are not letters.This function should be used only on strings that are known to be in encodings where the bytes corresponding to ASCII letters always represent themselves. This includes UTF-8 and the ISO-8859-* charsets, but not for instance double-byte encodings like the Windows Codepage 932, where the trailing bytes of double-byte characters include all ASCII letters. If you compare two CP932 strings using this function, you will get false matches.Both s1 and s2 must be non- . hgi-glib Converts a gdoubleQ to a string, using the '.' as decimal point. To format the number you pass in a printf()X-style format string. Allowed conversion specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'.7The returned buffer is guaranteed to be nul-terminated.CIf you just want to want to serialize the value into a string, use  i. igi-glib Converts a gdouble- to a string, using the '.' as decimal point.OThis function generates enough precision that converting the string back using  b gives the same machine-number (on machines with IEEE compatible 64bit doubles). It is guaranteed that the size of the resulting string will never be larger than gASCIIDTOSTRBUFSIZEG bytes, including the terminating nul character, which is always added. jgi-glibMDetermines the numeric value of a character as a decimal digit. Differs from  \ because it takes a char, so there's no worry about sign extension if characters are signed. kgi-glibA wrapper for the POSIX access() function. This function is used to test a pathname for one or several of read, write or execute permissions, or just existence.kOn Windows, the file protection mechanism is not at all POSIX-like, and the underlying function in the C library only checks the FAT-style READONLY attribute, and does not look at the ACL of a file at all. This function is this in practise almost useless on Windows. Software that needs to handle file permissions on Windows more exactly should use the Win32 API.1See your C library manual for more details about access(). Since: 2.8 gi-glibReturns:$ A string that should be freed with  . gi-glibstr: a string representing a UUID gi-glibReturns:   if str is a valid UUID,   otherwise. gi-glibstr: a pointer to character data gi-glibReturns:   if the text was valid UTF-8 gi-glibstr: a pointer to character data gi-glibReturns:   if the text was valid UTF-8 gi-glibstr: a UTF-8 encoded string gi-glibstartPos: a character offset within str gi-glibendPos": another character offset within str gi-glibReturns:B a newly allocated copy of the requested substring. Free with   when no longer needed. gi-glibstr: a UTF-8 encoded string gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibReturns:J a newly allocated string, with all characters converted to uppercase. gi-glibstr: a UTF-8 encoded string gi-gliblen: the maximum length of str to use, in bytes. If len- < 0, then the string is nul-terminated. gi-glibReturns:2 a newly-allocated string which is the reverse of str gi-glibp(: a nul-terminated UTF-8 encoded string gi-gliblen: the maximum length of p gi-glibc: a Unicode character gi-glibReturns:   if the string does not contain the character, otherwise, a pointer to the start of the rightmost occurrence of the character in the string. gi-glibdest&: buffer to fill with characters from src gi-glibsrc: UTF-8 encoded string gi-glibn: character count gi-glibReturns: dest gi-glibp1: pointer to the start of a UTF-8 encoded string gi-glibmax-: the maximum number of bytes to examine. If maxQ is less than 0, then the string is assumed to be nul-terminated. If max is 0, p' will not be examined and may be  . If max is greater than 0, up to max bytes are examined gi-glibReturns:( the length of the string in characters gi-glibstr: a UTF-8 encoded string gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibReturns:J a newly allocated string, with all characters converted to lowercase. gi-glibp(: a nul-terminated UTF-8 encoded string gi-gliblen: the maximum length of p gi-glibc: a Unicode character gi-glibReturns:   if the string does not contain the character, otherwise, a pointer to the start of the leftmost occurrence of the character in the string. gi-glibp8: a pointer to a position within a UTF-8 encoded string gi-glibReturns:" a pointer to the found character gi-glibstr: a UTF-8 encoded string gi-glibpos!: a pointer to a position within str gi-glibReturns: the resulting character offset gi-glibstr: a UTF-8 encoded string gi-gliboffset: a character offset within str gi-glibReturns: the resulting pointer gi-glibstr: a UTF-8 encoded string. gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibmode(: the type of normalization to perform. gi-glibReturns:< a newly allocated string, that is the normalized form of str, or   if str is not valid UTF-8. gi-glibstr: string to coerce into UTF-8 gi-gliblen: the maximum length of str to use, in bytes. If len- < 0, then the string is nul-terminated. gi-glibReturns:. a valid UTF-8 string whose content resembles str gi-glibp2: a pointer to Unicode character encoded as UTF-8 gi-glibmaxLen0: the maximum number of bytes to read, or -1 if p is nul-terminated gi-glibReturns: the resulting character. If pg points to a partial sequence at the end of a string that could begin a valid character (or if maxLen3 is zero), returns (gunichar)-2; otherwise, if pV does not point to a valid UTF-8 encoded Unicode character, returns (gunichar)-1. gi-glibp2: a pointer to Unicode character encoded as UTF-8 gi-glibReturns: the resulting character gi-glibstr5: pointer to the beginning of a UTF-8 encoded string gi-glibp": pointer to some position within str gi-glibReturns:% a pointer to the found character or  . gi-glibp8: a pointer to a position within a UTF-8 encoded string gi-glibend@: a pointer to the byte following the end of the string, or  / to indicate that the string is nul-terminated gi-glibReturns:% a pointer to the found character or   if end is set and is reached gi-glibstr: a UTF-8 encoded string. gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibReturns:> a newly allocated string. This string should be freed with   when you are done with it. gi-glibstr: a UTF-8 encoded string. gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibReturns:> a newly allocated string. This string should be freed with   when you are done with it. gi-glibstr1: a UTF-8 encoded string gi-glibstr2: a UTF-8 encoded string gi-glibReturns: < 0 if str1 compares before str2$, 0 if they compare equal, > 0 if str1 compares after str2. gi-glibstr: a UTF-8 encoded string gi-gliblen : length of str, in bytes, or -1 if str is nul-terminated. gi-glibReturns:@ a newly allocated string, that is a case independent form of str. gi-glib microseconds": number of microseconds to pause gi-glib escapedString%: an escaped string to be unescaped. gi-glibillegalCharacters<: a string of illegal characters not to be allowed, or  . gi-glibReturns: an unescaped version of  escapedString=. The returned string should be freed when no longer needed. gi-glib escapedString: A string, may be   gi-glibescapedStringEnd: Pointer to end of  escapedString , may be   gi-glibillegalCharactersE: An optional string of illegal characters not to be allowed, may be   gi-glibReturns: an unescaped version of  escapedString or  \ on error. The returned string should be freed when no longer needed. As a special case if   is given for  escapedString, this function will return  . gi-gliburi: a valid URI. gi-glibReturns:' The "Scheme" component of the URI, or  F on error. The returned string should be freed when no longer needed. gi-gliburiList: an URI list gi-glibReturns: a newly allocated  \-terminated list of strings holding the individual URIs. The array should be freed with  P. gi-glib unescaped: the unescaped input string. gi-glibreservedCharsAllowedG: a string of reserved characters that are allowed to be used, or  . gi-glib allowUtf8:  - if the result can include UTF-8 characters. gi-glibReturns: an escaped version of  unescaped=. The returned string should be freed when no longer needed. gi-glibvariable?: the environment variable to remove, must not contain '=' gi-glibfilenameC: a pathname in the GLib file name encoding (UTF-8 on Windows) gi-glibReturns:D 0 if the name was successfully deleted, -1 if an error occurred gi-glibsignum: A signal number gi-glibReturns: A newly created *T gi-glibpriority\: the priority of the signal source. Typically this will be in the range between + and A. gi-glibsignum: Signal number gi-glibhandler : Callback gi-glibReturns:- An ID (greater than 0) for the event source gi-glibfd: A file descriptor gi-glibnonblock: If  (, set the descriptor to be non-blocking gi-glib (Can throw o) gi-glibfds: Array of two integers gi-glibflags,: Bitfield of file descriptor flags, as for fcntl() gi-glib (Can throw o) gi-glibfd: a file descriptor gi-glib condition : IO conditions to watch for on fd gi-glibReturns: the newly created *T gi-glibpriority: the priority of the source gi-glibfd: a file descriptor gi-glib condition : IO conditions to watch for on fd gi-glibfunction: a /B gi-glibReturns:- the ID (greater than 0) of the event source gi-glibscript: a Unicode script gi-glibReturns: the ISO 15924 code for script&, encoded as an integer, of zero if script is C9 or ISO 15924 code 'Zzzz' (script code for UNKNOWN) if script is not understood. gi-glibiso15924: a Unicode script gi-glibReturns: the Unicode script for iso15924 , or of C if iso15924 is zero and D if iso15924 is unknown. gi-glibstring: a UCS-4 encoded string. gi-gliblen: the maximum length of string to use. gi-glibch: a Unicode character. gi-glib resultLen4: location to store the length of the return value. gi-glibReturns:3 a newly allocated string of Unicode characters.  resultLen/ is set to the resulting length of the string. gi-glibc: a Unicode character gi-glibReturns: If c is a hex digit (according to  %), its numeric value. Otherwise, -1. gi-glibch: a Unicode character gi-glibReturns:   if ch is a valid Unicode character gi-glibc: a Unicode character gi-glibReturns: the type of the character. gi-glibc: a Unicode character gi-glibReturns: the result of converting c to uppercase. If c[ is not an lowercase or titlecase character, or has no upper case equivalent c is returned unchanged. gi-glibc: a Unicode character gi-glibReturns: the result of converting c to titlecase. If c; is not an uppercase or lowercase character, c is returned unchanged. gi-glibc: a Unicode character. gi-glibReturns: the result of converting c! to lower case. If c[ is not an upperlower or titlecase character, or has no lowercase equivalent c is returned unchanged. gi-glibc: a Unicode character gi-glibReturns:  ! if the character has zero width gi-glibc: a Unicode character. gi-glibReturns:  ) if the character is a hexadecimal digit gi-glibc: a Unicode character gi-glibReturns:  7 if the character is wide in legacy East Asian locales gi-glibc: a Unicode character gi-glibReturns:   if the character is wide gi-glibc: a Unicode character gi-glibReturns:   if c is an uppercase character gi-glibc: a Unicode character gi-glibReturns:   if the character is titlecase gi-glibc: a Unicode character gi-glibReturns:   if c is a space character gi-glibc: a Unicode character gi-glibReturns:   if c& is a punctuation or symbol character gi-glibc: a Unicode character gi-glibReturns:   if c is printable gi-glibc: a Unicode character gi-glibReturns:   if c is a mark character gi-glibc: a Unicode character gi-glibReturns:   if c is a lowercase letter gi-glibc: a Unicode character gi-glibReturns:   if c" is printable unless it's a space gi-glibc: a Unicode character gi-glibReturns:   if c is a digit gi-glibc: a Unicode character gi-glibReturns:  ( if the character has an assigned value gi-glibc: a Unicode character gi-glibReturns:   if c is a control character gi-glibc: a Unicode character gi-glibReturns:   if c is an alphabetic character gi-glibc: a Unicode character gi-glibReturns:   if c is an alphanumeric character gi-glibch: a Unicode character gi-glibReturns: the  for the character. gi-glibch: a Unicode character gi-glib mirroredCh+: location to store the mirrored character gi-glibReturns:   if ch has a mirrored character,   otherwise gi-glibc: a Unicode character gi-glibReturns: If c" is a decimal digit (according to  %), its numeric value. Otherwise, -1. gi-glibch: a Unicode character gi-gliba-: return location for the first component of ch gi-glibb.: return location for the second component of ch gi-glibReturns:  & if the character could be decomposed gi-gliba: a Unicode character gi-glibb: a Unicode character gi-glibch-: return location for the composed character gi-glibReturns:  % if the characters could be composed gi-glibuc: a Unicode character gi-glibReturns:& the combining class of the character gi-glibc: a Unicode character gi-glibReturns: the break type of c gi-glibmem": previously-allocated memory, or  . gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns: the allocated memory, or  . gi-glibmem": previously-allocated memory, or  . gi-glibnBytes: number of bytes to allocate. gi-glibReturns: the allocated memory, or  . gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns: the allocated memory, or  . gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns: the allocated memory, or   gi-glibnBytes: number of bytes to allocate gi-glibReturns: the allocated memory, or   gi-glibnBytes: number of bytes to allocate. gi-glibReturns: the allocated memory, or  . gi-glibinterval": the timeout interval in seconds gi-glibReturns:" the newly-created timeout source gi-glibinterval(: the timeout interval in milliseconds. gi-glibReturns:" the newly-created timeout source gi-glibpriority]: the priority of the timeout source. Typically this will be in the range between + and A. gi-glibinterval5: the time between calls to the function, in seconds gi-glibfunction: function to call gi-glibReturns:. the ID (greater than 0) of the event source. gi-glibpriority]: the priority of the timeout source. Typically this will be in the range between + and A. gi-glibinterval^: the time between calls to the function, in milliseconds (1/1000ths of a second) gi-glibfunction: function to call gi-glibReturns:. the ID (greater than 0) of the event source. gi-glibtestPath: Test to run in a subprocess gi-glib usecTimeout4: Timeout for the subprocess test in micro seconds. gi-glib testFlags(: Flags to modify subprocess behaviour. gi-glibReturns:  : if the last test subprocess got killed due to a timeout. gi-glibReturns:  6 if the last test subprocess terminated successfully. gi-glib usecTimeout0: Timeout for the forked test in micro seconds. gi-glib testTrapFlags%: Flags to modify forking behaviour. gi-glibReturns:   for the forked child and  # for the executing parent process. #gi-glibReturns: the last result of  $, as a double $gi-glibReturns:9 the time since the last start of the timer, as a double %gi-glibReturns:  & if the test program is running under  . &gi-glibmsg: explanation (gi-glibsuite: a 7E gi-glibReturns: 0 on success )gi-glibReturns:c 0 on success, 1 on failure (assuming it returns at all), 0 or 77 if all tests were skipped with  & and/or  1 *gi-glibbegin.: the minimum value returned by this function gi-glibend9: the smallest value not to be returned by this function gi-glibReturns: a number with begin <= number < end. +gi-glibReturns:: a random number from the seeded random number generator. ,gi-glib rangeStart.: the minimum value returned by this function gi-glibrangeEnd2: the minimum value not returned by this function gi-glibReturns: a number with  rangeStart <= number < rangeEnd. -gi-glibReturns:: a random number from the seeded random number generator. .gi-glib gfreePointer: the pointer to be stored. /gi-glib destroyFunc': Destroy callback for teardown phase. gi-glib destroyData: Destroy callback data. 1gi-glibmsg: explanation 2gi-glibfileType+: the type of file (built vs. distributed) gi-glibReturns:* the path of the directory, owned by GLib 3gi-glibReturns:   if the test has failed 5gi-glib logDomain : the log domain of the message gi-gliblogLevel: the log level of the message gi-glibpattern;: a glob-style [pattern][glib-Glob-style-pattern-matching] 6gi-glib uriPattern : the base pattern for bug URIs 7gi-glib bugUriSnippet(: Bug specific bug tracker URI portion. 9gi-glibtestpath0: /-separated test case path name for the test. gi-glibtestFunc-: The test function to invoke for this test. :gi-glibtestpath0: /-separated test case path name for the test. gi-glibtestData,: Test data argument for the test function. gi-glibtestFunc-: The test function to invoke for this test. ;gi-glibstrArray: a  -terminated array of strings gi-glibReturns: length of strArray. =gi-glibstrv1: a  -terminated array of strings gi-glibstrv2 : another  -terminated array of strings gi-glibReturns:   if strv1 and strv2 are equal >gi-glibstrv: a  -terminated array of strings gi-glibstr : a string gi-glibReturns:   if str is an element of strv, according to  c. ?gi-glibstring: the string to convert gi-glibReturns: the string @gi-glibnptr,: the string to convert to a numeric value. gi-glibReturns: the gdouble value. Agi-glibhaystack : a string gi-glib haystackLen: the maximum length of haystack). Note that -1 is a valid length, if haystackI is nul-terminated, meaning it will search through the whole string. gi-glibneedle: the string to search for gi-glibReturns:* a pointer to the found occurrence, or   if not found. Bgi-glibsignum: the signal number. See the signal documentation gi-glibReturns:m a UTF-8 string describing the signal. If the signal is unknown, it returns "unknown signal (<signum>)". Cgi-glibhaystack: a nul-terminated string gi-glib haystackLen: the maximum length of haystack gi-glibneedle*: the nul-terminated string to search for gi-glibReturns:* a pointer to the found occurrence, or   if not found. Dgi-glibhaystack: a nul-terminated string gi-glibneedle*: the nul-terminated string to search for gi-glibReturns:* a pointer to the found occurrence, or   if not found. Egi-glibstring: the string to reverse gi-glibReturns: the same pointer passed in as string Fgi-gliblength: the length of the new string gi-glibfillChar#: the byte to fill the string with gi-glibReturns:% a newly-allocated string filled the fillChar Ggi-glibstr: the string to duplicate gi-glibn+: the maximum number of bytes to copy from str gi-glibReturns:/ a newly-allocated buffer containing the first n bytes of str, nul-terminated Hgi-glibs1 : a string gi-glibs2: a string to compare with s1 gi-glibn.: the maximum number of characters to compare gi-glibReturns:- 0 if the strings match, a negative value if s1 < s2, or a positive value if s1 > s2. Igi-glibdest: destination buffer gi-glibsrc: source buffer gi-glibdestSize : length of dest in bytes gi-glibReturns: length of src Jgi-glibdestC: destination buffer, already containing one nul-terminated string gi-glibsrc: source buffer gi-glibdestSize : length of dest; buffer in bytes (not length of existing string inside dest) gi-glibReturns: size of attempted result, which is MIN (dest_size, strlen (original dest)) + strlen (src), so if retval >= dest_size, truncation occurred. Kgi-glib separator9: a string to insert between each of the strings, or   gi-glibstrArray: a  %-terminated array of strings to join gi-glibReturns:R a newly-allocated string containing all of the strings joined together, with  separator between them Lgi-glibmsgid : a string gi-glibmsgval: another string gi-glibReturns: msgval , unless msgval is identical to msgid and contains a '|' character, in which case a pointer to the substring of msgid after the first '|' character is returned. Mgi-glibdflSizeA: the default size of the space allocated to hold the string gi-glibReturns: the new . Ngi-glibinit!: initial contents of the string gi-gliblen : length of init to use gi-glibReturns: a new . Ogi-glibinit/: the initial text to copy into the string, or   to start with an empty string gi-glibReturns: the new . Pgi-glibstrArray: a  %-terminated array of strings to free Qgi-glibsource: a string to escape gi-glib exceptions*: a string of characters not to escape in source gi-glibReturns: a newly-allocated copy of source1 with certain characters escaped. See above. Rgi-gliberrnum.: the system error number. See the standard C errno documentation gi-glibReturns: a UTF-8 string describing the error code. If the error code is unknown, it returns a string like "unknown error (<code>)". Sgi-glibstr: the string to duplicate gi-glibReturns: a newly-allocated copy of str Tgi-glibstring: the string to convert. gi-glibReturns: the string Ugi-glibstring: the string to convert gi-glib delimiters5: a string containing the current delimiters, or  + to use the standard delimiters defined in F gi-glib newDelimiter: the new delimiter character gi-glibReturns: string Vgi-glibsource: a string to compress gi-glibReturns: a newly-allocated copy of source+ with all escaped character compressed Wgi-glibstr1: a C string or   gi-glibstr2: another C string or   gi-glibReturns:: an integer less than, equal to, or greater than zero, if str1 is <, == or > than str2. Xgi-glibstring1: a string to remove the leading whitespace from gi-glibReturns: string Ygi-glibstring2: a string to remove the trailing whitespace from gi-glibReturns: string Zgi-glibs1 : a string gi-glibs2: a string to compare with s1 gi-glibReturns:- 0 if the strings match, a negative value if s1 < s2, or a positive value if s1 > s2. [gi-glibstring": a nul-terminated array of bytes gi-glib validChars: bytes permitted in string gi-glib substitutor-: replacement character for disallowed bytes gi-glibReturns: string \gi-glibstring : a string gi-glibtranslitLocale8: the language code (like 'de' or 'en_GB') from which string originates gi-glibReturns: the folded tokens ]gi-glibstr: a string, in UTF-8 gi-glib fromLocale: the source locale, if known gi-glibReturns: a string in plain ASCII ^gi-glib searchTerm : the search term from the user gi-glib potentialHit: the text that may be a hit gi-glibacceptAlternates:   to accept ASCII alternates gi-glibReturns:   if  potentialHit is a hit _gi-glibstr : a string gi-glibReturns:   if str is ASCII `gi-glibv: a string key gi-glibReturns:' a hash value corresponding to the key agi-glibstr: a nul-terminated string gi-glibsuffix(: the nul-terminated suffix to look for gi-glibReturns:   if str end with suffix,   otherwise. bgi-glibstr: a nul-terminated string gi-glibprefix(: the nul-terminated prefix to look for gi-glibReturns:   if str begins with prefix,   otherwise. cgi-glibv1: a key gi-glibv2: a key to compare with v1 gi-glibReturns:   if the two keys match dgi-glibdest: destination buffer. gi-glibsrc: source string. gi-glibReturns:! a pointer to trailing nul byte. egi-glibworkingDirectory,: child's current working directory, or   to inherit parent's gi-glibargv: child's argument vector gi-glibenvp: child's environment, or   to inherit parent's gi-glibflags : flags from G gi-glib childSetup+: function to run in the child just before exec() gi-glib (Can throw o) hgi-glib commandLine: a command line gi-glib (Can throw o) igi-glib commandLine: a command line gi-glib (Can throw o) jgi-glibpid!: The process reference to close kgi-glib exitStatus : An exit code as returned from  e gi-glib (Can throw o) lgi-glibworkingDirectory,: child's current working directory, or  5 to inherit parent's, in the GLib file name encoding gi-glibargv>: child's argument vector, in the GLib file name encoding gi-glibenvp: child's environment, or  9 to inherit parent's, in the GLib file name encoding gi-glibflags : flags from G gi-glib childSetup+: function to run in the child just before exec() gi-glib (Can throw o) m gi-glibworkingDirectory(: child's current working directory, or  5 to inherit parent's, in the GLib file name encoding gi-glibargv:: child's argument vector, in the GLib file name encoding gi-glibenvp: child's environment, or  5 to inherit parent's, in the GLib file name encoding gi-glibflags : flags from G gi-glib childSetup+: function to run in the child just before exec() gi-glibstdinFd2: file descriptor to use for child's stdin, or -1 gi-glibstdoutFd3: file descriptor to use for child's stdout, or -1 gi-glibstderrFd3: file descriptor to use for child's stderr, or -1 gi-glib (Can throw o) ngi-glibworkingDirectory,: child's current working directory, or   to inherit parent's gi-glibargv: child's argument vector gi-glibenvp: child's environment, or   to inherit parent's gi-glibflags : flags from G gi-glib childSetup+: function to run in the child just before exec() gi-glib (Can throw o) ogi-glibnum: a guint gi-glibReturns:T the smallest prime number from a built-in array of primes which is larger than num sgi-glib blockSize: the size of the blocks gi-glibmemChain,: a pointer to the first block of the chain gi-glib nextOffset: the offset of the next field in the blocks tgi-glib blockSize: the size of the block gi-glibmemBlock!: a pointer to the block to free ugi-glib blockSize": the number of bytes to allocate gi-glibmemBlock: the memory to copy gi-glibReturns:8 a pointer to the allocated memory block, which will be   if and only if memSize is 0 vgi-glib blockSize": the number of bytes to allocate gi-glibReturns:1 a pointer to the allocated block, which will be   if and only if memSize is 0 wgi-glib blockSize": the number of bytes to allocate gi-glibReturns:8 a pointer to the allocated memory block, which will be   if and only if memSize is 0 xgi-glib quotedString: shell-quoted string gi-glibReturns: an unquoted string  (Can throw o) ygi-glibunquotedString: a literal string gi-glibReturns: quoted string zgi-glib commandLine: command line to parse gi-glib (Can throw o) |gi-glibvariable=: the environment variable to set, must not contain '='. gi-glibvalue(: the value for to set the variable to. gi-glib overwrite7: whether to change the variable if it already exists. gi-glibReturns:  . if the environment variable couldn't be set. }gi-glibprgname: the name of the program. ~gi-glibdomain: error domain gi-glibcode : error code gi-glibmessage: error message gi-glibapplicationName$: localized name of the application gi-glibfilenameC: a pathname in the GLib file name encoding (UTF-8 on Windows) gi-glibReturns:I 0 if the directory was successfully removed, -1 if an error occurred gi-glibstr: a reference counted string gi-glibstr : a string gi-gliblen : length of str to use, or -1 if str is nul-terminated gi-glibReturns:, the newly created reference counted string gi-glibstr: a NUL-terminated string gi-glibReturns:X the newly created reference counted string, or a new reference to an existing string gi-glibstr: a NUL-terminated string gi-glibReturns:, the newly created reference counted string gi-glibstr: a reference counted string gi-glibReturns:* the length of the given string, in bytes gi-glibstr: a reference counted string gi-glibReturns:6 the given string, with its reference count increased gi-glibrc,: the address of a reference count variable gi-glibrc,: the address of a reference count variable gi-glibrc,: the address of a reference count variable gi-glibReturns:  ' if the reference count reached 0, and   otherwise gi-glibrc,: the address of a reference count variable gi-glibval: the value to compare gi-glibReturns:  9 if the reference count is the same as the given value gi-glibmem: the memory to reallocate gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns:) the new address of the allocated memory gi-glibmem: the memory to reallocate gi-glibnBytes": new size of the memory in bytes gi-glibReturns:) the new address of the allocated memory gi-glibmemBlock&: a pointer to reference counted data gi-glib clearFunc,: a function to call when clearing the data gi-glibmemBlock&: a pointer to reference counted data gi-glibmemBlock&: a pointer to reference counted data gi-glibReturns: the size of the data, in bytes gi-glib blockSize6: the number of bytes to copy, must be greater than 0 gi-glibmemBlock: the memory to copy gi-glibReturns:% a pointer to the allocated memory gi-glib blockSize5: the size of the allocation, must be greater than 0 gi-glibReturns:# a pointer to the allocated memory gi-glib blockSize5: the size of the allocation, must be greater than 0 gi-glibReturns:# a pointer to the allocated memory gi-glibmemBlock&: a pointer to reference counted data gi-glibReturns:= a pointer to the data, with its reference count increased gi-glibseed=: a value to reinitialize the global random number generator gi-glibbegin%: lower closed bound of the interval gi-glibend#: upper open bound of the interval gi-glibReturns: a random number gi-glibReturns: a random number gi-glibbegin%: lower closed bound of the interval gi-glibend#: upper open bound of the interval gi-glibReturns: a random number gi-glibReturns: a random number gi-glibstring : a string gi-glibReturns: the GQuark% associated with the string, or 0 if string is   or there is no GQuark associated with it gi-glibquark: a GQuark. gi-glibReturns: the string associated with the GQuark gi-glibstring : a string gi-glibReturns: the GQuark! identifying the string, or 0 if string is   gi-glibstring : a string gi-glibReturns: the GQuark! identifying the string, or 0 if string is   gi-glibsrc): error to move into the return location gi-glibfds: file descriptors to poll gi-glibnfds$: the number of file descriptors in fds gi-glibtimeoutA: amount of time to wait, in milliseconds, or -1 to wait forever gi-glibReturns: the number of entries in fds whose reventsh fields were filled in, or 0 if the operation timed out, or -1 on error or if the call was interrupted. gi-glibaddress: a pointer to a gpointer -sized value gi-gliblockBit: a bit value between 0 and 31 gi-glibaddress: a pointer to a gpointer -sized value gi-gliblockBit: a bit value between 0 and 31 gi-glibReturns:   if the lock was acquired gi-glibaddress: a pointer to a gpointer -sized value gi-gliblockBit: a bit value between 0 and 31 gi-glibpspec: a H gi-glibstring$: the UTF-8 encoded string to match gi-glibReturns:   if string matches pspec gi-glibpattern: the UTF-8 encoded pattern gi-glibstring$: the UTF-8 encoded string to match gi-glibReturns:   if string matches pspec gi-glibpspec: a H gi-glib stringLength: the length of string (in bytes, i.e. strlen() , not  ) gi-glibstring$: the UTF-8 encoded string to match gi-glibstringReversed: the reverse of string or   gi-glibReturns:   if string matches pspec gi-glibfileName: a file name gi-glibReturns: a pointer into fileName after the root component gi-glibfileName: a file name gi-glibReturns:   if fileName is absolute gi-glibfileName: the name of the file gi-glibReturns:& the directory components of the file gi-glibfileName: the name of the file gi-glibReturns:K a newly allocated string containing the last component of the filename gi-glibstringE: a list of debug options separated by colons, spaces, or commas, or  . gi-glibkeys: pointer to an array of  I- which associate strings with bit flags. gi-glibReturns: the combined set of bit flags. gi-glibprgNameE: the program name, needed by gdb for the "[S]tack trace" option gi-glibprgNameI: the program name, needed by gdb for the "[S]tack trace" option. If prgName is  ,  E is called to get the program name (which will work correctly if  gdk_init() or  gtk_init() has been called) gi-glibnullifyLocation%: the memory address of the pointer. gi-glibpathname,: a pathname in the GLib file name encoding gi-glibmode3: permissions to use for newly created directories gi-glibReturns:r 0 if the directory already exists, or was successfully created. Returns -1 if an error occurred, with errno set. gi-glibmem: the memory to copy. gi-glibbyteSize: the number of bytes to copy. gi-glibReturns:9 a pointer to the newly-allocated copy of the memory, or   if mem is  . gi-glibvtable': table of memory allocation routines. gi-glibReturns: if  , malloc() and   can be mixed. gi-glibtext: some valid UTF-8 text gi-gliblength : length of text/ in bytes, or -1 if the text is nul-terminated gi-glibReturns:0 a newly allocated string with the escaped text gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns:# a pointer to the allocated memory gi-glibnBlocks#: the number of blocks to allocate gi-glib nBlockBytes": the size of each block in bytes gi-glibReturns:# a pointer to the allocated memory gi-glibnBytes": the number of bytes to allocate gi-glibReturns:# a pointer to the allocated memory gi-glibnBytes": the number of bytes to allocate gi-glibReturns:# a pointer to the allocated memory gi-glibReturns:5 The main loop recursion level in the current thread gi-glibReturns: The currently firing source or  . gi-gliboutputFd": output file descriptor to check gi-glibReturns:  & if ANSI color escapes are supported,   otherwise gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfields@: key value pairs of structured data forming the log message gi-glibuserData: user data passed to = gi-glibReturns:  on success,  otherwise gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfields@: key value pairs of structured data forming the log message gi-glibuserData: user data passed to = gi-glibReturns:  on success,  otherwise gi-gliboutputFd": output file descriptor to check gi-glibReturns:   if outputFd points to the journal,   otherwise gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfields@: key value pairs of structured data forming the log message gi-glibuseColor:  D to use ANSI color escape sequences when formatting the message,   to not gi-glibReturns:\ string containing the formatted log message, in the character set of the current locale gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfields@: key value pairs of structured data forming the log message gi-glibuserData: user data passed to = gi-glibReturns:  on success,  otherwise gi-glib logDomain: log domain, usually K gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfields: a dictionary (  of the type G_VARIANT_TYPE_VARDICT2) containing the key-value pairs of message data. gi-gliblogLevel: log level, either from J, or a user-defined level gi-glibfieldsB: key value pairs of structured data to add to the log message gi-glib logDomain: the log domain, or  + for the default "" application domain gi-glib logLevels: the log levels to apply the log handler for. To handle fatal and recursive messages as well, combine the log levels with the G_LOG_FLAG_FATAL and G_LOG_FLAG_RECURSION bit flags. gi-gliblogFunc: the log handler function gi-glibReturns: the id of the new handler gi-glib logDomain: the log domain gi-glib fatalMask: the new fatal mask gi-glibReturns:' the old fatal mask for the log domain gi-glib fatalMaskP: the mask containing bits set for each level of error which is to be fatal gi-glibReturns: the old fatal mask gi-glib logDomain: the log domain gi-glib handlerId3: the id of the handler, which was returned in g_log_set_handler() gi-glib logDomain$: the log domain of the message, or  ' for the default "" application domain gi-gliblogLevel: the level of the message gi-glibmessage: the message gi-glib unusedData: data passed from g_log() which is unused gi-glib opsysstring}: a string in the encoding of the current locale. On Windows this means the system codepage. gi-glibReturns: The converted string, or   on an error.  (Can throw o) gi-glib utf8string: a UTF-8 encoded string gi-gliblenS: the length of the string, or -1 if the string is nul-terminated. gi-glibReturns:Q A newly-allocated buffer containing the converted string, or  % on an error, and error will be set.  (Can throw o) gi-glibReturns: a  9-terminated list of strings which must be freed with  P. gi-glibchannel: a ` to watch gi-glib condition: conditions to watch for gi-glibReturns: a new *T gi-glibchannel: a ` gi-glibpriority: the priority of the ` source gi-glib condition: the condition to watch for gi-glibfunc7: the function to call when the condition is satisfied gi-glibReturns: the event source id gi-glibstring : a string gi-glibReturns:+ a canonical representation for the string gi-glibstring: a static string gi-glibReturns:+ a canonical representation for the string gi-glibv: a pointer to a gint key gi-glibReturns:( a hash value corresponding to the key. gi-glibv1: a pointer to a gint key gi-glibv2: a pointer to a gint key to compare with v1 gi-glibReturns:   if the two keys match. gi-glibv: a pointer to a gint64 key gi-glibReturns:( a hash value corresponding to the key. gi-glibv1: a pointer to a gint64 key gi-glibv2: a pointer to a gint64 key to compare with v1 gi-glibReturns:   if the two keys match. gi-glibReturns: the newly-created idle source gi-glibdata+: the data for the idle source's callback. gi-glibReturns:  * if an idle source was found and removed. gi-glibpriorityZ: the priority of the idle source. Typically this will be in the range between * and L. gi-glibfunction: function to call gi-glibReturns:. the ID (greater than 0) of the event source. gi-glibhostname": a valid UTF-8 or ASCII hostname gi-glibReturns:+ a UTF-8 hostname, which must be freed, or   if hostname is in some way invalid. gi-glibhostname": a valid UTF-8 or ASCII hostname gi-glibReturns:, an ASCII hostname, which must be freed, or   if hostname is in some way invalid. gi-glibhostname : a hostname gi-glibReturns:   if hostname# contains any non-ASCII characters gi-glibhostname,: a hostname (or IP address in string form) gi-glibReturns:   if hostname is an IP address gi-glibhostname : a hostname gi-glibReturns:   if hostname& contains any ASCII-encoded segments. gi-glibvariable": the environment variable to get gi-glibReturns:+ the value of the environment variable, or  n if the environment variable is not found. The returned string may be overwritten by the next call to  ,  | or  . gi-glib directory&: the logical id of special directory gi-glibReturns:3 the path to the specified special directory, or  n if the logical id was not found. The returned string is owned by GLib and should not be modified or freed. gi-glibReturns:@ a string owned by GLib that must not be modified or freed. gi-glibReturns:$ the user name of the current user. gi-glibReturns:J a string owned by GLib that must not be modified or freed. gi-glibReturns:J a string owned by GLib that must not be modified or freed. gi-glibReturns:J a string owned by GLib that must not be modified or freed. gi-glibReturns:+ the directory to use for temporary files. gi-glibReturns: a  S-terminated array of strings owned by GLib that must not be modified or freed. gi-glibReturns: a  S-terminated array of strings owned by GLib that must not be modified or freed. gi-glibReturns:7 the number of microseconds since January 1, 1970 UTC. gi-glibReturns: the user's real name. gi-glibReturns:e the name of the program. The returned string belongs to GLib and must not be modified or freed. gi-glibReturns:6 Number of schedulable threads, always greater than 0 gi-glibReturns:% the monotonic time, in microseconds gi-gliblocale: a locale identifier gi-glibReturns:\ a newly allocated array of newly allocated strings with the locale variants. Free with  P. gi-glib categoryName: a locale category name gi-glibReturns: a  -terminated array of strings owned by the thread g_get_language_names_with_category was called from. It must not be modified or freed. It must be copied if planned to be used in another thread. gi-glibReturns: a  R-terminated array of strings owned by GLib that must not be modified or freed. gi-glibReturns: the host name of the machine. gi-glibReturns:# the current user's home directory gi-glibReturns:  $ if the filename encoding is UTF-8. gi-glibReturns:( the list of environment variables gi-glibresult: :+ structure in which to store current time. gi-glibReturns: the current directory gi-glibReturns:g a newly allocated string containing the name of the character set. This string must be freed with  . gi-glibReturns:  " if the returned charset is UTF-8 gi-glibReturns:- human-readable application name. may return   gi-glibmem: the memory to free gi-glibsize: a size in bytes gi-glibflags: - to modify the output gi-glibReturns:N a newly-allocated formatted string containing a human readable file size gi-glibsize: a size in bytes gi-glibReturns:N a newly-allocated formatted string containing a human readable file size gi-glibsize: a size in bytes gi-glibReturns:N a newly-allocated formatted string containing a human readable file size gi-glibprogram0: a program name in the GLib file name encoding gi-glibReturns:9 a newly-allocated string with the absolute path, or   gi-glib opsysstring): a string in the encoding for filenames gi-gliblen: the length of the string, or -1 if the string is nul-terminated (Note that some encodings may allow nul bytes to occur inside strings. In that case, using -1 for the len parameter is unsafe) gi-glibReturns: The converted string, or   on an error.  (Can throw o) gi-glibfilename: an absolute filename specified in the GLib file name encoding, which is the on-disk file name bytes on Unix, and UTF-8 on Windows gi-glibhostname: A UTF-8 encoded hostname, or   for none. gi-glibReturns:F a newly-allocated string holding the resulting URI, or   on an error.  (Can throw o) gi-glib utf8string: a UTF-8 encoded string. gi-gliblenS: the length of the string, or -1 if the string is nul-terminated. gi-glibReturns:) The converted string, or   on an error.  (Can throw o) gi-gliburi;: a uri describing a filename (escaped, encoded in ASCII). gi-glibReturns:K a newly-allocated string holding the resulting filename, or   on an error.  (Can throw o) gi-glibfilename:: a pathname hopefully in the GLib file name encoding gi-glibReturns:R a newly allocated string containing a rendition of the filename in valid UTF-8 gi-glibfilename:: an absolute pathname in the GLib file name encoding gi-glibReturns:b a newly allocated string containing a rendition of the basename of the filename in valid UTF-8 gi-glibfilename8: a filename to test in the GLib file name encoding gi-glibtest: bitfield of M flags gi-glibReturns: whether a test was   gi-glibfilename: name of a file to write contents& to, in the GLib file name encoding gi-glibcontents: string to write to the file gi-glib (Can throw o) gi-glibfilename: the symbolic link gi-glibReturns:I A newly-allocated string with the contents of the symbolic link, or   if an error occurred.  (Can throw o) gi-glibtmpl$: Template for file name, as in  g_mkstemp(), basename only, or   for a default template gi-glibReturns: A file handle (as from open()) to the file opened for reading and writing. The file is opened in binary mode on platforms where there is a difference. The file handle should be closed with close()(. In case of errors, -1 is returned and error will be set.  (Can throw o) gi-glibfilenameG: name of a file to read contents from, in the GLib file name encoding gi-glib (Can throw o) gi-gliberrNo: an "errno" value gi-glibReturns:  corresponding to the given errno gi-glibenvp3: an environment list that can be freed using  P (e.g., as returned from  ), or   for an empty environment list gi-glibvariable?: the environment variable to remove, must not contain '=' gi-glibReturns:2 the updated environment list. Free it using  P. gi-glibenvp3: an environment list that can be freed using  P (e.g., as returned from  ), or  # for an empty environment list gi-glibvariable<: the environment variable to set, must not contain '=' gi-glibvalue': the value for to set the variable to gi-glib overwrite6: whether to change the variable if it already exists gi-glibReturns:2 the updated environment list. Free it using  P. gi-glibenvp1: an environment list (eg, as returned from  ), or  # for an empty environment list gi-glibvariable": the environment variable to get gi-glibReturns:+ the value of the environment variable, or  / if the environment variable is not set in envp&. The returned string is owned by envp, and will be freed if variable is set or unset again. gi-glibdomain$: the translation domain to use, or   to use the domain set with  textdomain() gi-glibcontext: the message context gi-glibmsgid: the message gi-glibReturns: The translated string gi-glibdomain$: the translation domain to use, or   to use the domain set with  textdomain() gi-glib msgctxtidM: a combined message context and message id, separated by a \004 character gi-glib msgidoffset": the offset of the message id in msgctxid gi-glibReturns: The translated string gi-glibv: a pointer to a gdouble key gi-glibReturns:( a hash value corresponding to the key. gi-glibv1: a pointer to a gdouble key gi-glibv2: a pointer to a gdouble key to compare with v1 gi-glibReturns:   if the two keys match. gi-glibdomain$: the translation domain to use, or   to use the domain set with  textdomain() gi-glibmsgid: message to translate gi-glib msgidPlural: plural form of the message gi-glibn/: the quantity for which translation is needed gi-glibReturns: The translated string gi-glibv: a gpointer key gi-glibReturns:( a hash value corresponding to the key. gi-glibv1: a key gi-glibv2: a key to compare with v1 gi-glibReturns:   if the two keys match. gi-glibdomain$: the translation domain to use, or   to use the domain set with  textdomain() gi-glibmsgid: message to translate gi-glibReturns: The translated string gi-glibdomain$: the translation domain to use, or   to use the domain set with  textdomain() gi-glibmsgid: message to translate gi-glibcategory: a locale category gi-glibReturns:5 the translated string for the given locale category gi-glibdatasetLocation(: the location identifying the dataset. gi-glibkeyId: the GQuark" id to identify the data element. gi-glibReturns:0 the data element corresponding to the GQuark, or   if it is not found. gi-glibdatasetLocation(: the location identifying the dataset. gi-glibfunc.: the function to call for each data element. gi-glibdatasetLocation(: the location identifying the dataset. gi-glibdatalist,: pointer to the location that holds a list gi-glibflagsE: the flags to turn off. The values of the flags are restricted by NC (currently 3: giving two possible boolean flags). A value for flags1 that doesn't fit within the mask is an error. gi-glibdatalist,: pointer to the location that holds a list gi-glibflagsD: the flags to turn on. The values of the flags are restricted by NC (currently 3; giving two possible boolean flags). A value for flags1 that doesn't fit within the mask is an error. gi-glibdatalist: a datalist. gi-glibkeyId: the GQuark identifying a data element. gi-glibReturns: the data element, or   if it is not found. gi-glibdatalist,: pointer to the location that holds a list gi-glibReturns: the flags of the datalist gi-glibdatalist: a datalist. gi-glibkey): the string identifying a data element. gi-glibReturns: the data element, or   if it is not found. gi-glibdatalist: a datalist. gi-glibfunc.: the function to call for each data element. gi-glibstr): the string to convert. gi-glib toCodeset.: name of character set into which to convert str gi-glib fromCodeset: character set of str. gi-glibfallback: UTF-8 string to use in place of characters not present in the target encoding. (The string must be representable in the target encoding). If  t, characters not in the target encoding will be represented as Unicode escapes \uxxxx or \Uxxxxyyyy. gi-glibReturns: If the conversion was successful, a newly allocated buffer containing the converted string, which must be freed with  . Otherwise   and error will be set.  (Can throw o) !gi-glibstr*: the string to convert. gi-glib toCodeset.: name of character set into which to convert str gi-glib fromCodeset: character set of str. gi-glibReturns: If the conversion was successful, a newly allocated buffer containing the converted string, which must be freed with  . Otherwise   and error will be set.  (Can throw o) "gi-glib digestType: a  to use for the HMAC gi-glibkey: the key to use in the HMAC gi-glibstr%: the string to compute the HMAC for gi-gliblengthB: the length of the string, or -1 if the string is nul-terminated gi-glibReturns:P the HMAC as a hexadecimal string. The returned string should be freed with   when done using it. #gi-glib digestType: a  to use for the HMAC gi-glibkey: the key to use in the HMAC gi-glibdata%: binary blob to compute the HMAC of gi-glibReturns:d the HMAC of the binary data as a string in hexadecimal. The returned string should be freed with   when done using it. $gi-glib digestType: a  to use for the HMAC gi-glibkey: the key to use in the HMAC gi-glibdata%: binary blob to compute the HMAC of gi-glibReturns:d the HMAC of the binary data as a string in hexadecimal. The returned string should be freed with   when done using it. %gi-glib checksumType: a  gi-glibstr(: the string to compute the checksum of gi-gliblengthD: the length of the string, or -1 if the string is null-terminated. gi-glibReturns:R the checksum as a hexadecimal string. The returned string should be freed with   when done using it. &gi-glib checksumType: a  gi-glibdata': binary blob to compute the digest of gi-glibReturns:f the digest of the binary data as a string in hexadecimal. The returned string should be freed with   when done using it. 'gi-glib checksumType: a  gi-glibdata': binary blob to compute the digest of gi-glibReturns:f the digest of the binary data as a string in hexadecimal. The returned string should be freed with   when done using it. (gi-glibfd: A file descriptor gi-glib (Can throw o) )gi-glib (Can throw o) *gi-glibpid: process to watch. On POSIX the positive pid of a child process. On Windows a handle for a process (which doesn't have to be a child). gi-glibReturns:& the newly-created child watch source +gi-glibpriorityZ: the priority of the idle source. Typically this will be in the range between * and L. gi-glibpid: process to watch. On POSIX the positive pid of a child process. On Windows a handle for a process (which doesn't have to be a child). gi-glibfunction: function to call gi-glibReturns:. the ID (greater than 0) of the event source. ,gi-glib requiredMajor: the required major version gi-glib requiredMinor: the required minor version gi-glib requiredMicro: the required micro version gi-glibReturns:   if the GLib library is compatible with the given version, or a string describing the version mismatch. The returned string is owned by GLib and must not be modified or freed. -gi-glibpathC: a pathname in the GLib file name encoding (UTF-8 on Windows) gi-glibReturns:( 0 on success, -1 if an error occurred. .gi-glibfilename: the name of the file gi-glib relativeTo: the relative directory, or  & to use the current working directory gi-glibReturns:7 a newly allocated string with the canonical file path /gi-glib separator7: a string used to separator the elements of the path. gi-glibargs:  ?-terminated array of strings containing the path elements. gi-glibReturns:6 a newly-allocated string that must be freed with  . 0gi-glibargs:  ?-terminated array of strings containing the path elements. gi-glibReturns:6 a newly-allocated string that must be freed with  . 1gi-glibaddress: a pointer to an integer gi-gliblockBit: a bit value between 0 and 31 2gi-glibaddress: a pointer to an integer gi-gliblockBit: a bit value between 0 and 31 gi-glibReturns:   if the lock was acquired 3gi-glibnumber: a guint gi-glibReturns:! the number of bits used to hold number 4gi-glibmask: a gulong containing flags gi-glibnthBit0: the index of the bit to start the search from gi-glibReturns:4 the index of the first bit set which is lower than nthBit$, or -1 if no lower bits are set 5gi-glibmask: a gulong containing flags gi-glibnthBit0: the index of the bit to start the search from gi-glibReturns:5 the index of the first bit set which is higher than nthBit%, or -1 if no higher bits are set 6gi-glibaddress: a pointer to an integer gi-gliblockBit: a bit value between 0 and 31 7gi-glibfileName: the name of the file gi-glibReturns:C the name of the file without any leading directory components 8gi-glibdata: the binary data to encode gi-glibReturns:V a newly allocated, zero-terminated Base-64 encoded string representing data7. The returned string must be freed with  . 9gi-glibtext;: zero-terminated string with base64 text to decode gi-glibReturns: The binary data that text? responds. This pointer is the same as the input text. :gi-glibtext4: zero-terminated string with base64 text to decode gi-glibReturns:U newly allocated buffer containing the binary data that textB represents. The returned buffer must be freed with  . ;gi-glibarc4: the address of an atomic reference count variable <gi-glibarc4: the address of an atomic reference count variable =gi-glibarc4: the address of an atomic reference count variable gi-glibReturns:  ' if the reference count reached 0, and   otherwise >gi-glibarc4: the address of an atomic reference count variable gi-glibval: the value to compare gi-glibReturns:  9 if the reference count is the same as the given value ?gi-glibmemBlock&: a pointer to reference counted data gi-glib clearFunc,: a function to call when clearing the data @gi-glibmemBlock&: a pointer to reference counted data Agi-glibmemBlock&: a pointer to reference counted data gi-glibReturns: the size of the data, in bytes Bgi-glib blockSize6: the number of bytes to copy, must be greater than 0 gi-glibmemBlock: the memory to copy gi-glibReturns:% a pointer to the allocated memory Cgi-glib blockSize5: the size of the allocation, must be greater than 0 gi-glibReturns:# a pointer to the allocated memory Dgi-glib blockSize5: the size of the allocation, must be greater than 0 gi-glibReturns:# a pointer to the allocated memory Egi-glibmemBlock&: a pointer to reference counted data gi-glibReturns:= a pointer to the data, with its reference count increased Fgi-glibatomic: a pointer to a gpointer -sized value gi-glibval: the value to 'xor' gi-glibReturns: the value of atomic before the operation, unsigned Ggi-glibatomic: a pointer to a gpointer -sized value gi-glibnewval: a new value to store Hgi-glibatomic: a pointer to a gpointer -sized value gi-glibval: the value to 'or' gi-glibReturns: the value of atomic before the operation, unsigned Igi-glibatomic: a pointer to a gpointer -sized value gi-glibReturns: the value of the pointer Jgi-glibatomic: a pointer to a gpointer -sized value gi-gliboldval: the value to compare with gi-glibnewval*: the value to conditionally replace with gi-glibReturns:   if the exchange took place Kgi-glibatomic: a pointer to a gpointer -sized value gi-glibval: the value to 'and' gi-glibReturns: the value of atomic before the operation, unsigned Lgi-glibatomic: a pointer to a gpointer -sized value gi-glibval: the value to add gi-glibReturns: the value of atomic before the add, signed Mgi-glibatomic: a pointer to a gint or guint gi-glibval: the value to 'xor' gi-glibReturns: the value of atomic before the operation, unsigned Ngi-glibatomic: a pointer to a gint or guint gi-glibnewval: a new value to store Ogi-glibatomic: a pointer to a gint or guint gi-glibval: the value to 'or' gi-glibReturns: the value of atomic before the operation, unsigned Pgi-glibatomic: a pointer to a gint or guint Qgi-glibatomic: a pointer to a gint or guint gi-glibReturns: the value of the integer Rgi-glibatomic: a pointer to a gint gi-glibval: the value to add gi-glibReturns: the value of atomic before the add, signed Sgi-glibatomic: a pointer to a gint or guint gi-glibReturns:   if the resultant value is zero Tgi-glibatomic: a pointer to a gint or guint gi-gliboldval: the value to compare with gi-glibnewval*: the value to conditionally replace with gi-glibReturns:   if the exchange took place Ugi-glibatomic: a pointer to a gint or guint gi-glibval: the value to 'and' gi-glibReturns: the value of atomic before the operation, unsigned Vgi-glibatomic: a pointer to a gint or guint gi-glibval: the value to add gi-glibReturns: the value of atomic before the add, signed Wgi-glibfunc6: the function to call on normal program termination. \gi-glibc: an ASCII character. gi-glibReturns: If c is a hex digit (according to g_ascii_isxdigit())), its numeric value. Otherwise, -1. ]gi-glibc: any character gi-glibReturns: the result of converting c to upper case. If c' is not an ASCII lower case letter, c is returned unchanged. ^gi-glibc: any character gi-glibReturns: the result of converting c to lower case. If c( is not an ASCII upper case letter, c is returned unchanged. _gi-glibstr : a string gi-gliblen : length of str in bytes, or -1 if str is nul-terminated gi-glibReturns:E a newly allocated string, with all the lower case characters in str@ converted to upper case, with semantics that exactly match  ](. (Note that this is unlike the old  ?', which modified the string in place.) `gi-glibnptr,: the string to convert to a numeric value. gi-glibbase,: to be used for the conversion, 2..36 or 0 gi-glibReturns: the guint64 value or zero on error. agi-glibnptr,: the string to convert to a numeric value. gi-glibbase,: to be used for the conversion, 2..36 or 0 gi-glibReturns: the gint64 value or zero on error. bgi-glibnptr,: the string to convert to a numeric value. gi-glibReturns: the gdouble value. cgi-glibs1: string to compare with s2 gi-glibs2: string to compare with s1 gi-glibn": number of characters to compare gi-glibReturns:- 0 if the strings match, a negative value if s1 < s2, or a positive value if s1 > s2. dgi-glibstr : a string gi-glibbase: base of a parsed number gi-glibmin: a lower bound (inclusive) gi-glibmax: an upper bound (inclusive) gi-glib (Can throw o) egi-glibstr : a string gi-glibbase: base of a parsed number gi-glibmin: a lower bound (inclusive) gi-glibmax: an upper bound (inclusive) gi-glib (Can throw o) fgi-glibstr : a string gi-gliblen : length of str in bytes, or -1 if str is nul-terminated gi-glibReturns:E a newly-allocated string, with all the upper case characters in str@ converted to lower case, with semantics that exactly match  ^(. (Note that this is unlike the old  T', which modified the string in place.) ggi-glibs1: string to compare with s2 gi-glibs2: string to compare with s1 gi-glibReturns:- 0 if the strings match, a negative value if s1 < s2, or a positive value if s1 > s2. hgi-glibbuffer,: A buffer to place the resulting string in gi-glibbufLen: The length of the buffer. gi-glibformat: The printf()B-style format to use for the code to use for converting. gi-glibd: The gdouble to convert gi-glibReturns:6 The pointer to the buffer with the converted string. igi-glibbuffer,: A buffer to place the resulting string in gi-glibbufLen: The length of the buffer. gi-glibd: The gdouble to convert gi-glibReturns:6 The pointer to the buffer with the converted string. jgi-glibc: an ASCII character gi-glibReturns: If c" is a decimal digit (according to g_ascii_isdigit()(), its numeric value. Otherwise, -1. kgi-glibfilenameC: a pathname in the GLib file name encoding (UTF-8 on Windows) gi-glibmode: as in access() gi-glibReturns: zero if the pathname refers to an existing file system object that has all the tested permissions, or -1 otherwise or on error.                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                            ~ } | { z y x w v u t s r q p o n m l k j i h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !                           :7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb&dJ Egi-glibMemory-managed wrapper type. lgi-glib Construct a  E struct initialized to zero. mgi-glibA convenience alias for   ::    E. ngi-glibGet the value of the tv_sec  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  timeVal #tvSec ogi-glibSet the value of the tv_sec  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  timeVal [ #tvSec  value ] pgi-glibGet the value of the tv_usec  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  timeVal #tvUsec qgi-glibSet the value of the tv_usec  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  timeVal [ #tvUsec  value ] rgi-glib)Adds the given number of microseconds to time_.  microseconds/ can also be negative to decrease the value of time_. sgi-glib Converts time_ into an RFC 3339 encoded string, relative to the Coordinated Universal Time (UTC). This is one of the many formats allowed by ISO 8601.ISO 8601 allows a large number of date/time formats, with or without punctuation and optional elements. The format returned by this function is a complete date and time, with optional punctuation included, the UTC time zone represented as "Z", and the tvUsecp part included if and only if it is nonzero, i.e. either "YYYY-MM-DDTHH:MM:SSZ" or "YYYY-MM-DDTHH:MM:SS.fffffZ".=This corresponds to the Internet date/time format defined by  $https://www.ietf.org/rfc/rfc3339.txtRFC 3339H, and to either of the two most-precise formats defined by the W3C Note  +http://www.w3.org/TR/NOTE-datetime-19980827Date and Time Formats3. Both of these documents are profiles of ISO 8601.Use ?O or g_strdup_printf()9 if a different variation of ISO 8601 format is required.If time_4 represents a date which is too large to fit into a  struct tm,  D will be returned. This is platform dependent. Note also that since GTimeVal# stores the number of seconds as a glong;, on 32-bit systems it is subject to the year 2038 problem.The return value of  s\ has been nullable since GLib 2.54; before then, GLib would crash under the same conditions. Since: 2.12 tgi-glibDConverts a string containing an ISO 8601 encoded date and time to a  E and puts it into time_.isoDate must include year, month, day, hours, minutes, and seconds. It can optionally include fractions of a second and a time zone indicator. (In the absence of any time zone indication, the timestamp is assumed to be in local time.)!Any leading or trailing space in isoDate is ignored. Since: 2.12 rgi-glibtime_: a  E gi-glib microseconds#: number of microseconds to add to time sgi-glibtime_: a  E gi-glibReturns:= a newly allocated string containing an ISO 8601 date, or   if time_ was too large tgi-glibisoDate": an ISO 8601 encoded date string gi-glibReturns:  # if the conversion was successful. E F l m n o p q r s t E F l m r t s n o p q?7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb'ۯ3 ygi-glibMemory-managed wrapper type. {gi-glibA convenience alias for   ::    y. |gi-glibCreates a new  y; corresponding to the given date and time in the time zone tz.The year must be between 1 and 9999, month between 1 and 12 and dayD between 1 and 28, 29, 30 or 31 depending on the month and the year.hour must be between 0 and 23 and minute must be between 0 and 59.secondsn must be at least 0.0 and must be strictly less than 60.0. It will be rounded down to the nearest microsecond.TIf the given time is not representable in the given time zone (for example, 02:30 on March 14th 2010 in Toronto, due to daylight savings time) then the time will be rounded up to the nearest existing time (in this case, 03:00). If this matters to you then you should verify the return value for containing the same as the numbers you gave.In the case that the given time is ambiguous in the given time zone (for example, 01:30 on November 7th 2010 in Toronto, due to daylight savings time) then the time falling within standard (ie: non-daylight) time is taken.It not considered a programmer error for the values to this function to be out of range, but in the case that they are, the function will return  ./You should release the return value by calling   when you are done with it. Since: 2.26 }gi-glib Creates a  y corresponding to the given  &https://en.wikipedia.org/wiki/ISO_8601ISO 8601 formatted string textC. ISO 8601 strings of the form <date><sep><time><tz> are supported.9<sep> is the separator and can be either 'T', 't' or ' '.<date> is in the form: YYYY-MM-DD# - Year/month/day, e.g. 2016-08-24.YYYYMMDD" - Same as above without dividers.YYYY-DDD; - Ordinal day where DDD is from 001 to 366, e.g. 2016-237.YYYYDDD" - Same as above without dividers. YYYY-Www-DF - Week day where ww is from 01 to 52 and D from 1-7, e.g. 2016-W34-3.YYYYWwwD" - Same as above without dividers.<time> is in the form:hh:mm:ss(.sss); - Hours, minutes, seconds (subseconds), e.g. 22:10:42.123. hhmmss(.sss)" - Same as above without dividers.0<tz> is an optional timezone suffix of the form:Z - UTC.+hh:mm or -hh:mm5 - Offset from UTC in hours and minutes, e.g. +12:00.+hh or -hh& - Offset from UTC in hours, e.g. +12.#If the timezone is not provided in text it must be provided in  defaultTz# (this field is otherwise ignored).This call can fail (returning  ) if text* is not a valid ISO 8601 formatted string./You should release the return value by calling   when you are done with it. Since: 2.56 ~gi-glib Creates a  y corresponding to the given : tv in the local time zone.The time contained in a :t is always stored in the form of seconds elapsed since 1970-01-01 00:00:00 UTC, regardless of the local time offset.This call can fail (returning  ) if tv5 represents a time outside of the supported range of  y./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  y corresponding to the given : tv in UTC.The time contained in a :O is always stored in the form of seconds elapsed since 1970-01-01 00:00:00 UTC.This call can fail (returning  ) if tv5 represents a time outside of the supported range of  y./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  y& corresponding to the given Unix time t in the local time zone.xUnix time is the number of seconds that have elapsed since 1970-01-01 00:00:00 UTC, regardless of the local time offset.This call can fail (returning  ) if t5 represents a time outside of the supported range of  y./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  y& corresponding to the given Unix time t in UTC.SUnix time is the number of seconds that have elapsed since 1970-01-01 00:00:00 UTC.This call can fail (returning  ) if t5 represents a time outside of the supported range of  y./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glibCreates a new  yA corresponding to the given date and time in the local time zone.#This call is equivalent to calling  | with the time zone returned by >P. Since: 2.26 gi-glib Creates a  y< corresponding to this exact instant in the given time zone tzX. The time is as accurate as the system allows, to a maximum accuracy of 1 microsecond.This function will always succeed unless the system clock is set to truly insane values (or unless GLib is still being used after the year 9999)./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  y< corresponding to this exact instant in the local time zone.This is equivalent to calling   with the time zone returned by >P. Since: 2.26 gi-glib Creates a  y, corresponding to this exact instant in UTC.This is equivalent to calling   with the time zone returned by >Q. Since: 2.26 gi-glibCreates a new  y1 corresponding to the given date and time in UTC.#This call is equivalent to calling  | with the time zone returned by >Q. Since: 2.26 gi-glibCreates a copy of datetime- and adds the specified timespan to the copy. Since: 2.26 gi-glibCreates a copy of datetimeY and adds the specified number of days to the copy. Add negative values to subtract days. Since: 2.26 gi-glibCreates a new  y= adding the specified values to the current date and time in datetime". Add negative values to subtract. Since: 2.26 gi-glibCreates a copy of datetimeO and adds the specified number of hours. Add negative values to subtract hours. Since: 2.26 gi-glibCreates a copy of datetimeQ adding the specified number of minutes. Add negative values to subtract minutes. Since: 2.26 gi-glibCreates a copy of datetime] and adds the specified number of months to the copy. Add negative values to subtract months.&The day of the month of the resulting  y is clamped to the number of days in the updated calendar month. For example, if adding 1 month to 31st January 2018, the result would be 28th February 2018. In 2020 (a leap year), the result would be 29th February. Since: 2.26 gi-glibCreates a copy of datetimeS and adds the specified number of seconds. Add negative values to subtract seconds. Since: 2.26 gi-glibCreates a copy of datetime[ and adds the specified number of weeks to the copy. Add negative values to subtract weeks. Since: 2.26 gi-glibCreates a copy of datetime[ and adds the specified number of years to the copy. Add negative values to subtract years.As with  l, if the resulting date would be 29th February on a non-leap year, the day will be clamped to 28th February. Since: 2.26 gi-glib*Calculates the difference in time between end and begin. The  GTimeSpan! that is returned is effectively end - begin1 (ie: positive if the first parameter is larger). Since: 2.26 gi-glib<Creates a newly allocated string representing the requested format.CThe format strings understood by this function are a subset of the  strftime() format language as specified by C99. The %D, %U and %W conversions are not supported, nor is the 'E' modifier. The GNU extensions %k, %l, %s and %P are supported, however, as are the '0', '_' and '-' modifiers.In contrast to  strftime(), this function always produces a UTF-8 string, regardless of the current locale. Note that the rendering of many formats is locale-dependent and may not match the  strftime() output exactly..The following format specifiers are supported:(@%a: the abbreviated weekday name according to the current locale9%A: the full weekday name according to the current locale>%b: the abbreviated month name according to the current locale7%B: the full month name according to the current localeE%c: the preferred date and time representation for the current locale>%C: the century number (year/100) as a 2-digit integer (00-99)=%d: the day of the month as a decimal number (range 01 to 31)=%e: the day of the month as a decimal number (range 1 to 31)%F: equivalent to %Y-%m-%d (the ISO 8601 date format)t%g: the last two digits of the ISO 8601 week-based year as a decimal number (00-99). This works well with %V and %u.U%G: the ISO 8601 week-based year as a decimal number. This works well with %V and %u.%h: equivalent to %bG%H: the hour as a decimal number using a 24-hour clock (range 00 to 23)G%I: the hour as a decimal number using a 12-hour clock (range 01 to 12)>%j: the day of the year as a decimal number (range 001 to 366)g%k: the hour (24-hour clock) as a decimal number (range 0 to 23); single digits are preceded by a blankg%l: the hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank2%m: the month as a decimal number (range 01 to 12)3%M: the minute as a decimal number (range 00 to 59)%p: either "AM" or "PM" according to the given time value, or the corresponding strings for the current locale. Noon is treated as "PM" and midnight as "AM".X%P: like %p but lowercase: "am" or "pm" or a corresponding string for the current locale%%r: the time in a.m. or p.m. notation(%R: the time in 24-hour notation (%H:%M)Q%s: the number of seconds since the Epoch, that is, since 1970-01-01 00:00:00 UTC3%S: the second as a decimal number (range 00 to 60)%t: a tab character8%T: the time in 24-hour notation with seconds (%H:%M:%S)v%u: the ISO 8601 standard day of the week as a decimal, range 1 to 7, Monday being 1. This works well with %G and %V.%V: the ISO 8601 standard week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the new year. See  !. This works well with %G and %u.%w: the day of the week as a decimal, range 0 to 6, Sunday being 0. This is not the ISO 8601 standard format -- use %u instead.M%x: the preferred date representation for the current locale without the timeM%X: the preferred time representation for the current locale without the date4%y: the year as a decimal number without the century6%Y: the year as a decimal number including the century/%z: the time zone as an offset from UTC (+hhmm)D%:z: the time zone as an offset from UTC (+hh:mm). This is a gnulib  strftime() extension. Since: 2.38H%::z: the time zone as an offset from UTC (+hh:mm:ss). This is a gnulib  strftime() extension. Since: 2.38p%:::z: the time zone as an offset from UTC, with : to necessary precision (e.g., -04, +05:30). This is a gnulib  strftime() extension. Since: 2.38)%Z: the time zone or name or abbreviation%%: a literal % characterSome conversion specifications can be modified by preceding the conversion specifier by one or more modifier characters. The following modifiers are supported for many of the numeric conversions:IO: Use alternative numeric symbols, if the current locale supports those.Z_: Pad a numeric result with spaces. This overrides the default padding for the specifier.U-: Do not pad a numeric result. This overrides the default padding for the specifier.Y0: Pad a numeric result with zeros. This overrides the default padding for the specifier.mAdditionally, when O is used with B, b, or h, it produces the alternative form of a month name. The alternative form should be used when the month name is used without a day number (e.g., standalone). It is required in some languages (Baltic, Slavic, Greek, and more) due to their grammatical rules. For other languages there is no difference. %OB is a GNU and BSD  strftime()W extension expected to be added to the future POSIX specification, %Ob and %Oh are GNU  strftime() extensions. Since: 2.56 Since: 2.26 gi-glib.Retrieves the day of the month represented by datetime in the gregorian calendar. Since: 2.26 gi-glib0Retrieves the ISO 8601 day of the week on which datetime2 falls (1 is Monday, 2 is Tuesday... 7 is Sunday). Since: 2.26 gi-glib-Retrieves the day of the year represented by datetime in the Gregorian calendar. Since: 2.26 gi-glib-Retrieves the hour of the day represented by datetime Since: 2.26 gi-glib5Retrieves the microsecond of the date represented by datetime Since: 2.26 gi-glib0Retrieves the minute of the hour represented by datetime Since: 2.26 gi-glib/Retrieves the month of the year represented by datetime in the Gregorian calendar. Since: 2.26 gi-glib2Retrieves the second of the minute represented by datetime Since: 2.26 gi-glibbRetrieves the number of seconds since the start of the last minute, including the fractional part. Since: 2.26 gi-glibGet the time zone for this datetime. Since: 2.58 gi-glibUDetermines the time zone abbreviation to be used at the time and in the time zone of datetime.For example, in Toronto this is currently "EST" during the winter months and "EDT" during the summer months when daylight savings time is in effect. Since: 2.26 gi-glibKDetermines the offset to UTC in effect at the time and in the time zone of datetime.The offset is the number of microseconds that you add to UTC time to arrive at local time for the time zone (ie: negative numbers for time zones west of GMT, positive numbers for east).If datetime5 represents UTC time, then the offset is always zero. Since: 2.26 gi-glibFReturns the ISO 8601 week-numbering year in which the week containing datetime falls.#This function, taken together with   and  : can be used to determine the full ISO week date on which datetime falls.CThis is usually equal to the normal Gregorian year (as returned by  ), except as detailed below:For Thursday, the week-numbering year is always equal to the usual calendar year. For other days, the number is such that every day within a complete week (Monday to Sunday) is contained within the same week-numbering year.For Monday, Tuesday and Wednesday occurring near the end of the year, this may mean that the week-numbering year is one greater than the calendar year (so that these days have the same week-numbering year as the Thursday occurring early in the next year).For Friday, Saturday and Sunday occurring near the start of the year, this may mean that the week-numbering year is one less than the calendar year (so that these days have the same week-numbering year as the Thursday occurring late in the previous year).An equivalent description is that the week-numbering year is equal to the calendar year containing the majority of the days in the current week (Monday to Sunday).kNote that January 1 0001 in the proleptic Gregorian calendar is a Monday, so this function never returns 0. Since: 2.26 gi-glib9Returns the ISO 8601 week number for the week containing datetime. The ISO 8601 week number is the same for every day of the week (from Moday through Sunday). That can produce some unusual results (described below).The first week of the year is week 1. This is the week that contains the first Thursday of the year. Equivalently, this is the first week that has more than 4 of its days falling within the calendar year.The value 0 is never returned by this function. Days contained within a year but occurring before the first ISO 8601 week of that year are considered as being contained in the last week of the previous year. Similarly, the final days of a calendar year may be considered as being part of the first ISO 8601 week of the next year if 4 or more days of that week are contained within the new year. Since: 2.26 gi-glib"Retrieves the year represented by datetime in the Gregorian calendar. Since: 2.26 gi-glib8Retrieves the Gregorian day, month, and year of a given  y. Since: 2.26 gi-glibUDetermines if daylight savings time is in effect at the time and in the time zone of datetime. Since: 2.26 gi-glib-Atomically increments the reference count of datetime by one. Since: 2.26 gi-glibCreates a new  y. corresponding to the same instant in time as datetime, but in the local time zone.#This call is equivalent to calling   with the time zone returned by >P. Since: 2.26 gi-glib Stores the instant in time that datetime represents into tv.The time contained in a :| is always stored in the form of seconds elapsed since 1970-01-01 00:00:00 UTC, regardless of the time zone associated with datetime.TOn systems where 'long' is 32bit (ie: all 32bit systems and all Windows systems), a :9 is incapable of storing the entire range of values that  yD is capable of expressing. On those systems, this function returns  + to indicate that the time is out of range.<On systems where 'long' is 64bit, this function never fails. Since: 2.26 gi-glib Create a new  y. corresponding to the same instant in time as datetime, but in the time zone tz.This call can fail in the case that the time goes out of bounds. For example, converting 0001-01-01 00:00:00 UTC to a time zone west of Greenwich will fail (due to the year 0 being out of range)./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib%Gives the Unix time corresponding to datetime&, rounding down to the nearest second.Unix time is the number of seconds that have elapsed since 1970-01-01 00:00:00 UTC, regardless of the time zone associated with datetime. Since: 2.26 gi-glibCreates a new  y. corresponding to the same instant in time as datetime , but in UTC.#This call is equivalent to calling   with the time zone returned by >Q. Since: 2.26 gi-glib-Atomically decrements the reference count of datetime by one.BWhen the reference count reaches zero, the resources allocated by datetime are freed Since: 2.26 gi-glibA comparison function for  GDateTimes that is suitable as a /R. Both  GDateTimes must be non- . Since: 2.26 gi-glibChecks to see if dt1 and dt2 are equal.aEqual here means that they represent the same moment after converting them to the same time zone. Since: 2.26 gi-glibHashes datetime into a guint, suitable for use within . Since: 2.261 |gi-glibtz: a >S gi-glibyear!: the year component of the date gi-glibmonth": the month component of the date gi-glibday : the day component of the date gi-glibhour!: the hour component of the date gi-glibminute#: the minute component of the date gi-glibseconds(: the number of seconds past the minute gi-glibReturns: a new  y, or   }gi-glibtext%: an ISO 8601 formatted time string. gi-glib defaultTz: a >SL to use if the text doesn't contain a timezone, or  . gi-glibReturns: a new  y, or   ~gi-glibtv: a : gi-glibReturns: a new  y, or   gi-glibtv: a : gi-glibReturns: a new  y, or   gi-glibt: the Unix time gi-glibReturns: a new  y, or   gi-glibt: the Unix time gi-glibReturns: a new  y, or   gi-glibyear!: the year component of the date gi-glibmonth": the month component of the date gi-glibday : the day component of the date gi-glibhour!: the hour component of the date gi-glibminute#: the minute component of the date gi-glibseconds(: the number of seconds past the minute gi-glibReturns: a  y, or   gi-glibtz: a >S gi-glibReturns: a new  y, or   gi-glibReturns: a new  y, or   gi-glibReturns: a new  y, or   gi-glibyear!: the year component of the date gi-glibmonth": the month component of the date gi-glibday : the day component of the date gi-glibhour!: the hour component of the date gi-glibminute#: the minute component of the date gi-glibseconds(: the number of seconds past the minute gi-glibReturns: a  y, or   gi-glibdatetime: a  y gi-glibtimespan: a  GTimeSpan gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibdays: the number of days gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibyears: the number of years to add gi-glibmonths: the number of months to add gi-glibdays: the number of days to add gi-glibhours: the number of hours to add gi-glibminutes: the number of minutes to add gi-glibseconds: the number of seconds to add gi-glibReturns: the newly created  y that should be freed with  . gi-glibdatetime: a  y gi-glibhours: the number of hours to add gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibminutes: the number of minutes to add gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibmonths: the number of months gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibseconds: the number of seconds to add gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibweeks: the number of weeks gi-glibReturns: the newly created  y which should be freed with  . gi-glibdatetime: a  y gi-glibyears: the number of years gi-glibReturns: the newly created  y which should be freed with  . gi-glibend: a  y gi-glibbegin: a  y gi-glibReturns: the difference between the two  y., as a time span expressed in microseconds. gi-glibdatetime: A  y gi-glibformat?: a valid UTF-8 string, containing the format for the  y gi-glibReturns:C a newly allocated string formatted to the requested format or   in the case that there was an error (such as a format specifier not being supported in the current locale). The string should be freed with =. gi-glibdatetime: a  y gi-glibReturns: the day of the month gi-glibdatetime: a  y gi-glibReturns: the day of the week gi-glibdatetime: a  y gi-glibReturns: the day of the year gi-glibdatetime: a  y gi-glibReturns: the hour of the day gi-glibdatetime: a  y gi-glibReturns: the microsecond of the second gi-glibdatetime: a  y gi-glibReturns: the minute of the hour gi-glibdatetime: a  y gi-glibReturns: the month represented by datetime gi-glibdatetime: a  y gi-glibReturns: the second represented by datetime gi-glibdatetime: a  y gi-glibReturns: the number of seconds gi-glibdatetime: a  y gi-glibReturns: the time zone gi-glibdatetime: a  y gi-glibReturns:J the time zone abbreviation. The returned string is owned by the  y1 and it should not be modified or freed gi-glibdatetime: a  y gi-glibReturns:W the number of microseconds that should be added to UTC to get the local time gi-glibdatetime: a  y gi-glibReturns:& the ISO 8601 week-numbering year for datetime gi-glibdatetime: a  y gi-glibReturns: the ISO 8601 week number for datetime. gi-glibdatetime: A  y gi-glibReturns: the year represented by datetime gi-glibdatetime: a  y. gi-glibdatetime: a  y gi-glibReturns:  ' if daylight savings time is in effect gi-glibdatetime: a  y gi-glibReturns: the  y$ with the reference count increased gi-glibdatetime: a  y gi-glibReturns: the newly created  y gi-glibdatetime: a  y gi-glibtv: a : to modify gi-glibReturns:   if successful, else   gi-glibdatetime: a  y gi-glibtz : the new >S gi-glibReturns: a new  y, or   gi-glibdatetime: a  y gi-glibReturns: the Unix time corresponding to datetime gi-glibdatetime: a  y gi-glibReturns: the newly created  y gi-glibdatetime: a  y gi-glibdt1: first  y to compare gi-glibdt2 : second  y to compare gi-glibReturns: -1, 0 or 1 if dt1* is less than, equal to or greater than dt2. gi-glibdt1: a  y gi-glibdt2: a  y gi-glibReturns:   if dt1 and dt2 are equal gi-glibdatetime: a  y gi-glibReturns: a guint containing the hash 4 y z { | } ~  4 y z { | } ~  >7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb(Z wgi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    w. gi-glib Creates a  w corresponding to  identifier. identifiere can either be an RFC3339/ISO 8601 time offset or something that would pass as a valid value for the TZ! environment variable (including  ). In Windows,  identifierh can also be the unlocalized name of a time zone for standard time, for example "Pacific Standard Time".Valid RFC3339 time offsets are "Z" (for UTC) or "hh:mm"#. ISO 8601 additionally specifies "hhmm" and "hh"a. Offsets are time values to be added to Coordinated Universal Time (UTC) to get the local time. In UNIX, the TZ environment variable typically corresponds to the name of a file in the zoneinfo database, or string in "std offset [dst [offset],start[/time],end[/time]]" (POSIX) format. There are no spaces in the specification. The name of standard and daylight savings time zone must be three or more alphabetic characters. Offsets are time values to be added to local time to get Coordinated Universal Time (UTC) and should be "[]hh[[:]mm[:ss]]". Dates are either "Jn"@ (Julian day with n between 1 and 365, leap years not counted), "n"5 (zero-based Julian day with n between 0 and 365) or "Mm.w.d" (day d (0 <= d <= 6) of week w (1 <= w <= 5) of month m (1 <= m <= 12), day 0 is a Sunday). Times are in local wall clock time, the default is 02:00:00.kIn Windows, the "tzn[+| ]hh[:mm[:ss]][dzn]" format is used, but also accepts POSIX format. The Windows format uses US rules for all time zones; daylight savings time is 60 minutes behind the standard time with date and time of change taken from Pacific Standard Time. Offsets are time values to be added to the local time to get Coordinated Universal Time (UTC). + calls this function with the value of the TZK environment variable. This function itself is independent of the value of TZ , but if  identifier is   then /etc/localtimec will be consulted to discover the correct time zone on UNIX and the registry will be consulted or GetTimeZoneInformation()4 will be used to get the local time zone on Windows.:If intervals are not available, only time zone rules from TZ environment variable or other means, then they will be computed from year 1900 to 2037. If the maximum year for the rules is available and it is greater than 2037, then it will followed instead.See  .http://tools.ietf.org/html/rfc3339#section-5.6 RFC3339 5.6= for a precise definition of valid RFC3339 time offsets (the  time-offsetG expansion) and ISO 8601 for the full list of valid time offsets. See  ;http://www.gnu.org/s/libc/manual/html_node/TZ-Variable.htmlThe GNU C Library manual2 for an explanation of the possible values of the TZ environment variable. See  Khttp://msdn.microsoft.com/en-us/library/ms912391%28v=winembedded.11%29.aspx Microsoft Time Zone Index Values' for the list of time zones on Windows./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  w corresponding to local time. The local time zone may change between invocations to this function; for example, if the system administrator changes it.This is equivalent to calling   with the value of the TZ4 environment variable (including the possibility of  )./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glib Creates a  wA corresponding to the given constant offset from UTC, in seconds.This is equivalent to calling   with a string in the form [+|-]hh[:mm[:ss]]. Since: 2.58 gi-glib Creates a  w corresponding to UTC.This is equivalent to calling  * with a value like "Z", "UTC", "+00", etc./You should release the return value by calling   when you are done with it. Since: 2.26 gi-glibFinds an interval within tz that corresponds to the given time_, possibly adjusting time_5 if required to fit into an interval. The meaning of time_ depends on type.This function is similar to  Z, with the difference that it always succeeds (by making the adjustments described below).In any of the cases where  G succeeds then this function returns the same value, without modifying time_.#This function may, however, modify time_F in order to deal with non-existent times. If the non-existent local time_W of 02:30 were requested on March 14th 2010 in Toronto then this function would adjust time_B to be 03:00 and return the interval containing the adjusted time. Since: 2.26 gi-glibFinds an the interval within tz that corresponds to the given time_. The meaning of time_ depends on type.If type is T[ then this function will always succeed (since universal time is monotonic and continuous). Otherwise time_4 is treated as local time. The distinction between U and V. is ignored except in the case that the given time_ is ambiguous. In Toronto, for example, 01:30 on November 7th 2010 occurred twice (once inside of daylight savings time and the next, an hour later, outside of daylight savings time). In this case, the different value of type5 would result in a different interval being returned.It is still possible for this function to fail. In Toronto, for example, 02:00 on March 14th 2010 does not exist (due to the leap forward to begin daylight savings time). -1 is returned in that case. Since: 2.26 gi-glibEDetermines the time zone abbreviation to be used during a particular interval of time in the time zone tz.For example, in Toronto this is currently "EST" during the winter months and "EDT" during the summer months when daylight savings time is in effect. Since: 2.26 gi-glibGet the identifier of this  w, as passed to  D. If the identifier passed at construction time was not recognised, UTC will be returned. If it was  M, the identifier of the local timezone at construction time will be returned.The identifier will be returned in the same format as provided at construction time: if provided as a time offset, that will be returned by this function. Since: 2.58 gi-glib;Determines the offset to UTC in effect during a particular interval of time in the time zone tz.YThe offset is the number of seconds that you add to UTC time to arrive at local time for tzN (ie: negative numbers for time zones west of GMT, positive numbers for east). Since: 2.26 gi-glibEDetermines if daylight savings time is in effect during a particular interval of time in the time zone tz. Since: 2.26 gi-glib!Increases the reference count on tz. Since: 2.26 gi-glib!Decreases the reference count on tz. Since: 2.26 gi-glib identifier: a timezone identifier gi-glibReturns: the requested timezone gi-glibReturns: the local timezone gi-glibseconds: offset to UTC, in seconds gi-glibReturns:) a timezone at the given offset from UTC gi-glibReturns: the universal timezone gi-glibtz: a  w gi-glibtype: the W of time_ gi-glibtime_9: a pointer to a number of seconds since January 1, 1970 gi-glibReturns: the interval containing time_ , never -1 gi-glibtz: a  w gi-glibtype: the W of time_ gi-glibtime_,: a number of seconds since January 1, 1970 gi-glibReturns: the interval containing time_, or -1 in case of failure gi-glibtz: a  w gi-glibinterval": an interval within the timezone gi-glibReturns:. the time zone abbreviation, which belongs to tz gi-glibtz: a  w gi-glibReturns: identifier for this timezone gi-glibtz: a  w gi-glibinterval": an interval within the timezone gi-glibReturns:U the number of seconds that should be added to UTC to get the local time in tz gi-glibtz: a  w gi-glibinterval": an interval within the timezone gi-glibReturns:  ' if daylight savings time is in effect gi-glibtz: a  w gi-glibReturns: a new reference to tz. gi-glibtz: a  w  w x  w x @7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb(u gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib6Resumes a timer that has previously been stopped with  .  + must be called before using this function. Since: 2.4 gi-glib/Destroys a timer, freeing associated resources. gi-glibIf timerT has been started but not stopped, obtains the time since the timer was started. If timer has been stopped, obtains the elapsed time between the time it was started and the time it was stopped. The return value is the number of seconds elapsed, including any fractional part. The  microseconds& out parameter is essentially useless. gi-glib,This function is useless; it's fine to call  9 on an already-started timer to reset the start time, so   serves no purpose. gi-glib,Marks a start time, so that future calls to   will report the time since   was called.  g_timer_new()8 automatically marks the start time, so no need to call  & immediately after creating the timer. gi-glibMarks an end time, so calls to  E will return the difference between this end time and the start time. gi-glibtimer: a  . gi-glibtimer: a   to destroy. gi-glibtimer: a  . gi-glib microseconds: return location for the fractional part of seconds elapsed, in microseconds (that is, the total number of microseconds elapsed, modulo 1000000), or   gi-glibReturns:T seconds elapsed as a floating point value, including any fractional part. gi-glibtimer: a  . gi-glibtimer: a  . gi-glibtimer: a  . A7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb( gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    . gi-glibGet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  trashStack #next gi-glibSet the value of the next  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  trashStack [ #next  value ] gi-glibSet the value of the next  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #next gi-glibReturns the height of a  .lNote that execution of this function is of O(N) complexity where N denotes the number of items on the stack. gi-glib$Returns the element at the top of a   which may be  . gi-glibPops a piece of memory off a  . gi-glib Pushes a piece of memory onto a  . gi-glibstackP: a   gi-glibReturns: the height of the stack gi-glibstackP: a   gi-glibReturns:% the element at the top of the stack gi-glibstackP: a   gi-glibReturns:% the element at the top of the stack gi-glibstackP: a   gi-glibdataP+: the piece of memory to push on the stack B7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb( gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib%Removes all keys and values from the   and decreases its reference count by one. If keys and/or values are dynamically allocated, you should either free them first or create the   using g_tree_new_full()t. In the latter case the destroy functions you supplied will be called on all keys and values before destroying the  . gi-glibGets the height of a  .If the  , contains no nodes, the height is 0. If the  a contains only one root node the height is 1. If the root node has children the height is 2, etc. gi-glib Inserts a key/value pair into a  .'If the given key already exists in the  D its corresponding value is set to the new value. If you supplied a valueDestroyFunc when creating the  @, the old value is freed using that function. If you supplied a keyDestroyFunc when creating the  ., the passed key is freed using that function.The tree is automatically 'balanced' as new key/value pairs are added, so that the distance from the root to every leaf is as small as possible. gi-glib7Gets the value corresponding to the given key. Since a   is automatically balanced as key/value pairs are added, key lookup is O(log n) (where n is the number of key/value pairs in the tree). gi-glibLooks up a key in the  , returning the original key and the associated value. This is useful if you need to free the memory allocated for the original key, for example before calling  . gi-glibGets the number of nodes in a  . gi-glib Removes a key/value pair from a  .If the   was created using g_tree_new_full(), the key and value are freed using the supplied destroy functions, otherwise you have to make sure that any dynamically allocated values are freed yourself. If the key does not exist in the  , the function does nothing. gi-glib#Inserts a new key and value into a   similar to  :. The difference is that if the key already exists in the  5, it gets replaced by the new key. If you supplied a valueDestroyFunc when creating the  @, the old value is freed using that function. If you supplied a keyDestroyFunc when creating the  +, the old key is freed using that function.The tree is automatically 'balanced' as new key/value pairs are added, so that the distance from the root to every leaf is as small as possible. gi-glib.Removes a key and its associated value from a  5 without calling the key and value destroy functions.!If the key does not exist in the  , the function does nothing. gi-glib"Decrements the reference count of tree by one. If the reference count drops to 0, all keys and values will be destroyed (if destroy functions were specified) and all memory allocated by tree will be released.1It is safe to call this function from any thread. Since: 2.22 gi-glibtree: a   gi-glibtree: a   gi-glibReturns: the height of tree gi-glibtree: a   gi-glibkey: the key to insert gi-glibvalue%: the value corresponding to the key gi-glibtree: a   gi-glibkey: the key to look up gi-glibReturns:( the value corresponding to the key, or   if the key was not found gi-glibtree: a   gi-glib lookupKey: the key to look up gi-gliborigKey: returns the original key gi-glibvalue,: returns the value associated with the key gi-glibReturns:   if the key was found in the   gi-glibtree: a   gi-glibReturns: the number of nodes in tree gi-glibtree: a   gi-glibkey: the key to remove gi-glibReturns:  I if the key was found (prior to 2.8, this function returned nothing) gi-glibtree: a   gi-glibkey: the key to insert gi-glibvalue%: the value corresponding to the key gi-glibtree: a   gi-glibkey: the key to remove gi-glibReturns:  I if the key was found (prior to 2.8, this function returned nothing) gi-glibtree: a   D7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb) gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib Allocates and initialises a new  .You should call  p on the return value when it is no longer needed. The memory will not be automatically freed by any other call.*In some cases it may be easier to place a  F directly on the stack of the calling function and initialise it with g_variant_dict_init()2. This is particularly useful when you are using   to construct a  . Since: 2.40 gi-glib&Releases all memory associated with a   without freeing the   structure itself.>It typically only makes sense to do this on a stack-allocated  i if you want to abort building the value part-way through. This function need not be called if you call  W and it also doesn't need to be called on dicts allocated with g_variant_dict_new (see   for that).;It is valid to call this function on either an initialised  : or one that was previously cleared by an earlier call to  C but it is not valid to call this function on uninitialised memory. Since: 2.40 gi-glib Checks if key exists in dict. Since: 2.40 gi-glibReturns the current value of dict as a   of type G_VARIANT_TYPE_VARDICT, clearing it in the process.It is not permissible to use dictf in any way after this call except for reference counting operations (in the case of a heap-allocated  ) or by reinitialising it with g_variant_dict_init()" (in the case of stack-allocated). Since: 2.40 gi-glib!Inserts (or replaces) a key in a  .value is consumed if it is floating. Since: 2.40 gi-glibLooks up a value in a  .If key is not found in  dictionary,   is returned.The  expectedTypeO string specifies what type of value is expected. If the value associated with key has a different type then   is returned.LIf the key is found and the value has the correct type, it is returned. If  expectedType was specified then any non- " return value will have this type. Since: 2.40 gi-glib!Increases the reference count on dict.#Don't call this on stack-allocated  % instances or bad things will happen. Since: 2.40 gi-glib.Removes a key and its associated value from a  . Since: 2.40 gi-glib!Decreases the reference count on dict.XIn the event that there are no more references, releases all memory associated with the  .#Don't call this on stack-allocated  % instances or bad things will happen. Since: 2.40 gi-glibfromAsv: the  + with which to initialise the dictionary gi-glibReturns: a   gi-glibdict: a   gi-glibdict: a   gi-glibkey&: the key to lookup in the dictionary gi-glibReturns:   if key is in dict gi-glibdict: a   gi-glibReturns: a new, floating,   gi-glibdict: a   gi-glibkey : the key to insert a value for gi-glibvalue: the value to insert gi-glibdict: a   gi-glibkey&: the key to lookup in the dictionary gi-glib expectedType: a Cn, or   gi-glibReturns:% the value of the dictionary key, or   gi-glibdict: a heap-allocated   gi-glibReturns: a new reference to dict gi-glibdict: a   gi-glibkey: the key to remove gi-glibReturns:  " if the key was found and removed gi-glibdict: a heap-allocated   E7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb)C gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glib Allocates and initialises a new  .You should call  p on the return value when it is no longer needed. The memory will not be automatically freed by any other call.&In most cases it is easier to place a  F directly on the stack of the calling function and initialise it with g_variant_builder_init(). Since: 2.24 gi-glibAdds value to builder.It is an error to call this function in any way that would create an inconsistent value to be constructed. Some examples of this are putting different types of items into an array, putting the wrong types or number of items in a tuple, putting more than one value into a variant, etc.If value is a floating reference (see #X), the builder instance takes ownership of value. Since: 2.24 gi-glib)Closes the subcontainer inside the given builder, that was opened by the most recent call to  .It is an error to call this function in any way that would create an inconsistent value to be constructed (ie: too few values added to the subcontainer). Since: 2.24 gi-glib;Ends the builder process and returns the constructed value.It is not permissible to use builderf in any way after this call except for reference counting operations (in the case of a heap-allocated  ) or by reinitialising it with g_variant_builder_init()m (in the case of stack-allocated). This means that for the stack-allocated builders there is no need to call g_variant_builder_clear() after the call to  .It is an error to call this function in any way that would create an inconsistent value to be constructed (ie: insufficient number of items added to a container with a specific number of children required). It is also an error to call this function if the builder was created with an indefinite array or maybe type and no children have been added; in this case it is impossible to infer the type of the empty array. Since: 2.24 gi-glib&Opens a subcontainer inside the given builder/. When done adding items to the subcontainer,   must be called. typeF is the type of the container: so to build a tuple of several values, type must include the tuple itself.It is an error to call this function in any way that would cause an inconsistent value to be constructed (ie: adding too many values or a value of an incorrect type).%Example of building a nested variant:C code  GVariantBuilder builder; guint32 some_number = get_number (); g_autoptr (GHashTable) some_dict = get_dict (); GHashTableIter iter; const gchar *key; const GVariant *value; g_autoptr (GVariant) output = NULL; g_variant_builder_init (&builder, G_VARIANT_TYPE ("(ua{sv})")); g_variant_builder_add (&builder, "u", some_number); g_variant_builder_open (&builder, G_VARIANT_TYPE ("a{sv}")); g_hash_table_iter_init (&iter, some_dict); while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &value)) { g_variant_builder_open (&builder, G_VARIANT_TYPE ("{sv}")); g_variant_builder_add (&builder, "s", key); g_variant_builder_add (&builder, "v", value); g_variant_builder_close (&builder); } g_variant_builder_close (&builder); output = g_variant_builder_end (&builder); Since: 2.24 gi-glib!Increases the reference count on builder.#Don't call this on stack-allocated  % instances or bad things will happen. Since: 2.24 gi-glib!Decreases the reference count on builder.XIn the event that there are no more references, releases all memory associated with the  .#Don't call this on stack-allocated  % instances or bad things will happen. Since: 2.24 gi-glibtype: a container type gi-glibReturns: a   gi-glibbuilder: a   gi-glibvalue: a   gi-glibbuilder: a   gi-glibbuilder: a   gi-glibReturns: a new, floating,   gi-glibbuilder: a   gi-glibtype: the Cn of the container gi-glibbuilder: a   allocated by   gi-glibReturns: a new reference to builder gi-glibbuilder: a   allocated by   C7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb)N gi-glibMemory-managed wrapper type. gi-glibA convenience alias for   ::    . gi-glibCreates a new  + corresponding to the type string given by  typeString. It is appropriate to call   on the return value.QIt is a programmer error to call this function with an invalid type string. Use =Y if you are unsure. Since: 2.24 gi-glibFConstructs the type corresponding to an array of elements of the type type.It is appropriate to call   on the return value. gi-glibKConstructs the type corresponding to a dictionary entry with a key of type key and a value of type value.It is appropriate to call   on the return value. gi-glibFConstructs the type corresponding to a maybe instance containing type type or Nothing.It is appropriate to call   on the return value. gi-glib"Constructs a new tuple type, from items.length is the number of items in items, or -1 to indicate that items is   -terminated.It is appropriate to call   on the return value. gi-glibMakes a copy of a  . It is appropriate to call   on the return value. type may not be  . gi-glibCReturns a newly-allocated copy of the type string corresponding to typeE. The returned string is nul-terminated. It is appropriate to call = on the return value. gi-glib6Determines the element type of an array or maybe type.9This function may only be used with array or maybe types. gi-glib Compares type1 and type2 for equality. Only returns  k if the types are exactly equal. Even if one type is an indefinite type and the other is a subtype of it,  Y will be returned if they are not exactly equal. If you want to check for subtypes, use  .The argument types of type1 and type2 are only  gconstpointer to allow use with @ without function pointer casting. For both arguments, a valid   must be provided. gi-glibCDetermines the first item type of a tuple or dictionary entry type.vThis function may only be used with tuple or dictionary entry types, but must not be used with the generic tuple type G_VARIANT_TYPE_TUPLE.IIn the case of a dictionary entry type, this returns the type of the key.  is returned in case of type being G_VARIANT_TYPE_UNIT.This call, together with  F provides an iterator interface over tuple and dictionary entry types. gi-glibFrees a   that was allocated with  ,  4 or one of the container type constructor functions.In the case that type is  , this function does nothing. Since 2.24 gi-glibAReturns the length of the type string corresponding to the given type]. This function must be used to determine the valid extent of the memory region returned by g_variant_type_peek_string(). gi-glibHashes type.The argument type of type is only  gconstpointer to allow use with , without function pointer casting. A valid   must be provided. gi-glibDetermines if the given type8 is an array type. This is true if the type string for type starts with an 'a'.This function returns  N for any indefinite type for which every definite subtype is an array type -- G_VARIANT_TYPE_ARRAY, for example. gi-glibDetermines if the given type is a basic type.YBasic types are booleans, bytes, integers, doubles, strings, object paths and signatures.?Only a basic type may be used as the key of a dictionary entry.This function returns  ! for all indefinite types except G_VARIANT_TYPE_BASIC. gi-glibDetermines if the given type is a container type.]Container types are any array, maybe, tuple, or dictionary entry types plus the variant type.This function returns  L for any indefinite type for which every definite subtype is a container -- G_VARIANT_TYPE_ARRAY, for example. gi-glibDetermines if the given type" is definite (ie: not indefinite).iA type is definite if its type string does not contain any indefinite type characters ('*', '?', or 'r').A  U instance may not have an indefinite type, so calling this function on the result of #Z will always result in  C being returned. Calling this function on an indefinite type like G_VARIANT_TYPE_ARRAY, however, will result in   being returned. gi-glibDetermines if the given typeB is a dictionary entry type. This is true if the type string for type starts with a '{'.This function returns  X for any indefinite type for which every definite subtype is a dictionary entry type -- G_VARIANT_TYPE_DICT_ENTRY, for example. gi-glibDetermines if the given type7 is a maybe type. This is true if the type string for type starts with an 'm'.This function returns  M for any indefinite type for which every definite subtype is a maybe type -- G_VARIANT_TYPE_MAYBE, for example. gi-glib Checks if type is a subtype of  supertype.This function returns   if type is a subtype of  supertypet. All types are considered to be subtypes of themselves. Aside from that, only indefinite types can have subtypes. gi-glibDetermines if the given type7 is a tuple type. This is true if the type string for type starts with a '(' or if type is G_VARIANT_TYPE_TUPLE.This function returns  M for any indefinite type for which every definite subtype is a tuple type -- G_VARIANT_TYPE_TUPLE, for example. gi-glibDetermines if the given type is the variant type. gi-glib3Determines the key type of a dictionary entry type.This function may only be used with a dictionary entry type. Other than the additional restriction, this call is equivalent to  . gi-glibMDetermines the number of items contained in a tuple or dictionary entry type.vThis function may only be used with tuple or dictionary entry types, but must not be used with the generic tuple type G_VARIANT_TYPE_TUPLE.KIn the case of a dictionary entry type, this function will always return 2. gi-glibBDetermines the next item type of a tuple or dictionary entry type.type* must be the result of a previous call to   or  .If called on the key type of a dictionary entry then this call returns the value type. If called on the value type of a dictionary entry then this call returns  . For tuples,   is returned when type is the last item in a tuple. gi-glib5Determines the value type of a dictionary entry type.<This function may only be used with a dictionary entry type. gi-glib3No description available in the introspection data. gi-glib3No description available in the introspection data. gi-glib Checks if  typeStringF is a valid GVariant type string. This call is equivalent to calling =[A and confirming that the following character is a nul terminator. gi-glib=Scan for a single complete and valid GVariant type string in string. The memory pointed to by limit( (or bytes beyond it) is never accessed.!If a valid type string is found, endptrZ is updated to point to the first character past the end of the string that was found and   is returned.-If there is no valid type string starting at string,, or if the type string does not end before limit then   is returned.HFor the simple case of checking if a string is a valid type string, see =Y. Since: 2.24 gi-glib typeString: a valid GVariant type string gi-glibReturns: a new   gi-glibelement: a   gi-glibReturns: a new array   Since 2.24 gi-glibkey : a basic   gi-glibvalue: a   gi-glibReturns: a new dictionary entry   Since 2.24 gi-glibelement: a   gi-glibReturns: a new maybe   Since 2.24 gi-glibitems: an array of  GVariantTypes, one for each item gi-glibReturns: a new tuple   Since 2.24 gi-glibtype: a   gi-glibReturns: a new   Since 2.24 gi-glibtype: a   gi-glibReturns: the corresponding type string Since 2.24 gi-glibtype: an array or maybe   gi-glibReturns: the element type of type Since 2.24 gi-glibtype1: a   gi-glibtype2: a   gi-glibReturns:   if type1 and type2 are exactly equal Since 2.24 gi-glibtype: a tuple or dictionary entry   gi-glibReturns: the first item type of type, or   Since 2.24 gi-glibtype: a  , or   gi-glibtype: a   gi-glibReturns:, the length of the corresponding type string Since 2.24 gi-glibtype: a   gi-glibReturns: the hash value Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is an array type Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is a basic type Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is a container type Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is definite Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is a dictionary entry type Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is a maybe type Since 2.24 gi-glibtype: a   gi-glib supertype: a   gi-glibReturns:   if type is a subtype of  supertype Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is a tuple type Since 2.24 gi-glibtype: a   gi-glibReturns:   if type is the variant type Since 2.24 gi-glibtype: a dictionary entry   gi-glibReturns:% the key type of the dictionary entry Since 2.24 gi-glibtype: a tuple or dictionary entry   gi-glibReturns: the number of items in type Since 2.24 gi-glibtype: a   from a previous call gi-glibReturns: the next   after type, or   Since 2.24 gi-glibtype: a dictionary entry   gi-glibReturns:' the value type of the dictionary entry Since 2.24 gi-glib typeString: a pointer to any string gi-glibReturns:   if  typeString! is exactly one valid type string Since 2.24 gi-glibstring: a pointer to any string gi-gliblimit : the end of string, or   gi-glibReturns:  " if a valid type string was found !                    !                    F7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb) gi-glibMemory-managed wrapper type. gi-glib Construct a   struct initialized to zero. gi-glibA convenience alias for   ::    . gi-glibGet the value of the v_double  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  doubleIEEE754 #vDouble gi-glibSet the value of the v_double  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  doubleIEEE754 [ #vDouble  value ]             G7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb) #gi-glibMemory-managed wrapper type. %gi-glib Construct a  # struct initialized to zero. &gi-glibA convenience alias for   ::    #. 'gi-glibGet the value of the v_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  floatIEEE754 #vFloat (gi-glibSet the value of the v_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  floatIEEE754 [ #vFloat  value ]  # $ % & ' ( # $ % & ' (7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb*gi-glibMemory-managed wrapper type. -gi-glibA convenience alias for   ::   . .gi-glibCreates a new  structure. /gi-glibnTries to become the owner of the specified context. If some other thread is the owner of the context, returns  u immediately. Ownership is properly recursive: the owner can require ownership again and will release ownership when  ? is called as many times as  /.7You must be the owner of a context before you can call  ;,  =,  1,  2. 0gi-glibAdds a file descriptor to the set of file descriptors polled for this context. This will very seldom be used directly. Instead a typical event source will use *\ instead. 1gi-glib4Passes the results of polling back to the main loop.5You must have successfully acquired the context with  /# before you may call this function. 2gi-glibDispatches all pending sources.5You must have successfully acquired the context with  /# before you may call this function. 3gi-glibFinds a source with the given source functions and user data. If multiple sources exist with the same source function and user data, the first one found will be returned. 4gi-glibFinds a *T given a pair of context and ID.DIt is a programmer error to attempt to lookup a non-existent source.More specifically: source IDs can be reissued after a source has been destroyed and therefore it is never valid to use this function with a source ID which may have already been removed. An example is when scheduling an idle to run in another thread with  g_idle_add(): the idle may already have run and been removed by the time this function is called on its (now invalid) source ID. This source ID may have been reissued, leading to the operation being performed against the wrong source. 5gi-glibFinds a source with the given user data for the callback. If multiple sources exist with the same user data, the first one found will be returned. 6gi-glib&Invokes a function in such a way that context# is owned during the invocation of function.This function is the same as g_main_context_invoke()6 except that it lets you specify the priority in case function= ends up being scheduled as an idle and also lets you give a / for data.notifyh should not assume that it is called from any particular thread or with any particular context acquired. Since: 2.28 7gi-glibGDetermines whether this thread holds the (recursive) ownership of this c. This is useful to know before waiting on another thread that may be blocking to get ownership of context. Since: 2.10 8gi-glibRuns a single iteration for the given main loop. This involves checking to see if any event sources are ready to be processed, then if no events sources are ready and mayBlock is  {, waiting for a source to become ready, then dispatching the highest priority events sources that are ready. Otherwise, if mayBlock is   sources are not waited to become ready, only those highest priority events sources will be dispatched (if any), that are ready at this given moment without further waiting.Note that even when mayBlock is  , it is still possible for  8 to return  Z, since the wait may be interrupted for other reasons than an event source becoming ready. 9gi-glib@Checks if any sources have pending events for the given context. :gi-glibPops contextV off the thread-default context stack (verifying that it was on the top of the stack). Since: 2.22 ;gi-glibPrepares to poll sources within a main loop. The resulting information for polling is determined by calling g_main_context_query ().5You must have successfully acquired the context with  /# before you may call this function. <gi-glib Acquires context and sets it as the thread-default context for the current thread. This will cause certain asynchronous operations (such as most [gio][gio]-based I/O) which are started in this thread to run under context and deliver their results to its main loop, rather than running under the global default context in the main thread. Note that calling this function changes the context returned by =], not the one returned by =^;, so it does not affect the context used by functions like  g_idle_add().XNormally you would call this function shortly after creating a new thread, passing it a  which will be run by a _ in that thread, to set a new default context for all async operations in that thread. In this case you may not need to ever call  :, assuming you want the new 9 to be the default for the whole lifecycle of the thread.If you don't have control over how the new thread was created (e.g. in the new thread isn't newly created, or if the thread life cycle is managed by a 9F), it is always suggested to wrap the logic that needs to use the new  inside a  < /  :U pair, otherwise threads that are re-used will end up never explicitly releasing the  reference they hold.In some cases you may want to schedule a single operation in a non-default context, or temporarily use a non-default context in the main thread. In that case, you can wrap the call to the asynchronous operation inside a  < /  : pair, but it is up to you to ensure that no other asynchronous operations accidentally get started while the non-default context is active.Beware that libraries that predate this function may not correctly handle being used from a thread with a thread-default context. Eg, see !g_file_supports_thread_contexts(). Since: 2.22 =gi-glib8Determines information necessary to poll this main loop.5You must have successfully acquired the context with  /# before you may call this function. >gi-glib#Increases the reference count on a  object by one. ?gi-glibHReleases ownership of a context previously acquired by this thread with  /W. If the context was acquired multiple times, the ownership will be released only when  ?, is called as many times as it was acquired. @gi-glib_Removes file descriptor from the set of file descriptors to be polled for a particular context. Agi-glib#Decreases the reference count on a W object by one. If the result is zero, free the context and free all associated memory. Bgi-glib<Tries to become the owner of the specified context, as with  /6. But if another thread is the owner, atomically drop mutex and wait on cond. until that owner releases ownership or until cond8 is signaled, then try again (once) to become the owner. Cgi-glibIf context is currently blocking in  8v waiting for a source to become ready, cause it to stop blocking and return. Otherwise, cause the next invocation of  8 to return without blocking..This API is useful for low-level control over E; for example, integrating it with main loop implementations such as _.Another related use for this function is when implementing a main loop with a termination condition, computed from multiple threads:C code  #define NUM_TASKS 10 static volatile gint tasks_remaining = NUM_TASKS; ... while (g_atomic_int_get (&tasks_remaining) != 0) g_main_context_iteration (NULL, TRUE);Then in a thread:C code f perform_work(); if (g_atomic_int_dec_and_test (&tasks_remaining)) g_main_context_wakeup (NULL); Dgi-glibReturns the global default main context. This is the main context used for main loop functions when a main loop is not explicitly specified, and corresponds to the "main" main loop. See also =]. Egi-glibGets the thread-default  for this thread. Asynchronous operations that want to be able to be run in contexts other than the default one should call this method or =` to get a  to add their GSources to. (Note that even in single-threaded programs applications may sometimes want to temporarily push a non-default context, so it is not safe to assume that this will always return  + if you are running in the default thread.)4If you need to hold a reference on the context, use =` instead. Since: 2.22 Fgi-glibGets the thread-default  for this thread, as with =]', but also adds a reference to it with  >. In addition, unlike =]U, if the thread-default context is the global default context, this will return that 0 (with a ref added to it) rather than returning  . Since: 2.32 .gi-glibReturns: the new  /gi-glibcontext: a  gi-glibReturns:  C if the operation succeeded, and this thread is now the owner of context. 0gi-glibcontext: a  (or   for the default context) gi-glibfd: a  RF structure holding information about a file descriptor to watch. gi-glibpriority_: the priority for this file descriptor which should be the same as the priority used for * W to ensure that the file descriptor is polled whenever the results may be needed. 1gi-glibcontext: a  gi-glib maxPriority5: the maximum numerical priority of sources to check gi-glibfds : array of !'GI.GLib.Structs.PollFD.PollFD'\',s that was passed to the last call to  = gi-glibReturns:  - if some sources are ready to be dispatched. 2gi-glibcontext: a  3gi-glibcontext: a  (if  %, the default context will be used). gi-glibfuncs: the  sourceFuncs passed to *a. gi-glibuserData#: the user data from the callback. gi-glibReturns:) the source, if one was found, otherwise   4gi-glibcontext: a  (if  $, the default context will be used) gi-glibsourceId : the source ID, as returned by *b. gi-glibReturns: the *T 5gi-glibcontext: a  gi-glibuserData": the user_data for the callback. gi-glibReturns:) the source, if one was found, otherwise   6gi-glibcontext: a , or   gi-glibpriority: the priority at which to run function gi-glibfunction: function to call 7gi-glibcontext: a  gi-glibReturns:   if current thread is owner of context. 8gi-glibcontext: a  (if  $, the default context will be used) gi-glibmayBlock: whether the call may block. gi-glibReturns:   if events were dispatched. 9gi-glibcontext: a  (if  $, the default context will be used) gi-glibReturns:   if events are pending. :gi-glibcontext: a  object, or   ;gi-glibcontext: a  gi-glibpriorityR: location to store priority of highest priority source already ready. gi-glibReturns:  J if some source is ready to be dispatched prior to polling. <gi-glibcontext: a , or   for the global default context =gi-glibcontext: a  gi-glib maxPriority#: maximum priority source to check gi-glibfds: location to store  R! records that need to be polled. gi-glibReturns:* the number of records actually stored in fds, or, if more than nFdsL records need to be stored, the number of records that need to be stored. >gi-glibcontext: a  gi-glibReturns: the context that was passed in (since 2.6) ?gi-glibcontext: a  @gi-glibcontext: a  gi-glibfd: a  R" descriptor previously added with  0 Agi-glibcontext: a  Bgi-glibcontext: a  gi-glibcond: a condition variable gi-glibmutex: a mutex, currently held gi-glibReturns:  C if the operation succeeded, and this thread is now the owner of context. Cgi-glibcontext: a  Dgi-glibReturns:" the global default main context. Egi-glibReturns: the thread-default , or  > if the thread-default context is the global default context. Fgi-glibReturns: the thread-default . Unref with  A when you are done with it.  - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F - / 0 1 D 2 3 4 5 E 6 7 8 . 9 : ; < = > F ? @ A B C7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb* gi-glibMemory-managed wrapper type. Hgi-glib Construct a  struct initialized to zero. Igi-glibA convenience alias for   ::   . Jgi-glibIf threads are waiting for cond;, all of them are unblocked. If no threads are waiting for cond, this function has no effect. It is good practice to lock the same mutex as the waiting threads while calling this function, though not required. Kgi-glib#Frees the resources allocated to a  with  L.(This function should not be used with a $ that has been statically allocated.Calling  K for a < on which threads are blocking leads to undefined behaviour. Since: 2.32 Lgi-glibInitialises a  so that it can be used.(This function is useful to initialise a ] that has been allocated as part of a larger structure. It is not necessary to initialise a $ that has been statically allocated.To undo the effect of  L when a  is no longer needed, use  K.Calling  L on an already-initialised  leads to undefined behaviour. Since: 2.32 Mgi-glibIf threads are waiting for condC, at least one of them is unblocked. If no threads are waiting for cond, this function has no effect. It is good practice to hold the same lock as the waiting thread while calling this function, though not required. Ngi-glibAtomically releases mutex and waits until cond+ is signalled. When this function returns, mutex1 is locked again and owned by the calling thread.UWhen using condition variables, it is possible that a spurious wakeup may occur (ie:  N returns even though  MS was not called). It's also possible that a stolen wakeup may occur. This is when  M( is called, but another thread acquires mutexR before this thread and modifies the state of the program in such a way that when  N< is able to return, the expected condition is no longer met.For this reason,  N; must always be used in a loop. See the documentation for  for a complete example. Ogi-glibWaits until either cond is signalled or endTime has passed.As with  N it is possible that a spurious or stolen wakeup could occur. For that reason, waiting on a condition variable should always be in a loop, based on an explicitly-checked predicate. ] is returned if the condition variable was signalled (or in the case of a spurious wakeup).   is returned if endTime has passed.The following code shows how to correctly perform a timed wait on a condition variable (extending the example presented in the documentation for ):C code  gpointer pop_data_timed (void) { gint64 end_time; gpointer data; g_mutex_lock (&data_mutex); end_time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND; while (!current_data) if (!g_cond_wait_until (&data_cond, &data_mutex, end_time)) { // timeout has passed. g_mutex_unlock (&data_mutex); return NULL; } // there is data for us data = current_data; current_data = NULL; g_mutex_unlock (&data_mutex); return data; }lNotice that the end time is calculated once, before entering the loop and reused. This is the motivation behind the use of absolute time on this API -- if a relative time of 5 seconds were passed directly to the call and a spurious wakeup occurred, the program would have to start over waiting again (which would lead to a total wait time of more than 5 seconds). Since: 2.32 Jgi-glibcond: a  Kgi-glibcond: an initialised  Lgi-glibcond: an uninitialized  Mgi-glibcond: a  Ngi-glibcond: a  gi-glibmutex: a Hc that is currently locked Ogi-glibcond: a  gi-glibmutex: a Hc that is currently locked gi-glibendTime#: the monotonic time to wait until gi-glibReturns:   on a signal,   on a timeout  H I J K L M N O  H I J K L M N OH7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb+ +gi-glibMemory-managed wrapper type. Rgi-glib Construct a  + struct initialized to zero. Sgi-glibA convenience alias for   ::    +. Tgi-glib.Frees the resources allocated to a mutex with  U.(This function should not be used with a  +$ that has been statically allocated.Calling  T0 on a locked mutex leads to undefined behaviour. Sine: 2.32 Ugi-glibInitializes a  + so that it can be used.This function is useful to initialize a mutex that has been allocated on the stack, or as part of a larger structure. It is not necessary to initialize a mutex that has been statically allocated.C code i typedef struct { GMutex m; ... } Blob; Blob *b; b = g_new (Blob, 1); g_mutex_init (&b->m);To undo the effect of  U' when a mutex is no longer needed, use  T.Calling  U on an already initialized  + leads to undefined behaviour. Since: 2.32 Vgi-glibLocks mutex. If mutexJ is already locked by another thread, the current thread will block until mutex! is unlocked by the other thread. +R is neither guaranteed to be recursive nor to be non-recursive. As such, calling  V on a  +y that has already been locked by the same thread results in undefined behaviour (including but not limited to deadlocks). Wgi-glibTries to lock mutex. If mutex= is already locked by another thread, it immediately returns  . Otherwise it locks mutex and returns  . +R is neither guaranteed to be recursive nor to be non-recursive. As such, calling  V on a  + that has already been locked by the same thread results in undefined behaviour (including but not limited to deadlocks or arbitrary return values). Xgi-glibUnlocks mutex$. If another thread is blocked in a  V call for mutex(, it will become unblocked and can lock mutex itself.Calling  XR on a mutex that is not locked by the current thread leads to undefined behaviour. Tgi-glibmutex: an initialized  + Ugi-glibmutex: an uninitialized  + Vgi-glibmutex: a  + Wgi-glibmutex: a  + gi-glibReturns:   if mutex could be locked Xgi-glibmutex: a  + + , R S T U V W X + , R S T U V W X&7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb+4\gi-glibMemory-managed wrapper type. ]gi-glib Construct a \ struct initialized to zero. ^gi-glibA convenience alias for   ::   \. _gi-glibGet the value of the  user_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #userData `gi-glibSet the value of the  user_data  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #userData  value ] agi-glibSet the value of the  user_data  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #userData bgi-glibGet the value of the max_parse_errors  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #maxParseErrors cgi-glibSet the value of the max_parse_errors  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #maxParseErrors  value ] dgi-glibGet the value of the  parse_errors  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #parseErrors egi-glibSet the value of the  parse_errors  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #parseErrors  value ] fgi-glibGet the value of the  input_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #inputName ggi-glibSet the value of the  input_name  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #inputName  value ] hgi-glibSet the value of the  input_name  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #inputName igi-glibGet the value of the qdata  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #qdata jgi-glibSet the value of the qdata  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #qdata  value ] kgi-glibSet the value of the qdata  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #qdata lgi-glibGet the value of the config  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #config mgi-glibSet the value of the config  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #config  value ] ngi-glibSet the value of the config  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #config ogi-glibGet the value of the token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #token pgi-glibSet the value of the token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #token  value ] qgi-glibGet the value of the value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #value rgi-glibGet the value of the line  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #line sgi-glibSet the value of the line  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #line  value ] tgi-glibGet the value of the position  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #position ugi-glibSet the value of the position  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #position  value ] vgi-glibGet the value of the  next_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #nextToken wgi-glibSet the value of the  next_token  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #nextToken  value ] xgi-glibGet the value of the  next_value  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #nextValue ygi-glibGet the value of the  next_line  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #nextLine zgi-glibSet the value of the  next_line  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #nextLine  value ] {gi-glibGet the value of the  next_position  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #nextPosition |gi-glibSet the value of the  next_position  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #nextPosition  value ] }gi-glibGet the value of the  msg_handler  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner #msgHandler ~gi-glibSet the value of the  msg_handler  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  scanner [ #msgHandler  value ] gi-glibSet the value of the  msg_handler  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #msgHandler gi-glibnReturns the current line in the input stream (counting from 1). This is the line of the last token parsed via  . gi-glibvReturns the current position in the current line (counting from 0). This is the position of the last token parsed via  . gi-glib0Gets the current token type. This is simply the token field in the \ structure. gi-glibFrees all memory used by the \. gi-glibReturns  ? if the scanner has reached the end of the file or text buffer. gi-glib Parses the next token just like  L and also removes it from the input stream. The token data is placed in the token, value, line, and position fields of the \ structure. gi-glibPrepares to scan a file. gi-glibPrepares to scan a text buffer. gi-glibnLooks up a symbol in the current scope and return its value. If the symbol is not bound in the current scope,   is returned. gi-glibbParses the next token, without removing it from the input stream. The token data is placed in the  nextToken,  nextValue, nextLine, and  nextPosition fields of the \ structure.WNote that, while the token is not removed from the input stream (i.e. the next call to  f will return the same token), it will not be reevaluated. This can lead to surprising results when changing scope or the scanner configuration after peeking the next token. Getting the next token after switching the scope or configuration will return whatever was peeked before, regardless of any symbols that may have been added or removed in the new scope. gi-glib!Adds a symbol to the given scope. gi-glib\Looks up a symbol in a scope and return its value. If the symbol is not bound in the scope,   is returned. gi-glibRemoves a symbol from a scope. gi-glibSets the current scope. gi-glibRewinds the filedescriptor to the current buffer position and blows the file read ahead buffer. This is useful for third party uses of the scanners filedescriptor, which hooks onto the current scanning position. gi-glibOutputs a message through the scanner's msg_handler, resulting from an unexpected token in the input stream. Note that you should not call   followed by  ! without an intermediate call to  , as  _ evaluates the scanner's current token (not the peeked token) to construct part of the message. gi-glibscanner: a \ gi-glibReturns: the current line gi-glibscanner: a \ gi-glibReturns:" the current position on the line gi-glibscanner: a \ gi-glibReturns: the current token type gi-glibscanner: a \ gi-glibscanner: a \ gi-glibReturns:  C if the scanner has reached the end of the file or text buffer gi-glibscanner: a \ gi-glibReturns: the type of the token gi-glibscanner: a \ gi-glibinputFd: a file descriptor gi-glibscanner: a \ gi-glibtext: the text buffer to scan gi-glibtextLen : the length of the text buffer gi-glibscanner: a \ gi-glibsymbol: the symbol to look up gi-glibReturns: the value of symbol in the current scope, or   if symbol# is not bound in the current scope gi-glibscanner: a \ gi-glibReturns: the type of the token gi-glibscanner: a \ gi-glibscopeId: the scope id gi-glibsymbol: the symbol to add gi-glibvalue: the value of the symbol gi-glibscanner: a \ gi-glibscopeId: the scope id gi-glibsymbol: the symbol to look up gi-glibReturns: the value of symbol in the given scope, or   if symbol" is not bound in the given scope. gi-glibscanner: a \ gi-glibscopeId: the scope id gi-glibsymbol: the symbol to remove gi-glibscanner: a \ gi-glibscopeId: the new scope id gi-glibReturns: the old scope id gi-glibscanner: a \ gi-glibscanner: a \ gi-glib expectedToken: the expected token gi-glibidentifierSpecH: a string describing how the scanner's user refers to identifiers ( 0 defaults to "identifier"). This is used if  expectedToken is d or e. gi-glib symbolSpecD: a string describing how the scanner's user refers to symbols ( , defaults to "symbol"). This is used if  expectedToken is f% or any token value greater than  G_TOKEN_LAST. gi-glib symbolNameJ: the name of the symbol, if the scanner's current token is a symbol. gi-glibmessageE: a message string to output at the end of the warning/error, or  . gi-glibisError: if   it is output as an error. If   it is output as a warning. 5\] ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  5\] ] ^ n l m h f g r s b c  } ~ y z { | v w x d e t u k i j o p a _ ` qg7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb+     !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstvwxyz{|}~     !#$%&'()*+./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ! " # $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E H I J K L M N O P Q R S T U V W X [ \ ] ^ _ ` a b c d e g h i j k l m n o p q r s t u v w x y z { | } ~                       ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i l m n o p q r s t u v w x y z { | } ~  l m n o p q r s t w x y z { | } ~                      - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F H I J K L M N O ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  I7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb,# [gi-glibMemory-managed wrapper type. gi-glib Construct a  [ struct initialized to zero. gi-glibA convenience alias for   ::    [. gi-glibGet the value of the v_symbol  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vSymbol gi-glibSet the value of the v_symbol  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vSymbol  value ] gi-glibSet the value of the v_symbol  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #vSymbol gi-glibGet the value of the  v_identifier  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vIdentifier gi-glibSet the value of the  v_identifier  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vIdentifier  value ] gi-glibSet the value of the  v_identifier  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #vIdentifier gi-glibGet the value of the v_binary  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vBinary gi-glibSet the value of the v_binary  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vBinary  value ] gi-glibGet the value of the v_octal  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vOctal gi-glibSet the value of the v_octal  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vOctal  value ] gi-glibGet the value of the v_int  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vInt gi-glibSet the value of the v_int  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vInt  value ] gi-glibGet the value of the v_int64  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vInt64 gi-glibSet the value of the v_int64  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vInt64  value ] gi-glibGet the value of the v_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vFloat gi-glibSet the value of the v_float  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vFloat  value ] gi-glibGet the value of the v_hex  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vHex gi-glibSet the value of the v_hex  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vHex  value ] gi-glibGet the value of the v_string  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vString gi-glibSet the value of the v_string  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vString  value ] gi-glibSet the value of the v_string  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #vString gi-glibGet the value of the  v_comment  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vComment gi-glibSet the value of the  v_comment  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vComment  value ] gi-glibSet the value of the  v_comment  field to  . When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  #vComment gi-glibGet the value of the v_char  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vChar gi-glibSet the value of the v_char  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vChar  value ] gi-glibGet the value of the v_error  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue #vError gi-glibSet the value of the v_error  field. When  9https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading" is enabled, this is equivalent to  tokenValue [ #vError  value ] [ \ [ \ h7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb,&5      # $ % & ' ( + , R S T U V W X [ \ i7Will Thompson, Iaki Garca Etxebarria and Jonas PlatteLGPL-2.1+Iaki Garca Etxebarria (inaki@blueleaf.cc)None,.=>?@AHVXb,) H       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0467123589:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?     !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstvwxyz{|}~     !#$%&'()*+./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ! " # $ % & ' ( ) * + , - . / 0 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E H I J K L M N O P Q R S T U V W X [ \ ] ^ _ ` a b c d e g h i j k l m n o p q r s t u v w x y z { | } ~                       ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t w x y z { | } ~                           # $ % & ' ( + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F H I J K L M N O R S T U V W X [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  jklmnoNpqrstuvwxyz{|}~}K9=<;>:+*ALF W)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab c d ef?@ghijklmOnPQopqrstuvwxyz{|}~UVTfde      !"#$%&'()*+,-.C/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDlmnopqrstuvwxyz{|}~,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~M-JG/.10%&'("      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^^465     I I                                 2 3  NN``     tacgub !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXYZ[\]^_`a__bcdefg!hijjklmnopqrstuujjvvwxyz{|}~ffHH R R          !!!!!!!!!!!""""""""""""""###########$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&'K'K'' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C(())(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V)W)X)Y)Z)[)\)])^)_)`*T*T+a+a,,-b-b-c-d../e/f/g/h/i/j/k/l/R/m/n/o/p/q/r//s/t/u/v/w/x/y/z/{/|/}/~////////////////////////////////////////////e/////////////////////////////////k////////////////////////S/////////////////////////////B////////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / !/ "/ #/ $/ %/ &/ '/ (/ )/ */ +/ ,/ -/ ./ // 0/ 1/ 2/ 3/ 4/ 5/ 6/ 7/ 8/ 9/ :/ ;/ </ =/ >/ ?/ @/ A/ B/ C/ D/ E/ F/ G/ H/ I/ J/ K/ L/ M/ N/ O/ P/ Q/ R/ S/ T/ U/ V/ W/ X/ Y/ Z/ [/ \/ ]/ ^/ _/ `/ a/ b/ c/ d/ e/ f/ g/ h/ i/ j/ k/ l/ m/ n, o, p, q, r, s, t, u, v, w, x, y, z, {+ |+ }+ ~+ + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0                       l                                                           1d1d1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F. G. H. I. J. K. L. M. N. O. P. Q. R. S. T. U. V. W. X. Y. Z. [. \. ]. ^. _. `. a. b. c. d. e. f. g. h. i. j. k. l2 m2 m2 n2 o2 p2 q2 r2 s2 t333 u3 v4 w4 w4 x4 y4 z4 {4 |4 }4 ~4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7E7E7 7 7 7 8 8 8 8 8 8 8 88 8 8 999 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 99 9 ::* * *a* * *\* * * * * *b* * * * * * * * * * * ** * * * * * * ** * * * * ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;; ;; ; ; ; ; ; !< "< "< #< $< %< &< '< (< )< *< +< ,< -< .< /< 0< 1< 2< 3< 4< 5< 6< 7< 8< 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }=m= ~= = = = = = = = = = = = = = ==z= = ={= = = = = = = = =V= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = =~= =U= = = = = = = = = = == = = = =w= = = = = ==y= =x= = = = = = = = = = = = = = == = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = === == = = = = != "= #= $= %=v= &= '== (= )= *= +== ,= -== .= /= 0= 1= 2== 3= 4= 5= 6= 7= 8=i=]= 9=\=Z=X==[=Y= := ;== <== == >= ?= @=W= A=== B= C====s= D=|= E= F= G= H= I= J= K=r== L= M= N= O= P=== Q= R= S= T= U= V== W= X= Y= Z== [= \=L= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l== m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = = = = = = = = = = = = = = = = = = = = = = = = == = = = = === =M= = = = = = = = =J= = : : : : : : :: : : : >S>S? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?O? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? > > >P> >Q> > > > > > > > > @ @ @ @ @ @ @ @ @ @ A A A A A A A A A A A A A BBB B B B B B B B B B B B CnCnD D D D D D D D D D D D D E E E E E !E "E #E $E %E &E 'C (C )C *C +C ,C -C .C /C 0C 1C 2C 3C 4C 5C 6C 7C 8C 9C :C ;C <C =C >C ?C @C AC BC CC DCYC[C EF FF FF GF HF IF JF KF LG MG MG NG OG PG QG RG SHcHc T U V W X Y Z [ \  ] ^ _ ` a b c d e f g^]` h i j k l m n o p q rH sH tH uH vH wH xH yH zH {I_I_& |& }& ~& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &h& & & & & & & & & & & & I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I   o                                 o op o o o o o! o" oq o# o$ %& %' %( %) %* %+ %, %- ./ .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .: .; .< .= .> .? .@ .A .B .C .D .E .F .G .H .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z .[ .\ .] .^ ._ .` ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az a{ a| a} ~                                                   o o o o o o % %      . . . . . . . . . . . . .    gi-glib-2.0.21-inplaceGI.GLib.Constants GI.GLib.Enums GI.GLib.FlagsGI.GLib.Structs.BookmarkFileGI.GLib.Structs.BytesGI.GLib.Structs.ByteArrayGI.GLib.Structs.ChecksumGI.GLib.Structs.CondGI.GLib.Structs.DataGI.GLib.Structs.DebugKeyGI.GLib.Structs.DirGI.GLib.Structs.HashTableIterGI.GLib.Structs.HmacGI.GLib.Structs.HookGI.GLib.Structs.HookListGI.GLib.Structs.IOChannelGI.GLib.Structs.KeyFileGI.GLib.Structs.LogFieldGI.GLib.Structs.MainContextGI.GLib.Structs.MainLoopGI.GLib.Structs.MappedFile"GI.GLib.Structs.MarkupParseContextGI.GLib.Structs.MarkupParserGI.GLib.Structs.MatchInfoGI.GLib.Structs.MemVTableGI.GLib.Structs.NodeGI.GLib.Structs.OnceGI.GLib.Structs.OptionContextGI.GLib.Structs.OptionEntryGI.GLib.Structs.OptionGroupGI.GLib.Structs.PatternSpecGI.GLib.Structs.PollFDGI.GLib.Structs.PtrArrayGI.GLib.Structs.RWLockGI.GLib.Structs.RandGI.GLib.Structs.RecMutexGI.GLib.Structs.RegexGI.GLib.Structs.ScannerGI.GLib.Structs.ScannerConfigGI.GLib.Structs.SequenceGI.GLib.Structs.SequenceIterGI.GLib.Structs.Source#GI.GLib.Structs.SourceCallbackFuncsGI.GLib.Structs.SourceFuncsGI.GLib.Structs.StatBufGI.GLib.Structs.StringGI.GLib.CallbacksGI.GLib.Structs.QueueGI.GLib.Structs.IOFuncsGI.GLib.Structs.StringChunkGI.GLib.Structs.TestCaseGI.GLib.Structs.TestConfigGI.GLib.Structs.TestLogBufferGI.GLib.Structs.TestLogMsgGI.GLib.Structs.TestSuiteGI.GLib.Structs.ThreadGI.GLib.Structs.ThreadPoolGI.GLib.Structs.TimeValGI.GLib.Structs.DateGI.GLib.Structs.AsyncQueueGI.GLib.FunctionsGI.GLib.Structs.TimeZoneGI.GLib.Structs.DateTimeGI.GLib.Structs.TimerGI.GLib.Structs.TrashStackGI.GLib.Structs.TreeGI.GLib.Structs.VariantTypeGI.GLib.Structs.VariantDictGI.GLib.Structs.VariantBuilderGI.GLib.Unions.DoubleIEEE754GI.GLib.Unions.FloatIEEE754GI.GLib.Unions.MutexGI.GLib.Unions.TokenValue asciiDtostr ScannerConfigdatalistSetFlags asciiStrtoullHookOptionArgCallbackOptionArgStringArrayOptionArgFilenameArrayPollFD SourceFuncSource strdelimittestRun getHomeDirgetUserCacheDirgetSystemConfigDirsgetUserConfigDirgetSystemDataDirsgetUserDataDirgetUserRuntimeDirChecksum TokenValue IOChannel iOChannelReadiOChannelWrite iOChannelSeekIOFuncs LogWriterFuncOnceiOChannelSeekPositionscannerGetNextTokengetUserSpecialDir MarkupParser OptionArgFunc$optionContextSetIgnoreUnknownOptionsunicharGetScript VariantTypeData.GI.Base.GErrorcatchGErrorJustDomainhandleGErrorJustDomainfileTestformatSizeFulliOChannelGetFlagsiOChannelSetFlagslogSetFatalMask spawnSync spawnAsyncspawnAsyncWithPipestestTrapSubprocess testTrapFork formatSizeHOOK_FLAG_USER_SHIFTstrdupfree OptionArgNonematchInfoIsPartialMatchRegexgetApplicationName getPrgnameBookmarkFileError FileErrorfileSetContentsGErrorstrfreevData.GI.Base.Attributesgetset:=Bytes bytesNewTake byteArrayFreemallocmalloc0reallocGI.GLib.Structs.HashTable HashTable ByteArraybyteArrayFreeToBytes ChecksumTypeclear getTmpDirchecksumUpdate getCharset IOCondition IOConditionInIOConditionOutIOFlagsIsReadableIOFlagsIsWritableIOStatusNormal IOStatusEof SeekTypeCur IOStatusAgain IOStatusErrorConvertErrorIllegalSequenceIOFlagsSetMaskIOChannelError IOErrorNoneIOStatus SeekTypeSet SeekTypeEndSeekTypeIOChannelErrorInvalKeyFileFlagsKeepTranslations KeyFileErrorKeyFileErrorNotFoundFileErrorNoent KeyFileFlags MainContextTraverseFlagsAllTraverseFlagsLeavesTraverseFlagsNonLeaves onceInitLeave onceInitEnter regexReplaceregexNewregexCheckReplacement regexMatchAllregexMatchAllFullregexRef regexMatchregexMatchFullRegexCompileFlagsRaw MatchInfo matchInfoNext matchInfoFreematchInfoGetMatchCountmatchInfoFetchmatchInfoFetchPosRegexCompileFlagsRegexMatchFlags SequenceIterSequencespawnCheckExitStatus sourceRemovedatasetForeach directHashintHashstrHashhookListInvokeCheckhookListInvoke ioAddWatchlogDefaultHandlerLogWriterOutputHandledLogWriterOutputUnhandled timeoutAddidleAddsourceSetCallback getEnviron environSetenvenvironUnsetenvatexithashTableRemoveHookListlogSetWriterFuncNode OptionGroupoptionGroupNew OptionContextmatchInfoGetRegexmatchInfoGetStringStringScannerSOURCE_CONTINUE SOURCE_REMOVEoptionGroupSetTranslateFuncTree TranslateFunc OptionEntry setPrgnameMarkupParseFlags hookUnrefhookFree asciiTolower asciiToupperTestCase threadExit ThreadPoolthreadPoolStopUnusedThreadsmainCurrentSourcegetCurrentTimemainContextFindSourceByIdgetMonotonicTime SourceFuncs childWatchAddTimeVal dateValidDmy dateStrftime DateMonth DateWeekday timeValAddNormalizeModeDefaultNormalizeModeAllNormalizeModeDefaultComposeNormalizeModeAllCompose USEC_PER_SEC sourceAttach DestroyNotify UnicodeScriptTestSubprocessFlags TestTrapFlagsLogLevelFlagsLevelDebugTEST_OPTION_ISOLATE_DIRSSpawnFlagsStdoutToDevNullSpawnFlagsStderrToDevNullSpawnFlagsDoNotReapChildSpawnFlagsSearchPathSpawnErrorFailedSpawnFlagsSearchPathFromEnvpSpawnFlagsLeaveDescriptorsOpenSpawnFlagsChildInheritsStdinSpawnFlagsFileAndArgvZeroGI.GLib.Structs.SListSListmainContextDispatchmainContextIteration mainLoopRunLogLevelFlagsLevelInfoGI.GLib.Structs.Variant variantPrintLogLevelFlagsLevelErrorLogLevelFlagsLevelCriticalLogLevelFlagsLevelWarningLogLevelFlagsLevelMessageConvertErrorEmbeddedNulPRIORITY_DEFAULT_IDLEPRIORITY_DEFAULTUserDirectoryDirectoryDesktopFormatSizeFlagsFileTestIsSymlinkFileTestIsRegularFileTestExistsFileTestIsExecutable hmacGetString hmacUnref checksumNewchecksumGetString checksumFreeGI.GLib.Structs.Error errorFree MAJOR_VERSION MINOR_VERSION MICRO_VERSION MAXUINT64MAXINT64MININT64NumberParserErrorInvalidNumberParserErrorOutOfBounds PRIORITY_HIGHUnixFDSourceFuncUnicodeScriptInvalidCodeUnicodeScriptUnknown TestSuiteSTR_DELIMITERS SpawnFlags PatternSpecDebugKey LogLevelFlags LOG_DOMAINPRIORITY_HIGH_IDLEFileTestDATALIST_FLAGS_MASKdateTimeFormattimeZoneNewLocaltimeZoneNewUtc CompareFuncTimeZoneTimeTypeUniversalTimeTypeStandardTimeTypeDaylightTimeTypevariantRefSinkvariantTypeStringIsValidvariantGetTypevariantTypeStringScansourceAddUnixFdmainContextGetThreadDefaultmainContextDefaultMainLoopmainContextRefThreadDefault sourceNew sourceGetIdMutexTokenTypeIdentifierTokenTypeIdentifierNullTokenTypeSymbolGI.GLib.StructsGI.GLib.UnionsGI.GLibANALYZER_ANALYZINGASCII_DTOSTR_BUF_SIZE BIG_ENDIAN CSET_A_2_Z CSET_DIGITS CSET_a_2_z DATE_BAD_DAYDATE_BAD_JULIAN DATE_BAD_YEAR DIR_SEPARATORDIR_SEPARATOR_SE GINT16_FORMATGINT16_MODIFIER GINT32_FORMATGINT32_MODIFIER GINT64_FORMATGINT64_MODIFIERGINTPTR_FORMATGINTPTR_MODIFIER GNUC_FUNCTIONGNUC_PRETTY_FUNCTION GSIZE_FORMATGSIZE_MODIFIER GSSIZE_FORMATGSSIZE_MODIFIERGUINT16_FORMATGUINT32_FORMATGUINT64_FORMATGUINTPTR_FORMAT HAVE_GINT64HAVE_GNUC_VARARGSHAVE_GNUC_VISIBILITYHAVE_GROWING_STACKHAVE_ISO_VARARGSIEEE754_DOUBLE_BIASIEEE754_FLOAT_BIASKEY_FILE_DESKTOP_GROUPKEY_FILE_DESKTOP_KEY_ACTIONSKEY_FILE_DESKTOP_KEY_CATEGORIESKEY_FILE_DESKTOP_KEY_COMMENT%KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLEKEY_FILE_DESKTOP_KEY_EXEC!KEY_FILE_DESKTOP_KEY_GENERIC_NAMEKEY_FILE_DESKTOP_KEY_HIDDENKEY_FILE_DESKTOP_KEY_ICONKEY_FILE_DESKTOP_KEY_MIME_TYPEKEY_FILE_DESKTOP_KEY_NAME KEY_FILE_DESKTOP_KEY_NOT_SHOW_INKEY_FILE_DESKTOP_KEY_NO_DISPLAY!KEY_FILE_DESKTOP_KEY_ONLY_SHOW_INKEY_FILE_DESKTOP_KEY_PATH#KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY%KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASSKEY_FILE_DESKTOP_KEY_TERMINALKEY_FILE_DESKTOP_KEY_TRY_EXECKEY_FILE_DESKTOP_KEY_TYPEKEY_FILE_DESKTOP_KEY_URLKEY_FILE_DESKTOP_KEY_VERSION!KEY_FILE_DESKTOP_TYPE_APPLICATIONKEY_FILE_DESKTOP_TYPE_DIRECTORYKEY_FILE_DESKTOP_TYPE_LINK LITTLE_ENDIANLN10LN2 LOG_2_BASE_10LOG_FATAL_MASKLOG_LEVEL_USER_SHIFTMAXINT16MAXINT32MAXINT8 MAXUINT16 MAXUINT32MAXUINT8MININT16MININT32MININT8 MODULE_SUFFIXOPTION_REMAINING PDP_ENDIANPI PID_FORMATPI_2PI_4 POLLFD_FORMAT PRIORITY_LOWSEARCHPATH_SEPARATORSEARCHPATH_SEPARATOR_S SIZEOF_LONG SIZEOF_SIZE_TSIZEOF_SSIZE_T SIZEOF_VOID_PSQRT2SYSDEF_AF_INETSYSDEF_AF_INET6SYSDEF_AF_UNIXSYSDEF_MSG_DONTROUTESYSDEF_MSG_OOBSYSDEF_MSG_PEEK TIME_SPAN_DAYTIME_SPAN_HOURTIME_SPAN_MILLISECONDTIME_SPAN_MINUTETIME_SPAN_SECOND UNICHAR_MAX_DECOMPOSITION_LENGTH%URI_RESERVED_CHARS_GENERIC_DELIMITERS*URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERSVA_COPY_AS_ARRAYVERSION_MIN_REQUIREDWIN32_MSG_HANDLE ConvertErrorDateDMY ErrorTypeIOErrorLogWriterOutput MarkupError NormalizeModeNumberParserError OnceStatus OptionArg OptionError RegexError ShellError SliceConfig SpawnError TestFileType TestLogType TestResult ThreadError TokenType TraverseTypeUnicodeBreakType UnicodeType UserDirectory VariantClassVariantParseErrorBookmarkFileErrorInvalidUriBookmarkFileErrorInvalidValue!BookmarkFileErrorAppNotRegisteredBookmarkFileErrorUriNotFoundBookmarkFileErrorRead BookmarkFileErrorUnknownEncodingBookmarkFileErrorWriteBookmarkFileErrorFileNotFoundAnotherBookmarkFileErrorChecksumTypeMd5ChecksumTypeSha1ChecksumTypeSha256ChecksumTypeSha512ChecksumTypeSha384AnotherChecksumTypeConvertErrorNoConversionConvertErrorFailedConvertErrorPartialInputConvertErrorBadUriConvertErrorNotAbsolutePathConvertErrorNoMemoryAnotherConvertError DateDMYDay DateDMYMonth DateDMYYearAnotherDateDMYDateMonthBadMonthDateMonthJanuaryDateMonthFebruaryDateMonthMarchDateMonthApril DateMonthMay DateMonthJune DateMonthJulyDateMonthAugustDateMonthSeptemberDateMonthOctoberDateMonthNovemberDateMonthDecemberAnotherDateMonthDateWeekdayBadWeekdayDateWeekdayMondayDateWeekdayTuesdayDateWeekdayWednesdayDateWeekdayThursdayDateWeekdayFridayDateWeekdaySaturdayDateWeekdaySundayAnotherDateWeekdayErrorTypeUnknownErrorTypeUnexpEofErrorTypeUnexpEofInStringErrorTypeUnexpEofInCommentErrorTypeNonDigitInConstErrorTypeDigitRadixErrorTypeFloatRadixErrorTypeFloatMalformedAnotherErrorTypeFileErrorExistFileErrorIsdirFileErrorAccesFileErrorNametoolongFileErrorNotdir FileErrorNxioFileErrorNodev FileErrorRofsFileErrorTxtbsyFileErrorFault FileErrorLoopFileErrorNospcFileErrorNomemFileErrorMfileFileErrorNfile FileErrorBadfFileErrorInval FileErrorPipeFileErrorAgain FileErrorIntr FileErrorIo FileErrorPermFileErrorNosysFileErrorFailedAnotherFileErrorIOChannelErrorFbigIOChannelErrorIoIOChannelErrorIsdirIOChannelErrorNospcIOChannelErrorNxioIOChannelErrorOverflowIOChannelErrorPipeIOChannelErrorFailedAnotherIOChannelError IOErrorAgain IOErrorInvalIOErrorUnknownAnotherIOErrorAnotherIOStatusKeyFileErrorUnknownEncodingKeyFileErrorParseKeyFileErrorKeyNotFoundKeyFileErrorGroupNotFoundKeyFileErrorInvalidValueAnotherKeyFileErrorAnotherLogWriterOutputMarkupErrorBadUtf8MarkupErrorEmptyMarkupErrorParseMarkupErrorUnknownElementMarkupErrorUnknownAttributeMarkupErrorInvalidContentMarkupErrorMissingAttributeAnotherMarkupErrorNormalizeModeNfdNormalizeModeNfcNormalizeModeNfkdNormalizeModeNfkcAnotherNormalizeModeAnotherNumberParserErrorOnceStatusNotcalledOnceStatusProgressOnceStatusReadyAnotherOnceStatusOptionArgString OptionArgIntOptionArgFilenameOptionArgDoubleOptionArgInt64AnotherOptionArgOptionErrorUnknownOptionOptionErrorBadValueOptionErrorFailedAnotherOptionErrorRegexErrorCompileRegexErrorOptimizeRegexErrorReplaceRegexErrorMatchRegexErrorInternalRegexErrorStrayBackslashRegexErrorMissingControlCharRegexErrorUnrecognizedEscapeRegexErrorQuantifiersOutOfOrderRegexErrorQuantifierTooBig$RegexErrorUnterminatedCharacterClass'RegexErrorInvalidEscapeInCharacterClassRegexErrorRangeOutOfOrderRegexErrorNothingToRepeatRegexErrorUnrecognizedCharacter%RegexErrorPosixNamedClassOutsideClassRegexErrorUnmatchedParenthesis'RegexErrorInexistentSubpatternReferenceRegexErrorUnterminatedCommentRegexErrorExpressionTooLargeRegexErrorMemoryError"RegexErrorVariableLengthLookbehindRegexErrorMalformedCondition$RegexErrorTooManyConditionalBranchesRegexErrorAssertionExpectedRegexErrorUnknownPosixClassName,RegexErrorPosixCollatingElementsNotSupportedRegexErrorHexCodeTooLargeRegexErrorInvalidCondition%RegexErrorSingleByteMatchInLookbehindRegexErrorInfiniteLoop)RegexErrorMissingSubpatternNameTerminator!RegexErrorDuplicateSubpatternNameRegexErrorMalformedPropertyRegexErrorUnknownPropertyRegexErrorSubpatternNameTooLongRegexErrorTooManySubpatternsRegexErrorInvalidOctalValue!RegexErrorTooManyBranchesInDefineRegexErrorDefineRepetion$RegexErrorInconsistentNewlineOptionsRegexErrorMissingBackReference"RegexErrorInvalidRelativeReference2RegexErrorBacktrackingControlVerbArgumentForbidden(RegexErrorUnknownBacktrackingControlVerbRegexErrorNumberTooBigRegexErrorMissingSubpatternNameRegexErrorMissingDigitRegexErrorInvalidDataCharacterRegexErrorExtraSubpatternName1RegexErrorBacktrackingControlVerbArgumentRequiredRegexErrorInvalidControlCharRegexErrorMissingNameRegexErrorNotSupportedInClass"RegexErrorTooManyForwardReferencesRegexErrorNameTooLong RegexErrorCharacterValueTooLargeAnotherRegexErrorAnotherSeekTypeShellErrorBadQuotingShellErrorEmptyStringShellErrorFailedAnotherShellErrorSliceConfigAlwaysMallocSliceConfigBypassMagazinesSliceConfigWorkingSetMsecsSliceConfigColorIncrementSliceConfigChunkSizesSliceConfigContentionCounterAnotherSliceConfigSpawnErrorForkSpawnErrorReadSpawnErrorChdirSpawnErrorAccesSpawnErrorPermSpawnErrorTooBigSpawnError2bigSpawnErrorNoexecSpawnErrorNametoolongSpawnErrorNoentSpawnErrorNomemSpawnErrorNotdirSpawnErrorLoopSpawnErrorTxtbusy SpawnErrorIoSpawnErrorNfileSpawnErrorMfileSpawnErrorInvalSpawnErrorIsdirSpawnErrorLibbadAnotherSpawnErrorTestFileTypeDistTestFileTypeBuiltAnotherTestFileTypeTestLogTypeNoneTestLogTypeErrorTestLogTypeStartBinaryTestLogTypeListCaseTestLogTypeSkipCaseTestLogTypeStartCaseTestLogTypeStopCaseTestLogTypeMinResultTestLogTypeMaxResultTestLogTypeMessageTestLogTypeStartSuiteTestLogTypeStopSuiteAnotherTestLogTypeTestResultSuccessTestResultSkippedTestResultFailureTestResultIncompleteAnotherTestResultThreadErrorThreadErrorAgainAnotherThreadErrorAnotherTimeType TokenTypeEofTokenTypeLeftParenTokenTypeRightParenTokenTypeLeftCurlyTokenTypeRightCurlyTokenTypeLeftBraceTokenTypeRightBraceTokenTypeEqualSignTokenTypeComma TokenTypeNoneTokenTypeError TokenTypeCharTokenTypeBinaryTokenTypeOctal TokenTypeInt TokenTypeHexTokenTypeFloatTokenTypeStringTokenTypeCommentSingleTokenTypeCommentMultiAnotherTokenTypeTraverseTypeInOrderTraverseTypePreOrderTraverseTypePostOrderTraverseTypeLevelOrderAnotherTraverseTypeUnicodeBreakTypeMandatoryUnicodeBreakTypeCarriageReturnUnicodeBreakTypeLineFeedUnicodeBreakTypeCombiningMarkUnicodeBreakTypeSurrogateUnicodeBreakTypeZeroWidthSpaceUnicodeBreakTypeInseparableUnicodeBreakTypeNonBreakingGlueUnicodeBreakTypeContingentUnicodeBreakTypeSpaceUnicodeBreakTypeAfterUnicodeBreakTypeBeforeUnicodeBreakTypeBeforeAndAfterUnicodeBreakTypeHyphenUnicodeBreakTypeNonStarterUnicodeBreakTypeOpenPunctuation UnicodeBreakTypeClosePunctuationUnicodeBreakTypeQuotationUnicodeBreakTypeExclamationUnicodeBreakTypeIdeographicUnicodeBreakTypeNumericUnicodeBreakTypeInfixSeparatorUnicodeBreakTypeSymbolUnicodeBreakTypeAlphabeticUnicodeBreakTypePrefixUnicodeBreakTypePostfixUnicodeBreakTypeComplexContextUnicodeBreakTypeAmbiguousUnicodeBreakTypeUnknownUnicodeBreakTypeNextLineUnicodeBreakTypeWordJoinerUnicodeBreakTypeHangulLJamoUnicodeBreakTypeHangulVJamoUnicodeBreakTypeHangulTJamo UnicodeBreakTypeHangulLvSyllable!UnicodeBreakTypeHangulLvtSyllable UnicodeBreakTypeCloseParanthesis*UnicodeBreakTypeConditionalJapaneseStarterUnicodeBreakTypeHebrewLetter!UnicodeBreakTypeRegionalIndicatorUnicodeBreakTypeEmojiBaseUnicodeBreakTypeEmojiModifierUnicodeBreakTypeZeroWidthJoinerAnotherUnicodeBreakTypeUnicodeScriptCommonUnicodeScriptInheritedUnicodeScriptArabicUnicodeScriptArmenianUnicodeScriptBengaliUnicodeScriptBopomofoUnicodeScriptCherokeeUnicodeScriptCopticUnicodeScriptCyrillicUnicodeScriptDeseretUnicodeScriptDevanagariUnicodeScriptEthiopicUnicodeScriptGeorgianUnicodeScriptGothicUnicodeScriptGreekUnicodeScriptGujaratiUnicodeScriptGurmukhiUnicodeScriptHanUnicodeScriptHangulUnicodeScriptHebrewUnicodeScriptHiraganaUnicodeScriptKannadaUnicodeScriptKatakanaUnicodeScriptKhmerUnicodeScriptLaoUnicodeScriptLatinUnicodeScriptMalayalamUnicodeScriptMongolianUnicodeScriptMyanmarUnicodeScriptOghamUnicodeScriptOldItalicUnicodeScriptOriyaUnicodeScriptRunicUnicodeScriptSinhalaUnicodeScriptSyriacUnicodeScriptTamilUnicodeScriptTeluguUnicodeScriptThaanaUnicodeScriptThaiUnicodeScriptTibetanUnicodeScriptCanadianAboriginalUnicodeScriptYiUnicodeScriptTagalogUnicodeScriptHanunooUnicodeScriptBuhidUnicodeScriptTagbanwaUnicodeScriptBrailleUnicodeScriptCypriotUnicodeScriptLimbuUnicodeScriptOsmanyaUnicodeScriptShavianUnicodeScriptLinearBUnicodeScriptTaiLeUnicodeScriptUgariticUnicodeScriptNewTaiLueUnicodeScriptBugineseUnicodeScriptGlagoliticUnicodeScriptTifinaghUnicodeScriptSylotiNagriUnicodeScriptOldPersianUnicodeScriptKharoshthiUnicodeScriptBalineseUnicodeScriptCuneiformUnicodeScriptPhoenicianUnicodeScriptPhagsPaUnicodeScriptNkoUnicodeScriptKayahLiUnicodeScriptLepchaUnicodeScriptRejangUnicodeScriptSundaneseUnicodeScriptSaurashtraUnicodeScriptChamUnicodeScriptOlChikiUnicodeScriptVaiUnicodeScriptCarianUnicodeScriptLycianUnicodeScriptLydianUnicodeScriptAvestanUnicodeScriptBamum UnicodeScriptEgyptianHieroglyphsUnicodeScriptImperialAramaic!UnicodeScriptInscriptionalPahlavi"UnicodeScriptInscriptionalParthianUnicodeScriptJavaneseUnicodeScriptKaithiUnicodeScriptLisuUnicodeScriptMeeteiMayekUnicodeScriptOldSouthArabianUnicodeScriptOldTurkicUnicodeScriptSamaritanUnicodeScriptTaiThamUnicodeScriptTaiVietUnicodeScriptBatakUnicodeScriptBrahmiUnicodeScriptMandaicUnicodeScriptChakmaUnicodeScriptMeroiticCursive UnicodeScriptMeroiticHieroglyphsUnicodeScriptMiaoUnicodeScriptSharadaUnicodeScriptSoraSompengUnicodeScriptTakriUnicodeScriptBassaVahUnicodeScriptCaucasianAlbanianUnicodeScriptDuployanUnicodeScriptElbasanUnicodeScriptGranthaUnicodeScriptKhojkiUnicodeScriptKhudawadiUnicodeScriptLinearAUnicodeScriptMahajaniUnicodeScriptManichaeanUnicodeScriptMendeKikakuiUnicodeScriptModiUnicodeScriptMroUnicodeScriptNabataeanUnicodeScriptOldNorthArabianUnicodeScriptOldPermicUnicodeScriptPahawhHmongUnicodeScriptPalmyreneUnicodeScriptPauCinHauUnicodeScriptPsalterPahlaviUnicodeScriptSiddhamUnicodeScriptTirhutaUnicodeScriptWarangCitiUnicodeScriptAhom!UnicodeScriptAnatolianHieroglyphsUnicodeScriptHatranUnicodeScriptMultaniUnicodeScriptOldHungarianUnicodeScriptSignwritingUnicodeScriptAdlamUnicodeScriptBhaiksukiUnicodeScriptMarchenUnicodeScriptNewaUnicodeScriptOsageUnicodeScriptTangutUnicodeScriptMasaramGondiUnicodeScriptNushuUnicodeScriptSoyomboUnicodeScriptZanabazarSquareUnicodeScriptDograUnicodeScriptGunjalaGondiUnicodeScriptHanifiRohingyaUnicodeScriptMakasarUnicodeScriptMedefaidrinUnicodeScriptOldSogdianUnicodeScriptSogdianAnotherUnicodeScriptUnicodeTypeControlUnicodeTypeFormatUnicodeTypeUnassignedUnicodeTypePrivateUseUnicodeTypeSurrogateUnicodeTypeLowercaseLetterUnicodeTypeModifierLetterUnicodeTypeOtherLetterUnicodeTypeTitlecaseLetterUnicodeTypeUppercaseLetterUnicodeTypeSpacingMarkUnicodeTypeEnclosingMarkUnicodeTypeNonSpacingMarkUnicodeTypeDecimalNumberUnicodeTypeLetterNumberUnicodeTypeOtherNumberUnicodeTypeConnectPunctuationUnicodeTypeDashPunctuationUnicodeTypeClosePunctuationUnicodeTypeFinalPunctuationUnicodeTypeInitialPunctuationUnicodeTypeOtherPunctuationUnicodeTypeOpenPunctuationUnicodeTypeCurrencySymbolUnicodeTypeModifierSymbolUnicodeTypeMathSymbolUnicodeTypeOtherSymbolUnicodeTypeLineSeparatorUnicodeTypeParagraphSeparatorUnicodeTypeSpaceSeparatorAnotherUnicodeTypeUserDirectoryDirectoryDocumentsUserDirectoryDirectoryDownloadUserDirectoryDirectoryMusicUserDirectoryDirectoryPictures!UserDirectoryDirectoryPublicShareUserDirectoryDirectoryTemplatesUserDirectoryDirectoryVideosUserDirectoryNDirectoriesAnotherUserDirectoryVariantClassBooleanVariantClassByteVariantClassInt16VariantClassUint16VariantClassInt32VariantClassUint32VariantClassInt64VariantClassUint64VariantClassHandleVariantClassDoubleVariantClassStringVariantClassObjectPathVariantClassSignatureVariantClassVariantVariantClassMaybeVariantClassArrayVariantClassTupleVariantClassDictEntryAnotherVariantClassVariantParseErrorFailed"VariantParseErrorBasicTypeExpected VariantParseErrorCannotInferType%VariantParseErrorDefiniteTypeExpectedVariantParseErrorInputNotAtEnd!VariantParseErrorInvalidCharacter$VariantParseErrorInvalidFormatString"VariantParseErrorInvalidObjectPath!VariantParseErrorInvalidSignature"VariantParseErrorInvalidTypeStringVariantParseErrorNoCommonType!VariantParseErrorNumberOutOfRangeVariantParseErrorNumberTooBigVariantParseErrorTypeError VariantParseErrorUnexpectedTokenVariantParseErrorUnknownKeyword+VariantParseErrorUnterminatedStringConstantVariantParseErrorValueExpectedAnotherVariantParseErrorcatchVariantParseErrorhandleVariantParseErrorcatchThreadErrorhandleThreadErrorcatchSpawnErrorhandleSpawnErrorcatchShellErrorhandleShellErrorcatchRegexErrorhandleRegexErrorcatchOptionErrorhandleOptionErrorcatchNumberParserErrorhandleNumberParserErrorcatchMarkupErrorhandleMarkupErrorcatchKeyFileErrorhandleKeyFileErrorcatchIOChannelErrorhandleIOChannelErrorcatchFileErrorhandleFileErrorcatchConvertErrorhandleConvertErrorcatchBookmarkFileErrorhandleBookmarkFileError$fGErrorClassVariantParseError$fOrdVariantParseError$fEnumVariantParseError$fOrdVariantClass$fEnumVariantClass$fOrdUserDirectory$fEnumUserDirectory$fOrdUnicodeType$fEnumUnicodeType$fOrdUnicodeScript$fEnumUnicodeScript$fOrdUnicodeBreakType$fEnumUnicodeBreakType$fOrdTraverseType$fEnumTraverseType$fOrdTokenType$fEnumTokenType $fOrdTimeType$fEnumTimeType$fGErrorClassThreadError$fOrdThreadError$fEnumThreadError$fOrdTestResult$fEnumTestResult$fOrdTestLogType$fEnumTestLogType$fOrdTestFileType$fEnumTestFileType$fGErrorClassSpawnError$fOrdSpawnError$fEnumSpawnError$fOrdSliceConfig$fEnumSliceConfig$fGErrorClassShellError$fOrdShellError$fEnumShellError $fOrdSeekType$fEnumSeekType$fGErrorClassRegexError$fOrdRegexError$fEnumRegexError$fGErrorClassOptionError$fOrdOptionError$fEnumOptionError$fOrdOptionArg$fEnumOptionArg$fOrdOnceStatus$fEnumOnceStatus$fGErrorClassNumberParserError$fOrdNumberParserError$fEnumNumberParserError$fOrdNormalizeMode$fEnumNormalizeMode$fGErrorClassMarkupError$fOrdMarkupError$fEnumMarkupError$fOrdLogWriterOutput$fEnumLogWriterOutput$fGErrorClassKeyFileError$fOrdKeyFileError$fEnumKeyFileError $fOrdIOStatus$fEnumIOStatus $fOrdIOError $fEnumIOError$fGErrorClassIOChannelError$fOrdIOChannelError$fEnumIOChannelError$fGErrorClassFileError$fOrdFileError$fEnumFileError$fOrdErrorType$fEnumErrorType$fOrdDateWeekday$fEnumDateWeekday$fOrdDateMonth$fEnumDateMonth $fOrdDateDMY $fEnumDateDMY$fGErrorClassConvertError$fOrdConvertError$fEnumConvertError$fOrdChecksumType$fEnumChecksumType$fGErrorClassBookmarkFileError$fOrdBookmarkFileError$fEnumBookmarkFileError$fShowVariantParseError$fEqVariantParseError$fShowVariantClass$fEqVariantClass$fShowUserDirectory$fEqUserDirectory$fShowUnicodeType$fEqUnicodeType$fShowUnicodeScript$fEqUnicodeScript$fShowUnicodeBreakType$fEqUnicodeBreakType$fShowTraverseType$fEqTraverseType$fShowTokenType $fEqTokenType$fShowTimeType $fEqTimeType$fShowThreadError$fEqThreadError$fShowTestResult$fEqTestResult$fShowTestLogType$fEqTestLogType$fShowTestFileType$fEqTestFileType$fShowSpawnError$fEqSpawnError$fShowSliceConfig$fEqSliceConfig$fShowShellError$fEqShellError$fShowSeekType $fEqSeekType$fShowRegexError$fEqRegexError$fShowOptionError$fEqOptionError$fShowOptionArg $fEqOptionArg$fShowOnceStatus$fEqOnceStatus$fShowNumberParserError$fEqNumberParserError$fShowNormalizeMode$fEqNormalizeMode$fShowMarkupError$fEqMarkupError$fShowLogWriterOutput$fEqLogWriterOutput$fShowKeyFileError$fEqKeyFileError$fShowIOStatus $fEqIOStatus $fShowIOError $fEqIOError$fShowIOChannelError$fEqIOChannelError$fShowFileError $fEqFileError$fShowErrorType $fEqErrorType$fShowDateWeekday$fEqDateWeekday$fShowDateMonth $fEqDateMonth $fShowDateDMY $fEqDateDMY$fShowConvertError$fEqConvertError$fShowChecksumType$fEqChecksumType$fShowBookmarkFileError$fEqBookmarkFileError AsciiType HookFlagMaskIOFlagsMarkupCollectType OptionFlags TraverseFlagsAsciiTypeAlnumAsciiTypeAlphaAsciiTypeCntrlAsciiTypeDigitAsciiTypeGraphAsciiTypeLowerAsciiTypePrintAsciiTypePunctAsciiTypeSpaceAsciiTypeUpperAsciiTypeXdigitAnotherAsciiType FileTestIsDirAnotherFileTestFormatSizeFlagsDefaultFormatSizeFlagsLongFormatFormatSizeFlagsIecUnitsFormatSizeFlagsBitsAnotherFormatSizeFlagsHookFlagMaskActiveHookFlagMaskInCallHookFlagMaskMaskAnotherHookFlagMaskIOConditionPriIOConditionErrIOConditionHupIOConditionNvalAnotherIOCondition IOFlagsAppendIOFlagsNonblockIOFlagsIsWriteableIOFlagsIsSeekable IOFlagsMaskIOFlagsGetMaskAnotherIOFlagsKeyFileFlagsNoneKeyFileFlagsKeepCommentsAnotherKeyFileFlagsLogLevelFlagsFlagRecursionLogLevelFlagsFlagFatalLogLevelFlagsLevelMaskAnotherLogLevelFlagsMarkupCollectTypeInvalidMarkupCollectTypeStringMarkupCollectTypeStrdupMarkupCollectTypeBooleanMarkupCollectTypeTristateMarkupCollectTypeOptionalAnotherMarkupCollectType+MarkupParseFlagsDoNotUseThisUnsupportedFlag MarkupParseFlagsTreatCdataAsText#MarkupParseFlagsPrefixErrorPositionMarkupParseFlagsIgnoreQualifiedAnotherMarkupParseFlagsOptionFlagsNoneOptionFlagsHiddenOptionFlagsInMainOptionFlagsReverseOptionFlagsNoArgOptionFlagsFilenameOptionFlagsOptionalArgOptionFlagsNoaliasAnotherOptionFlagsRegexCompileFlagsCaselessRegexCompileFlagsMultilineRegexCompileFlagsDotallRegexCompileFlagsExtendedRegexCompileFlagsAnchoredRegexCompileFlagsDollarEndonlyRegexCompileFlagsUngreedyRegexCompileFlagsNoAutoCaptureRegexCompileFlagsOptimizeRegexCompileFlagsFirstlineRegexCompileFlagsDupnamesRegexCompileFlagsNewlineCrRegexCompileFlagsNewlineLfRegexCompileFlagsNewlineCrlfRegexCompileFlagsNewlineAnycrlfRegexCompileFlagsBsrAnycrlf!RegexCompileFlagsJavascriptCompatAnotherRegexCompileFlagsRegexMatchFlagsAnchoredRegexMatchFlagsNotbolRegexMatchFlagsNoteolRegexMatchFlagsNotemptyRegexMatchFlagsPartialRegexMatchFlagsNewlineCrRegexMatchFlagsNewlineLfRegexMatchFlagsNewlineCrlfRegexMatchFlagsNewlineAnyRegexMatchFlagsNewlineAnycrlfRegexMatchFlagsBsrAnycrlfRegexMatchFlagsBsrAnyRegexMatchFlagsPartialSoftRegexMatchFlagsPartialHardRegexMatchFlagsNotemptyAtstartAnotherRegexMatchFlagsSpawnFlagsDefaultSpawnFlagsCloexecPipesAnotherSpawnFlagsTestSubprocessFlagsStdinTestSubprocessFlagsStdoutTestSubprocessFlagsStderrAnotherTestSubprocessFlagsTestTrapFlagsSilenceStdoutTestTrapFlagsSilenceStderrTestTrapFlagsInheritStdinAnotherTestTrapFlagsTraverseFlagsMaskTraverseFlagsLeafsTraverseFlagsNonLeafsAnotherTraverseFlags$fIsGFlagTraverseFlags$fOrdTraverseFlags$fEnumTraverseFlags$fIsGFlagTestTrapFlags$fOrdTestTrapFlags$fEnumTestTrapFlags$fIsGFlagTestSubprocessFlags$fOrdTestSubprocessFlags$fEnumTestSubprocessFlags$fIsGFlagSpawnFlags$fOrdSpawnFlags$fEnumSpawnFlags$fIsGFlagRegexMatchFlags$fOrdRegexMatchFlags$fEnumRegexMatchFlags$fIsGFlagRegexCompileFlags$fOrdRegexCompileFlags$fEnumRegexCompileFlags$fIsGFlagOptionFlags$fOrdOptionFlags$fEnumOptionFlags$fIsGFlagMarkupParseFlags$fOrdMarkupParseFlags$fEnumMarkupParseFlags$fIsGFlagMarkupCollectType$fOrdMarkupCollectType$fEnumMarkupCollectType$fIsGFlagLogLevelFlags$fOrdLogLevelFlags$fEnumLogLevelFlags$fIsGFlagKeyFileFlags$fOrdKeyFileFlags$fEnumKeyFileFlags$fIsGFlagIOFlags $fOrdIOFlags $fEnumIOFlags$fIsGFlagIOCondition$fBoxedFlagsIOCondition$fOrdIOCondition$fEnumIOCondition$fIsGFlagHookFlagMask$fOrdHookFlagMask$fEnumHookFlagMask$fIsGFlagFormatSizeFlags$fOrdFormatSizeFlags$fEnumFormatSizeFlags$fIsGFlagFileTest $fOrdFileTest$fEnumFileTest$fIsGFlagAsciiType$fOrdAsciiType$fEnumAsciiType$fShowTraverseFlags$fEqTraverseFlags$fShowTestTrapFlags$fEqTestTrapFlags$fShowTestSubprocessFlags$fEqTestSubprocessFlags$fShowSpawnFlags$fEqSpawnFlags$fShowRegexMatchFlags$fEqRegexMatchFlags$fShowRegexCompileFlags$fEqRegexCompileFlags$fShowOptionFlags$fEqOptionFlags$fShowMarkupParseFlags$fEqMarkupParseFlags$fShowMarkupCollectType$fEqMarkupCollectType$fShowLogLevelFlags$fEqLogLevelFlags$fShowKeyFileFlags$fEqKeyFileFlags $fShowIOFlags $fEqIOFlags$fShowIOCondition$fEqIOCondition$fShowHookFlagMask$fEqHookFlagMask$fShowFormatSizeFlags$fEqFormatSizeFlags$fShowFileTest $fEqFileTest$fShowAsciiType $fEqAsciiType BookmarkFilenoBookmarkFilebookmarkFileAddApplicationbookmarkFileAddGroupbookmarkFileFreebookmarkFileGetAddedbookmarkFileGetAppInfobookmarkFileGetApplicationsbookmarkFileGetDescriptionbookmarkFileGetGroupsbookmarkFileGetIconbookmarkFileGetIsPrivatebookmarkFileGetMimeTypebookmarkFileGetModifiedbookmarkFileGetSizebookmarkFileGetTitlebookmarkFileGetUrisbookmarkFileGetVisitedbookmarkFileHasApplicationbookmarkFileHasGroupbookmarkFileHasItembookmarkFileLoadFromDatabookmarkFileLoadFromDataDirsbookmarkFileLoadFromFilebookmarkFileMoveItembookmarkFileRemoveApplicationbookmarkFileRemoveGroupbookmarkFileRemoveItembookmarkFileSetAddedbookmarkFileSetAppInfobookmarkFileSetDescriptionbookmarkFileSetGroupsbookmarkFileSetIconbookmarkFileSetIsPrivatebookmarkFileSetMimeTypebookmarkFileSetModifiedbookmarkFileSetTitlebookmarkFileSetVisitedbookmarkFileToDatabookmarkFileToFilebookmarkFileErrorQuark$fWrappedPtrBookmarkFilenewZeroByteArray noByteArraygetByteArrayDatasetByteArrayDatagetByteArrayLensetByteArrayLen byteArrayNewbyteArrayNewTakebyteArrayUnref$fConstructibleByteArraytag$fBoxedObjectByteArraynoBytesbytesNew bytesCompare bytesEqual bytesGetData bytesGetSize bytesHashbytesNewFromBytesbytesRef bytesUnrefbytesUnrefToArraybytesUnrefToData$fBoxedObjectBytes noChecksum checksumCopy checksumResetchecksumTypeGetLength$fBoxedObjectChecksumCondDatanoData$fWrappedPtrDatanewZeroDebugKey noDebugKeygetDebugKeyKeysetDebugKeyKeyclearDebugKeyKeygetDebugKeyValuesetDebugKeyValue$fConstructibleDebugKeytag$fWrappedPtrDebugKeyDirnoDirdirClose dirReadName dirRewind dirMakeTmp$fWrappedPtrDir HashTableIternewZeroHashTableIternoHashTableIterhashTableIterInithashTableIterNexthashTableIterRemovehashTableIterReplacehashTableIterSteal$fConstructibleHashTableItertag$fWrappedPtrHashTableIterHmacnoHmac hmacGetDigest hmacUpdate$fWrappedPtrHmacnewZeroIOChannel noIOChanneliOChannelNewFileiOChannelUnixNewiOChannelCloseiOChannelFlushiOChannelGetBufferConditioniOChannelGetBufferSizeiOChannelGetBufferediOChannelGetCloseOnUnrefiOChannelGetEncodingiOChannelGetLineTerm iOChannelInitiOChannelReadCharsiOChannelReadLineiOChannelReadToEndiOChannelReadUnichar iOChannelRefiOChannelSetBufferSizeiOChannelSetBufferediOChannelSetCloseOnUnrefiOChannelSetEncodingiOChannelSetLineTermiOChannelShutdowniOChannelUnixGetFdiOChannelUnrefiOChannelWriteCharsiOChannelWriteUnichariOChannelErrorFromErrnoiOChannelErrorQuark$fConstructibleIOChanneltag$fBoxedObjectIOChannelKeyFile noKeyFile keyFileNewkeyFileGetBooleankeyFileGetBooleanListkeyFileGetCommentkeyFileGetDoublekeyFileGetDoubleListkeyFileGetGroupskeyFileGetInt64keyFileGetIntegerkeyFileGetIntegerListkeyFileGetKeyskeyFileGetLocaleForKeykeyFileGetLocaleStringkeyFileGetLocaleStringListkeyFileGetStartGroupkeyFileGetStringkeyFileGetStringListkeyFileGetUint64keyFileGetValuekeyFileHasGroupkeyFileLoadFromByteskeyFileLoadFromDatakeyFileLoadFromDataDirskeyFileLoadFromDirskeyFileLoadFromFilekeyFileRemoveCommentkeyFileRemoveGroupkeyFileRemoveKeykeyFileSaveToFilekeyFileSetBooleankeyFileSetBooleanListkeyFileSetCommentkeyFileSetDoublekeyFileSetDoubleListkeyFileSetInt64keyFileSetIntegerkeyFileSetIntegerListkeyFileSetListSeparatorkeyFileSetLocaleStringkeyFileSetLocaleStringListkeyFileSetStringkeyFileSetStringListkeyFileSetUint64keyFileSetValue keyFileToData keyFileUnrefkeyFileErrorQuark$fBoxedObjectKeyFileLogFieldnewZeroLogField noLogFieldgetLogFieldKeysetLogFieldKeyclearLogFieldKeygetLogFieldValuesetLogFieldValueclearLogFieldValuegetLogFieldLengthsetLogFieldLength$fConstructibleLogFieldtag$fWrappedPtrLogField noMainLoop mainLoopNewmainLoopGetContextmainLoopIsRunning mainLoopQuit mainLoopRef mainLoopUnref$fBoxedObjectMainLoop MappedFile noMappedFile mappedFileNewmappedFileNewFromFdmappedFileFreemappedFileGetBytesmappedFileGetContentsmappedFileGetLength mappedFileRefmappedFileUnref$fBoxedObjectMappedFileMarkupParseContext MemVTable newZeroNodenoNode getNodeData setNodeData clearNodeData getNodeNext setNodeNext clearNodeNext getNodePrev setNodePrev clearNodePrev getNodeParent setNodeParentclearNodeParentgetNodeChildrensetNodeChildrenclearNodeChildrennodeChildIndexnodeChildPosition nodeDepth nodeDestroynodeIsAncestor nodeMaxHeight nodeNChildren nodeNNodesnodeReverseChildren nodeUnlink$fConstructibleNodetag$fWrappedPtrNode newZeroOncenoOnce getOnceStatus setOnceStatus getOnceRetval setOnceRetvalclearOnceRetval$fConstructibleOncetag$fWrappedPtrOncenewZeroOptionEntry noOptionEntrygetOptionEntryLongNamesetOptionEntryLongNameclearOptionEntryLongNamegetOptionEntryShortNamesetOptionEntryShortNamegetOptionEntryFlagssetOptionEntryFlagsgetOptionEntryArgsetOptionEntryArggetOptionEntryArgDatasetOptionEntryArgDataclearOptionEntryArgDatagetOptionEntryDescriptionsetOptionEntryDescriptionclearOptionEntryDescriptiongetOptionEntryArgDescriptionsetOptionEntryArgDescriptionclearOptionEntryArgDescription$fConstructibleOptionEntrytag$fWrappedPtrOptionEntry noPatternSpecpatternSpecEqualpatternSpecFree$fWrappedPtrPatternSpec newZeroPollFDnoPollFD getPollFDFd setPollFDFdgetPollFDEventssetPollFDEventsgetPollFDReventssetPollFDRevents$fConstructiblePollFDtag$fBoxedObjectPollFDPtrArraynewZeroPtrArray noPtrArraygetPtrArrayPdatasetPtrArrayPdataclearPtrArrayPdatagetPtrArrayLensetPtrArrayLen$fConstructiblePtrArraytag$fBoxedObjectPtrArrayRWLock newZeroRWLocknoRWLock rWLockClear rWLockInitrWLockReaderLockrWLockReaderTrylockrWLockReaderUnlockrWLockWriterLockrWLockWriterTrylockrWLockWriterUnlock$fConstructibleRWLocktag$fWrappedPtrRWLockRandnoRand randDoublerandDoubleRangerandFreerandInt randIntRange randSetSeedrandSetSeedArray$fWrappedPtrRandRecMutexnewZeroRecMutex noRecMutex recMutexClear recMutexInit recMutexLockrecMutexTrylockrecMutexUnlock$fConstructibleRecMutextag$fWrappedPtrRecMutex noMatchInfomatchInfoExpandReferencesmatchInfoFetchAllmatchInfoFetchNamedmatchInfoFetchNamedPosmatchInfoMatches matchInfoRefmatchInfoUnref$fBoxedObjectMatchInfonoRegexregexGetCaptureCountregexGetCompileFlagsregexGetHasCrOrLfregexGetMatchFlagsregexGetMaxBackrefregexGetMaxLookbehindregexGetPatternregexGetStringNumberregexReplaceLiteral regexSplitregexSplitFull regexUnrefregexErrorQuarkregexEscapeNulregexEscapeStringregexMatchSimpleregexSplitSimple$fBoxedObjectRegexnewZeroScannerConfignoScannerConfig"getScannerConfigCsetSkipCharacters"setScannerConfigCsetSkipCharacters$clearScannerConfigCsetSkipCharacters#getScannerConfigCsetIdentifierFirst#setScannerConfigCsetIdentifierFirst%clearScannerConfigCsetIdentifierFirst!getScannerConfigCsetIdentifierNth!setScannerConfigCsetIdentifierNth#clearScannerConfigCsetIdentifierNth"getScannerConfigCpairCommentSingle"setScannerConfigCpairCommentSingle$clearScannerConfigCpairCommentSinglegetScannerConfigCaseSensitivesetScannerConfigCaseSensitive getScannerConfigSkipCommentMulti setScannerConfigSkipCommentMulti!getScannerConfigSkipCommentSingle!setScannerConfigSkipCommentSingle getScannerConfigScanCommentMulti setScannerConfigScanCommentMultigetScannerConfigScanIdentifiersetScannerConfigScanIdentifier#getScannerConfigScanIdentifier1char#setScannerConfigScanIdentifier1char"getScannerConfigScanIdentifierNULL"setScannerConfigScanIdentifierNULLgetScannerConfigScanSymbolssetScannerConfigScanSymbolsgetScannerConfigScanBinarysetScannerConfigScanBinarygetScannerConfigScanOctalsetScannerConfigScanOctalgetScannerConfigScanFloatsetScannerConfigScanFloatgetScannerConfigScanHexsetScannerConfigScanHexgetScannerConfigScanHexDollarsetScannerConfigScanHexDollargetScannerConfigScanStringSqsetScannerConfigScanStringSqgetScannerConfigScanStringDqsetScannerConfigScanStringDqgetScannerConfigNumbers2IntsetScannerConfigNumbers2IntgetScannerConfigInt2FloatsetScannerConfigInt2Float!getScannerConfigIdentifier2String!setScannerConfigIdentifier2StringgetScannerConfigChar2TokensetScannerConfigChar2TokengetScannerConfigSymbol2TokensetScannerConfigSymbol2TokengetScannerConfigScope0FallbacksetScannerConfigScope0FallbackgetScannerConfigStoreInt64setScannerConfigStoreInt64$fConstructibleScannerConfigtag$fWrappedPtrScannerConfig noSequencesequenceAppend sequenceFreesequenceGetBeginItersequenceGetEndItersequenceGetIterAtPossequenceGetLengthsequenceIsEmptysequencePrepend sequenceGetsequenceInsertBefore sequenceMovesequenceMoveRangesequenceRangeGetMidpointsequenceRemovesequenceRemoveRange sequenceSet sequenceSwap$fWrappedPtrSequencenoSequenceItersequenceIterComparesequenceIterGetPositionsequenceIterGetSequencesequenceIterIsBeginsequenceIterIsEndsequenceIterMovesequenceIterNextsequenceIterPrev$fWrappedPtrSequenceIterSourceCallbackFuncsStatBuf noStatBuf$fWrappedPtrStatBufChildWatchFunc_WithClosuresChildWatchFuncC_ChildWatchFuncClearHandleFuncC_ClearHandleFuncCompareDataFunc_WithClosuresCompareDataFuncC_CompareDataFunc C_CompareFuncCopyFunc C_CopyFuncDataForeachFunc_WithClosuresDataForeachFuncC_DataForeachFuncC_DestroyNotifyDuplicateFunc_WithClosures DuplicateFuncC_DuplicateFunc EqualFunc C_EqualFuncFreeFunc C_FreeFuncFunc_WithClosuresFuncC_FuncHFunc_WithClosuresHFuncC_HFuncHRFunc_WithClosuresHRFuncC_HRFuncHashFunc C_HashFunc HookCheckFuncC_HookCheckFuncHookCheckMarshallerC_HookCheckMarshallerHookCompareFuncC_HookCompareFuncHookFinalizeFuncC_HookFinalizeFunc HookFindFuncC_HookFindFuncHookFunc C_HookFuncHookMarshallerC_HookMarshallerIOFuncC_IOFuncIOFuncsIoCloseFieldCallbackC_IOFuncsIoCloseFieldCallback!IOFuncsIoCreateWatchFieldCallback#C_IOFuncsIoCreateWatchFieldCallbackIOFuncsIoFreeFieldCallbackC_IOFuncsIoFreeFieldCallbackIOFuncsIoGetFlagsFieldCallback C_IOFuncsIoGetFlagsFieldCallbackIOFuncsIoReadFieldCallbackC_IOFuncsIoReadFieldCallbackIOFuncsIoSeekFieldCallbackC_IOFuncsIoSeekFieldCallbackIOFuncsIoSetFlagsFieldCallback C_IOFuncsIoSetFlagsFieldCallbackIOFuncsIoWriteFieldCallbackC_IOFuncsIoWriteFieldCallbackLogFunc_WithClosuresLogFunc C_LogFuncLogWriterFunc_WithClosuresC_LogWriterFunc0MarkupParserEndElementFieldCallback_WithClosures#MarkupParserEndElementFieldCallback%C_MarkupParserEndElementFieldCallback+MarkupParserErrorFieldCallback_WithClosuresMarkupParserErrorFieldCallback C_MarkupParserErrorFieldCallback1MarkupParserPassthroughFieldCallback_WithClosures$MarkupParserPassthroughFieldCallback&C_MarkupParserPassthroughFieldCallback2MarkupParserStartElementFieldCallback_WithClosures%MarkupParserStartElementFieldCallback'C_MarkupParserStartElementFieldCallback*MarkupParserTextFieldCallback_WithClosuresMarkupParserTextFieldCallbackC_MarkupParserTextFieldCallbackMemVTableCallocFieldCallbackC_MemVTableCallocFieldCallbackMemVTableFreeFieldCallbackC_MemVTableFreeFieldCallbackMemVTableMallocFieldCallbackC_MemVTableMallocFieldCallbackMemVTableReallocFieldCallbackC_MemVTableReallocFieldCallbackMemVTableTryMallocFieldCallback!C_MemVTableTryMallocFieldCallback MemVTableTryReallocFieldCallback"C_MemVTableTryReallocFieldCallbackNodeForeachFuncC_NodeForeachFuncNodeTraverseFuncC_NodeTraverseFuncC_OptionArgFuncOptionErrorFuncC_OptionErrorFuncOptionParseFuncC_OptionParseFuncPollFunc C_PollFunc PrintFunc C_PrintFuncRegexEvalCallback_WithClosuresRegexEvalCallbackC_RegexEvalCallbackScannerMsgFuncC_ScannerMsgFuncSequenceIterCompareFuncC_SequenceIterCompareFunc#SourceCallbackFuncsRefFieldCallback%C_SourceCallbackFuncsRefFieldCallback%SourceCallbackFuncsUnrefFieldCallback'C_SourceCallbackFuncsUnrefFieldCallbackSourceDummyMarshalC_SourceDummyMarshalSourceFunc_WithClosures C_SourceFuncSourceFuncsCheckFieldCallbackC_SourceFuncsCheckFieldCallback SourceFuncsFinalizeFieldCallback"C_SourceFuncsFinalizeFieldCallbackSourceFuncsPrepareFieldCallback!C_SourceFuncsPrepareFieldCallback SpawnChildSetupFunc_WithClosuresSpawnChildSetupFuncC_SpawnChildSetupFuncTestDataFunc_WithClosures TestDataFuncC_TestDataFuncTestFixtureFunc_WithClosuresTestFixtureFuncC_TestFixtureFuncTestFunc C_TestFuncTestLogFatalFunc_WithClosuresTestLogFatalFuncC_TestLogFatalFunc ThreadFunc C_ThreadFuncC_TranslateFunc TraverseFuncC_TraverseFuncUnixFDSourceFunc_WithClosuresC_UnixFDSourceFuncVoidFunc C_VoidFuncmk_ChildWatchFuncmk_ClearHandleFuncmk_CompareDataFuncmk_CompareFunc mk_CopyFuncmk_DataForeachFuncmk_DestroyNotifymk_DuplicateFunc mk_EqualFunc mk_FreeFuncmk_Funcmk_HFunc mk_HRFunc mk_HashFuncmk_HookCheckFuncmk_HookCheckMarshallermk_HookCompareFuncmk_HookFinalizeFuncmk_HookFindFunc mk_HookFuncmk_HookMarshaller mk_IOFuncmk_IOFuncsIoCloseFieldCallback$mk_IOFuncsIoCreateWatchFieldCallbackmk_IOFuncsIoFreeFieldCallback!mk_IOFuncsIoGetFlagsFieldCallbackmk_IOFuncsIoReadFieldCallbackmk_IOFuncsIoSeekFieldCallback!mk_IOFuncsIoSetFlagsFieldCallbackmk_IOFuncsIoWriteFieldCallback mk_LogFuncmk_LogWriterFunc&mk_MarkupParserEndElementFieldCallback!mk_MarkupParserErrorFieldCallback'mk_MarkupParserPassthroughFieldCallback(mk_MarkupParserStartElementFieldCallback mk_MarkupParserTextFieldCallbackmk_MemVTableCallocFieldCallbackmk_MemVTableFreeFieldCallbackmk_MemVTableMallocFieldCallback mk_MemVTableReallocFieldCallback"mk_MemVTableTryMallocFieldCallback#mk_MemVTableTryReallocFieldCallbackmk_NodeForeachFuncmk_NodeTraverseFuncmk_OptionArgFuncmk_OptionErrorFuncmk_OptionParseFunc mk_PollFunc mk_PrintFuncmk_RegexEvalCallbackmk_ScannerMsgFuncmk_SequenceIterCompareFunc&mk_SourceCallbackFuncsRefFieldCallback(mk_SourceCallbackFuncsUnrefFieldCallbackmk_SourceDummyMarshal mk_SourceFunc mk_SourceFuncsCheckFieldCallback#mk_SourceFuncsFinalizeFieldCallback"mk_SourceFuncsPrepareFieldCallbackmk_SpawnChildSetupFuncmk_TestDataFuncmk_TestFixtureFunc mk_TestFuncmk_TestLogFatalFunc mk_ThreadFuncmk_TranslateFuncmk_TraverseFuncmk_UnixFDSourceFunc mk_VoidFuncdynamic_VoidFunc noVoidFuncgenClosure_VoidFunc wrap_VoidFuncdynamic_UnixFDSourceFuncnoUnixFDSourceFuncnoUnixFDSourceFunc_WithClosuresdrop_closures_UnixFDSourceFuncgenClosure_UnixFDSourceFuncwrap_UnixFDSourceFuncdynamic_TraverseFuncnoTraverseFuncgenClosure_TraverseFuncwrap_TraverseFuncdynamic_TranslateFuncnoTranslateFuncgenClosure_TranslateFuncwrap_TranslateFuncdynamic_ThreadFunc noThreadFuncgenClosure_ThreadFuncwrap_ThreadFuncdynamic_TestLogFatalFuncnoTestLogFatalFuncnoTestLogFatalFunc_WithClosuresdrop_closures_TestLogFatalFuncgenClosure_TestLogFatalFuncwrap_TestLogFatalFuncdynamic_TestFunc noTestFuncgenClosure_TestFunc wrap_TestFuncdynamic_TestFixtureFuncnoTestFixtureFuncnoTestFixtureFunc_WithClosuresdrop_closures_TestFixtureFuncgenClosure_TestFixtureFuncwrap_TestFixtureFuncdynamic_TestDataFuncnoTestDataFuncnoTestDataFunc_WithClosuresdrop_closures_TestDataFuncgenClosure_TestDataFuncwrap_TestDataFuncdynamic_SpawnChildSetupFuncnoSpawnChildSetupFunc"noSpawnChildSetupFunc_WithClosures!drop_closures_SpawnChildSetupFuncgenClosure_SpawnChildSetupFuncwrap_SpawnChildSetupFunc'dynamic_SourceFuncsPrepareFieldCallback!noSourceFuncsPrepareFieldCallback*genClosure_SourceFuncsPrepareFieldCallback$wrap_SourceFuncsPrepareFieldCallback(dynamic_SourceFuncsFinalizeFieldCallback"noSourceFuncsFinalizeFieldCallback+genClosure_SourceFuncsFinalizeFieldCallback%wrap_SourceFuncsFinalizeFieldCallback%dynamic_SourceFuncsCheckFieldCallbacknoSourceFuncsCheckFieldCallback(genClosure_SourceFuncsCheckFieldCallback"wrap_SourceFuncsCheckFieldCallbackdynamic_SourceFunc noSourceFuncnoSourceFunc_WithClosuresdrop_closures_SourceFuncgenClosure_SourceFuncwrap_SourceFuncdynamic_SourceDummyMarshalnoSourceDummyMarshalgenClosure_SourceDummyMarshalwrap_SourceDummyMarshal-dynamic_SourceCallbackFuncsUnrefFieldCallback'noSourceCallbackFuncsUnrefFieldCallback0genClosure_SourceCallbackFuncsUnrefFieldCallback*wrap_SourceCallbackFuncsUnrefFieldCallback+dynamic_SourceCallbackFuncsRefFieldCallback%noSourceCallbackFuncsRefFieldCallback.genClosure_SourceCallbackFuncsRefFieldCallback(wrap_SourceCallbackFuncsRefFieldCallbackdynamic_SequenceIterCompareFuncnoSequenceIterCompareFunc"genClosure_SequenceIterCompareFuncwrap_SequenceIterCompareFuncdynamic_ScannerMsgFuncnoScannerMsgFuncgenClosure_ScannerMsgFuncwrap_ScannerMsgFuncdynamic_RegexEvalCallbacknoRegexEvalCallback noRegexEvalCallback_WithClosuresdrop_closures_RegexEvalCallbackgenClosure_RegexEvalCallbackwrap_RegexEvalCallbackdynamic_PrintFunc noPrintFuncgenClosure_PrintFuncwrap_PrintFuncdynamic_PollFunc noPollFuncgenClosure_PollFunc wrap_PollFuncdynamic_OptionParseFuncnoOptionParseFuncdynamic_OptionErrorFuncnoOptionErrorFuncdynamic_OptionArgFuncnoOptionArgFuncdynamic_NodeTraverseFuncnoNodeTraverseFuncgenClosure_NodeTraverseFuncwrap_NodeTraverseFuncdynamic_NodeForeachFuncnoNodeForeachFuncgenClosure_NodeForeachFuncwrap_NodeForeachFunc(dynamic_MemVTableTryReallocFieldCallback"noMemVTableTryReallocFieldCallback+genClosure_MemVTableTryReallocFieldCallback%wrap_MemVTableTryReallocFieldCallback'dynamic_MemVTableTryMallocFieldCallback!noMemVTableTryMallocFieldCallback*genClosure_MemVTableTryMallocFieldCallback$wrap_MemVTableTryMallocFieldCallback%dynamic_MemVTableReallocFieldCallbacknoMemVTableReallocFieldCallback(genClosure_MemVTableReallocFieldCallback"wrap_MemVTableReallocFieldCallback$dynamic_MemVTableMallocFieldCallbacknoMemVTableMallocFieldCallback'genClosure_MemVTableMallocFieldCallback!wrap_MemVTableMallocFieldCallback"dynamic_MemVTableFreeFieldCallbacknoMemVTableFreeFieldCallback%genClosure_MemVTableFreeFieldCallbackwrap_MemVTableFreeFieldCallback$dynamic_MemVTableCallocFieldCallbacknoMemVTableCallocFieldCallback'genClosure_MemVTableCallocFieldCallback!wrap_MemVTableCallocFieldCallback%dynamic_MarkupParserTextFieldCallbacknoMarkupParserTextFieldCallback,noMarkupParserTextFieldCallback_WithClosures+drop_closures_MarkupParserTextFieldCallback-dynamic_MarkupParserStartElementFieldCallback'noMarkupParserStartElementFieldCallback4noMarkupParserStartElementFieldCallback_WithClosures3drop_closures_MarkupParserStartElementFieldCallback,dynamic_MarkupParserPassthroughFieldCallback&noMarkupParserPassthroughFieldCallback3noMarkupParserPassthroughFieldCallback_WithClosures2drop_closures_MarkupParserPassthroughFieldCallback&dynamic_MarkupParserErrorFieldCallback noMarkupParserErrorFieldCallback-noMarkupParserErrorFieldCallback_WithClosures,drop_closures_MarkupParserErrorFieldCallback)genClosure_MarkupParserErrorFieldCallback#wrap_MarkupParserErrorFieldCallback+dynamic_MarkupParserEndElementFieldCallback%noMarkupParserEndElementFieldCallback2noMarkupParserEndElementFieldCallback_WithClosures1drop_closures_MarkupParserEndElementFieldCallbackdynamic_LogWriterFuncnoLogWriterFuncnoLogWriterFunc_WithClosuresdrop_closures_LogWriterFuncgenClosure_LogWriterFuncwrap_LogWriterFuncdynamic_LogFunc noLogFuncnoLogFunc_WithClosuresdrop_closures_LogFuncgenClosure_LogFunc wrap_LogFunc#dynamic_IOFuncsIoWriteFieldCallbacknoIOFuncsIoWriteFieldCallback&dynamic_IOFuncsIoSetFlagsFieldCallback noIOFuncsIoSetFlagsFieldCallback"dynamic_IOFuncsIoSeekFieldCallbacknoIOFuncsIoSeekFieldCallback"dynamic_IOFuncsIoReadFieldCallbacknoIOFuncsIoReadFieldCallback&dynamic_IOFuncsIoGetFlagsFieldCallback noIOFuncsIoGetFlagsFieldCallback)genClosure_IOFuncsIoGetFlagsFieldCallback#wrap_IOFuncsIoGetFlagsFieldCallback"dynamic_IOFuncsIoFreeFieldCallbacknoIOFuncsIoFreeFieldCallback%genClosure_IOFuncsIoFreeFieldCallbackwrap_IOFuncsIoFreeFieldCallback)dynamic_IOFuncsIoCreateWatchFieldCallback#noIOFuncsIoCreateWatchFieldCallback,genClosure_IOFuncsIoCreateWatchFieldCallback&wrap_IOFuncsIoCreateWatchFieldCallback#dynamic_IOFuncsIoCloseFieldCallbacknoIOFuncsIoCloseFieldCallbackdynamic_IOFuncnoIOFuncgenClosure_IOFunc wrap_IOFuncdynamic_HookMarshallernoHookMarshallergenClosure_HookMarshallerwrap_HookMarshallerdynamic_HookFunc noHookFuncgenClosure_HookFunc wrap_HookFuncdynamic_HookFindFuncnoHookFindFuncgenClosure_HookFindFuncwrap_HookFindFuncdynamic_HookFinalizeFuncnoHookFinalizeFuncgenClosure_HookFinalizeFuncwrap_HookFinalizeFuncdynamic_HookCompareFuncnoHookCompareFuncgenClosure_HookCompareFuncwrap_HookCompareFuncdynamic_HookCheckMarshallernoHookCheckMarshallergenClosure_HookCheckMarshallerwrap_HookCheckMarshallerdynamic_HookCheckFuncnoHookCheckFuncgenClosure_HookCheckFuncwrap_HookCheckFuncdynamic_HashFunc noHashFuncgenClosure_HashFunc wrap_HashFuncdynamic_HRFuncnoHRFuncnoHRFunc_WithClosuresdrop_closures_HRFuncgenClosure_HRFunc wrap_HRFunc dynamic_HFuncnoHFuncnoHFunc_WithClosuresdrop_closures_HFuncgenClosure_HFunc wrap_HFunc dynamic_FuncnoFuncnoFunc_WithClosuresdrop_closures_FuncgenClosure_Func wrap_Funcdynamic_FreeFunc noFreeFuncgenClosure_FreeFunc wrap_FreeFuncdynamic_EqualFunc noEqualFuncgenClosure_EqualFuncwrap_EqualFuncdynamic_DuplicateFuncnoDuplicateFuncnoDuplicateFunc_WithClosuresdrop_closures_DuplicateFuncgenClosure_DuplicateFuncwrap_DuplicateFuncdynamic_DestroyNotifynoDestroyNotifygenClosure_DestroyNotifywrap_DestroyNotifydynamic_DataForeachFuncnoDataForeachFuncnoDataForeachFunc_WithClosuresdrop_closures_DataForeachFuncgenClosure_DataForeachFuncwrap_DataForeachFuncdynamic_CopyFunc noCopyFuncgenClosure_CopyFunc wrap_CopyFuncdynamic_CompareFunc noCompareFuncgenClosure_CompareFuncwrap_CompareFuncdynamic_CompareDataFuncnoCompareDataFuncnoCompareDataFunc_WithClosuresdrop_closures_CompareDataFuncgenClosure_CompareDataFuncwrap_CompareDataFuncdynamic_ClearHandleFuncnoClearHandleFuncgenClosure_ClearHandleFuncwrap_ClearHandleFuncdynamic_ChildWatchFuncnoChildWatchFuncnoChildWatchFunc_WithClosuresdrop_closures_ChildWatchFuncgenClosure_ChildWatchFuncwrap_ChildWatchFuncnewZeroSourceFuncs noSourceFuncsgetSourceFuncsPreparesetSourceFuncsPrepareclearSourceFuncsPreparegetSourceFuncsChecksetSourceFuncsCheckclearSourceFuncsCheckgetSourceFuncsFinalizesetSourceFuncsFinalizeclearSourceFuncsFinalize$fConstructibleSourceFuncstag$fWrappedPtrSourceFuncsnewZeroSourceCallbackFuncsnoSourceCallbackFuncsgetSourceCallbackFuncsRefsetSourceCallbackFuncsRefclearSourceCallbackFuncsRefgetSourceCallbackFuncsUnrefsetSourceCallbackFuncsUnrefclearSourceCallbackFuncsUnref%$fConstructibleSourceCallbackFuncstag$fWrappedPtrSourceCallbackFuncsQueue newZeroQueuenoQueue getQueueHead setQueueHeadclearQueueHead getQueueTail setQueueTailclearQueueTailgetQueueLengthsetQueueLength queueClearqueueClearFull queueFree queueFreeFullqueueGetLength queueIndex queueInit queueIsEmpty queuePeekHead queuePeekNth queuePeekTail queuePopHead queuePopNth queuePopTail queuePushHead queuePushNth queuePushTail queueRemovequeueRemoveAll queueReverse$fConstructibleQueuetag$fWrappedPtrQueue noOptionGroupoptionGroupAddEntriesoptionGroupFreeoptionGroupRefoptionGroupSetTranslationDomainoptionGroupUnref$fBoxedObjectOptionGroupnoOptionContextoptionContextAddGroupoptionContextAddMainEntriesoptionContextFreeoptionContextGetDescriptionoptionContextGetHelpoptionContextGetHelpEnabled$optionContextGetIgnoreUnknownOptionsoptionContextGetMainGroupoptionContextGetStrictPosixoptionContextGetSummaryoptionContextParseoptionContextParseStrvoptionContextSetDescriptionoptionContextSetHelpEnabledoptionContextSetMainGroupoptionContextSetStrictPosixoptionContextSetSummaryoptionContextSetTranslateFunc!optionContextSetTranslationDomain$fWrappedPtrOptionContextnewZeroMemVTable noMemVTablegetMemVTableMallocsetMemVTableMallocclearMemVTableMallocgetMemVTableReallocsetMemVTableReallocclearMemVTableReallocgetMemVTableFreesetMemVTableFreeclearMemVTableFreegetMemVTableCallocsetMemVTableCallocclearMemVTableCallocgetMemVTableTryMallocsetMemVTableTryMallocclearMemVTableTryMallocgetMemVTableTryReallocsetMemVTableTryReallocclearMemVTableTryRealloc$fConstructibleMemVTabletag$fWrappedPtrMemVTablenewZeroMarkupParsernoMarkupParsergetMarkupParserStartElementsetMarkupParserStartElementclearMarkupParserStartElementgetMarkupParserEndElementsetMarkupParserEndElementclearMarkupParserEndElementgetMarkupParserTextsetMarkupParserTextclearMarkupParserTextgetMarkupParserPassthroughsetMarkupParserPassthroughclearMarkupParserPassthroughgetMarkupParserErrorsetMarkupParserErrorclearMarkupParserError$fConstructibleMarkupParsertag$fWrappedPtrMarkupParsernoMarkupParseContextmarkupParseContextNewmarkupParseContextEndParsemarkupParseContextFreemarkupParseContextGetElementmarkupParseContextGetUserDatamarkupParseContextParsemarkupParseContextPopmarkupParseContextPushmarkupParseContextRefmarkupParseContextUnref$fBoxedObjectMarkupParseContextnewZeroIOFuncs noIOFuncsgetIOFuncsIoReadsetIOFuncsIoReadclearIOFuncsIoReadgetIOFuncsIoWritesetIOFuncsIoWriteclearIOFuncsIoWritegetIOFuncsIoSeeksetIOFuncsIoSeekclearIOFuncsIoSeekgetIOFuncsIoClosesetIOFuncsIoCloseclearIOFuncsIoClosegetIOFuncsIoCreateWatchsetIOFuncsIoCreateWatchclearIOFuncsIoCreateWatchgetIOFuncsIoFreesetIOFuncsIoFreeclearIOFuncsIoFreegetIOFuncsIoSetFlagssetIOFuncsIoSetFlagsclearIOFuncsIoSetFlagsgetIOFuncsIoGetFlagssetIOFuncsIoGetFlagsclearIOFuncsIoGetFlags$fConstructibleIOFuncstag$fWrappedPtrIOFuncsnewZeroHookList noHookListgetHookListSeqIdsetHookListSeqIdgetHookListHookSizesetHookListHookSizegetHookListIsSetupsetHookListIsSetupgetHookListHookssetHookListHooksclearHookListHooksgetHookListDummy3setHookListDummy3clearHookListDummy3getHookListFinalizeHooksetHookListFinalizeHookclearHookListFinalizeHook hookListClear hookListInit$fConstructibleHookListtag$fWrappedPtrHookList newZeroHooknoHook getHookData setHookData clearHookData getHookNext setHookNext clearHookNext getHookPrev setHookPrev clearHookPrevgetHookRefCountsetHookRefCount getHookHookId setHookHookId getHookFlags setHookFlags getHookFunc setHookFunc clearHookFuncgetHookDestroysetHookDestroyclearHookDestroyhookCompareIds hookDestroyhookDestroyLinkhookInsertBefore hookPrepend$fConstructibleHooktag$fWrappedPtrHook newZeroStringnoString getStringStr setStringStrclearStringStr getStringLen setStringLengetStringAllocatedLensetStringAllocatedLen stringAppend stringAppendCstringAppendLenstringAppendUnicharstringAppendUriEscapedstringAsciiDown stringAsciiUp stringAssign stringDown stringEqual stringErase stringFreestringFreeToBytes stringHash stringInsert stringInsertCstringInsertLenstringInsertUnicharstringOverwritestringOverwriteLen stringPrependstringPrependCstringPrependLenstringPrependUnichar stringSetSizestringTruncatestringUp$fConstructibleStringtag$fBoxedObjectString StringChunk noStringChunkstringChunkClearstringChunkFreestringChunkInsertstringChunkInsertConststringChunkInsertLen$fWrappedPtrStringChunk noTestCase$fWrappedPtrTestCase TestConfignewZeroTestConfig noTestConfiggetTestConfigTestInitializedsetTestConfigTestInitializedgetTestConfigTestQuicksetTestConfigTestQuickgetTestConfigTestPerfsetTestConfigTestPerfgetTestConfigTestVerbosesetTestConfigTestVerbosegetTestConfigTestQuietsetTestConfigTestQuietgetTestConfigTestUndefinedsetTestConfigTestUndefined$fConstructibleTestConfigtag$fWrappedPtrTestConfig TestLogBuffernewZeroTestLogBuffernoTestLogBuffertestLogBufferFreetestLogBufferPush$fConstructibleTestLogBuffertag$fWrappedPtrTestLogBuffer TestLogMsgnewZeroTestLogMsg noTestLogMsggetTestLogMsgLogTypesetTestLogMsgLogTypegetTestLogMsgNStringssetTestLogMsgNStringsgetTestLogMsgStringssetTestLogMsgStringsclearTestLogMsgStringsgetTestLogMsgNNumssetTestLogMsgNNumstestLogMsgFree$fConstructibleTestLogMsgtag$fWrappedPtrTestLogMsg noTestSuite testSuiteAddtestSuiteAddSuite$fWrappedPtrTestSuiteThreadnoThread threadJoin threadRef threadUnrefthreadErrorQuark threadSelf threadYield$fBoxedObjectThreadnewZeroThreadPool noThreadPoolgetThreadPoolFuncsetThreadPoolFuncclearThreadPoolFuncgetThreadPoolUserDatasetThreadPoolUserDataclearThreadPoolUserDatagetThreadPoolExclusivesetThreadPoolExclusivethreadPoolFreethreadPoolGetMaxThreadsthreadPoolGetNumThreadsthreadPoolMoveToFrontthreadPoolPushthreadPoolSetMaxThreadsthreadPoolUnprocessedthreadPoolGetMaxIdleTimethreadPoolGetMaxUnusedThreadsthreadPoolGetNumUnusedThreadsthreadPoolSetMaxIdleTimethreadPoolSetMaxUnusedThreads$fConstructibleThreadPooltag$fWrappedPtrThreadPool newZeroSourcenoSourcesourceAddChildSource sourceAddPoll sourceDestroysourceGetCanRecursesourceGetContextsourceGetCurrentTime sourceGetNamesourceGetPrioritysourceGetReadyTime sourceGetTimesourceIsDestroyedsourceModifyUnixFdsourceQueryUnixFd sourceRefsourceRemoveChildSourcesourceRemovePollsourceRemoveUnixFdsourceSetCallbackIndirectsourceSetCanRecursesourceSetFuncs sourceSetNamesourceSetPrioritysourceSetReadyTime sourceUnrefsourceRemoveByFuncsUserDatasourceRemoveByUserDatasourceSetNameById$fConstructibleSourcetag$fBoxedObjectSourceDate newZeroDatenoDategetDateJulianDayssetDateJulianDays getDateJulian setDateJulian getDateDmy setDateDmy getDateDay setDateDay getDateMonth setDateMonth getDateYear setDateYeardateNew dateNewDmy dateNewJulian dateAddDays dateAddMonths dateAddYears dateClamp dateClear dateComparedateCopydateDaysBetweendateFree dateGetDaydateGetDayOfYeardateGetIso8601WeekOfYear dateGetJuliandateGetMondayWeekOfYear dateGetMonthdateGetSundayWeekOfYeardateGetWeekday dateGetYeardateIsFirstOfMonthdateIsLastOfMonth dateOrder dateSetDay dateSetDmy dateSetJulian dateSetMonth dateSetParse dateSetTime dateSetTimeTdateSetTimeVal dateSetYeardateSubtractDaysdateSubtractMonthsdateSubtractYearsdateToStructTm dateValiddateGetDaysInMonthdateGetMondayWeeksInYeardateGetSundayWeeksInYeardateIsLeapYear dateValidDaydateValidJuliandateValidMonthdateValidWeekday dateValidYear$fConstructibleDatetag$fBoxedObjectDate AsyncQueue noAsyncQueueasyncQueueLengthasyncQueueLengthUnlockedasyncQueueLock asyncQueuePopasyncQueuePopUnlockedasyncQueuePushasyncQueuePushFrontasyncQueuePushFrontUnlockedasyncQueuePushUnlockedasyncQueueRefUnlockedasyncQueueRemoveasyncQueueRemoveUnlockedasyncQueueTimedPopasyncQueueTimedPopUnlockedasyncQueueTimeoutPopasyncQueueTimeoutPopUnlockedasyncQueueTryPopasyncQueueTryPopUnlockedasyncQueueUnlockasyncQueueUnrefasyncQueueUnrefAndUnlock$fWrappedPtrAsyncQueuevariantGetGtypeuuidStringRandomuuidStringIsValidutf8ValidateLen utf8Validate utf8Substring utf8Struputf8Strreverse utf8Strrchr utf8Strncpy utf8Strlen utf8Strdown utf8Strchr utf8PrevCharutf8PointerToOffsetutf8OffsetToPointer utf8Normalize utf8MakeValidutf8GetCharValidated utf8GetCharutf8FindPrevCharutf8FindNextCharutf8CollateKeyForFilenameutf8CollateKey utf8Collate utf8CasefoldusleepuriUnescapeStringuriUnescapeSegmenturiParseSchemeuriListExtractUrisuriEscapeStringunsetenvunlinkunixSignalSourceNew unixSignalAddunixSetFdNonblocking unixOpenPipeunixFdSourceNew unixFdAddFullunixErrorQuarkunicodeScriptToIso15924unicodeScriptFromIso15924unicodeCanonicalOrderingunicodeCanonicalDecompositionunicharXdigitValueunicharValidate unicharTypeunicharToupperunicharTotitleunicharTolowerunicharIszerowidthunicharIsxdigitunicharIswideCjk unicharIswideunicharIsupperunicharIstitleunicharIsspaceunicharIspunctunicharIsprint unicharIsmarkunicharIslowerunicharIsgraphunicharIsdigitunicharIsdefinedunicharIscntrlunicharIsalphaunicharIsalnumunicharGetMirrorCharunicharDigitValueunicharDecomposeunicharComposeunicharCombiningClassunicharBreakType tryReallocN tryRealloc tryMallocN tryMalloc0N tryMalloc0 tryMalloctimeoutSourceNewSecondstimeoutSourceNewtimeoutAddSecondstestTrapReachedTimeouttestTrapHasPassedtestTrapAssertionstestTimerStart testTimerLasttestTimerElapsedtestSubprocesstestSkiptestSetNonfatalAssertions testRunSuitetestRandIntRange testRandInttestRandDoubleRangetestRandDouble testQueueFreetestQueueDestroytestLogTypeNametestIncomplete testGetDir testFailedtestFailtestExpectMessage testBugBasetestBug"testAssertExpectedMessagesInternal testAddFunctestAddDataFunc strvLength strvGetType strvEqual strvContainsstrupstrtod strstrLen strsignal strrstrLenstrrstr strreversestrnfillstrndup strncasecmpstrlcpystrlcatstrjoinv stripContextstringSizedNew stringNewLen stringNew strescapestrerrorstrdown strcompressstrcmp0strchugstrchomp strcasecmpstrcanonstrTokenizeAndFold strToAsciistrMatchString strIsAscii strHasSuffix strHasPrefixstrEqualstpcpyspawnExitErrorQuarkspawnErrorQuarkspawnCommandLineSyncspawnCommandLineAsync spawnClosePidspawnAsyncWithFdsspacedPrimesClosestsliceSetConfigsliceGetConfigStatesliceGetConfigsliceFreeChainWithOffset sliceFree1 sliceCopy sliceAlloc0 sliceAlloc shellUnquote shellQuoteshellParseArgvshellErrorQuarksetenvsetErrorLiteralsetApplicationNamermdirreloadUserSpecialDirsCacherefStringReleaserefStringNewLenrefStringNewIntern refStringNewrefStringLengthrefStringAcquire refCountInit refCountInc refCountDecrefCountComparereallocNrcBoxReleaseFull rcBoxRelease rcBoxGetSizercBoxDup rcBoxAlloc0 rcBoxAlloc rcBoxAcquire randomSetSeedrandomIntRange randomIntrandomDoubleRange randomDoublequarkTryString quarkToStringquarkFromStringquarkFromStaticStringpropagateErrorpollpointerBitUnlockpointerBitTrylockpointerBitLockpatternMatchStringpatternMatchSimple patternMatch pathSkipRootpathIsAbsolutepathGetDirnamepathGetBasenameparseDebugStringoptionErrorQuarkonErrorStackTrace onErrorQuerynumberParserErrorQuarknullifyPointermkdirWithParentsmemdup memSetVtable memProfilememIsSystemMallocmarkupEscapeTextmarkupErrorQuarkmallocNmalloc0N mainDepthlogWriterSupportsColorlogWriterStandardStreamslogWriterJournaldlogWriterIsJournaldlogWriterFormatFieldslogWriterDefault logVariantlogStructuredArray logSetHandlerlogSetAlwaysFatallogRemoveHandler localeToUtf8localeFromUtf8listenv ioCreateWatch internStringinternStaticStringintEqual int64Hash int64Equal idleSourceNewidleRemoveByDatahostnameToUnicodehostnameToAsciihostnameIsNonAsciihostnameIsIpAddresshostnameIsAsciiEncodedgetenv getUserName getRealTime getRealNamegetNumProcessorsgetLocaleVariantsgetLanguageNamesWithCategorygetLanguageNames getHostNamegetFilenameCharsets getCurrentDir getCodesetformatSizeForDisplayfindProgramInPathfilenameToUtf8 filenameToUrifilenameFromUtf8filenameFromUrifilenameDisplayNamefilenameDisplayBasename fileReadLink fileOpenTmpfileGetContentsfileErrorQuarkfileErrorFromErrno environGetenv dpgettext2 dpgettext doubleHash doubleEqual dngettext directEqualdgettext dcgettextdatasetIdGetDatadatasetDestroydatalistUnsetFlagsdatalistIdGetDatadatalistGetFlagsdatalistGetDatadatalistForeachconvertWithFallbackconvertErrorQuarkconvertcomputeHmacForStringcomputeHmacForDatacomputeHmacForBytescomputeChecksumForStringcomputeChecksumForDatacomputeChecksumForBytesclose clearErrorchildWatchSourceNew checkVersionchdircanonicalizeFilename buildPathvbuildFilenamev bitUnlock bitTrylock bitStorage bitNthMsf bitNthLsfbitLockbasename base64Encodebase64DecodeInplace base64DecodeatomicRefCountInitatomicRefCountIncatomicRefCountDecatomicRefCountCompareatomicRcBoxReleaseFullatomicRcBoxReleaseatomicRcBoxGetSizeatomicRcBoxDupatomicRcBoxAlloc0atomicRcBoxAllocatomicRcBoxAcquireatomicPointerXoratomicPointerSetatomicPointerOratomicPointerGetatomicPointerCompareAndExchangeatomicPointerAndatomicPointerAdd atomicIntXor atomicIntSet atomicIntOr atomicIntInc atomicIntGetatomicIntExchangeAndAddatomicIntDecAndTestatomicIntCompareAndExchange atomicIntAnd atomicIntAddassertionMessageErrorassertionMessageCmpstrassertionMessage assertWarningasciiXdigitValue asciiStrup asciiStrtoll asciiStrtodasciiStrncasecmpasciiStringToUnsignedasciiStringToSigned asciiStrdownasciiStrcasecmp asciiFormatdasciiDigitValueaccessnewZeroTimeVal noTimeValgetTimeValTvSecsetTimeValTvSecgetTimeValTvUsecsetTimeValTvUsectimeValToIso8601timeValFromIso8601$fConstructibleTimeValtag$fWrappedPtrTimeValDateTime noDateTime dateTimeNewdateTimeNewFromIso8601dateTimeNewFromTimevalLocaldateTimeNewFromTimevalUtcdateTimeNewFromUnixLocaldateTimeNewFromUnixUtcdateTimeNewLocaldateTimeNewNowdateTimeNewNowLocaldateTimeNewNowUtcdateTimeNewUtc dateTimeAdddateTimeAddDaysdateTimeAddFulldateTimeAddHoursdateTimeAddMinutesdateTimeAddMonthsdateTimeAddSecondsdateTimeAddWeeksdateTimeAddYearsdateTimeDifferencedateTimeGetDayOfMonthdateTimeGetDayOfWeekdateTimeGetDayOfYeardateTimeGetHourdateTimeGetMicroseconddateTimeGetMinutedateTimeGetMonthdateTimeGetSeconddateTimeGetSecondsdateTimeGetTimezonedateTimeGetTimezoneAbbreviationdateTimeGetUtcOffsetdateTimeGetWeekNumberingYeardateTimeGetWeekOfYeardateTimeGetYeardateTimeGetYmddateTimeIsDaylightSavings dateTimeRefdateTimeToLocaldateTimeToTimevaldateTimeToTimezonedateTimeToUnix dateTimeToUtc dateTimeUnrefdateTimeCompare dateTimeEqual dateTimeHash$fBoxedObjectDateTime noTimeZone timeZoneNewtimeZoneNewOffsettimeZoneAdjustTimetimeZoneFindIntervaltimeZoneGetAbbreviationtimeZoneGetIdentifiertimeZoneGetOffset timeZoneIsDst timeZoneRef timeZoneUnref$fBoxedObjectTimeZoneTimernoTimer timerContinue timerDestroy timerElapsed timerReset timerStart timerStop$fWrappedPtrTimer TrashStacknewZeroTrashStack noTrashStackgetTrashStackNextsetTrashStackNextclearTrashStackNexttrashStackHeighttrashStackPeek trashStackPoptrashStackPush$fConstructibleTrashStacktag$fWrappedPtrTrashStacknoTree treeDestroy treeHeight treeInsert treeLookuptreeLookupExtended treeNnodes treeRemove treeReplace treeSteal treeUnref$fWrappedPtrTree VariantDict noVariantDictvariantDictNewvariantDictClearvariantDictContainsvariantDictEndvariantDictInsertValuevariantDictLookupValuevariantDictRefvariantDictRemovevariantDictUnref$fBoxedObjectVariantDictVariantBuildernoVariantBuildervariantBuilderNewvariantBuilderAddValuevariantBuilderClosevariantBuilderEndvariantBuilderOpenvariantBuilderRefvariantBuilderUnref$fBoxedObjectVariantBuilder noVariantTypevariantTypeNewvariantTypeNewArrayvariantTypeNewDictEntryvariantTypeNewMaybevariantTypeNewTuplevariantTypeCopyvariantTypeDupStringvariantTypeElementvariantTypeEqualvariantTypeFirstvariantTypeFreevariantTypeGetStringLengthvariantTypeHashvariantTypeIsArrayvariantTypeIsBasicvariantTypeIsContainervariantTypeIsDefinitevariantTypeIsDictEntryvariantTypeIsMaybevariantTypeIsSubtypeOfvariantTypeIsTuplevariantTypeIsVariantvariantTypeKeyvariantTypeNItemsvariantTypeNextvariantTypeValuevariantTypeChecked_variantTypeStringGetDepth_$fBoxedObjectVariantType DoubleIEEE754newZeroDoubleIEEE754noDoubleIEEE754getDoubleIEEE754VDoublesetDoubleIEEE754VDouble$fConstructibleDoubleIEEE754tag$fWrappedPtrDoubleIEEE754 FloatIEEE754newZeroFloatIEEE754noFloatIEEE754getFloatIEEE754VFloatsetFloatIEEE754VFloat$fConstructibleFloatIEEE754tag$fWrappedPtrFloatIEEE754 noMainContextmainContextNewmainContextAcquiremainContextAddPollmainContextCheck$mainContextFindSourceByFuncsUserDatamainContextFindSourceByUserDatamainContextInvokeFullmainContextIsOwnermainContextPendingmainContextPopThreadDefaultmainContextPreparemainContextPushThreadDefaultmainContextQuerymainContextRefmainContextReleasemainContextRemovePollmainContextUnrefmainContextWaitmainContextWakeup$fBoxedObjectMainContext newZeroCondnoCond condBroadcast condClearcondInit condSignalcondWait condWaitUntil$fConstructibleCondtag$fWrappedPtrCond newZeroMutexnoMutex mutexClear mutexInit mutexLock mutexTrylock mutexUnlock$fConstructibleMutextag$fWrappedPtrMutexnewZeroScanner noScannergetScannerUserDatasetScannerUserDataclearScannerUserDatagetScannerMaxParseErrorssetScannerMaxParseErrorsgetScannerParseErrorssetScannerParseErrorsgetScannerInputNamesetScannerInputNameclearScannerInputNamegetScannerQdatasetScannerQdataclearScannerQdatagetScannerConfigsetScannerConfigclearScannerConfiggetScannerTokensetScannerTokengetScannerValuegetScannerLinesetScannerLinegetScannerPositionsetScannerPositiongetScannerNextTokensetScannerNextTokengetScannerNextValuegetScannerNextLinesetScannerNextLinegetScannerNextPositionsetScannerNextPositiongetScannerMsgHandlersetScannerMsgHandlerclearScannerMsgHandlerscannerCurLinescannerCurPositionscannerCurTokenscannerDestroy scannerEofscannerInputFilescannerInputTextscannerLookupSymbolscannerPeekNextTokenscannerScopeAddSymbolscannerScopeLookupSymbolscannerScopeRemoveSymbolscannerSetScopescannerSyncFileOffsetscannerUnexpToken$fConstructibleScannertag$fWrappedPtrScannernewZeroTokenValue noTokenValuegetTokenValueVSymbolsetTokenValueVSymbolclearTokenValueVSymbolgetTokenValueVIdentifiersetTokenValueVIdentifierclearTokenValueVIdentifiergetTokenValueVBinarysetTokenValueVBinarygetTokenValueVOctalsetTokenValueVOctalgetTokenValueVIntsetTokenValueVIntgetTokenValueVInt64setTokenValueVInt64getTokenValueVFloatsetTokenValueVFloatgetTokenValueVHexsetTokenValueVHexgetTokenValueVStringsetTokenValueVStringclearTokenValueVStringgetTokenValueVCommentsetTokenValueVCommentclearTokenValueVCommentgetTokenValueVCharsetTokenValueVChargetTokenValueVErrorsetTokenValueVError$fConstructibleTokenValuetag$fWrappedPtrTokenValuebase GHC.MaybeNothinghaskell-gi-base-0.22.2-inplaceData.GI.Base.BasicTypesGVariantghc-prim GHC.TypesTrueFalseMaybeData.GI.Base.GClosureGClosureData.GI.Base.BasicConversionsbyteStringToCStringcstringToByteStringcstringToString cstringToText gflagsToWordmapCArrayWithLength mapGArraymapGList mapGSList mapPtrArraymapZeroTerminatedCArraypackBlockArraypackByteStringpackFileNameArray packGArraypackGByteArraypackGHashTable packGList packGPtrArray packGSListpackMapStorableArray"packMapZeroTerminatedStorableArray packPtrArraypackStorableArraypackUTF8CArraypackZeroTerminatedByteStringpackZeroTerminatedFileNameArraypackZeroTerminatedPtrArraypackZeroTerminatedStorableArraypackZeroTerminatedUTF8CArraystringToCString textToCStringunpackBlockArrayWithLengthunpackBoxedArrayWithLengthunpackByteStringWithLengthunpackFileNameArrayWithLength unpackGArrayunpackGByteArrayunpackGHashTable unpackGListunpackGPtrArray unpackGSList unpackMapStorableArrayWithLength$unpackMapZeroTerminatedStorableArrayunpackPtrArrayWithLengthunpackStorableArrayWithLengthunpackUTF8CArrayWithLengthunpackZeroTerminatedByteString!unpackZeroTerminatedFileNameArrayunpackZeroTerminatedPtrArray!unpackZeroTerminatedStorableArrayunpackZeroTerminatedUTF8CArray unrefGArrayunrefGByteArrayunrefGHashTable unrefPtrArraywithTextCString wordToGFlags g_list_free g_slist_free gtypeName noGParamSpeccatchGErrorJust checkGError gerrorCode gerrorDomain gerrorMessage gerrorNewhandleGErrorJustmaybePokeGErrorpropagateGErrorData.GI.Base.GHashTablecstringPackPtrcstringUnpackPtr gDirectEqual gDirectHash gStrEqualgStrHash ptrPackPtr ptrUnpackPtrData.GI.Base.GVariantdisownGVariantgvariantFromBoolgvariantFromBytestringgvariantFromDictEntrygvariantFromDoublegvariantFromGVariantgvariantFromHandlegvariantFromInt16gvariantFromInt32gvariantFromInt64gvariantFromListgvariantFromMapgvariantFromMaybegvariantFromObjectPathgvariantFromSignaturegvariantFromTextgvariantFromTuplegvariantFromWord16gvariantFromWord32gvariantFromWord64gvariantFromWord8gvariantGetTypeStringgvariantObjectPathToTextgvariantSignatureToTextgvariantToBoolgvariantToBytestringgvariantToDictEntrygvariantToDoublegvariantToGVariantgvariantToHandlegvariantToInt16gvariantToInt32gvariantToInt64gvariantToList gvariantToMapgvariantToMaybegvariantToObjectPathgvariantToSignaturegvariantToTextgvariantToTuplegvariantToWord16gvariantToWord32gvariantToWord64gvariantToWord8newGVariantFromPtrnewGVariantObjectPathnewGVariantSignature noGVariant unrefGVariantwrapGVariantPtrData.GI.Base.ManagedPtrcastTocheckInstanceType copyBoxed copyBoxedPtr copyBytes disownBoxeddisownManagedPtr disownObject freeBoxedmaybeWithManagedPtrnewBoxed newManagedPtrnewManagedPtr'newManagedPtr_ newObjectnewPtr releaseObjecttouchManagedPtr unrefObject unsafeCastTounsafeManagedPtrCastPtrunsafeManagedPtrGetPtrwithManagedPtrwithManagedPtrList withTransient wrapBoxed wrapObjectwrapPtrAttrOp:=>:~:~> BoxedEnum boxedEnumType BoxedFlagsboxedFlagsType BoxedObject boxedTypeCGTypeGArray GByteArrayGDestroyNotify GHashTableGListGObject gobjectType GParamSpec GPtrArrayGSListGType gtypeToCGTypeIsGFlag ManagedPtrmanagedForeignPtrmanagedPtrAllocCallStackmanagedPtrIsDisownedManagedPtrNewtype PtrWrapped unwrapPtrUnexpectedNullPointerReturnnullPtrErrorMsg WrappedPtrwrappedPtrCallocwrappedPtrCopywrappedPtrFreeData.GI.Base.Constructiblenew GErrorClassgerrorClassDomain GErrorCode GErrorDomain GErrorMessage GEqualFunc GHashFuncData.GI.Base.GValueGValueIsGValue fromGValuetoGValueGVariantDictEntryGVariantHandleGVariantObjectPathGVariantSignatureGVariantSinglet IsGVariant fromGVariant toGVarianttoGVariantFormatStringIsGVariantBasicTypeData.GI.Base.Signalsafteron SignalProxyPropertyNotify