More gracefully handle type mismatch errors when doing playlist things (just ignore...
[ardour.git] / libs / glibmm2 / glib / src / glib_docs.xml
1 <root>
2 <function name="g_str_hash">
3 <description>
4 Converts a string to a hash value.
5 It can be passed to g_hash_table_new() as the @hash_func 
6 parameter, when using strings as keys in a #GHashTable.
7
8
9 </description>
10 <parameters>
11 <parameter name="v">
12 <parameter_description> a string key
13 </parameter_description>
14 </parameter>
15 </parameters>
16 <return> a hash value corresponding to the key
17 </return>
18 </function>
19
20 <function name="g_strcasecmp">
21 <description>
22 A case-insensitive string comparison, corresponding to the standard
23 strcasecmp() function on platforms which support it.
24
25
26 </description>
27 <parameters>
28 <parameter name="s1">
29 <parameter_description> a string.
30 </parameter_description>
31 </parameter>
32 <parameter name="s2">
33 <parameter_description> a string to compare with @s1.
34 </parameter_description>
35 </parameter>
36 </parameters>
37 <return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2, 
38 or a positive value if @s1 &amp;gt; @s2.
39
40 Deprecated:2.2: See g_strncasecmp() for a discussion of why this function 
41 is deprecated and how to replace it.
42 </return>
43 </function>
44
45 <function name="g_source_destroy">
46 <description>
47 Removes a source from its #GMainContext, if any, and mark it as
48 destroyed.  The source cannot be subsequently added to another
49 context.
50
51 </description>
52 <parameters>
53 <parameter name="source">
54 <parameter_description> a #GSource
55 </parameter_description>
56 </parameter>
57 </parameters>
58 <return></return>
59 </function>
60
61 <function name="g_unichar_isdigit">
62 <description>
63 Determines whether a character is numeric (i.e. a digit).  This
64 covers ASCII 0-9 and also digits in other languages/scripts.  Given
65 some UTF-8 text, obtain a character value with g_utf8_get_char().
66
67
68 </description>
69 <parameters>
70 <parameter name="c">
71 <parameter_description> a Unicode character
72 </parameter_description>
73 </parameter>
74 </parameters>
75 <return> %TRUE if @c is a digit
76 </return>
77 </function>
78
79 <function name="g_shell_unquote">
80 <description>
81 Unquotes a string as the shell (/bin/sh) would. Only handles
82 quotes; if a string contains file globs, arithmetic operators,
83 variables, backticks, redirections, or other special-to-the-shell
84 features, the result will be different from the result a real shell
85 would produce (the variables, backticks, etc. will be passed
86 through literally instead of being expanded). This function is
87 guaranteed to succeed if applied to the result of
88 g_shell_quote(). If it fails, it returns %NULL and sets the
89 error. The @quoted_string need not actually contain quoted or
90 escaped text; g_shell_unquote() simply goes through the string and
91 unquotes/unescapes anything that the shell would. Both single and
92 double quotes are handled, as are escapes including escaped
93 newlines. The return value must be freed with g_free(). Possible
94 errors are in the #G_SHELL_ERROR domain.
95
96 Shell quoting rules are a bit strange. Single quotes preserve the
97 literal string exactly. escape sequences are not allowed; not even
98 \&apos; - if you want a &apos; in the quoted text, you have to do something
99 like &apos;foo&apos;\&apos;&apos;bar&apos;.  Double quotes allow $, `, &quot;, \, and newline to
100 be escaped with backslash. Otherwise double quotes preserve things
101 literally.
102
103
104 </description>
105 <parameters>
106 <parameter name="quoted_string">
107 <parameter_description> shell-quoted string
108 </parameter_description>
109 </parameter>
110 <parameter name="error">
111 <parameter_description> error return location or NULL
112 </parameter_description>
113 </parameter>
114 </parameters>
115 <return> an unquoted string
116 </return>
117 </function>
118
119 <function name="g_build_pathv">
120 <description>
121 Behaves exactly like g_build_path(), but takes the path elements 
122 as a string array, instead of varargs. This function is mainly
123 meant for language bindings.
124
125
126 </description>
127 <parameters>
128 <parameter name="separator">
129 <parameter_description> a string used to separator the elements of the path.
130 </parameter_description>
131 </parameter>
132 <parameter name="args">
133 <parameter_description> %NULL-terminated array of strings containing the path elements.
134 </parameter_description>
135 </parameter>
136 </parameters>
137 <return> a newly-allocated string that must be freed with g_free().
138
139 Since: 2.8
140 </return>
141 </function>
142
143 <function name="g_propagate_error">
144 <description>
145 If @dest is %NULL, free @src; otherwise,
146 moves @src into *@dest. *@dest must be %NULL.
147
148 </description>
149 <parameters>
150 <parameter name="dest">
151 <parameter_description> error return location
152 </parameter_description>
153 </parameter>
154 <parameter name="src">
155 <parameter_description> error to move into the return location
156 </parameter_description>
157 </parameter>
158 </parameters>
159 <return></return>
160 </function>
161
162 <function name="g_thread_pool_get_num_threads">
163 <description>
164 Return value: the number of threads currently running
165
166 </description>
167 <parameters>
168 <parameter name="pool">
169 <parameter_description> a #GThreadPool
170 </parameter_description>
171 </parameter>
172 </parameters>
173 <return> the number of threads currently running
174 </return>
175 </function>
176
177 <function name="g_bookmark_file_get_applications">
178 <description>
179 Retrieves the names of the applications that have registered the
180 bookmark for @uri.
181
182 In the event the URI cannot be found, %NULL is returned and
183 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
184
185
186 </description>
187 <parameters>
188 <parameter name="bookmark">
189 <parameter_description> a #GBookmarkFile
190 </parameter_description>
191 </parameter>
192 <parameter name="uri">
193 <parameter_description> a valid URI
194 </parameter_description>
195 </parameter>
196 <parameter name="length">
197 <parameter_description> return location of the length of the returned list, or %NULL
198 </parameter_description>
199 </parameter>
200 <parameter name="error">
201 <parameter_description> return location for a #GError, or %NULL
202 </parameter_description>
203 </parameter>
204 </parameters>
205 <return> a newly allocated %NULL-terminated array of strings.
206 Use g_strfreev() to free it.
207
208 Since: 2.12
209 </return>
210 </function>
211
212 <function name="g_io_channel_close">
213 <description>
214 Close an IO channel. Any pending data to be written will be
215 flushed, ignoring errors. The channel will not be freed until the
216 last reference is dropped using g_io_channel_unref(). 
217
218 Deprecated:2.2: Use g_io_channel_shutdown() instead.
219
220 </description>
221 <parameters>
222 <parameter name="channel">
223 <parameter_description> A #GIOChannel
224 </parameter_description>
225 </parameter>
226 </parameters>
227 <return></return>
228 </function>
229
230 <function name="g_string_equal">
231 <description>
232 Compares two strings for equality, returning %TRUE if they are equal. 
233 For use with #GHashTable.
234
235
236 </description>
237 <parameters>
238 <parameter name="v">
239 <parameter_description> a #GString
240 </parameter_description>
241 </parameter>
242 <parameter name="v2">
243 <parameter_description> another #GString
244 </parameter_description>
245 </parameter>
246 </parameters>
247 <return> %TRUE if they strings are the same length and contain the 
248 same bytes
249 </return>
250 </function>
251
252 <function name="g_bookmark_file_get_is_private">
253 <description>
254 Gets whether the private flag of the bookmark for @uri is set.
255
256 In the event the URI cannot be found, %FALSE is returned and
257 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.  In the
258 event that the private flag cannot be found, %FALSE is returned and
259 @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
260
261
262 </description>
263 <parameters>
264 <parameter name="bookmark">
265 <parameter_description> a #GBookmarkFile
266 </parameter_description>
267 </parameter>
268 <parameter name="uri">
269 <parameter_description> a valid URI
270 </parameter_description>
271 </parameter>
272 <parameter name="error">
273 <parameter_description> return location for a #GError, or %NULL
274 </parameter_description>
275 </parameter>
276 </parameters>
277 <return> %TRUE if the private flag is set, %FALSE otherwise.
278
279 Since: 2.12
280 </return>
281 </function>
282
283 <function name="g_main_current_source">
284 <description>
285 Return value: The currently firing source or %NULL.
286
287 </description>
288 <parameters>
289 </parameters>
290 <return> The currently firing source or %NULL.
291
292 Since: 2.12
293 </return>
294 </function>
295
296 <function name="g_intern_string">
297 <description>
298 Returns: a canonical representation for the string
299
300 </description>
301 <parameters>
302 <parameter name="string">
303 <parameter_description> a string
304 </parameter_description>
305 </parameter>
306 </parameters>
307 <return> a canonical representation for the string
308
309 Since: 2.10
310 </return>
311 </function>
312
313 <function name="g_key_file_set_double_list">
314 <description>
315 Associates a list of double values with @key under
316 @group_name.  If @key cannot be found then it is created.
317 If @group_name is %NULL the start group is used.
318
319 Since: 2.12
320
321 </description>
322 <parameters>
323 <parameter name="key_file">
324 <parameter_description> a #GKeyFile
325 </parameter_description>
326 </parameter>
327 <parameter name="group_name">
328 <parameter_description> a group name
329 </parameter_description>
330 </parameter>
331 <parameter name="key">
332 <parameter_description> a key
333 </parameter_description>
334 </parameter>
335 <parameter name="list">
336 <parameter_description> an array of double values
337 </parameter_description>
338 </parameter>
339 <parameter name="length">
340 <parameter_description> number of double values in @list
341 </parameter_description>
342 </parameter>
343 </parameters>
344 <return></return>
345 </function>
346
347 <function name="g_sequence_iter_get_position">
348 <description>
349 Return value: the position of @iter
350
351 </description>
352 <parameters>
353 <parameter name="iter">
354 <parameter_description> a #GSequenceIter
355 </parameter_description>
356 </parameter>
357 </parameters>
358 <return> the position of @iter
359
360 Since: 2.14
361 </return>
362 </function>
363
364 <function name="g_source_new">
365 <description>
366 Creates a new #GSource structure. The size is specified to
367 allow creating structures derived from #GSource that contain
368 additional data. The size passed in must be at least
369 &amp;lt;literal&amp;gt;sizeof (GSource)&amp;lt;/literal&amp;gt;.
370
371 The source will not initially be associated with any #GMainContext
372 and must be added to one with g_source_attach() before it will be
373 executed.
374
375
376 </description>
377 <parameters>
378 <parameter name="source_funcs">
379 <parameter_description> structure containing functions that implement
380 the sources behavior.
381 </parameter_description>
382 </parameter>
383 <parameter name="struct_size">
384 <parameter_description> size of the #GSource structure to create.
385 </parameter_description>
386 </parameter>
387 </parameters>
388 <return> the newly-created #GSource.
389 </return>
390 </function>
391
392 <function name="g_io_channel_set_encoding">
393 <description>
394 Sets the encoding for the input/output of the channel. The internal
395 encoding is always UTF-8. The default encoding for the
396 external file is UTF-8.
397
398 The encoding %NULL is safe to use with binary data.
399
400 The encoding can only be set if one of the following conditions
401 is true:
402
403 1. The channel was just created, and has not been written to
404 or read from yet.
405
406 2. The channel is write-only.
407
408 3. The channel is a file, and the file pointer was just
409 repositioned by a call to g_io_channel_seek_position().
410 (This flushes all the internal buffers.)
411
412 4. The current encoding is %NULL or UTF-8.
413
414 5. One of the (new API) read functions has just returned %G_IO_STATUS_EOF
415 (or, in the case of g_io_channel_read_to_end (), %G_IO_STATUS_NORMAL).
416
417 6. One of the functions g_io_channel_read_chars () or g_io_channel_read_unichar ()
418 has returned %G_IO_STATUS_AGAIN or %G_IO_STATUS_ERROR. This may be
419 useful in the case of %G_CONVERT_ERROR_ILLEGAL_SEQUENCE.
420 Returning one of these statuses from g_io_channel_read_line (),
421 g_io_channel_read_line_string (), or g_io_channel_read_to_end ()
422 does &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; guarantee that the encoding can be changed.
423
424 Channels which do not meet one of the above conditions cannot call
425 g_io_channel_seek_position () with an offset of %G_SEEK_CUR,
426 and, if they are &quot;seekable&quot;, cannot
427 call g_io_channel_write_chars () after calling one
428 of the API &quot;read&quot; functions.
429
430
431 </description>
432 <parameters>
433 <parameter name="channel">
434 <parameter_description> a #GIOChannel
435 </parameter_description>
436 </parameter>
437 <parameter name="encoding">
438 <parameter_description> the encoding type
439 </parameter_description>
440 </parameter>
441 <parameter name="error">
442 <parameter_description> location to store an error of type #GConvertError.
443 </parameter_description>
444 </parameter>
445 </parameters>
446 <return> %G_IO_STATUS_NORMAL if the encoding was successfully set.
447 </return>
448 </function>
449
450 <function name="g_markup_parse_context_free">
451 <description>
452 Frees a #GMarkupParseContext. Can&apos;t be called from inside
453 one of the #GMarkupParser functions.
454
455
456 </description>
457 <parameters>
458 <parameter name="context">
459 <parameter_description> a #GMarkupParseContext
460 </parameter_description>
461 </parameter>
462 </parameters>
463 <return></return>
464 </function>
465
466 <function name="g_string_chunk_new">
467 <description>
468 Creates a new #GStringChunk. 
469
470
471 </description>
472 <parameters>
473 <parameter name="size">
474 <parameter_description> the default size of the blocks of memory which are 
475 allocated to store the strings. If a particular string 
476 is larger than this default size, a larger block of 
477 memory will be allocated for it.
478 </parameter_description>
479 </parameter>
480 </parameters>
481 <return> a new #GStringChunk
482 </return>
483 </function>
484
485 <function name="g_utf8_normalize">
486 <description>
487 Converts a string into canonical form, standardizing
488 such issues as whether a character with an accent
489 is represented as a base character and combining
490 accent or as a single precomposed character. You
491 should generally call g_utf8_normalize() before
492 comparing two Unicode strings.
493
494 The normalization mode %G_NORMALIZE_DEFAULT only
495 standardizes differences that do not affect the
496 text content, such as the above-mentioned accent
497 representation. %G_NORMALIZE_ALL also standardizes
498 the &quot;compatibility&quot; characters in Unicode, such
499 as SUPERSCRIPT THREE to the standard forms
500 (in this case DIGIT THREE). Formatting information
501 may be lost but for most text operations such
502 characters should be considered the same.
503 For example, g_utf8_collate() normalizes
504 with %G_NORMALIZE_ALL as its first step.
505
506 %G_NORMALIZE_DEFAULT_COMPOSE and %G_NORMALIZE_ALL_COMPOSE
507 are like %G_NORMALIZE_DEFAULT and %G_NORMALIZE_ALL,
508 but returned a result with composed forms rather
509 than a maximally decomposed form. This is often
510 useful if you intend to convert the string to
511 a legacy encoding or pass it to a system with
512 less capable Unicode handling.
513
514
515 </description>
516 <parameters>
517 <parameter name="str">
518 <parameter_description> a UTF-8 encoded string.
519 </parameter_description>
520 </parameter>
521 <parameter name="len">
522 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
523 </parameter_description>
524 </parameter>
525 <parameter name="mode">
526 <parameter_description> the type of normalization to perform.
527 </parameter_description>
528 </parameter>
529 </parameters>
530 <return> a newly allocated string, that is the 
531 normalized form of @str.
532 </return>
533 </function>
534
535 <function name="g_match_info_next">
536 <description>
537 Scans for the next match using the same parameters of the previous
538 call to g_regex_match_full() or g_regex_match() that returned
539 @match_info.
540
541 The match is done on the string passed to the match function, so you
542 cannot free it before calling this function.
543
544
545 </description>
546 <parameters>
547 <parameter name="match_info">
548 <parameter_description> a #GMatchInfo structure
549 </parameter_description>
550 </parameter>
551 <parameter name="error">
552 <parameter_description> location to store the error occuring, or %NULL to ignore errors
553 </parameter_description>
554 </parameter>
555 </parameters>
556 <return> %TRUE is the string matched, %FALSE otherwise
557
558 Since: 2.14
559 </return>
560 </function>
561
562 <function name="g_qsort_with_data">
563 <description>
564 This is just like the standard C qsort() function, but
565 the comparison routine accepts a user data argument.
566
567
568 </description>
569 <parameters>
570 <parameter name="pbase">
571 <parameter_description> start of array to sort
572 </parameter_description>
573 </parameter>
574 <parameter name="total_elems">
575 <parameter_description> elements in the array
576 </parameter_description>
577 </parameter>
578 <parameter name="size">
579 <parameter_description> size of each element
580 </parameter_description>
581 </parameter>
582 <parameter name="compare_func">
583 <parameter_description> function to compare elements
584 </parameter_description>
585 </parameter>
586 <parameter name="user_data">
587 <parameter_description> data to pass to @compare_func
588 </parameter_description>
589 </parameter>
590 </parameters>
591 <return></return>
592 </function>
593
594 <function name="g_dir_read_name">
595 <description>
596 Retrieves the name of the next entry in the directory.  The &apos;.&apos; and
597 &apos;..&apos; entries are omitted. On Windows, the returned name is in
598 UTF-8. On Unix, it is in the on-disk encoding.
599
600
601 </description>
602 <parameters>
603 <parameter name="dir">
604 <parameter_description> a #GDir* created by g_dir_open()
605 </parameter_description>
606 </parameter>
607 </parameters>
608 <return> The entry&apos;s name or %NULL if there are no 
609 more entries. The return value is owned by GLib and
610 must not be modified or freed.
611 </return>
612 </function>
613
614 <function name="g_main_context_wakeup">
615 <description>
616 If @context is currently waiting in a poll(), interrupt
617 the poll(), and continue the iteration process.
618
619 </description>
620 <parameters>
621 <parameter name="context">
622 <parameter_description> a #GMainContext
623 </parameter_description>
624 </parameter>
625 </parameters>
626 <return></return>
627 </function>
628
629 <function name="g_get_application_name">
630 <description>
631 Gets a human-readable name for the application, as set by
632 g_set_application_name(). This name should be localized if
633 possible, and is intended for display to the user.  Contrast with
634 g_get_prgname(), which gets a non-localized name. If
635 g_set_application_name() has not been called, returns the result of
636 g_get_prgname() (which may be %NULL if g_set_prgname() has also not
637 been called).
638
639
640 </description>
641 <parameters>
642 </parameters>
643 <return> human-readable application name. may return %NULL
644
645 Since: 2.2
646 </return>
647 </function>
648
649 <function name="g_get_tmp_dir">
650 <description>
651 Gets the directory to use for temporary files. This is found from 
652 inspecting the environment variables &amp;lt;envar&amp;gt;TMPDIR&amp;lt;/envar&amp;gt;, 
653 &amp;lt;envar&amp;gt;TMP&amp;lt;/envar&amp;gt;, and &amp;lt;envar&amp;gt;TEMP&amp;lt;/envar&amp;gt; in that order. If none 
654 of those are defined &quot;/tmp&quot; is returned on UNIX and &quot;C:\&quot; on Windows. 
655 The encoding of the returned string is system-defined. On Windows, 
656 it is always UTF-8. The return value is never %NULL.
657
658
659 </description>
660 <parameters>
661 </parameters>
662 <return> the directory to use for temporary files.
663 </return>
664 </function>
665
666 <function name="g_snprintf">
667 <description>
668 A safer form of the standard sprintf() function. The output is guaranteed
669 to not exceed @n characters (including the terminating nul character), so 
670 it is easy to ensure that a buffer overflow cannot occur.
671
672 See also g_strdup_printf().
673
674 In versions of GLib prior to 1.2.3, this function may return -1 if the 
675 output was truncated, and the truncated string may not be nul-terminated. 
676 In versions prior to 1.3.12, this function returns the length of the output 
677 string.
678
679 The return value of g_snprintf() conforms to the snprintf()
680 function as standardized in ISO C99. Note that this is different from 
681 traditional snprintf(), which returns the length of the output string.
682
683 The format string may contain positional parameters, as specified in 
684 the Single Unix Specification.
685
686
687 </description>
688 <parameters>
689 <parameter name="string">
690 <parameter_description> the buffer to hold the output.
691 </parameter_description>
692 </parameter>
693 <parameter name="n">
694 <parameter_description> the maximum number of characters to produce (including the 
695 terminating nul character).
696 </parameter_description>
697 </parameter>
698 <parameter name="format">
699 <parameter_description> a standard printf() format string, but notice 
700 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
701 </parameter_description>
702 </parameter>
703 <parameter name="Varargs">
704 <parameter_description> the arguments to insert in the output.
705 </parameter_description>
706 </parameter>
707 </parameters>
708 <return> the number of characters which would be produced if the buffer 
709 was large enough.
710 </return>
711 </function>
712
713 <function name="g_match_info_fetch">
714 <description>
715 Retrieves the text matching the @match_num&amp;lt;!-- --&amp;gt;&apos;th capturing 
716 parentheses. 0 is the full text of the match, 1 is the first paren 
717 set, 2 the second, and so on.
718
719 If @match_num is a valid sub pattern but it didn&apos;t match anything 
720 (e.g. sub pattern 1, matching &quot;b&quot; against &quot;(a)?b&quot;) then an empty 
721 string is returned.
722
723 If the match was obtained using the DFA algorithm, that is using
724 g_regex_match_all() or g_regex_match_all_full(), the retrieved
725 string is not that of a set of parentheses but that of a matched
726 substring. Substrings are matched in reverse order of length, so 
727 0 is the longest match.
728
729 The string is fetched from the string passed to the match function,
730 so you cannot call this function after freeing the string.
731
732
733 </description>
734 <parameters>
735 <parameter name="match_info">
736 <parameter_description> #GMatchInfo structure
737 </parameter_description>
738 </parameter>
739 <parameter name="match_num">
740 <parameter_description> number of the sub expression
741 </parameter_description>
742 </parameter>
743 </parameters>
744 <return> The matched substring, or %NULL if an error occurred.
745 You have to free the string yourself
746
747 Since: 2.14
748 </return>
749 </function>
750
751 <function name="g_main_context_ref">
752 <description>
753 Increases the reference count on a #GMainContext object by one.
754
755
756 </description>
757 <parameters>
758 <parameter name="context">
759 <parameter_description> a #GMainContext
760 </parameter_description>
761 </parameter>
762 </parameters>
763 <return> the @context that was passed in (since 2.6)
764 </return>
765 </function>
766
767 <function name="g_set_application_name">
768 <description>
769 Sets a human-readable name for the application. This name should be
770 localized if possible, and is intended for display to the user.
771 Contrast with g_set_prgname(), which sets a non-localized name.
772 g_set_prgname() will be called automatically by gtk_init(),
773 but g_set_application_name() will not.
774
775 Note that for thread safety reasons, this function can only
776 be called once.
777
778 The application name will be used in contexts such as error messages,
779 or when displaying an application&apos;s name in the task list.
780
781
782 </description>
783 <parameters>
784 <parameter name="application_name">
785 <parameter_description> localized name of the application
786 </parameter_description>
787 </parameter>
788 </parameters>
789 <return></return>
790 </function>
791
792 <function name="g_main_context_acquire">
793 <description>
794 Tries to become the owner of the specified context.
795 If some other context is the owner of the context,
796 Return value: %TRUE if the operation succeeded, and
797
798 </description>
799 <parameters>
800 <parameter name="context">
801 <parameter_description> a #GMainContext
802 </parameter_description>
803 </parameter>
804 </parameters>
805 <return> %TRUE if the operation succeeded, and
806 this thread is now the owner of @context.
807 </return>
808 </function>
809
810 <function name="g_match_info_get_string">
811 <description>
812 Returns: the string searched with @match_info
813
814 </description>
815 <parameters>
816 <parameter name="match_info">
817 <parameter_description> a #GMatchInfo
818 </parameter_description>
819 </parameter>
820 </parameters>
821 <return> the string searched with @match_info
822
823 Since: 2.14
824 </return>
825 </function>
826
827 <function name="g_file_set_contents">
828 <description>
829 Writes all of @contents to a file named @filename, with good error checking.
830 If a file called @filename already exists it will be overwritten.
831
832 This write is atomic in the sense that it is first written to a temporary
833 file which is then renamed to the final name. Notes:
834 &amp;lt;itemizedlist&amp;gt;
835 &amp;lt;listitem&amp;gt;
836 On Unix, if @filename already exists hard links to @filename will break.
837 Also since the file is recreated, existing permissions, access control
838 lists, metadata etc. may be lost. If @filename is a symbolic link,
839 the link itself will be replaced, not the linked file.
840 &amp;lt;/listitem&amp;gt;
841 &amp;lt;listitem&amp;gt;
842 On Windows renaming a file will not remove an existing file with the
843 new name, so on Windows there is a race condition between the existing
844 file being removed and the temporary file being renamed.
845 &amp;lt;/listitem&amp;gt;
846 &amp;lt;listitem&amp;gt;
847 On Windows there is no way to remove a file that is open to some
848 process, or mapped into memory. Thus, this function will fail if
849 @filename already exists and is open.
850 &amp;lt;/listitem&amp;gt;
851 &amp;lt;/itemizedlist&amp;gt;
852
853 If the call was sucessful, it returns %TRUE. If the call was not successful,
854 it returns %FALSE and sets @error. The error domain is #G_FILE_ERROR.
855 Possible error codes are those in the #GFileError enumeration.
856
857
858 </description>
859 <parameters>
860 <parameter name="filename">
861 <parameter_description> name of a file to write @contents to, in the GLib file name
862 encoding
863 </parameter_description>
864 </parameter>
865 <parameter name="contents">
866 <parameter_description> string to write to the file
867 </parameter_description>
868 </parameter>
869 <parameter name="length">
870 <parameter_description> length of @contents, or -1 if @contents is a nul-terminated string
871 </parameter_description>
872 </parameter>
873 <parameter name="error">
874 <parameter_description> return location for a #GError, or %NULL
875 </parameter_description>
876 </parameter>
877 </parameters>
878 <return> %TRUE on success, %FALSE if an error occurred
879
880 Since: 2.8
881 </return>
882 </function>
883
884 <function name="g_idle_add_full">
885 <description>
886 Adds a function to be called whenever there are no higher priority
887 events pending.  If the function returns %FALSE it is automatically
888 removed from the list of event sources and will not be called again.
889
890
891 </description>
892 <parameters>
893 <parameter name="priority">
894 <parameter_description> the priority of the idle source. Typically this will be in the
895 range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
896 </parameter_description>
897 </parameter>
898 <parameter name="function">
899 <parameter_description> function to call
900 </parameter_description>
901 </parameter>
902 <parameter name="data">
903 <parameter_description>     data to pass to @function
904 </parameter_description>
905 </parameter>
906 <parameter name="notify">
907 <parameter_description>   function to call when the idle is removed, or %NULL
908 </parameter_description>
909 </parameter>
910 </parameters>
911 <return> the ID (greater than 0) of the event source.
912 </return>
913 </function>
914
915 <function name="g_dir_rewind">
916 <description>
917 Resets the given directory. The next call to g_dir_read_name()
918 will return the first entry again.
919
920 </description>
921 <parameters>
922 <parameter name="dir">
923 <parameter_description> a #GDir* created by g_dir_open()
924 </parameter_description>
925 </parameter>
926 </parameters>
927 <return></return>
928 </function>
929
930 <function name="g_hash_table_get_keys">
931 <description>
932 Retrieves every key inside @hash_table. The returned data is valid
933 until @hash_table is modified.
934
935
936 </description>
937 <parameters>
938 <parameter name="hash_table">
939 <parameter_description> a #GHashTable
940 </parameter_description>
941 </parameter>
942 </parameters>
943 <return> a #GList containing all the keys inside the hash
944 table. The content of the list is owned by the hash table and
945 should not be modified or freed. Use g_list_free() when done
946 using the list.
947
948 Since: 2.14
949 </return>
950 </function>
951
952 <function name="g_get_system_config_dirs">
953 <description>
954 Return value: a %NULL-terminated array of strings owned by GLib that must 
955
956 </description>
957 <parameters>
958 </parameters>
959 <return> a %NULL-terminated array of strings owned by GLib that must 
960 not be modified or freed.
961 Since: 2.6
962 </return>
963 </function>
964
965 <function name="g_queue_pop_nth">
966 <description>
967 Removes the @n&apos;th element of @queue.
968
969
970 </description>
971 <parameters>
972 <parameter name="queue">
973 <parameter_description> a #GQueue
974 </parameter_description>
975 </parameter>
976 <parameter name="n">
977 <parameter_description> the position of the element.
978 </parameter_description>
979 </parameter>
980 </parameters>
981 <return> the element&apos;s data, or %NULL if @n is off the end of @queue.
982
983 Since: 2.4
984 </return>
985 </function>
986
987 <function name="g_key_file_has_key">
988 <description>
989 Looks whether the key file has the key @key in the group
990 @group_name. 
991
992
993 </description>
994 <parameters>
995 <parameter name="key_file">
996 <parameter_description> a #GKeyFile
997 </parameter_description>
998 </parameter>
999 <parameter name="group_name">
1000 <parameter_description> a group name
1001 </parameter_description>
1002 </parameter>
1003 <parameter name="key">
1004 <parameter_description> a key name
1005 </parameter_description>
1006 </parameter>
1007 <parameter name="error">
1008 <parameter_description> return location for a #GError
1009 </parameter_description>
1010 </parameter>
1011 </parameters>
1012 <return> %TRUE if @key is a part of @group_name, %FALSE
1013 otherwise.
1014
1015 Since: 2.6
1016 </return>
1017 </function>
1018
1019 <function name="g_io_channel_read_chars">
1020 <description>
1021 Replacement for g_io_channel_read() with the new API.
1022
1023
1024 </description>
1025 <parameters>
1026 <parameter name="channel">
1027 <parameter_description> a #GIOChannel
1028 </parameter_description>
1029 </parameter>
1030 <parameter name="buf">
1031 <parameter_description> a buffer to read data into
1032 </parameter_description>
1033 </parameter>
1034 <parameter name="count">
1035 <parameter_description> the size of the buffer. Note that the buffer may
1036 not be complelely filled even if there is data
1037 in the buffer if the remaining data is not a
1038 complete character.
1039 </parameter_description>
1040 </parameter>
1041 <parameter name="bytes_read">
1042 <parameter_description> The number of bytes read. This may be zero even on
1043 success if count &amp;lt; 6 and the channel&apos;s encoding is non-%NULL.
1044 This indicates that the next UTF-8 character is too wide for
1045 the buffer.
1046 </parameter_description>
1047 </parameter>
1048 <parameter name="error">
1049 <parameter_description> A location to return an error of type #GConvertError
1050 or #GIOChannelError.
1051 </parameter_description>
1052 </parameter>
1053 </parameters>
1054 <return> the status of the operation.
1055 </return>
1056 </function>
1057
1058 <function name="g_key_file_set_boolean_list">
1059 <description>
1060 Associates a list of boolean values with @key under
1061 @group_name.  If @key cannot be found then it is created.
1062 If @group_name is %NULL, the start_group is used.
1063
1064 Since: 2.6
1065
1066 </description>
1067 <parameters>
1068 <parameter name="key_file">
1069 <parameter_description> a #GKeyFile
1070 </parameter_description>
1071 </parameter>
1072 <parameter name="group_name">
1073 <parameter_description> a group name
1074 </parameter_description>
1075 </parameter>
1076 <parameter name="key">
1077 <parameter_description> a key
1078 </parameter_description>
1079 </parameter>
1080 <parameter name="list">
1081 <parameter_description> an array of boolean values
1082 </parameter_description>
1083 </parameter>
1084 <parameter name="length">
1085 <parameter_description> length of @list
1086 </parameter_description>
1087 </parameter>
1088 </parameters>
1089 <return></return>
1090 </function>
1091
1092 <function name="g_rand_double">
1093 <description>
1094 Return value: A random number.
1095
1096 </description>
1097 <parameters>
1098 <parameter name="rand_">
1099 <parameter_description> a #GRand.
1100 </parameter_description>
1101 </parameter>
1102 </parameters>
1103 <return> A random number.
1104 </return>
1105 </function>
1106
1107 <function name="g_markup_parse_context_parse">
1108 <description>
1109 Feed some data to the #GMarkupParseContext. The data need not
1110 be valid UTF-8; an error will be signaled if it&apos;s invalid.
1111 The data need not be an entire document; you can feed a document
1112 into the parser incrementally, via multiple calls to this function.
1113 Typically, as you receive data from a network connection or file,
1114 you feed each received chunk of data into this function, aborting
1115 the process if an error occurs. Once an error is reported, no further
1116 data may be fed to the #GMarkupParseContext; all errors are fatal.
1117
1118
1119 </description>
1120 <parameters>
1121 <parameter name="context">
1122 <parameter_description> a #GMarkupParseContext
1123 </parameter_description>
1124 </parameter>
1125 <parameter name="text">
1126 <parameter_description> chunk of text to parse
1127 </parameter_description>
1128 </parameter>
1129 <parameter name="text_len">
1130 <parameter_description> length of @text in bytes
1131 </parameter_description>
1132 </parameter>
1133 <parameter name="error">
1134 <parameter_description> return location for a #GError
1135 </parameter_description>
1136 </parameter>
1137 </parameters>
1138 <return> %FALSE if an error occurred, %TRUE on success
1139 </return>
1140 </function>
1141
1142 <function name="g_node_copy_deep">
1143 <description>
1144 Recursively copies a #GNode and its data.
1145
1146
1147 </description>
1148 <parameters>
1149 <parameter name="node">
1150 <parameter_description> a #GNode
1151 </parameter_description>
1152 </parameter>
1153 <parameter name="copy_func">
1154 <parameter_description> the function which is called to copy the data inside each node,
1155 or %NULL to use the original data.
1156 </parameter_description>
1157 </parameter>
1158 <parameter name="data">
1159 <parameter_description> data to pass to @copy_func
1160 </parameter_description>
1161 </parameter>
1162 </parameters>
1163 <return> a new #GNode containing copies of the data in @node.
1164
1165 Since: 2.4
1166 </return>
1167 </function>
1168
1169 <function name="g_main_context_iteration">
1170 <description>
1171 Runs a single iteration for the given main loop. This involves
1172 checking to see if any event sources are ready to be processed,
1173 then if no events sources are ready and @may_block is %TRUE, waiting
1174 for a source to become ready, then dispatching the highest priority
1175 events sources that are ready. Note that even when @may_block is %TRUE,
1176 it is still possible for g_main_context_iteration() to return
1177 %FALSE, since the the wait may be interrupted for other
1178 reasons than an event source becoming ready.
1179
1180
1181 </description>
1182 <parameters>
1183 <parameter name="context">
1184 <parameter_description> a #GMainContext (if %NULL, the default context will be used) 
1185 </parameter_description>
1186 </parameter>
1187 <parameter name="may_block">
1188 <parameter_description> whether the call may block.
1189 </parameter_description>
1190 </parameter>
1191 </parameters>
1192 <return> %TRUE if events were dispatched.
1193 </return>
1194 </function>
1195
1196 <function name="g_file_read_link">
1197 <description>
1198 Reads the contents of the symbolic link @filename like the POSIX
1199 readlink() function.  The returned string is in the encoding used
1200 for filenames. Use g_filename_to_utf8() to convert it to UTF-8.
1201
1202
1203 </description>
1204 <parameters>
1205 <parameter name="filename">
1206 <parameter_description> the symbolic link
1207 </parameter_description>
1208 </parameter>
1209 <parameter name="error">
1210 <parameter_description> return location for a #GError
1211 </parameter_description>
1212 </parameter>
1213 </parameters>
1214 <return> A newly allocated string with the contents of the symbolic link, 
1215 or %NULL if an error occurred.
1216
1217 Since: 2.4
1218 </return>
1219 </function>
1220
1221 <function name="g_unichar_totitle">
1222 <description>
1223 Converts a character to the titlecase.
1224
1225
1226 </description>
1227 <parameters>
1228 <parameter name="c">
1229 <parameter_description> a Unicode character
1230 </parameter_description>
1231 </parameter>
1232 </parameters>
1233 <return> the result of converting @c to titlecase.
1234 If @c is not an uppercase or lowercase character,
1235 @c is returned unchanged.
1236 </return>
1237 </function>
1238
1239 <function name="g_sequence_new">
1240 <description>
1241 Creates a new GSequence. The @data_destroy function, if non-%NULL will
1242 be called on all items when the sequence is destroyed and on items that
1243 are removed from the sequence.
1244
1245
1246 </description>
1247 <parameters>
1248 <parameter name="data_destroy">
1249 <parameter_description> a #GDestroyNotify function, or %NULL
1250 </parameter_description>
1251 </parameter>
1252 </parameters>
1253 <return> a new #GSequence
1254
1255 Since: 2.14
1256 </return>
1257 </function>
1258
1259 <function name="g_main_loop_unref">
1260 <description>
1261 Decreases the reference count on a #GMainLoop object by one. If
1262 the result is zero, free the loop and free all associated memory.
1263
1264 </description>
1265 <parameters>
1266 <parameter name="loop">
1267 <parameter_description> a #GMainLoop
1268 </parameter_description>
1269 </parameter>
1270 </parameters>
1271 <return></return>
1272 </function>
1273
1274 <function name="g_key_file_get_integer_list">
1275 <description>
1276 Return value: the values associated with the key as a list of
1277
1278 </description>
1279 <parameters>
1280 <parameter name="key_file">
1281 <parameter_description> a #GKeyFile
1282 </parameter_description>
1283 </parameter>
1284 <parameter name="group_name">
1285 <parameter_description> a group name
1286 </parameter_description>
1287 </parameter>
1288 <parameter name="key">
1289 <parameter_description> a key
1290 </parameter_description>
1291 </parameter>
1292 <parameter name="length">
1293 <parameter_description> the number of integers returned
1294 </parameter_description>
1295 </parameter>
1296 <parameter name="error">
1297 <parameter_description> return location for a #GError
1298 </parameter_description>
1299 </parameter>
1300 </parameters>
1301 <return> the values associated with the key as a list of
1302 integers, or %NULL if the key was not found or could not be parsed.
1303
1304 Since: 2.6
1305 </return>
1306 </function>
1307
1308 <function name="g_file_error_from_errno">
1309 <description>
1310 Gets a #GFileError constant based on the passed-in @errno.
1311 For example, if you pass in %EEXIST this function returns
1312 #G_FILE_ERROR_EXIST. Unlike @errno values, you can portably
1313 assume that all #GFileError values will exist.
1314
1315 Normally a #GFileError value goes into a #GError returned
1316 from a function that manipulates files. So you would use
1317 g_file_error_from_errno() when constructing a #GError.
1318
1319
1320 </description>
1321 <parameters>
1322 <parameter name="err_no">
1323 <parameter_description> an &quot;errno&quot; value
1324 </parameter_description>
1325 </parameter>
1326 </parameters>
1327 <return> #GFileError corresponding to the given @errno
1328 </return>
1329 </function>
1330
1331 <function name="g_main_context_find_source_by_funcs_user_data">
1332 <description>
1333 Finds a source with the given source functions and user data.  If
1334 multiple sources exist with the same source function and user data,
1335 the first one found will be returned.
1336
1337
1338 </description>
1339 <parameters>
1340 <parameter name="context">
1341 <parameter_description> a #GMainContext (if %NULL, the default context will be used).
1342 </parameter_description>
1343 </parameter>
1344 <parameter name="funcs">
1345 <parameter_description> the @source_funcs passed to g_source_new().
1346 </parameter_description>
1347 </parameter>
1348 <parameter name="user_data">
1349 <parameter_description> the user data from the callback.
1350 </parameter_description>
1351 </parameter>
1352 </parameters>
1353 <return> the source, if one was found, otherwise %NULL
1354 </return>
1355 </function>
1356
1357 <function name="g_bookmark_file_load_from_data_dirs">
1358 <description>
1359 This function looks for a desktop bookmark file named @file in the
1360 paths returned from g_get_user_data_dir() and g_get_system_data_dirs(), 
1361 loads the file into @bookmark and returns the file&apos;s full path in 
1362 @full_path.  If the file could not be loaded then an %error is
1363 set to either a #GFileError or #GBookmarkFileError.
1364
1365
1366 </description>
1367 <parameters>
1368 <parameter name="bookmark">
1369 <parameter_description> a #GBookmarkFile
1370 </parameter_description>
1371 </parameter>
1372 <parameter name="file">
1373 <parameter_description> a relative path to a filename to open and parse
1374 </parameter_description>
1375 </parameter>
1376 <parameter name="full_path">
1377 <parameter_description> return location for a string containing the full path
1378 of the file, or %NULL
1379 </parameter_description>
1380 </parameter>
1381 <parameter name="error">
1382 <parameter_description> return location for a #GError, or %NULL
1383 </parameter_description>
1384 </parameter>
1385 </parameters>
1386 <return> %TRUE if a key file could be loaded, %FALSE othewise
1387
1388 Since: 2.12
1389 </return>
1390 </function>
1391
1392 <function name="g_base64_decode_step">
1393 <description>
1394 Incrementally decode a sequence of binary data from its Base-64 stringified
1395 representation. By calling this function multiple times you can convert 
1396 data in chunks to avoid having to have the full encoded data in memory.
1397
1398 The output buffer must be large enough to fit all the data that will
1399 be written to it. Since base64 encodes 3 bytes in 4 chars you need
1400 at least: @len * 3 / 4 bytes.
1401
1402
1403 </description>
1404 <parameters>
1405 <parameter name="in">
1406 <parameter_description> binary input data
1407 </parameter_description>
1408 </parameter>
1409 <parameter name="len">
1410 <parameter_description> max length of @in data to decode
1411 </parameter_description>
1412 </parameter>
1413 <parameter name="out">
1414 <parameter_description> output buffer
1415 </parameter_description>
1416 </parameter>
1417 <parameter name="state">
1418 <parameter_description> Saved state between steps, initialize to 0
1419 </parameter_description>
1420 </parameter>
1421 <parameter name="save">
1422 <parameter_description> Saved state between steps, initialize to 0
1423 </parameter_description>
1424 </parameter>
1425 </parameters>
1426 <return> The number of bytes of output that was written
1427
1428 Since: 2.12
1429 </return>
1430 </function>
1431
1432 <function name="g_convert">
1433 <description>
1434 Converts a string from one character set to another.
1435
1436 Note that you should use g_iconv() for streaming 
1437 conversions&amp;lt;footnoteref linkend=&quot;streaming-state&quot;/&amp;gt;.
1438
1439
1440 </description>
1441 <parameters>
1442 <parameter name="str">
1443 <parameter_description>           the string to convert
1444 </parameter_description>
1445 </parameter>
1446 <parameter name="len">
1447 <parameter_description>           the length of the string, or -1 if the string is 
1448 nul-terminated&amp;lt;footnote id=&quot;nul-unsafe&quot;&amp;gt;
1449                      &amp;lt;para&amp;gt;
1450                        Note that some encodings may allow nul bytes to 
1451                        occur inside strings. In that case, using -1 for 
1452                        the @len parameter is unsafe.
1453                      &amp;lt;/para&amp;gt;
1454                    &amp;lt;/footnote&amp;gt;. 
1455 </parameter_description>
1456 </parameter>
1457 <parameter name="to_codeset">
1458 <parameter_description>    name of character set into which to convert @str
1459 </parameter_description>
1460 </parameter>
1461 <parameter name="from_codeset">
1462 <parameter_description>  character set of @str.
1463 </parameter_description>
1464 </parameter>
1465 <parameter name="bytes_read">
1466 <parameter_description>    location to store the number of bytes in the
1467 input string that were successfully converted, or %NULL.
1468 Even if the conversion was successful, this may be 
1469 less than @len if there were partial characters
1470 at the end of the input. If the error
1471 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
1472 stored will the byte offset after the last valid
1473 input sequence.
1474 </parameter_description>
1475 </parameter>
1476 <parameter name="bytes_written">
1477 <parameter_description> the number of bytes stored in the output buffer (not 
1478 including the terminating nul).
1479 </parameter_description>
1480 </parameter>
1481 <parameter name="error">
1482 <parameter_description>         location to store the error occuring, or %NULL to ignore
1483 errors. Any of the errors in #GConvertError may occur.
1484 </parameter_description>
1485 </parameter>
1486 </parameters>
1487 <return> If the conversion was successful, a newly allocated
1488 nul-terminated string, which must be freed with
1489 g_free(). Otherwise %NULL and @error will be set.
1490 </return>
1491 </function>
1492
1493 <function name="g_sequence_range_get_midpoint">
1494 <description>
1495 Finds an iterator somewhere in the range (@begin, @end). This
1496 iterator will be close to the middle of the range, but is not
1497 guaranteed to be &amp;lt;emphasis&amp;gt;exactly&amp;lt;/emphasis&amp;gt; in the middle.
1498
1499 The @begin and @end iterators must both point to the same sequence and
1500 @begin must come before or be equal to @end in the sequence.
1501
1502
1503 </description>
1504 <parameters>
1505 <parameter name="begin">
1506 <parameter_description> a #GSequenceIter
1507 </parameter_description>
1508 </parameter>
1509 <parameter name="end">
1510 <parameter_description> a #GSequenceIter
1511 </parameter_description>
1512 </parameter>
1513 </parameters>
1514 <return> A #GSequenceIter pointing somewhere in the
1515 (@begin, @end) range.
1516
1517 Since: 2.14
1518 </return>
1519 </function>
1520
1521 <function name="g_main_context_add_poll">
1522 <description>
1523 Adds a file descriptor to the set of file descriptors polled for
1524 this context. This will very seldomly be used directly. Instead
1525 a typical event source will use g_source_add_poll() instead.
1526
1527 </description>
1528 <parameters>
1529 <parameter name="context">
1530 <parameter_description> a #GMainContext (or %NULL for the default context)
1531 </parameter_description>
1532 </parameter>
1533 <parameter name="fd">
1534 <parameter_description> a #GPollFD structure holding information about a file
1535 descriptor to watch.
1536 </parameter_description>
1537 </parameter>
1538 <parameter name="priority">
1539 <parameter_description> the priority for this file descriptor which should be
1540 the same as the priority used for g_source_attach() to ensure that the
1541 file descriptor is polled whenever the results may be needed.
1542 </parameter_description>
1543 </parameter>
1544 </parameters>
1545 <return></return>
1546 </function>
1547
1548 <function name="g_option_group_set_translation_domain">
1549 <description>
1550 A convenience function to use gettext() for translating
1551 user-visible strings. 
1552
1553 Since: 2.6
1554
1555 </description>
1556 <parameters>
1557 <parameter name="group">
1558 <parameter_description> a #GOptionGroup
1559 </parameter_description>
1560 </parameter>
1561 <parameter name="domain">
1562 <parameter_description> the domain to use
1563 </parameter_description>
1564 </parameter>
1565 </parameters>
1566 <return></return>
1567 </function>
1568
1569 <function name="g_option_context_get_main_group">
1570 <description>
1571 Return value: the main group of @context, or %NULL if @context doesn&apos;t
1572
1573 </description>
1574 <parameters>
1575 <parameter name="context">
1576 <parameter_description> a #GOptionContext
1577 </parameter_description>
1578 </parameter>
1579 </parameters>
1580 <return> the main group of @context, or %NULL if @context doesn&apos;t
1581 have a main group. Note that group belongs to @context and should
1582 not be modified or freed.
1583
1584 Since: 2.6
1585 </return>
1586 </function>
1587
1588 <function name="g_unicode_canonical_ordering">
1589 <description>
1590 Computes the canonical ordering of a string in-place.  
1591 This rearranges decomposed characters in the string 
1592 according to their combining classes.  See the Unicode 
1593 manual for more information. 
1594
1595 </description>
1596 <parameters>
1597 <parameter name="string">
1598 <parameter_description> a UCS-4 encoded string.
1599 </parameter_description>
1600 </parameter>
1601 <parameter name="len">
1602 <parameter_description> the maximum length of @string to use.
1603 </parameter_description>
1604 </parameter>
1605 </parameters>
1606 <return></return>
1607 </function>
1608
1609 <function name="g_ascii_strdown">
1610 <description>
1611 Converts all upper case ASCII letters to lower case ASCII letters.
1612
1613
1614 </description>
1615 <parameters>
1616 <parameter name="str">
1617 <parameter_description> a string.
1618 </parameter_description>
1619 </parameter>
1620 <parameter name="len">
1621 <parameter_description> length of @str in bytes, or -1 if @str is nul-terminated.
1622 </parameter_description>
1623 </parameter>
1624 </parameters>
1625 <return> a newly-allocated string, with all the upper case
1626 characters in @str converted to lower case, with
1627 semantics that exactly match g_ascii_tolower(). (Note
1628 that this is unlike the old g_strdown(), which modified
1629 the string in place.)
1630 </return>
1631 </function>
1632
1633 <function name="g_bookmark_file_get_groups">
1634 <description>
1635 Retrieves the list of group names of the bookmark for @uri.
1636
1637 In the event the URI cannot be found, %NULL is returned and
1638 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
1639
1640 The returned array is %NULL terminated, so @length may optionally
1641 be %NULL.
1642
1643
1644 </description>
1645 <parameters>
1646 <parameter name="bookmark">
1647 <parameter_description> a #GBookmarkFile
1648 </parameter_description>
1649 </parameter>
1650 <parameter name="uri">
1651 <parameter_description> a valid URI
1652 </parameter_description>
1653 </parameter>
1654 <parameter name="length">
1655 <parameter_description> return location for the length of the returned string, or %NULL
1656 </parameter_description>
1657 </parameter>
1658 <parameter name="error">
1659 <parameter_description> return location for a #GError, or %NULL
1660 </parameter_description>
1661 </parameter>
1662 </parameters>
1663 <return> a newly allocated %NULL-terminated array of group names.
1664 Use g_strfreev() to free it.
1665
1666 Since: 2.12
1667 </return>
1668 </function>
1669
1670 <function name="g_freopen">
1671 <description>
1672 A wrapper for the POSIX freopen() function. The freopen() function
1673 opens a file and associates it with an existing stream.
1674
1675 See the C library manual for more details about freopen().
1676
1677
1678 </description>
1679 <parameters>
1680 <parameter name="filename">
1681 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
1682 </parameter_description>
1683 </parameter>
1684 <parameter name="mode">
1685 <parameter_description> a string describing the mode in which the file should be 
1686 opened
1687 </parameter_description>
1688 </parameter>
1689 <parameter name="stream">
1690 <parameter_description> an existing stream which will be reused, or %NULL
1691 </parameter_description>
1692 </parameter>
1693 </parameters>
1694 <return> A &amp;lt;type&amp;gt;FILE&amp;lt;/type&amp;gt; pointer if the file was successfully
1695 opened, or %NULL if an error occurred.
1696
1697 Since: 2.6
1698 </return>
1699 </function>
1700
1701 <function name="g_queue_foreach">
1702 <description>
1703 Calls @func for each element in the queue passing @user_data to the
1704 function.
1705
1706 Since: 2.4
1707
1708 </description>
1709 <parameters>
1710 <parameter name="queue">
1711 <parameter_description> a #GQueue
1712 </parameter_description>
1713 </parameter>
1714 <parameter name="func">
1715 <parameter_description> the function to call for each element&apos;s data
1716 </parameter_description>
1717 </parameter>
1718 <parameter name="user_data">
1719 <parameter_description> user data to pass to @func
1720 </parameter_description>
1721 </parameter>
1722 </parameters>
1723 <return></return>
1724 </function>
1725
1726 <function name="g_queue_remove">
1727 <description>
1728 Removes the first element in @queue that contains @data. 
1729
1730 Since: 2.4
1731
1732 </description>
1733 <parameters>
1734 <parameter name="queue">
1735 <parameter_description> a #GQueue
1736 </parameter_description>
1737 </parameter>
1738 <parameter name="data">
1739 <parameter_description> data to remove.
1740 </parameter_description>
1741 </parameter>
1742 </parameters>
1743 <return></return>
1744 </function>
1745
1746 <function name="g_str_equal">
1747 <description>
1748 Compares two strings for byte-by-byte equality and returns %TRUE 
1749 if they are equal. It can be passed to g_hash_table_new() as the 
1750 @key_equal_func parameter, when using strings as keys in a #GHashTable.
1751
1752
1753 </description>
1754 <parameters>
1755 <parameter name="v1">
1756 <parameter_description> a key
1757 </parameter_description>
1758 </parameter>
1759 <parameter name="v2">
1760 <parameter_description> a key to compare with @v1
1761 </parameter_description>
1762 </parameter>
1763 </parameters>
1764 <return> %TRUE if the two keys match
1765 </return>
1766 </function>
1767
1768 <function name="g_key_file_get_start_group">
1769 <description>
1770 Return value: The start group of the key file.
1771
1772 </description>
1773 <parameters>
1774 <parameter name="key_file">
1775 <parameter_description> a #GKeyFile
1776 </parameter_description>
1777 </parameter>
1778 </parameters>
1779 <return> The start group of the key file.
1780
1781 Since: 2.6
1782 </return>
1783 </function>
1784
1785 <function name="g_tree_lookup">
1786 <description>
1787 Gets the value corresponding to the given key. Since a #GTree is 
1788 automatically balanced as key/value pairs are added, key lookup is very 
1789 fast.
1790
1791
1792 </description>
1793 <parameters>
1794 <parameter name="tree">
1795 <parameter_description> a #GTree.
1796 </parameter_description>
1797 </parameter>
1798 <parameter name="key">
1799 <parameter_description> the key to look up.
1800 </parameter_description>
1801 </parameter>
1802 </parameters>
1803 <return> the value corresponding to the key, or %NULL if the key was
1804 not found.
1805 </return>
1806 </function>
1807
1808 <function name="g_hash_table_destroy">
1809 <description>
1810 Destroys all keys and values in the #GHashTable and decrements its
1811 reference count by 1. If keys and/or values are dynamically allocated,
1812 you should either free them first or create the #GHashTable with destroy
1813 notifiers using g_hash_table_new_full(). In the latter case the destroy
1814 functions you supplied will be called on all keys and values during the
1815 destruction phase.
1816
1817 </description>
1818 <parameters>
1819 <parameter name="hash_table">
1820 <parameter_description> a #GHashTable.
1821 </parameter_description>
1822 </parameter>
1823 </parameters>
1824 <return></return>
1825 </function>
1826
1827 <function name="g_key_file_get_double">
1828 <description>
1829 Return value: the value associated with the key as a double, or
1830
1831 </description>
1832 <parameters>
1833 <parameter name="key_file">
1834 <parameter_description> a #GKeyFile
1835 </parameter_description>
1836 </parameter>
1837 <parameter name="group_name">
1838 <parameter_description> a group name
1839 </parameter_description>
1840 </parameter>
1841 <parameter name="key">
1842 <parameter_description> a key
1843 </parameter_description>
1844 </parameter>
1845 <parameter name="error">
1846 <parameter_description> return location for a #GError
1847 </parameter_description>
1848 </parameter>
1849 </parameters>
1850 <return> the value associated with the key as a double, or
1851 0.0 if the key was not found or could not be parsed.
1852
1853 Since: 2.12
1854 </return>
1855 </function>
1856
1857 <function name="g_bookmark_file_has_item">
1858 <description>
1859 Looks whether the desktop bookmark has an item with its URI set to @uri.
1860
1861
1862 </description>
1863 <parameters>
1864 <parameter name="bookmark">
1865 <parameter_description> a #GBookmarkFile
1866 </parameter_description>
1867 </parameter>
1868 <parameter name="uri">
1869 <parameter_description> a valid URI
1870 </parameter_description>
1871 </parameter>
1872 </parameters>
1873 <return> %TRUE if @uri is inside @bookmark, %FALSE otherwise
1874
1875 Since: 2.12
1876 </return>
1877 </function>
1878
1879 <function name="g_thread_pool_get_max_idle_time">
1880 <description>
1881 This function will return the maximum @interval that a thread will
1882 wait in the thread pool for new tasks before being stopped.
1883
1884 If this function returns 0, threads waiting in the thread pool for
1885 new work are not stopped.
1886
1887
1888 </description>
1889 <parameters>
1890 </parameters>
1891 <return> the maximum @interval to wait for new tasks in the
1892 thread pool before stopping the thread (1/1000ths of a second).
1893
1894 Since: 2.10
1895 </return>
1896 </function>
1897
1898 <function name="g_async_queue_ref">
1899 <description>
1900 Increases the reference count of the asynchronous @queue by 1. You
1901 do not need to hold the lock to call this function.
1902
1903
1904 </description>
1905 <parameters>
1906 <parameter name="queue">
1907 <parameter_description> a #GAsyncQueue.
1908 </parameter_description>
1909 </parameter>
1910 </parameters>
1911 <return> the @queue that was passed in (since 2.6)
1912 </return>
1913 </function>
1914
1915 <function name="g_string_erase">
1916 <description>
1917 Removes @len bytes from a #GString, starting at position @pos.
1918 The rest of the #GString is shifted down to fill the gap.
1919
1920
1921 </description>
1922 <parameters>
1923 <parameter name="string">
1924 <parameter_description> a #GString
1925 </parameter_description>
1926 </parameter>
1927 <parameter name="pos">
1928 <parameter_description> the position of the content to remove
1929 </parameter_description>
1930 </parameter>
1931 <parameter name="len">
1932 <parameter_description> the number of bytes to remove, or -1 to remove all
1933 following bytes
1934 </parameter_description>
1935 </parameter>
1936 </parameters>
1937 <return> @string
1938 </return>
1939 </function>
1940
1941 <function name="g_get_user_data_dir">
1942 <description>
1943 Return value: a string owned by GLib that must not be modified 
1944
1945 </description>
1946 <parameters>
1947 </parameters>
1948 <return> a string owned by GLib that must not be modified 
1949 or freed.
1950 Since: 2.6
1951 </return>
1952 </function>
1953
1954 <function name="g_ascii_strncasecmp">
1955 <description>
1956 Compare @s1 and @s2, ignoring the case of ASCII characters and any
1957 characters after the first @n in each string.
1958
1959 Unlike the BSD strcasecmp() function, this only recognizes standard
1960 ASCII letters and ignores the locale, treating all non-ASCII
1961 characters as if they are not letters.
1962
1963 The same warning as in g_ascii_strcasecmp() applies: Use this
1964 function only on strings known to be in encodings where bytes
1965 corresponding to ASCII letters always represent themselves.
1966
1967
1968 </description>
1969 <parameters>
1970 <parameter name="s1">
1971 <parameter_description> string to compare with @s2.
1972 </parameter_description>
1973 </parameter>
1974 <parameter name="s2">
1975 <parameter_description> string to compare with @s1.
1976 </parameter_description>
1977 </parameter>
1978 <parameter name="n">
1979 <parameter_description>  number of characters to compare.
1980 </parameter_description>
1981 </parameter>
1982 </parameters>
1983 <return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2, 
1984 or a positive value if @s1 &amp;gt; @s2.
1985 </return>
1986 </function>
1987
1988 <function name="g_source_unref">
1989 <description>
1990 Decreases the reference count of a source by one. If the
1991 resulting reference count is zero the source and associated
1992 memory will be destroyed. 
1993
1994 </description>
1995 <parameters>
1996 <parameter name="source">
1997 <parameter_description> a #GSource
1998 </parameter_description>
1999 </parameter>
2000 </parameters>
2001 <return></return>
2002 </function>
2003
2004 <function name="g_hash_table_ref">
2005 <description>
2006 Atomically increments the reference count of @hash_table by one.
2007 This function is MT-safe and may be called from any thread.
2008
2009
2010 </description>
2011 <parameters>
2012 <parameter name="hash_table">
2013 <parameter_description> a valid #GHashTable.
2014 </parameter_description>
2015 </parameter>
2016 </parameters>
2017 <return> the passed in #GHashTable.
2018
2019 Since: 2.10
2020 </return>
2021 </function>
2022
2023 <function name="g_main_loop_run">
2024 <description>
2025 Runs a main loop until g_main_loop_quit() is called on the loop.
2026 If this is called for the thread of the loop&apos;s #GMainContext,
2027 it will process events from the loop, otherwise it will
2028 simply wait.
2029
2030 </description>
2031 <parameters>
2032 <parameter name="loop">
2033 <parameter_description> a #GMainLoop
2034 </parameter_description>
2035 </parameter>
2036 </parameters>
2037 <return></return>
2038 </function>
2039
2040 <function name="g_queue_push_head_link">
2041 <description>
2042 Adds a new element at the head of the queue.
2043
2044 </description>
2045 <parameters>
2046 <parameter name="queue">
2047 <parameter_description> a #GQueue.
2048 </parameter_description>
2049 </parameter>
2050 <parameter name="link_">
2051 <parameter_description> a single #GList element, &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; a list with
2052 more than one element.
2053 </parameter_description>
2054 </parameter>
2055 </parameters>
2056 <return></return>
2057 </function>
2058
2059 <function name="g_unichar_iswide">
2060 <description>
2061 Determines if a character is typically rendered in a double-width
2062 cell.
2063
2064
2065 </description>
2066 <parameters>
2067 <parameter name="c">
2068 <parameter_description> a Unicode character
2069 </parameter_description>
2070 </parameter>
2071 </parameters>
2072 <return> %TRUE if the character is wide
2073 </return>
2074 </function>
2075
2076 <function name="g_strdown">
2077 <description>
2078 Converts a string to lower case.  
2079
2080
2081 </description>
2082 <parameters>
2083 <parameter name="string">
2084 <parameter_description> the string to convert.
2085 </parameter_description>
2086 </parameter>
2087 </parameters>
2088 <return> the string 
2089
2090 Deprecated:2.2: This function is totally broken for the reasons discussed 
2091 in the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown() 
2092 instead.
2093 </return>
2094 </function>
2095
2096 <function name="g_queue_find_custom">
2097 <description>
2098 Finds an element in a #GQueue, using a supplied function to find the
2099 desired element. It iterates over the queue, calling the given function
2100 which should return 0 when the desired element is found. The function
2101 takes two gconstpointer arguments, the #GQueue element&apos;s data as the
2102 first argument and the given user data as the second argument.
2103
2104
2105 </description>
2106 <parameters>
2107 <parameter name="queue">
2108 <parameter_description> a #GQueue
2109 </parameter_description>
2110 </parameter>
2111 <parameter name="data">
2112 <parameter_description> user data passed to @func
2113 </parameter_description>
2114 </parameter>
2115 <parameter name="func">
2116 <parameter_description> a #GCompareFunc to call for each element. It should return 0
2117 when the desired element is found
2118 </parameter_description>
2119 </parameter>
2120 </parameters>
2121 <return> The found link, or %NULL if it wasn&apos;t found
2122
2123 Since: 2.4
2124 </return>
2125 </function>
2126
2127 <function name="g_regex_get_capture_count">
2128 <description>
2129 Returns: the number of capturing subpatterns
2130
2131 </description>
2132 <parameters>
2133 <parameter name="regex">
2134 <parameter_description> a #GRegex
2135 </parameter_description>
2136 </parameter>
2137 </parameters>
2138 <return> the number of capturing subpatterns
2139
2140 Since: 2.14
2141 </return>
2142 </function>
2143
2144 <function name="g_option_group_set_error_hook">
2145 <description>
2146 Associates a function with @group which will be called 
2147 from g_option_context_parse() when an error occurs.
2148
2149 Note that the user data to be passed to @pre_parse_func and
2150 @post_parse_func can be specified when constructing the group
2151 with g_option_group_new().
2152
2153 Since: 2.6
2154
2155 </description>
2156 <parameters>
2157 <parameter name="group">
2158 <parameter_description> a #GOptionGroup
2159 </parameter_description>
2160 </parameter>
2161 <parameter name="error_func">
2162 <parameter_description> a function to call when an error occurs
2163 </parameter_description>
2164 </parameter>
2165 </parameters>
2166 <return></return>
2167 </function>
2168
2169 <function name="g_unichar_validate">
2170 <description>
2171 Checks whether @ch is a valid Unicode character. Some possible
2172 integer values of @ch will not be valid. 0 is considered a valid
2173 character, though it&apos;s normally a string terminator.
2174
2175
2176 </description>
2177 <parameters>
2178 <parameter name="ch">
2179 <parameter_description> a Unicode character
2180 </parameter_description>
2181 </parameter>
2182 </parameters>
2183 <return> %TRUE if @ch is a valid Unicode character
2184 </return>
2185 </function>
2186
2187 <function name="g_thread_pool_free">
2188 <description>
2189 Frees all resources allocated for @pool.
2190
2191 If @immediate is %TRUE, no new task is processed for
2192 @pool. Otherwise @pool is not freed before the last task is
2193 processed. Note however, that no thread of this pool is
2194 interrupted, while processing a task. Instead at least all still
2195 running threads can finish their tasks before the @pool is freed.
2196
2197 If @wait_ is %TRUE, the functions does not return before all tasks
2198 to be processed (dependent on @immediate, whether all or only the
2199 currently running) are ready. Otherwise the function returns immediately.
2200
2201 After calling this function @pool must not be used anymore. 
2202
2203 </description>
2204 <parameters>
2205 <parameter name="pool">
2206 <parameter_description> a #GThreadPool
2207 </parameter_description>
2208 </parameter>
2209 <parameter name="immediate">
2210 <parameter_description> should @pool shut down immediately?
2211 </parameter_description>
2212 </parameter>
2213 <parameter name="wait_">
2214 <parameter_description> should the function wait for all tasks to be finished?
2215 </parameter_description>
2216 </parameter>
2217 </parameters>
2218 <return></return>
2219 </function>
2220
2221 <function name="g_bookmark_file_get_modified">
2222 <description>
2223 Gets the time when the bookmark for @uri was last modified.
2224
2225 In the event the URI cannot be found, -1 is returned and
2226 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
2227
2228
2229 </description>
2230 <parameters>
2231 <parameter name="bookmark">
2232 <parameter_description> a #GBookmarkFile
2233 </parameter_description>
2234 </parameter>
2235 <parameter name="uri">
2236 <parameter_description> a valid URI
2237 </parameter_description>
2238 </parameter>
2239 <parameter name="error">
2240 <parameter_description> return location for a #GError, or %NULL
2241 </parameter_description>
2242 </parameter>
2243 </parameters>
2244 <return> a timestamp
2245
2246 Since: 2.12
2247 </return>
2248 </function>
2249
2250 <function name="g_utf8_prev_char">
2251 <description>
2252 Finds the previous UTF-8 character in the string before @p.
2253
2254 @p does not have to be at the beginning of a UTF-8 character. No check
2255 is made to see if the character found is actually valid other than
2256 it starts with an appropriate byte. If @p might be the first
2257 character of the string, you must use g_utf8_find_prev_char() instead.
2258
2259
2260 </description>
2261 <parameters>
2262 <parameter name="p">
2263 <parameter_description> a pointer to a position within a UTF-8 encoded string
2264 </parameter_description>
2265 </parameter>
2266 </parameters>
2267 <return> a pointer to the found character.
2268 </return>
2269 </function>
2270
2271 <function name="g_fprintf">
2272 <description>
2273 An implementation of the standard fprintf() function which supports 
2274 positional parameters, as specified in the Single Unix Specification.
2275
2276
2277 </description>
2278 <parameters>
2279 <parameter name="file">
2280 <parameter_description> the stream to write to.
2281 </parameter_description>
2282 </parameter>
2283 <parameter name="format">
2284 <parameter_description> a standard printf() format string, but notice 
2285 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
2286 </parameter_description>
2287 </parameter>
2288 <parameter name="Varargs">
2289 <parameter_description> the arguments to insert in the output.
2290 </parameter_description>
2291 </parameter>
2292 </parameters>
2293 <return> the number of characters printed.
2294
2295 Since: 2.2
2296 </return>
2297 </function>
2298
2299 <function name="find_conversion">
2300 <description>
2301 Find the next conversion in a printf-style format string.
2302 Partially based on code from printf-parser.c,
2303 Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.
2304
2305
2306 </description>
2307 <parameters>
2308 <parameter name="format">
2309 <parameter_description> a printf-style format string
2310 </parameter_description>
2311 </parameter>
2312 <parameter name="after">
2313 <parameter_description> location to store a pointer to the character after
2314 the returned conversion. On a %NULL return, returns the
2315 pointer to the trailing NUL in the string
2316 </parameter_description>
2317 </parameter>
2318 </parameters>
2319 <return> pointer to the next conversion in @format,
2320 or %NULL, if none.
2321 </return>
2322 </function>
2323
2324 <function name="g_filename_from_utf8">
2325 <description>
2326 Converts a string from UTF-8 to the encoding GLib uses for
2327 filenames. Note that on Windows GLib uses UTF-8 for filenames;
2328 on other platforms, this function indirectly depends on the 
2329 &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
2330
2331
2332 </description>
2333 <parameters>
2334 <parameter name="utf8string">
2335 <parameter_description>    a UTF-8 encoded string.
2336 </parameter_description>
2337 </parameter>
2338 <parameter name="len">
2339 <parameter_description>           the length of the string, or -1 if the string is
2340 nul-terminated.
2341 </parameter_description>
2342 </parameter>
2343 <parameter name="bytes_read">
2344 <parameter_description>    location to store the number of bytes in the
2345 input string that were successfully converted, or %NULL.
2346 Even if the conversion was successful, this may be 
2347 less than @len if there were partial characters
2348 at the end of the input. If the error
2349 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
2350 stored will the byte offset after the last valid
2351 input sequence.
2352 </parameter_description>
2353 </parameter>
2354 <parameter name="bytes_written">
2355 <parameter_description> the number of bytes stored in the output buffer (not 
2356 including the terminating nul).
2357 </parameter_description>
2358 </parameter>
2359 <parameter name="error">
2360 <parameter_description>         location to store the error occuring, or %NULL to ignore
2361 errors. Any of the errors in #GConvertError may occur.
2362 </parameter_description>
2363 </parameter>
2364 </parameters>
2365 <return> The converted string, or %NULL on an error.
2366 </return>
2367 </function>
2368
2369 <function name="g_get_host_name">
2370 <description>
2371 Return a name for the machine. 
2372
2373 The returned name is not necessarily a fully-qualified domain name,
2374 or even present in DNS or some other name service at all. It need
2375 not even be unique on your local network or site, but usually it
2376 is. Callers should not rely on the return value having any specific
2377 properties like uniqueness for security purposes. Even if the name
2378 of the machine is changed while an application is running, the
2379 return value from this function does not change. The returned
2380 string is owned by GLib and should not be modified or freed. If no
2381 name can be determined, a default fixed string &quot;localhost&quot; is
2382 returned.
2383
2384
2385 </description>
2386 <parameters>
2387 </parameters>
2388 <return> the host name of the machine.
2389
2390 Since: 2.8
2391 </return>
2392 </function>
2393
2394 <function name="g_spawn_command_line_async">
2395 <description>
2396 A simple version of g_spawn_async() that parses a command line with
2397 g_shell_parse_argv() and passes it to g_spawn_async(). Runs a
2398 command line in the background. Unlike g_spawn_async(), the
2399 %G_SPAWN_SEARCH_PATH flag is enabled, other flags are not. Note
2400 that %G_SPAWN_SEARCH_PATH can have security implications, so
2401 consider using g_spawn_async() directly if appropriate. Possible
2402 errors are those from g_shell_parse_argv() and g_spawn_async().
2403
2404 The same concerns on Windows apply as for g_spawn_command_line_sync().
2405
2406
2407 </description>
2408 <parameters>
2409 <parameter name="command_line">
2410 <parameter_description> a command line
2411 </parameter_description>
2412 </parameter>
2413 <parameter name="error">
2414 <parameter_description> return location for errors
2415 </parameter_description>
2416 </parameter>
2417 </parameters>
2418 <return> %TRUE on success, %FALSE if error is set.
2419 </return>
2420 </function>
2421
2422 <function name="g_hash_table_lookup">
2423 <description>
2424 Looks up a key in a #GHashTable. Note that this function cannot
2425 distinguish between a key that is not present and one which is present
2426 and has the value %NULL. If you need this distinction, use
2427 g_hash_table_lookup_extended().
2428
2429
2430 </description>
2431 <parameters>
2432 <parameter name="hash_table">
2433 <parameter_description> a #GHashTable.
2434 </parameter_description>
2435 </parameter>
2436 <parameter name="key">
2437 <parameter_description> the key to look up.
2438 </parameter_description>
2439 </parameter>
2440 </parameters>
2441 <return> the associated value, or %NULL if the key is not found.
2442 </return>
2443 </function>
2444
2445 <function name="g_random_double_range">
2446 <description>
2447 Return value: A random number.
2448
2449 </description>
2450 <parameters>
2451 <parameter name="begin">
2452 <parameter_description> lower closed bound of the interval.
2453 </parameter_description>
2454 </parameter>
2455 <parameter name="end">
2456 <parameter_description> upper open bound of the interval.
2457 </parameter_description>
2458 </parameter>
2459 </parameters>
2460 <return> A random number.
2461 </return>
2462 </function>
2463
2464 <function name="g_time_val_add">
2465 <description>
2466 Adds the given number of microseconds to @time_. @microseconds can
2467 also be negative to decrease the value of @time_.
2468
2469 </description>
2470 <parameters>
2471 <parameter name="time_">
2472 <parameter_description> a #GTimeVal
2473 </parameter_description>
2474 </parameter>
2475 <parameter name="microseconds">
2476 <parameter_description> number of microseconds to add to @time
2477 </parameter_description>
2478 </parameter>
2479 </parameters>
2480 <return></return>
2481 </function>
2482
2483 <function name="g_key_file_set_double">
2484 <description>
2485 Associates a new double value with @key under @group_name.
2486 If @key cannot be found then it is created. If @group_name
2487 is %NULL, the start group is used.
2488
2489 Since: 2.12
2490
2491 </description>
2492 <parameters>
2493 <parameter name="key_file">
2494 <parameter_description> a #GKeyFile
2495 </parameter_description>
2496 </parameter>
2497 <parameter name="group_name">
2498 <parameter_description> a group name
2499 </parameter_description>
2500 </parameter>
2501 <parameter name="key">
2502 <parameter_description> a key
2503 </parameter_description>
2504 </parameter>
2505 <parameter name="value">
2506 <parameter_description> an double value
2507 </parameter_description>
2508 </parameter>
2509 </parameters>
2510 <return></return>
2511 </function>
2512
2513 <function name="g_base64_encode">
2514 <description>
2515 Encode a sequence of binary data into its Base-64 stringified
2516 representation.
2517
2518
2519 </description>
2520 <parameters>
2521 <parameter name="data">
2522 <parameter_description> the binary data to encode
2523 </parameter_description>
2524 </parameter>
2525 <parameter name="len">
2526 <parameter_description> the length of @data
2527 </parameter_description>
2528 </parameter>
2529 </parameters>
2530 <return> a newly allocated, zero-terminated Base-64 encoded
2531 string representing @data.
2532
2533 Since: 2.12
2534 </return>
2535 </function>
2536
2537 <function name="g_mkdir_with_parents">
2538 <description>
2539 Create a directory if it doesn&apos;t already exist. Create intermediate
2540 parent directories as needed, too.
2541
2542
2543 </description>
2544 <parameters>
2545 <parameter name="pathname">
2546 <parameter_description> a pathname in the GLib file name encoding
2547 </parameter_description>
2548 </parameter>
2549 <parameter name="mode">
2550 <parameter_description> permissions to use for newly created directories
2551 </parameter_description>
2552 </parameter>
2553 </parameters>
2554 <return> 0 if the directory already exists, or was successfully
2555 created. Returns -1 if an error occurred, with errno set.
2556
2557 Since: 2.8
2558 </return>
2559 </function>
2560
2561 <function name="g_option_context_new">
2562 <description>
2563 Creates a new option context. 
2564
2565 The @parameter_string can serve multiple purposes. It can be used
2566 to add descriptions for &quot;rest&quot; arguments, which are not parsed by
2567 the #GOptionContext, typically something like &quot;FILES&quot; or
2568 &quot;FILE1 FILE2...&quot;. If you are using #G_OPTION_REMAINING for
2569 collecting &quot;rest&quot; arguments, GLib handles this automatically by
2570 using the @arg_description of the corresponding #GOptionEntry in
2571 the usage summary.
2572
2573 Another usage is to give a short summary of the program
2574 functionality, like &quot; - frob the strings&quot;, which will be displayed
2575 in the same line as the usage. For a longer description of the
2576 program functionality that should be displayed as a paragraph
2577 below the usage line, use g_option_context_set_summary().
2578
2579 Note that the @parameter_string is translated (see
2580 g_option_context_set_translate_func()). 
2581
2582
2583 </description>
2584 <parameters>
2585 <parameter name="parameter_string">
2586 <parameter_description> a string which is displayed in
2587 the first line of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output, after the
2588 usage summary 
2589 &amp;lt;literal&amp;gt;&amp;lt;replaceable&amp;gt;programname&amp;lt;/replaceable&amp;gt; [OPTION...]&amp;lt;/literal&amp;gt;
2590 </parameter_description>
2591 </parameter>
2592 </parameters>
2593 <return> a newly created #GOptionContext, which must be
2594 freed with g_option_context_free() after use.
2595
2596 Since: 2.6
2597 </return>
2598 </function>
2599
2600 <function name="g_io_channel_write_unichar">
2601 <description>
2602 This function cannot be called on a channel with %NULL encoding.
2603
2604
2605 </description>
2606 <parameters>
2607 <parameter name="channel">
2608 <parameter_description> a #GIOChannel
2609 </parameter_description>
2610 </parameter>
2611 <parameter name="thechar">
2612 <parameter_description> a character
2613 </parameter_description>
2614 </parameter>
2615 <parameter name="error">
2616 <parameter_description> A location to return an error of type #GConvertError
2617 or #GIOChannelError
2618 </parameter_description>
2619 </parameter>
2620 </parameters>
2621 <return> a #GIOStatus
2622 </return>
2623 </function>
2624
2625 <function name="g_child_watch_add">
2626 <description>
2627 Sets a function to be called when the child indicated by @pid 
2628 exits, at a default priority, #G_PRIORITY_DEFAULT.
2629
2630 If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() 
2631 you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to 
2632 the spawn function for the child watching to work.
2633
2634 Note that on platforms where #GPid must be explicitly closed
2635 (see g_spawn_close_pid()) @pid must not be closed while the
2636 source is still active. Typically, you will want to call
2637 g_spawn_close_pid() in the callback function for the source.
2638
2639 GLib supports only a single callback per process id.
2640
2641
2642 </description>
2643 <parameters>
2644 <parameter name="pid">
2645 <parameter_description>      process id of a child process to watch
2646 </parameter_description>
2647 </parameter>
2648 <parameter name="function">
2649 <parameter_description> function to call
2650 </parameter_description>
2651 </parameter>
2652 <parameter name="data">
2653 <parameter_description>     data to pass to @function
2654 </parameter_description>
2655 </parameter>
2656 </parameters>
2657 <return> the ID (greater than 0) of the event source.
2658
2659 Since: 2.4
2660 </return>
2661 </function>
2662
2663 <function name="g_async_queue_length_unlocked">
2664 <description>
2665 Return value: the length of the @queue.
2666
2667 </description>
2668 <parameters>
2669 <parameter name="queue">
2670 <parameter_description> a #GAsyncQueue.
2671 </parameter_description>
2672 </parameter>
2673 </parameters>
2674 <return> the length of the @queue.
2675 </return>
2676 </function>
2677
2678 <function name="g_string_chunk_insert">
2679 <description>
2680 Adds a copy of @string to the #GStringChunk.
2681 It returns a pointer to the new copy of the string 
2682 in the #GStringChunk. The characters in the string 
2683 can be changed, if necessary, though you should not 
2684 change anything after the end of the string.
2685
2686 Unlike g_string_chunk_insert_const(), this function 
2687 does not check for duplicates. Also strings added 
2688 with g_string_chunk_insert() will not be searched 
2689 by g_string_chunk_insert_const() when looking for 
2690 duplicates.
2691
2692
2693 </description>
2694 <parameters>
2695 <parameter name="chunk">
2696 <parameter_description> a #GStringChunk
2697 </parameter_description>
2698 </parameter>
2699 <parameter name="string">
2700 <parameter_description> the string to add
2701 </parameter_description>
2702 </parameter>
2703 </parameters>
2704 <return> a pointer to the copy of @string within 
2705 the #GStringChunk
2706 </return>
2707 </function>
2708
2709 <function name="g_find_program_in_path">
2710 <description>
2711 Locates the first executable named @program in the user&apos;s path, in the
2712 same way that execvp() would locate it. Returns an allocated string
2713 with the absolute path name, or %NULL if the program is not found in
2714 the path. If @program is already an absolute path, returns a copy of
2715 @program if @program exists and is executable, and %NULL otherwise.
2716
2717 On Windows, if @program does not have a file type suffix, tries
2718 with the suffixes .exe, .cmd, .bat and .com, and the suffixes in
2719 the &amp;lt;envar&amp;gt;PATHEXT&amp;lt;/envar&amp;gt; environment variable. 
2720
2721 On Windows, it looks for the file in the same way as CreateProcess() 
2722 would. This means first in the directory where the executing
2723 program was loaded from, then in the current directory, then in the
2724 Windows 32-bit system directory, then in the Windows directory, and
2725 finally in the directories in the &amp;lt;envar&amp;gt;PATH&amp;lt;/envar&amp;gt; environment 
2726 variable. If the program is found, the return value contains the 
2727 full name including the type suffix.
2728
2729
2730 </description>
2731 <parameters>
2732 <parameter name="program">
2733 <parameter_description> a program name in the GLib file name encoding
2734 </parameter_description>
2735 </parameter>
2736 </parameters>
2737 <return> absolute path, or %NULL
2738 </return>
2739 </function>
2740
2741 <function name="g_error_free">
2742 <description>
2743 Frees a #GError and associated resources.
2744
2745
2746 </description>
2747 <parameters>
2748 <parameter name="error">
2749 <parameter_description> a #GError
2750 </parameter_description>
2751 </parameter>
2752 </parameters>
2753 <return></return>
2754 </function>
2755
2756 <function name="g_idle_add">
2757 <description>
2758 Adds a function to be called whenever there are no higher priority
2759 events pending to the default main loop. The function is given the
2760 default idle priority, #G_PRIORITY_DEFAULT_IDLE.  If the function
2761 Return value: the ID (greater than 0) of the event source.
2762
2763 </description>
2764 <parameters>
2765 <parameter name="function">
2766 <parameter_description> function to call 
2767 </parameter_description>
2768 </parameter>
2769 <parameter name="data">
2770 <parameter_description> data to pass to @function.
2771 </parameter_description>
2772 </parameter>
2773 </parameters>
2774 <return> the ID (greater than 0) of the event source.
2775 </return>
2776 </function>
2777
2778 <function name="g_string_append_printf">
2779 <description>
2780 Appends a formatted string onto the end of a #GString.
2781 This function is is similar to g_string_printf() except 
2782 that the text is appended to the #GString.
2783
2784 </description>
2785 <parameters>
2786 <parameter name="string">
2787 <parameter_description> a #GString
2788 </parameter_description>
2789 </parameter>
2790 <parameter name="format">
2791 <parameter_description> the string format. See the printf() documentation
2792 </parameter_description>
2793 </parameter>
2794 <parameter name="Varargs">
2795 <parameter_description> the parameters to insert into the format string
2796 </parameter_description>
2797 </parameter>
2798 </parameters>
2799 <return></return>
2800 </function>
2801
2802 <function name="g_random_double">
2803 <description>
2804 Return value: A random number.
2805
2806 </description>
2807 <parameters>
2808 </parameters>
2809 <return> A random number.
2810 </return>
2811 </function>
2812
2813 <function name="g_markup_printf_escaped">
2814 <description>
2815 Formats arguments according to @format, escaping
2816 all string and character arguments in the fashion
2817 of g_markup_escape_text(). This is useful when you
2818 want to insert literal strings into XML-style markup
2819 output, without having to worry that the strings
2820 might themselves contain markup.
2821
2822 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
2823 const char *store = &quot;Fortnum &amp;amp; Mason&quot;;
2824 const char *item = &quot;Tea&quot;;
2825 char *output;
2826 &amp;nbsp;
2827 output = g_markup_printf_escaped (&quot;&amp;lt;purchase&amp;gt;&quot;
2828 &quot;&amp;lt;store&amp;gt;&amp;percnt;s&amp;lt;/store&amp;gt;&quot;
2829 &quot;&amp;lt;item&amp;gt;&amp;percnt;s&amp;lt;/item&amp;gt;&quot;
2830 &quot;&amp;lt;/purchase&amp;gt;&quot;,
2831 store, item);
2832 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
2833
2834
2835 </description>
2836 <parameters>
2837 <parameter name="format">
2838 <parameter_description> printf() style format string
2839 </parameter_description>
2840 </parameter>
2841 <parameter name="Varargs">
2842 <parameter_description> the arguments to insert in the format string
2843 </parameter_description>
2844 </parameter>
2845 </parameters>
2846 <return> newly allocated result from formatting
2847 operation. Free with g_free().
2848
2849 Since: 2.4
2850 </return>
2851 </function>
2852
2853 <function name="g_utf8_find_prev_char">
2854 <description>
2855 Given a position @p with a UTF-8 encoded string @str, find the start
2856 of the previous UTF-8 character starting before @p. Returns %NULL if no
2857 UTF-8 characters are present in @str before @p.
2858
2859 @p does not have to be at the beginning of a UTF-8 character. No check
2860 is made to see if the character found is actually valid other than
2861 it starts with an appropriate byte.
2862
2863
2864 </description>
2865 <parameters>
2866 <parameter name="str">
2867 <parameter_description> pointer to the beginning of a UTF-8 encoded string
2868 </parameter_description>
2869 </parameter>
2870 <parameter name="p">
2871 <parameter_description> pointer to some position within @str
2872 </parameter_description>
2873 </parameter>
2874 </parameters>
2875 <return> a pointer to the found character or %NULL.
2876 </return>
2877 </function>
2878
2879 <function name="g_sequence_search_iter">
2880 <description>
2881 Like g_sequence_search(), but uses
2882 a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
2883 the compare function.
2884
2885
2886 </description>
2887 <parameters>
2888 <parameter name="seq">
2889 <parameter_description> a #GSequence
2890 </parameter_description>
2891 </parameter>
2892 <parameter name="data">
2893 <parameter_description> data for the new item
2894 </parameter_description>
2895 </parameter>
2896 <parameter name="iter_cmp">
2897 <parameter_description> the #GSequenceIterCompare function used to compare iterators
2898 in the sequence. It is called with two iterators pointing into @seq.
2899 It should return 0 if the iterators are equal, a negative value if the
2900 first iterator comes before the second, and a positive value if the
2901 second iterator comes before the first.
2902 </parameter_description>
2903 </parameter>
2904 <parameter name="cmp_data">
2905 <parameter_description> user data passed to @iter_cmp
2906 </parameter_description>
2907 </parameter>
2908 </parameters>
2909 <return> a #GSequenceIter pointing to the position in @seq
2910 where @data would have been inserted according to @iter_cmp and @cmp_data.
2911
2912 Since: 2.14
2913 </return>
2914 </function>
2915
2916 <function name="g_sequence_move">
2917 <description>
2918 Moves the item pointed to by @src to the position indicated by @dest.
2919 After calling this function @dest will point to the position immediately
2920 after @src. It is allowed for @src and @dest to point into different
2921 sequences.
2922
2923 Since: 2.14
2924
2925 </description>
2926 <parameters>
2927 <parameter name="src">
2928 <parameter_description> a #GSequenceIter pointing to the item to move
2929 </parameter_description>
2930 </parameter>
2931 <parameter name="dest">
2932 <parameter_description> a #GSequenceIter pointing to the position to which
2933 the item is moved.
2934 </parameter_description>
2935 </parameter>
2936 </parameters>
2937 <return></return>
2938 </function>
2939
2940 <function name="g_string_vprintf">
2941 <description>
2942 Writes a formatted string into a #GString. 
2943 This function is similar to g_string_printf() except that 
2944 the arguments to the format string are passed as a va_list.
2945
2946 Since: 2.14
2947
2948 </description>
2949 <parameters>
2950 <parameter name="string">
2951 <parameter_description> a #GString
2952 </parameter_description>
2953 </parameter>
2954 <parameter name="format">
2955 <parameter_description> the string format. See the printf() documentation
2956 </parameter_description>
2957 </parameter>
2958 <parameter name="args">
2959 <parameter_description> the parameters to insert into the format string
2960 </parameter_description>
2961 </parameter>
2962 </parameters>
2963 <return></return>
2964 </function>
2965
2966 <function name="g_main_context_unref">
2967 <description>
2968 Decreases the reference count on a #GMainContext object by one. If
2969 the result is zero, free the context and free all associated memory.
2970
2971 </description>
2972 <parameters>
2973 <parameter name="context">
2974 <parameter_description> a #GMainContext
2975 </parameter_description>
2976 </parameter>
2977 </parameters>
2978 <return></return>
2979 </function>
2980
2981 <function name="g_listenv">
2982 <description>
2983 Gets the names of all variables set in the environment.
2984
2985
2986 </description>
2987 <parameters>
2988 </parameters>
2989 <return> a %NULL-terminated list of strings which must be freed
2990 with g_strfreev().
2991
2992 Programs that want to be portable to Windows should typically use
2993 this function and g_getenv() instead of using the environ array
2994 from the C library directly. On Windows, the strings in the environ
2995 array are in system codepage encoding, while in most of the typical
2996 use cases for environment variables in GLib-using programs you want
2997 the UTF-8 encoding that this function and g_getenv() provide.
2998
2999 Since: 2.8
3000 </return>
3001 </function>
3002
3003 <function name="g_timeout_add_seconds">
3004 <description>
3005 Sets a function to be called at regular intervals with the default
3006 priority, #G_PRIORITY_DEFAULT. The function is called repeatedly until
3007 it returns %FALSE, at which point the timeout is automatically destroyed
3008 and the function will not be called again.
3009
3010 See g_timeout_add_seconds_full() for the differences between
3011 g_timeout_add() and g_timeout_add_seconds().
3012
3013
3014 </description>
3015 <parameters>
3016 <parameter name="interval">
3017 <parameter_description> the time between calls to the function, in seconds
3018 </parameter_description>
3019 </parameter>
3020 <parameter name="function">
3021 <parameter_description> function to call
3022 </parameter_description>
3023 </parameter>
3024 <parameter name="data">
3025 <parameter_description> data to pass to @function
3026 </parameter_description>
3027 </parameter>
3028 </parameters>
3029 <return> the ID (greater than 0) of the event source.
3030
3031 Since: 2.14
3032 </return>
3033 </function>
3034
3035 <function name="g_bookmark_file_set_added">
3036 <description>
3037 Sets the time the bookmark for @uri was added into @bookmark.
3038
3039 If no bookmark for @uri is found then it is created.
3040
3041 Since: 2.12
3042
3043 </description>
3044 <parameters>
3045 <parameter name="bookmark">
3046 <parameter_description> a #GBookmarkFile
3047 </parameter_description>
3048 </parameter>
3049 <parameter name="uri">
3050 <parameter_description> a valid URI
3051 </parameter_description>
3052 </parameter>
3053 <parameter name="added">
3054 <parameter_description> a timestamp or -1 to use the current time
3055 </parameter_description>
3056 </parameter>
3057 </parameters>
3058 <return></return>
3059 </function>
3060
3061 <function name="g_sequence_set">
3062 <description>
3063 Changes the data for the item pointed to by @iter to be @data. If
3064 the sequence has a data destroy function associated with it, that
3065 function is called on the existing data that @iter pointed to.
3066
3067 Since: 2.14
3068
3069 </description>
3070 <parameters>
3071 <parameter name="iter">
3072 <parameter_description> a #GSequenceIter
3073 </parameter_description>
3074 </parameter>
3075 <parameter name="data">
3076 <parameter_description> new data for the item
3077 </parameter_description>
3078 </parameter>
3079 </parameters>
3080 <return></return>
3081 </function>
3082
3083 <function name="g_main_context_is_owner">
3084 <description>
3085 Determines whether this thread holds the (recursive)
3086 ownership of this #GMaincontext. This is useful to
3087 know before waiting on another thread that may be
3088 blocking to get ownership of @context.
3089
3090
3091 </description>
3092 <parameters>
3093 <parameter name="context">
3094 <parameter_description> a #GMainContext
3095 </parameter_description>
3096 </parameter>
3097 </parameters>
3098 <return> %TRUE if current thread is owner of @context.
3099
3100 Since: 2.10
3101 </return>
3102 </function>
3103
3104 <function name="g_random_int">
3105 <description>
3106 Return a random #guint32 equally distributed over the range
3107 [0..2^32-1].
3108
3109
3110 </description>
3111 <parameters>
3112 </parameters>
3113 <return> A random number.
3114 </return>
3115 </function>
3116
3117 <function name="g_get_current_time">
3118 <description>
3119 Equivalent to the UNIX gettimeofday() function, but portable.
3120
3121 </description>
3122 <parameters>
3123 <parameter name="result">
3124 <parameter_description> #GTimeVal structure in which to store current time.
3125 </parameter_description>
3126 </parameter>
3127 </parameters>
3128 <return></return>
3129 </function>
3130
3131 <function name="g_unichar_break_type">
3132 <description>
3133 Determines the break type of @c. @c should be a Unicode character
3134 (to derive a character from UTF-8 encoded text, use
3135 g_utf8_get_char()). The break type is used to find word and line
3136 breaks (&quot;text boundaries&quot;), Pango implements the Unicode boundary
3137 resolution algorithms and normally you would use a function such
3138 as pango_break() instead of caring about break types yourself.
3139
3140
3141 </description>
3142 <parameters>
3143 <parameter name="c">
3144 <parameter_description> a Unicode character
3145 </parameter_description>
3146 </parameter>
3147 </parameters>
3148 <return> the break type of @c
3149 </return>
3150 </function>
3151
3152 <function name="g_hash_table_steal">
3153 <description>
3154 Removes a key and its associated value from a #GHashTable without
3155 calling the key and value destroy functions.
3156
3157
3158 </description>
3159 <parameters>
3160 <parameter name="hash_table">
3161 <parameter_description> a #GHashTable.
3162 </parameter_description>
3163 </parameter>
3164 <parameter name="key">
3165 <parameter_description> the key to remove.
3166 </parameter_description>
3167 </parameter>
3168 </parameters>
3169 <return> %TRUE if the key was found and removed from the #GHashTable.
3170 </return>
3171 </function>
3172
3173 <function name="g_sequence_get_length">
3174 <description>
3175 Return value: the length of @seq
3176
3177 </description>
3178 <parameters>
3179 <parameter name="seq">
3180 <parameter_description> a #GSequence
3181 </parameter_description>
3182 </parameter>
3183 </parameters>
3184 <return> the length of @seq
3185
3186 Since: 2.14
3187 </return>
3188 </function>
3189
3190 <function name="g_source_set_callback_indirect">
3191 <description>
3192 Sets the callback function storing the data as a refcounted callback
3193 &quot;object&quot;. This is used internally. Note that calling 
3194 g_source_set_callback_indirect() assumes
3195 an initial reference count on @callback_data, and thus
3196 @callback_funcs-&amp;gt;unref will eventually be called once more
3197 than @callback_funcs-&amp;gt;ref.
3198
3199 </description>
3200 <parameters>
3201 <parameter name="source">
3202 <parameter_description> the source
3203 </parameter_description>
3204 </parameter>
3205 <parameter name="callback_data">
3206 <parameter_description> pointer to callback data &quot;object&quot;
3207 </parameter_description>
3208 </parameter>
3209 <parameter name="callback_funcs">
3210 <parameter_description> functions for reference counting @callback_data
3211 and getting the callback and data
3212 </parameter_description>
3213 </parameter>
3214 </parameters>
3215 <return></return>
3216 </function>
3217
3218 <function name="g_date_set_time">
3219 <description>
3220 Sets the value of a date from a #GTime value. 
3221
3222 @Deprecated:2.10: Use g_date_set_time_t() instead.
3223
3224 </description>
3225 <parameters>
3226 <parameter name="date">
3227 <parameter_description> a #GDate.
3228 </parameter_description>
3229 </parameter>
3230 <parameter name="time_">
3231 <parameter_description> #GTime value to set.
3232 </parameter_description>
3233 </parameter>
3234 </parameters>
3235 <return></return>
3236 </function>
3237
3238 <function name="g_string_new_len">
3239 <description>
3240 Creates a new #GString with @len bytes of the @init buffer.  
3241 Because a length is provided, @init need not be nul-terminated,
3242 and can contain embedded nul bytes.
3243
3244 Since this function does not stop at nul bytes, it is the caller&apos;s
3245 responsibility to ensure that @init has at least @len addressable 
3246 bytes.
3247
3248
3249 </description>
3250 <parameters>
3251 <parameter name="init">
3252 <parameter_description> initial contents of the string
3253 </parameter_description>
3254 </parameter>
3255 <parameter name="len">
3256 <parameter_description> length of @init to use
3257 </parameter_description>
3258 </parameter>
3259 </parameters>
3260 <return> a new #GString
3261 </return>
3262 </function>
3263
3264 <function name="g_queue_push_tail">
3265 <description>
3266 Adds a new element at the tail of the queue.
3267
3268 </description>
3269 <parameters>
3270 <parameter name="queue">
3271 <parameter_description> a #GQueue.
3272 </parameter_description>
3273 </parameter>
3274 <parameter name="data">
3275 <parameter_description> the data for the new element.
3276 </parameter_description>
3277 </parameter>
3278 </parameters>
3279 <return></return>
3280 </function>
3281
3282 <function name="g_access">
3283 <description>
3284 A wrapper for the POSIX access() function. This function is used to
3285 test a pathname for one or several of read, write or execute
3286 permissions, or just existence. On Windows, the underlying access()
3287 function in the C library only checks the READONLY attribute, and
3288 does not look at the ACL at all. Software that needs to handle file
3289 permissions on Windows more exactly should use the Win32 API.
3290
3291 See the C library manual for more details about access().
3292
3293
3294 </description>
3295 <parameters>
3296 <parameter name="filename">
3297 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
3298 </parameter_description>
3299 </parameter>
3300 <parameter name="mode">
3301 <parameter_description> as in access()
3302 </parameter_description>
3303 </parameter>
3304 </parameters>
3305 <return> zero if the pathname refers to an existing file system
3306 object that has all the tested permissions, or -1 otherwise or on
3307 error.
3308
3309 Since: 2.8
3310 </return>
3311 </function>
3312
3313 <function name="g_match_info_free">
3314 <description>
3315 Frees all the memory associated with the #GMatchInfo structure.
3316
3317 Since: 2.14
3318
3319 </description>
3320 <parameters>
3321 <parameter name="match_info">
3322 <parameter_description> a #GMatchInfo
3323 </parameter_description>
3324 </parameter>
3325 </parameters>
3326 <return></return>
3327 </function>
3328
3329 <function name="g_key_file_has_group">
3330 <description>
3331 Looks whether the key file has the group @group_name.
3332
3333
3334 </description>
3335 <parameters>
3336 <parameter name="key_file">
3337 <parameter_description> a #GKeyFile
3338 </parameter_description>
3339 </parameter>
3340 <parameter name="group_name">
3341 <parameter_description> a group name
3342 </parameter_description>
3343 </parameter>
3344 </parameters>
3345 <return> %TRUE if @group_name is a part of @key_file, %FALSE
3346 otherwise.
3347 Since: 2.6
3348 </return>
3349 </function>
3350
3351 <function name="g_strndup">
3352 <description>
3353 Duplicates the first @n bytes of a string, returning a newly-allocated
3354 buffer @n + 1 bytes long which will always be nul-terminated.
3355 If @str is less than @n bytes long the buffer is padded with nuls.
3356 If @str is %NULL it returns %NULL.
3357 The returned value should be freed when no longer needed.
3358
3359 &amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
3360 To copy a number of characters from a UTF-8 encoded string, use
3361 g_utf8_strncpy() instead.
3362 &amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
3363
3364
3365 </description>
3366 <parameters>
3367 <parameter name="str">
3368 <parameter_description> the string to duplicate
3369 </parameter_description>
3370 </parameter>
3371 <parameter name="n">
3372 <parameter_description> the maximum number of bytes to copy from @str
3373 </parameter_description>
3374 </parameter>
3375 </parameters>
3376 <return> a newly-allocated buffer containing the first @n bytes 
3377 of @str, nul-terminated 
3378 </return>
3379 </function>
3380
3381 <function name="g_queue_pop_head">
3382 <description>
3383 Removes the first element of the queue.
3384
3385
3386 </description>
3387 <parameters>
3388 <parameter name="queue">
3389 <parameter_description> a #GQueue.
3390 </parameter_description>
3391 </parameter>
3392 </parameters>
3393 <return> the data of the first element in the queue, or %NULL if the queue
3394 is empty.
3395 </return>
3396 </function>
3397
3398 <function name="g_queue_peek_head">
3399 <description>
3400 Returns: the data of the first element in the queue, or %NULL if the queue
3401
3402 </description>
3403 <parameters>
3404 <parameter name="queue">
3405 <parameter_description> a #GQueue.
3406 </parameter_description>
3407 </parameter>
3408 </parameters>
3409 <return> the data of the first element in the queue, or %NULL if the queue
3410 is empty.
3411 </return>
3412 </function>
3413
3414 <function name="g_option_group_set_parse_hooks">
3415 <description>
3416 Associates two functions with @group which will be called 
3417 from g_option_context_parse() before the first option is parsed
3418 and after the last option has been parsed, respectively.
3419
3420 Note that the user data to be passed to @pre_parse_func and
3421 @post_parse_func can be specified when constructing the group
3422 with g_option_group_new().
3423
3424 Since: 2.6
3425
3426 </description>
3427 <parameters>
3428 <parameter name="group">
3429 <parameter_description> a #GOptionGroup
3430 </parameter_description>
3431 </parameter>
3432 <parameter name="pre_parse_func">
3433 <parameter_description> a function to call before parsing, or %NULL
3434 </parameter_description>
3435 </parameter>
3436 <parameter name="post_parse_func">
3437 <parameter_description> a function to call after parsing, or %NULL
3438 </parameter_description>
3439 </parameter>
3440 </parameters>
3441 <return></return>
3442 </function>
3443
3444 <function name="g_regex_replace">
3445 <description>
3446 Replaces all occurances of the pattern in @regex with the
3447 replacement text. Backreferences of the form &apos;\number&apos; or 
3448 &apos;\g&amp;lt;number&amp;gt;&apos; in the replacement text are interpolated by the 
3449 number-th captured subexpression of the match, &apos;\g&amp;lt;name&amp;gt;&apos; refers 
3450 to the captured subexpression with the given name. &apos;\0&apos; refers to the 
3451 complete match, but &apos;\0&apos; followed by a number is the octal representation 
3452 of a character. To include a literal &apos;\&apos; in the replacement, write &apos;\\&apos;.
3453 There are also escapes that changes the case of the following text:
3454
3455 &amp;lt;variablelist&amp;gt;
3456 &amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\l&amp;lt;/term&amp;gt;
3457 &amp;lt;listitem&amp;gt;
3458 &amp;lt;para&amp;gt;Convert to lower case the next character&amp;lt;/para&amp;gt;
3459 &amp;lt;/listitem&amp;gt;
3460 &amp;lt;/varlistentry&amp;gt;
3461 &amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\u&amp;lt;/term&amp;gt;
3462 &amp;lt;listitem&amp;gt;
3463 &amp;lt;para&amp;gt;Convert to upper case the next character&amp;lt;/para&amp;gt;
3464 &amp;lt;/listitem&amp;gt;
3465 &amp;lt;/varlistentry&amp;gt;
3466 &amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\L&amp;lt;/term&amp;gt;
3467 &amp;lt;listitem&amp;gt;
3468 &amp;lt;para&amp;gt;Convert to lower case till \E&amp;lt;/para&amp;gt;
3469 &amp;lt;/listitem&amp;gt;
3470 &amp;lt;/varlistentry&amp;gt;
3471 &amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\U&amp;lt;/term&amp;gt;
3472 &amp;lt;listitem&amp;gt;
3473 &amp;lt;para&amp;gt;Convert to upper case till \E&amp;lt;/para&amp;gt;
3474 &amp;lt;/listitem&amp;gt;
3475 &amp;lt;/varlistentry&amp;gt;
3476 &amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;\E&amp;lt;/term&amp;gt;
3477 &amp;lt;listitem&amp;gt;
3478 &amp;lt;para&amp;gt;End case modification&amp;lt;/para&amp;gt;
3479 &amp;lt;/listitem&amp;gt;
3480 &amp;lt;/varlistentry&amp;gt;
3481 &amp;lt;/variablelist&amp;gt;
3482
3483 If you do not need to use backreferences use g_regex_replace_literal().
3484
3485 The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was
3486 passed to g_regex_new(). If you want to use not UTF-8 encoded stings
3487 you can use g_regex_replace_literal().
3488
3489 Setting @start_position differs from just passing over a shortened 
3490 string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that 
3491 begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
3492
3493
3494 </description>
3495 <parameters>
3496 <parameter name="regex">
3497 <parameter_description> a #GRegex structure
3498 </parameter_description>
3499 </parameter>
3500 <parameter name="string">
3501 <parameter_description> the string to perform matches against
3502 </parameter_description>
3503 </parameter>
3504 <parameter name="string_len">
3505 <parameter_description> the length of @string, or -1 if @string is nul-terminated
3506 </parameter_description>
3507 </parameter>
3508 <parameter name="start_position">
3509 <parameter_description> starting index of the string to match
3510 </parameter_description>
3511 </parameter>
3512 <parameter name="replacement">
3513 <parameter_description> text to replace each match with
3514 </parameter_description>
3515 </parameter>
3516 <parameter name="match_options">
3517 <parameter_description> options for the match
3518 </parameter_description>
3519 </parameter>
3520 <parameter name="error">
3521 <parameter_description> location to store the error occuring, or %NULL to ignore errors
3522 </parameter_description>
3523 </parameter>
3524 </parameters>
3525 <return> a newly allocated string containing the replacements
3526
3527 Since: 2.14
3528 </return>
3529 </function>
3530
3531 <function name="g_io_channel_set_flags">
3532 <description>
3533 Sets the (writeable) flags in @channel to (@flags &amp; %G_IO_CHANNEL_SET_MASK).
3534
3535
3536 </description>
3537 <parameters>
3538 <parameter name="channel">
3539 <parameter_description> a #GIOChannel.
3540 </parameter_description>
3541 </parameter>
3542 <parameter name="flags">
3543 <parameter_description> the flags to set on the IO channel.
3544 </parameter_description>
3545 </parameter>
3546 <parameter name="error">
3547 <parameter_description> A location to return an error of type #GIOChannelError.
3548 </parameter_description>
3549 </parameter>
3550 </parameters>
3551 <return> the status of the operation. 
3552 </return>
3553 </function>
3554
3555 <function name="g_bookmark_file_add_application">
3556 <description>
3557 Adds the application with @name and @exec to the list of
3558 applications that have registered a bookmark for @uri into
3559 @bookmark.
3560
3561 Every bookmark inside a #GBookmarkFile must have at least an
3562 application registered.  Each application must provide a name, a
3563 command line useful for launching the bookmark, the number of times
3564 the bookmark has been registered by the application and the last
3565 time the application registered this bookmark.
3566
3567 If @name is %NULL, the name of the application will be the
3568 same returned by g_get_application(); if @exec is %NULL, the
3569 command line will be a composition of the program name as
3570 returned by g_get_prgname() and the &quot;%u&quot; modifier, which will be
3571 expanded to the bookmark&apos;s URI.
3572
3573 This function will automatically take care of updating the
3574 registrations count and timestamping in case an application
3575 with the same @name had already registered a bookmark for
3576 @uri inside @bookmark.
3577
3578 If no bookmark for @uri is found, one is created.
3579
3580 Since: 2.12
3581
3582 </description>
3583 <parameters>
3584 <parameter name="bookmark">
3585 <parameter_description> a #GBookmarkFile
3586 </parameter_description>
3587 </parameter>
3588 <parameter name="uri">
3589 <parameter_description> a valid URI
3590 </parameter_description>
3591 </parameter>
3592 <parameter name="name">
3593 <parameter_description> the name of the application registering the bookmark
3594 or %NULL
3595 </parameter_description>
3596 </parameter>
3597 <parameter name="exec">
3598 <parameter_description> command line to be used to launch the bookmark or %NULL
3599 </parameter_description>
3600 </parameter>
3601 </parameters>
3602 <return></return>
3603 </function>
3604
3605 <function name="g_unichar_get_script">
3606 <description>
3607 Looks up the #GUnicodeScript for a particular character (as defined 
3608 by Unicode Standard Annex #24). No check is made for @ch being a
3609 valid Unicode character; if you pass in invalid character, the
3610 result is undefined.
3611
3612
3613 </description>
3614 <parameters>
3615 <parameter name="ch">
3616 <parameter_description> a Unicode character
3617 </parameter_description>
3618 </parameter>
3619 </parameters>
3620 <return> the #GUnicodeScript for the character.
3621
3622 Since: 2.14
3623 </return>
3624 </function>
3625
3626 <function name="g_tree_destroy">
3627 <description>
3628 Destroys the #GTree. If keys and/or values are dynamically allocated, you 
3629 should either free them first or create the #GTree using g_tree_new_full().
3630 In the latter case the destroy functions you supplied will be called on 
3631 all keys and values before destroying the #GTree.
3632
3633 </description>
3634 <parameters>
3635 <parameter name="tree">
3636 <parameter_description> a #GTree.
3637 </parameter_description>
3638 </parameter>
3639 </parameters>
3640 <return></return>
3641 </function>
3642
3643 <function name="g_dir_close">
3644 <description>
3645 Closes the directory and deallocates all related resources.
3646
3647 </description>
3648 <parameters>
3649 <parameter name="dir">
3650 <parameter_description> a #GDir* created by g_dir_open()
3651 </parameter_description>
3652 </parameter>
3653 </parameters>
3654 <return></return>
3655 </function>
3656
3657 <function name="g_string_append_len">
3658 <description>
3659 Appends @len bytes of @val to @string. Because @len is 
3660 provided, @val may contain embedded nuls and need not 
3661 be nul-terminated.
3662
3663 Since this function does not stop at nul bytes, it is 
3664 the caller&apos;s responsibility to ensure that @val has at 
3665 least @len addressable bytes.
3666
3667
3668 </description>
3669 <parameters>
3670 <parameter name="string">
3671 <parameter_description> a #GString
3672 </parameter_description>
3673 </parameter>
3674 <parameter name="val">
3675 <parameter_description> bytes to append
3676 </parameter_description>
3677 </parameter>
3678 <parameter name="len">
3679 <parameter_description> number of bytes of @val to use
3680 </parameter_description>
3681 </parameter>
3682 </parameters>
3683 <return> @string
3684 </return>
3685 </function>
3686
3687 <function name="g_option_context_get_help">
3688 <description>
3689 Returns: A newly allocated string containing the help text
3690
3691 </description>
3692 <parameters>
3693 <parameter name="context">
3694 <parameter_description> a #GOptionContext
3695 </parameter_description>
3696 </parameter>
3697 <parameter name="main_help">
3698 <parameter_description> if %TRUE, only include the main group 
3699 </parameter_description>
3700 </parameter>
3701 <parameter name="group">
3702 <parameter_description> the #GOptionGroup to create help for, or %NULL
3703 </parameter_description>
3704 </parameter>
3705 </parameters>
3706 <return> A newly allocated string containing the help text
3707
3708 Since: 2.14
3709 </return>
3710 </function>
3711
3712 <function name="g_queue_push_nth">
3713 <description>
3714 Inserts a new element into @queue at the given position
3715
3716 Since: 2.4
3717
3718 </description>
3719 <parameters>
3720 <parameter name="queue">
3721 <parameter_description> a #GQueue
3722 </parameter_description>
3723 </parameter>
3724 <parameter name="data">
3725 <parameter_description> the data for the new element
3726 </parameter_description>
3727 </parameter>
3728 <parameter name="n">
3729 <parameter_description> the position to insert the new element. If @n is negative or
3730 larger than the number of elements in the @queue, the element is
3731 added to the end of the queue.
3732 </parameter_description>
3733 </parameter>
3734 </parameters>
3735 <return></return>
3736 </function>
3737
3738 <function name="g_queue_insert_after">
3739 <description>
3740 Inserts @data into @queue after @sibling
3741
3742 @sibling must be part of @queue
3743
3744 Since: 2.4
3745
3746 </description>
3747 <parameters>
3748 <parameter name="queue">
3749 <parameter_description> a #GQueue
3750 </parameter_description>
3751 </parameter>
3752 <parameter name="sibling">
3753 <parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
3754 </parameter_description>
3755 </parameter>
3756 <parameter name="data">
3757 <parameter_description> the data to insert
3758 </parameter_description>
3759 </parameter>
3760 </parameters>
3761 <return></return>
3762 </function>
3763
3764 <function name="g_unichar_isalnum">
3765 <description>
3766 Determines whether a character is alphanumeric.
3767 Given some UTF-8 text, obtain a character value
3768 with g_utf8_get_char().
3769
3770
3771 </description>
3772 <parameters>
3773 <parameter name="c">
3774 <parameter_description> a Unicode character
3775 </parameter_description>
3776 </parameter>
3777 </parameters>
3778 <return> %TRUE if @c is an alphanumeric character
3779 </return>
3780 </function>
3781
3782 <function name="g_base64_encode_step">
3783 <description>
3784 Incrementally encode a sequence of binary data into it&apos;s Base-64 stringified
3785 representation. By calling this function multiple times you can convert 
3786 data in chunks to avoid having to have the full encoded data in memory.
3787
3788 When all of the data has been converted you must call 
3789 g_base64_encode_close() to flush the saved state.
3790
3791 The output buffer must be large enough to fit all the data that will
3792 be written to it. Due to the way base64 encodes you will need
3793 at least: @len * 4 / 3 + 6 bytes. If you enable line-breaking you will
3794 need at least: @len * 4 / 3 + @len * 4 / (3 * 72) + 7 bytes.
3795
3796 @break_lines is typically used when putting base64-encoded data in emails.
3797 It breaks the lines at 72 columns instead of putting all of the text on 
3798 the same line. This avoids problems with long lines in the email system.
3799
3800
3801 </description>
3802 <parameters>
3803 <parameter name="in">
3804 <parameter_description> the binary data to encode
3805 </parameter_description>
3806 </parameter>
3807 <parameter name="len">
3808 <parameter_description> the length of @in
3809 </parameter_description>
3810 </parameter>
3811 <parameter name="break_lines">
3812 <parameter_description> whether to break long lines
3813 </parameter_description>
3814 </parameter>
3815 <parameter name="out">
3816 <parameter_description> pointer to destination buffer
3817 </parameter_description>
3818 </parameter>
3819 <parameter name="state">
3820 <parameter_description> Saved state between steps, initialize to 0
3821 </parameter_description>
3822 </parameter>
3823 <parameter name="save">
3824 <parameter_description> Saved state between steps, initialize to 0
3825 </parameter_description>
3826 </parameter>
3827 </parameters>
3828 <return> The number of bytes of output that was written
3829
3830 Since: 2.12
3831 </return>
3832 </function>
3833
3834 <function name="g_main_context_new">
3835 <description>
3836 Creates a new #GMainContext strcuture
3837
3838
3839 </description>
3840 <parameters>
3841 </parameters>
3842 <return> the new #GMainContext
3843 </return>
3844 </function>
3845
3846 <function name="g_vsnprintf">
3847 <description>
3848 A safer form of the standard vsprintf() function. The output is guaranteed
3849 to not exceed @n characters (including the terminating nul character), so 
3850 it is easy to ensure that a buffer overflow cannot occur.
3851
3852 See also g_strdup_vprintf().
3853
3854 In versions of GLib prior to 1.2.3, this function may return -1 if the 
3855 output was truncated, and the truncated string may not be nul-terminated.
3856 In versions prior to 1.3.12, this function returns the length of the output 
3857 string.
3858
3859 The return value of g_vsnprintf() conforms to the vsnprintf() function 
3860 as standardized in ISO C99. Note that this is different from traditional 
3861 vsnprintf(), which returns the length of the output string.
3862
3863 The format string may contain positional parameters, as specified in 
3864 the Single Unix Specification.
3865
3866
3867 </description>
3868 <parameters>
3869 <parameter name="string">
3870 <parameter_description> the buffer to hold the output.
3871 </parameter_description>
3872 </parameter>
3873 <parameter name="n">
3874 <parameter_description> the maximum number of characters to produce (including the 
3875 terminating nul character).
3876 </parameter_description>
3877 </parameter>
3878 <parameter name="format">
3879 <parameter_description> a standard printf() format string, but notice 
3880 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
3881 </parameter_description>
3882 </parameter>
3883 <parameter name="args">
3884 <parameter_description> the list of arguments to insert in the output.
3885 </parameter_description>
3886 </parameter>
3887 </parameters>
3888 <return> the number of characters which would be produced if the buffer 
3889 was large enough.
3890 </return>
3891 </function>
3892
3893 <function name="g_time_val_from_iso8601">
3894 <description>
3895 Converts a string containing an ISO 8601 encoded date and time
3896 to a #GTimeVal and puts it into @time_.
3897
3898
3899 </description>
3900 <parameters>
3901 <parameter name="iso_date">
3902 <parameter_description> a ISO 8601 encoded date string
3903 </parameter_description>
3904 </parameter>
3905 <parameter name="time_">
3906 <parameter_description> a #GTimeVal
3907 </parameter_description>
3908 </parameter>
3909 </parameters>
3910 <return> %TRUE if the conversion was successful.
3911
3912 Since: 2.12
3913 </return>
3914 </function>
3915
3916 <function name="g_ascii_strup">
3917 <description>
3918 Converts all lower case ASCII letters to upper case ASCII letters.
3919
3920
3921 </description>
3922 <parameters>
3923 <parameter name="str">
3924 <parameter_description> a string.
3925 </parameter_description>
3926 </parameter>
3927 <parameter name="len">
3928 <parameter_description> length of @str in bytes, or -1 if @str is nul-terminated.
3929 </parameter_description>
3930 </parameter>
3931 </parameters>
3932 <return> a newly allocated string, with all the lower case
3933 characters in @str converted to upper case, with
3934 semantics that exactly match g_ascii_toupper(). (Note
3935 that this is unlike the old g_strup(), which modified
3936 the string in place.)
3937 </return>
3938 </function>
3939
3940 <function name="g_async_queue_push">
3941 <description>
3942 Pushes the @data into the @queue. @data must not be %NULL.
3943
3944 </description>
3945 <parameters>
3946 <parameter name="queue">
3947 <parameter_description> a #GAsyncQueue.
3948 </parameter_description>
3949 </parameter>
3950 <parameter name="data">
3951 <parameter_description> @data to push into the @queue.
3952 </parameter_description>
3953 </parameter>
3954 </parameters>
3955 <return></return>
3956 </function>
3957
3958 <function name="g_strtod">
3959 <description>
3960 Converts a string to a #gdouble value.
3961 It calls the standard strtod() function to handle the conversion, but
3962 if the string is not completely converted it attempts the conversion
3963 again with g_ascii_strtod(), and returns the best match.
3964
3965 This function should seldomly be used. The normal situation when reading
3966 numbers not for human consumption is to use g_ascii_strtod(). Only when
3967 you know that you must expect both locale formatted and C formatted numbers
3968 should you use this. Make sure that you don&apos;t pass strings such as comma
3969 separated lists of values, since the commas may be interpreted as a decimal
3970 point in some locales, causing unexpected results.
3971
3972
3973 </description>
3974 <parameters>
3975 <parameter name="nptr">
3976 <parameter_description>    the string to convert to a numeric value.
3977 </parameter_description>
3978 </parameter>
3979 <parameter name="endptr">
3980 <parameter_description>  if non-%NULL, it returns the character after
3981 the last character used in the conversion.
3982 </parameter_description>
3983 </parameter>
3984 </parameters>
3985 <return> the #gdouble value.
3986 </return>
3987 </function>
3988
3989 <function name="g_get_system_data_dirs">
3990 <description>
3991 Return value: a %NULL-terminated array of strings owned by GLib that must 
3992
3993 </description>
3994 <parameters>
3995 </parameters>
3996 <return> a %NULL-terminated array of strings owned by GLib that must 
3997 not be modified or freed.
3998 Since: 2.6
3999 </return>
4000 </function>
4001
4002 <function name="g_sequence_iter_compare">
4003 <description>
4004 Return value: A negative number if @a comes before @b, 0 if they are
4005
4006 </description>
4007 <parameters>
4008 <parameter name="a">
4009 <parameter_description> a #GSequenceIter
4010 </parameter_description>
4011 </parameter>
4012 <parameter name="b">
4013 <parameter_description> a #GSequenceIter
4014 </parameter_description>
4015 </parameter>
4016 </parameters>
4017 <return> A negative number if @a comes before @b, 0 if they are
4018 equal, and a positive number if @a comes after @b.
4019
4020 Since: 2.14
4021 </return>
4022 </function>
4023
4024 <function name="g_string_prepend">
4025 <description>
4026 Adds a string on to the start of a #GString, 
4027 expanding it if necessary.
4028
4029
4030 </description>
4031 <parameters>
4032 <parameter name="string">
4033 <parameter_description> a #GString
4034 </parameter_description>
4035 </parameter>
4036 <parameter name="val">
4037 <parameter_description> the string to prepend on the start of @string
4038 </parameter_description>
4039 </parameter>
4040 </parameters>
4041 <return> @string
4042 </return>
4043 </function>
4044
4045 <function name="iconv_cache_expire_unused">
4046 <description>
4047 Expires as many unused cache buckets as it needs to in order to get
4048 the total number of buckets &amp;lt; ICONV_CACHE_SIZE.
4049
4050 </description>
4051 <parameters>
4052 </parameters>
4053 <return></return>
4054 </function>
4055
4056 <function name="g_string_append_unichar">
4057 <description>
4058 Converts a Unicode character into UTF-8, and appends it
4059 to the string.
4060
4061
4062 </description>
4063 <parameters>
4064 <parameter name="string">
4065 <parameter_description> a #GString
4066 </parameter_description>
4067 </parameter>
4068 <parameter name="wc">
4069 <parameter_description> a Unicode character
4070 </parameter_description>
4071 </parameter>
4072 </parameters>
4073 <return> @string
4074 </return>
4075 </function>
4076
4077 <function name="g_option_context_get_ignore_unknown_options">
4078 <description>
4079 Returns: %TRUE if unknown options are ignored.
4080
4081 </description>
4082 <parameters>
4083 <parameter name="context">
4084 <parameter_description> a #GOptionContext
4085 </parameter_description>
4086 </parameter>
4087 </parameters>
4088 <return> %TRUE if unknown options are ignored.
4089
4090 Since: 2.6
4091 </return>
4092 </function>
4093
4094 <function name="g_regex_split_full">
4095 <description>
4096 Breaks the string on the pattern, and returns an array of the tokens.
4097 If the pattern contains capturing parentheses, then the text for each
4098 of the substrings will also be returned. If the pattern does not match
4099 anywhere in the string, then the whole string is returned as the first
4100 token.
4101
4102 As a special case, the result of splitting the empty string &quot;&quot; is an
4103 empty vector, not a vector containing a single string. The reason for
4104 this special case is that being able to represent a empty vector is
4105 typically more useful than consistent handling of empty elements. If
4106 you do need to represent empty elements, you&apos;ll need to check for the
4107 empty string before calling this function.
4108
4109 A pattern that can match empty strings splits @string into separate
4110 characters wherever it matches the empty string between characters.
4111 For example splitting &quot;ab c&quot; using as a separator &quot;\s*&quot;, you will get
4112 &quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
4113
4114 Setting @start_position differs from just passing over a shortened 
4115 string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern 
4116 that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
4117
4118
4119 </description>
4120 <parameters>
4121 <parameter name="regex">
4122 <parameter_description> a #GRegex structure
4123 </parameter_description>
4124 </parameter>
4125 <parameter name="string">
4126 <parameter_description> the string to split with the pattern
4127 </parameter_description>
4128 </parameter>
4129 <parameter name="string_len">
4130 <parameter_description> the length of @string, or -1 if @string is nul-terminated
4131 </parameter_description>
4132 </parameter>
4133 <parameter name="start_position">
4134 <parameter_description> starting index of the string to match
4135 </parameter_description>
4136 </parameter>
4137 <parameter name="match_options">
4138 <parameter_description> match time option flags
4139 </parameter_description>
4140 </parameter>
4141 <parameter name="max_tokens">
4142 <parameter_description> the maximum number of tokens to split @string into. 
4143 If this is less than 1, the string is split completely
4144 </parameter_description>
4145 </parameter>
4146 <parameter name="error">
4147 <parameter_description> return location for a #GError
4148 </parameter_description>
4149 </parameter>
4150 </parameters>
4151 <return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
4152
4153 Since: 2.14
4154 </return>
4155 </function>
4156
4157 <function name="g_utf8_offset_to_pointer">
4158 <description>
4159 Converts from an integer character offset to a pointer to a position
4160 within the string.
4161
4162 Since 2.10, this function allows to pass a negative @offset to
4163 step backwards. It is usually worth stepping backwards from the end
4164 instead of forwards if @offset is in the last fourth of the string, 
4165 since moving forward is about 3 times faster than moving backward.
4166
4167
4168 </description>
4169 <parameters>
4170 <parameter name="str">
4171 <parameter_description> a UTF-8 encoded string
4172 </parameter_description>
4173 </parameter>
4174 <parameter name="offset">
4175 <parameter_description> a character offset within @str
4176 </parameter_description>
4177 </parameter>
4178 </parameters>
4179 <return> the resulting pointer
4180 </return>
4181 </function>
4182
4183 <function name="g_io_channel_get_encoding">
4184 <description>
4185 Gets the encoding for the input/output of the channel. The internal
4186 encoding is always UTF-8. The encoding %NULL makes the
4187 channel safe for binary data.
4188
4189
4190 </description>
4191 <parameters>
4192 <parameter name="channel">
4193 <parameter_description> a #GIOChannel
4194 </parameter_description>
4195 </parameter>
4196 </parameters>
4197 <return> A string containing the encoding, this string is
4198 owned by GLib and must not be freed.
4199 </return>
4200 </function>
4201
4202 <function name="g_key_file_get_locale_string">
4203 <description>
4204 Return value: a newly allocated string or %NULL if the specified 
4205
4206 </description>
4207 <parameters>
4208 <parameter name="key_file">
4209 <parameter_description> a #GKeyFile
4210 </parameter_description>
4211 </parameter>
4212 <parameter name="group_name">
4213 <parameter_description> a group name
4214 </parameter_description>
4215 </parameter>
4216 <parameter name="key">
4217 <parameter_description> a key
4218 </parameter_description>
4219 </parameter>
4220 <parameter name="locale">
4221 <parameter_description> a locale or %NULL
4222 </parameter_description>
4223 </parameter>
4224 <parameter name="error">
4225 <parameter_description> return location for a #GError, or %NULL
4226 </parameter_description>
4227 </parameter>
4228 </parameters>
4229 <return> a newly allocated string or %NULL if the specified 
4230 key cannot be found.
4231
4232 Since: 2.6
4233 </return>
4234 </function>
4235
4236 <function name="g_sequence_insert_before">
4237 <description>
4238 Inserts a new item just before the item pointed to by @iter.
4239
4240
4241 </description>
4242 <parameters>
4243 <parameter name="iter">
4244 <parameter_description> a #GSequenceIter
4245 </parameter_description>
4246 </parameter>
4247 <parameter name="data">
4248 <parameter_description> the data for the new item
4249 </parameter_description>
4250 </parameter>
4251 </parameters>
4252 <return> an iterator pointing to the new item
4253
4254 Since: 2.14
4255 </return>
4256 </function>
4257
4258 <function name="g_bookmark_file_load_from_file">
4259 <description>
4260 Loads a desktop bookmark file into an empty #GBookmarkFile structure.
4261 If the file could not be loaded then @error is set to either a #GFileError
4262 or #GBookmarkFileError.
4263
4264
4265 </description>
4266 <parameters>
4267 <parameter name="bookmark">
4268 <parameter_description> an empty #GBookmarkFile struct
4269 </parameter_description>
4270 </parameter>
4271 <parameter name="filename">
4272 <parameter_description> the path of a filename to load, in the GLib file name encoding
4273 </parameter_description>
4274 </parameter>
4275 <parameter name="error">
4276 <parameter_description> return location for a #GError, or %NULL
4277 </parameter_description>
4278 </parameter>
4279 </parameters>
4280 <return> %TRUE if a desktop bookmark file could be loaded
4281
4282 Since: 2.12
4283 </return>
4284 </function>
4285
4286 <function name="g_chmod">
4287 <description>
4288 A wrapper for the POSIX chmod() function. The chmod() function is
4289 used to set the permissions of a file system object. Note that on
4290 Windows the file protection mechanism is not at all POSIX-like, and
4291 the underlying chmod() function in the C library just sets or
4292 clears the READONLY attribute. It does not touch any ACL. Software
4293 that needs to manage file permissions on Windows exactly should
4294 use the Win32 API.
4295
4296 See the C library manual for more details about chmod().
4297
4298
4299 </description>
4300 <parameters>
4301 <parameter name="filename">
4302 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
4303 </parameter_description>
4304 </parameter>
4305 <parameter name="mode">
4306 <parameter_description> as in chmod()
4307 </parameter_description>
4308 </parameter>
4309 </parameters>
4310 <return> zero if the operation succeeded, -1 on error.
4311
4312 Since: 2.8
4313 </return>
4314 </function>
4315
4316 <function name="g_match_info_fetch_named">
4317 <description>
4318 Retrieves the text matching the capturing parentheses named @name.
4319
4320 If @name is a valid sub pattern name but it didn&apos;t match anything 
4321 (e.g. sub pattern &quot;X&quot;, matching &quot;b&quot; against &quot;(?P&amp;lt;X&amp;gt;a)?b&quot;) 
4322 then an empty string is returned.
4323
4324 The string is fetched from the string passed to the match function,
4325 so you cannot call this function after freeing the string.
4326
4327
4328 </description>
4329 <parameters>
4330 <parameter name="match_info">
4331 <parameter_description> #GMatchInfo structure
4332 </parameter_description>
4333 </parameter>
4334 <parameter name="name">
4335 <parameter_description> name of the subexpression
4336 </parameter_description>
4337 </parameter>
4338 </parameters>
4339 <return> The matched substring, or %NULL if an error occurred.
4340 You have to free the string yourself
4341
4342 Since: 2.14
4343 </return>
4344 </function>
4345
4346 <function name="g_unichar_isxdigit">
4347 <description>
4348 Determines if a character is a hexidecimal digit.
4349
4350
4351 </description>
4352 <parameters>
4353 <parameter name="c">
4354 <parameter_description> a Unicode character.
4355 </parameter_description>
4356 </parameter>
4357 </parameters>
4358 <return> %TRUE if the character is a hexadecimal digit
4359 </return>
4360 </function>
4361
4362 <function name="g_markup_parse_context_new">
4363 <description>
4364 Creates a new parse context. A parse context is used to parse
4365 marked-up documents. You can feed any number of documents into
4366 a context, as long as no errors occur; once an error occurs,
4367 the parse context can&apos;t continue to parse text (you have to free it
4368 and create a new parse context).
4369
4370
4371 </description>
4372 <parameters>
4373 <parameter name="parser">
4374 <parameter_description> a #GMarkupParser
4375 </parameter_description>
4376 </parameter>
4377 <parameter name="flags">
4378 <parameter_description> one or more #GMarkupParseFlags
4379 </parameter_description>
4380 </parameter>
4381 <parameter name="user_data">
4382 <parameter_description> user data to pass to #GMarkupParser functions
4383 </parameter_description>
4384 </parameter>
4385 <parameter name="user_data_dnotify">
4386 <parameter_description> user data destroy notifier called when the parse context is freed
4387 </parameter_description>
4388 </parameter>
4389 </parameters>
4390 <return> a new #GMarkupParseContext
4391 </return>
4392 </function>
4393
4394 <function name="g_key_file_set_boolean">
4395 <description>
4396 Associates a new boolean value with @key under @group_name.
4397 If @key cannot be found then it is created. 
4398
4399 Since: 2.6
4400
4401 </description>
4402 <parameters>
4403 <parameter name="key_file">
4404 <parameter_description> a #GKeyFile
4405 </parameter_description>
4406 </parameter>
4407 <parameter name="group_name">
4408 <parameter_description> a group name
4409 </parameter_description>
4410 </parameter>
4411 <parameter name="key">
4412 <parameter_description> a key
4413 </parameter_description>
4414 </parameter>
4415 <parameter name="value">
4416 <parameter_description> %TRUE or %FALSE
4417 </parameter_description>
4418 </parameter>
4419 </parameters>
4420 <return></return>
4421 </function>
4422
4423 <function name="g_string_chunk_clear">
4424 <description>
4425 Frees all strings contained within the #GStringChunk.
4426 After calling g_string_chunk_clear() it is not safe to
4427 access any of the strings which were contained within it.
4428
4429 Since: 2.14
4430
4431 </description>
4432 <parameters>
4433 <parameter name="chunk">
4434 <parameter_description> a #GStringChunk
4435 </parameter_description>
4436 </parameter>
4437 </parameters>
4438 <return></return>
4439 </function>
4440
4441 <function name="g_bookmark_file_add_group">
4442 <description>
4443 Adds @group to the list of groups to which the bookmark for @uri
4444 belongs to.
4445
4446 If no bookmark for @uri is found then it is created.
4447
4448 Since: 2.12
4449
4450 </description>
4451 <parameters>
4452 <parameter name="bookmark">
4453 <parameter_description> a #GBookmarkFile
4454 </parameter_description>
4455 </parameter>
4456 <parameter name="uri">
4457 <parameter_description> a valid URI
4458 </parameter_description>
4459 </parameter>
4460 <parameter name="group">
4461 <parameter_description> the group name to be added
4462 </parameter_description>
4463 </parameter>
4464 </parameters>
4465 <return></return>
4466 </function>
4467
4468 <function name="g_bookmark_file_remove_item">
4469 <description>
4470 Removes the bookmark for @uri from the bookmark file @bookmark.
4471
4472
4473 </description>
4474 <parameters>
4475 <parameter name="bookmark">
4476 <parameter_description> a #GBookmarkFile
4477 </parameter_description>
4478 </parameter>
4479 <parameter name="uri">
4480 <parameter_description> a valid URI
4481 </parameter_description>
4482 </parameter>
4483 <parameter name="error">
4484 <parameter_description> return location for a #GError, or %NULL
4485 </parameter_description>
4486 </parameter>
4487 </parameters>
4488 <return> %TRUE if the bookmark was removed successfully.
4489
4490 Since: 2.12
4491 </return>
4492 </function>
4493
4494 <function name="g_completion_complete_utf8">
4495 <description>
4496 Attempts to complete the string @prefix using the #GCompletion target items.
4497 In contrast to g_completion_complete(), this function returns the largest common
4498 prefix that is a valid UTF-8 string, omitting a possible common partial 
4499 character.
4500
4501 You should use this function instead of g_completion_complete() if your 
4502 items are UTF-8 strings.
4503
4504
4505 </description>
4506 <parameters>
4507 <parameter name="cmp">
4508 <parameter_description> the #GCompletion
4509 </parameter_description>
4510 </parameter>
4511 <parameter name="prefix">
4512 <parameter_description> the prefix string, typically used by the user, which is compared
4513 with each of the items
4514 </parameter_description>
4515 </parameter>
4516 <parameter name="new_prefix">
4517 <parameter_description> if non-%NULL, returns the longest prefix which is common to all
4518 items that matched @prefix, or %NULL if no items matched @prefix.
4519 This string should be freed when no longer needed.
4520 </parameter_description>
4521 </parameter>
4522 </parameters>
4523 <return> the list of items whose strings begin with @prefix. This should
4524 not be changed.
4525
4526 Since: 2.4
4527 </return>
4528 </function>
4529
4530 <function name="g_sequence_prepend">
4531 <description>
4532 Adds a new item to the front of @seq
4533
4534
4535 </description>
4536 <parameters>
4537 <parameter name="seq">
4538 <parameter_description> a #GSequence
4539 </parameter_description>
4540 </parameter>
4541 <parameter name="data">
4542 <parameter_description> the data for the new item
4543 </parameter_description>
4544 </parameter>
4545 </parameters>
4546 <return> an iterator pointing to the new item
4547
4548 Since: 2.14
4549 </return>
4550 </function>
4551
4552 <function name="g_utf8_to_utf16">
4553 <description>
4554 Convert a string from UTF-8 to UTF-16. A 0 character will be
4555 added to the result after the converted text.
4556
4557
4558 </description>
4559 <parameters>
4560 <parameter name="str">
4561 <parameter_description> a UTF-8 encoded string
4562 </parameter_description>
4563 </parameter>
4564 <parameter name="len">
4565 <parameter_description> the maximum length (number of characters) of @str to use. 
4566 If @len &amp;lt; 0, then the string is nul-terminated.
4567 </parameter_description>
4568 </parameter>
4569 <parameter name="items_read">
4570 <parameter_description> location to store number of bytes read, or %NULL.
4571 If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
4572 returned in case @str contains a trailing partial
4573 character. If an error occurs then the index of the
4574 invalid input is stored here.
4575 </parameter_description>
4576 </parameter>
4577 <parameter name="items_written">
4578 <parameter_description> location to store number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt; written, 
4579 or %NULL.
4580 The value stored here does not include the trailing 0.
4581 </parameter_description>
4582 </parameter>
4583 <parameter name="error">
4584 <parameter_description> location to store the error occuring, or %NULL to ignore
4585 errors. Any of the errors in #GConvertError other than
4586 %G_CONVERT_ERROR_NO_CONVERSION may occur.
4587 </parameter_description>
4588 </parameter>
4589 </parameters>
4590 <return> a pointer to a newly allocated UTF-16 string.
4591 This value must be freed with g_free(). If an
4592 error occurs, %NULL will be returned and
4593 @error set.
4594 </return>
4595 </function>
4596
4597 <function name="g_queue_push_nth_link">
4598 <description>
4599 Inserts @link into @queue at the given position.
4600
4601 Since: 2.4
4602
4603 </description>
4604 <parameters>
4605 <parameter name="queue">
4606 <parameter_description> a #GQueue
4607 </parameter_description>
4608 </parameter>
4609 <parameter name="n">
4610 <parameter_description> the position to insert the link. If this is negative or larger than
4611 the number of elements in @queue, the link is added to the end of
4612 @queue.
4613 </parameter_description>
4614 </parameter>
4615 <parameter name="link_">
4616 <parameter_description> the link to add to @queue
4617 </parameter_description>
4618 </parameter>
4619 </parameters>
4620 <return></return>
4621 </function>
4622
4623 <function name="g_thread_foreach">
4624 <description>
4625 Call @thread_func on all existing #GThread structures. Note that
4626 threads may decide to exit while @thread_func is running, so
4627 without intimate knowledge about the lifetime of foreign threads,
4628 @thread_func shouldn&apos;t access the GThread* pointer passed in as
4629 first argument. However, @thread_func will not be called for threads
4630 which are known to have exited already.
4631
4632 Due to thread lifetime checks, this function has an execution complexity
4633 which is quadratic in the number of existing threads.
4634
4635 Since: 2.10
4636
4637 </description>
4638 <parameters>
4639 <parameter name="thread_func">
4640 <parameter_description> function to call for all GThread structures
4641 </parameter_description>
4642 </parameter>
4643 <parameter name="user_data">
4644 <parameter_description>   second argument to @thread_func
4645 </parameter_description>
4646 </parameter>
4647 </parameters>
4648 <return></return>
4649 </function>
4650
4651 <function name="g_queue_peek_tail">
4652 <description>
4653 Returns: the data of the last element in the queue, or %NULL if the queue
4654
4655 </description>
4656 <parameters>
4657 <parameter name="queue">
4658 <parameter_description> a #GQueue.
4659 </parameter_description>
4660 </parameter>
4661 </parameters>
4662 <return> the data of the last element in the queue, or %NULL if the queue
4663 is empty.
4664 </return>
4665 </function>
4666
4667 <function name="g_queue_push_head">
4668 <description>
4669 Adds a new element at the head of the queue.
4670
4671 </description>
4672 <parameters>
4673 <parameter name="queue">
4674 <parameter_description> a #GQueue.
4675 </parameter_description>
4676 </parameter>
4677 <parameter name="data">
4678 <parameter_description> the data for the new element.
4679 </parameter_description>
4680 </parameter>
4681 </parameters>
4682 <return></return>
4683 </function>
4684
4685 <function name="g_async_queue_unref">
4686 <description>
4687 Decreases the reference count of the asynchronous @queue by 1. If
4688 the reference count went to 0, the @queue will be destroyed and the
4689 memory allocated will be freed. So you are not allowed to use the
4690 @queue afterwards, as it might have disappeared. You do not need to
4691 hold the lock to call this function.
4692
4693 </description>
4694 <parameters>
4695 <parameter name="queue">
4696 <parameter_description> a #GAsyncQueue.
4697 </parameter_description>
4698 </parameter>
4699 </parameters>
4700 <return></return>
4701 </function>
4702
4703 <function name="g_child_watch_add_full">
4704 <description>
4705 Sets a function to be called when the child indicated by @pid 
4706 exits, at the priority @priority.
4707
4708 If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() 
4709 you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to 
4710 the spawn function for the child watching to work.
4711
4712 Note that on platforms where #GPid must be explicitly closed
4713 (see g_spawn_close_pid()) @pid must not be closed while the
4714 source is still active. Typically, you will want to call
4715 g_spawn_close_pid() in the callback function for the source.
4716
4717 GLib supports only a single callback per process id.
4718
4719
4720 </description>
4721 <parameters>
4722 <parameter name="priority">
4723 <parameter_description> the priority of the idle source. Typically this will be in the
4724 range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
4725 </parameter_description>
4726 </parameter>
4727 <parameter name="pid">
4728 <parameter_description>      process id of a child process to watch
4729 </parameter_description>
4730 </parameter>
4731 <parameter name="function">
4732 <parameter_description> function to call
4733 </parameter_description>
4734 </parameter>
4735 <parameter name="data">
4736 <parameter_description>     data to pass to @function
4737 </parameter_description>
4738 </parameter>
4739 <parameter name="notify">
4740 <parameter_description>   function to call when the idle is removed, or %NULL
4741 </parameter_description>
4742 </parameter>
4743 </parameters>
4744 <return> the ID (greater than 0) of the event source.
4745
4746 Since: 2.4
4747 </return>
4748 </function>
4749
4750 <function name="g_key_file_get_double_list">
4751 <description>
4752 Return value: the values associated with the key as a list of
4753
4754 </description>
4755 <parameters>
4756 <parameter name="key_file">
4757 <parameter_description> a #GKeyFile
4758 </parameter_description>
4759 </parameter>
4760 <parameter name="group_name">
4761 <parameter_description> a group name
4762 </parameter_description>
4763 </parameter>
4764 <parameter name="key">
4765 <parameter_description> a key
4766 </parameter_description>
4767 </parameter>
4768 <parameter name="length">
4769 <parameter_description> the number of doubles returned
4770 </parameter_description>
4771 </parameter>
4772 <parameter name="error">
4773 <parameter_description> return location for a #GError
4774 </parameter_description>
4775 </parameter>
4776 </parameters>
4777 <return> the values associated with the key as a list of
4778 doubles, or %NULL if the key was not found or could not be parsed.
4779
4780 Since: 2.12
4781 </return>
4782 </function>
4783
4784 <function name="g_sequence_iter_prev">
4785 <description>
4786 Return value: a #GSequenceIter pointing to the previous position before
4787
4788 </description>
4789 <parameters>
4790 <parameter name="iter">
4791 <parameter_description> a #GSequenceIter
4792 </parameter_description>
4793 </parameter>
4794 </parameters>
4795 <return> a #GSequenceIter pointing to the previous position before
4796 @iter.
4797
4798 Since: 2.14
4799 </return>
4800 </function>
4801
4802 <function name="g_option_context_free">
4803 <description>
4804 Frees context and all the groups which have been 
4805 added to it.
4806
4807 Since: 2.6
4808
4809 </description>
4810 <parameters>
4811 <parameter name="context">
4812 <parameter_description> a #GOptionContext 
4813 </parameter_description>
4814 </parameter>
4815 </parameters>
4816 <return></return>
4817 </function>
4818
4819 <function name="g_io_channel_seek">
4820 <description>
4821 Sets the current position in the #GIOChannel, similar to the standard library
4822 function fseek(). 
4823
4824
4825 </description>
4826 <parameters>
4827 <parameter name="channel">
4828 <parameter_description> a #GIOChannel. 
4829 </parameter_description>
4830 </parameter>
4831 <parameter name="offset">
4832 <parameter_description> an offset, in bytes, which is added to the position specified by @type
4833 </parameter_description>
4834 </parameter>
4835 <parameter name="type">
4836 <parameter_description> the position in the file, which can be %G_SEEK_CUR (the current
4837 position), %G_SEEK_SET (the start of the file), or %G_SEEK_END (the end of the
4838 file).
4839 </parameter_description>
4840 </parameter>
4841 </parameters>
4842 <return> %G_IO_ERROR_NONE if the operation was successful.
4843
4844 Deprecated:2.2: Use g_io_channel_seek_position() instead.
4845 </return>
4846 </function>
4847
4848 <function name="g_utf8_strdown">
4849 <description>
4850 Converts all Unicode characters in the string that have a case
4851 to lowercase. The exact manner that this is done depends
4852 on the current locale, and may result in the number of
4853 characters in the string changing.
4854
4855
4856 </description>
4857 <parameters>
4858 <parameter name="str">
4859 <parameter_description> a UTF-8 encoded string
4860 </parameter_description>
4861 </parameter>
4862 <parameter name="len">
4863 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
4864 </parameter_description>
4865 </parameter>
4866 </parameters>
4867 <return> a newly allocated string, with all characters
4868 converted to lowercase.  
4869 </return>
4870 </function>
4871
4872 <function name="g_stat">
4873 <description>
4874 A wrapper for the POSIX stat() function. The stat() function
4875 Returns: 0 if the information was successfully retrieved, -1 if an error 
4876
4877 </description>
4878 <parameters>
4879 <parameter name="filename">
4880 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
4881 </parameter_description>
4882 </parameter>
4883 <parameter name="buf">
4884 <parameter_description> a pointer to a &amp;lt;structname&amp;gt;stat&amp;lt;/structname&amp;gt; struct, which
4885 will be filled with the file information
4886 </parameter_description>
4887 </parameter>
4888 </parameters>
4889 <return> 0 if the information was successfully retrieved, -1 if an error 
4890 occurred
4891
4892 Since: 2.6
4893 </return>
4894 </function>
4895
4896 <function name="g_match_info_get_match_count">
4897 <description>
4898 Retrieves the number of matched substrings (including substring 0, 
4899 that is the whole matched text), so 1 is returned if the pattern 
4900 has no substrings in it and 0 is returned if the match failed.
4901
4902 If the last match was obtained using the DFA algorithm, that is 
4903 using g_regex_match_all() or g_regex_match_all_full(), the retrieved
4904 count is not that of the number of capturing parentheses but that of
4905 the number of matched substrings.
4906
4907
4908 </description>
4909 <parameters>
4910 <parameter name="match_info">
4911 <parameter_description> a #GMatchInfo structure
4912 </parameter_description>
4913 </parameter>
4914 </parameters>
4915 <return> Number of matched substrings, or -1 if an error occurred
4916
4917 Since: 2.14
4918 </return>
4919 </function>
4920
4921 <function name="g_mkstemp">
4922 <description>
4923 Opens a temporary file. See the mkstemp() documentation
4924 on most UNIX-like systems. 
4925
4926 The parameter is a string that should follow the rules for
4927 mkstemp() templates, i.e. contain the string &quot;XXXXXX&quot;. 
4928 g_mkstemp() is slightly more flexible than mkstemp()
4929 in that the sequence does not have to occur at the very end of the 
4930 template. The X string will 
4931 be modified to form the name of a file that didn&apos;t exist.
4932 The string should be in the GLib file name encoding. Most importantly, 
4933 on Windows it should be in UTF-8.
4934
4935
4936 </description>
4937 <parameters>
4938 <parameter name="tmpl">
4939 <parameter_description> template filename
4940 </parameter_description>
4941 </parameter>
4942 </parameters>
4943 <return> A file handle (as from open()) to the file
4944 opened for reading and writing. The file is opened in binary mode
4945 on platforms where there is a difference. The file handle should be
4946 closed with close(). In case of errors, -1 is returned.  
4947 </return>
4948 </function>
4949
4950 <function name="g_filename_display_basename">
4951 <description>
4952 Return value: a newly allocated string containing
4953
4954 </description>
4955 <parameters>
4956 <parameter name="filename">
4957 <parameter_description> an absolute pathname in the GLib file name encoding
4958 </parameter_description>
4959 </parameter>
4960 </parameters>
4961 <return> a newly allocated string containing
4962 a rendition of the basename of the filename in valid UTF-8
4963
4964 Since: 2.6
4965 </return>
4966 </function>
4967
4968 <function name="g_bookmark_file_to_file">
4969 <description>
4970 This function outputs @bookmark into a file.  The write process is
4971 guaranteed to be atomic by using g_file_set_contents() internally.
4972
4973
4974 </description>
4975 <parameters>
4976 <parameter name="bookmark">
4977 <parameter_description> a #GBookmarkFile
4978 </parameter_description>
4979 </parameter>
4980 <parameter name="filename">
4981 <parameter_description> path of the output file
4982 </parameter_description>
4983 </parameter>
4984 <parameter name="error">
4985 <parameter_description> return location for a #GError, or %NULL
4986 </parameter_description>
4987 </parameter>
4988 </parameters>
4989 <return> %TRUE if the file was successfully written.
4990
4991 Since: 2.12
4992 </return>
4993 </function>
4994
4995 <function name="g_datalist_set_flags">
4996 <description>
4997 Turns on flag values for a data list. This function is used
4998 to keep a small number of boolean flags in an object with
4999 a data list without using any additional space. It is
5000 not generally useful except in circumstances where space
5001 is very tight. (It is used in the base #GObject type, for
5002 example.)
5003
5004 Since: 2.8
5005
5006 </description>
5007 <parameters>
5008 <parameter name="datalist">
5009 <parameter_description> pointer to the location that holds a list
5010 </parameter_description>
5011 </parameter>
5012 <parameter name="flags">
5013 <parameter_description> the flags to turn on. The values of the flags are
5014 restricted by %G_DATALIST_FLAGS_MASK (currently
5015 3; giving two possible boolean flags).
5016 A value for @flags that doesn&apos;t fit within the mask is
5017 an error.
5018 </parameter_description>
5019 </parameter>
5020 </parameters>
5021 <return></return>
5022 </function>
5023
5024 <function name="g_utf8_validate">
5025 <description>
5026 Validates UTF-8 encoded text. @str is the text to validate;
5027 if @str is nul-terminated, then @max_len can be -1, otherwise
5028 @max_len should be the number of bytes to validate.
5029 If @end is non-%NULL, then the end of the valid range
5030 will be stored there (i.e. the start of the first invalid 
5031 character if some bytes were invalid, or the end of the text 
5032 being validated otherwise).
5033
5034 Note that g_utf8_validate() returns %FALSE if @max_len is 
5035 positive and NUL is met before @max_len bytes have been read.
5036
5037 Return value: %TRUE if the text was valid UTF-8
5038
5039 </description>
5040 <parameters>
5041 <parameter name="str">
5042 <parameter_description> a pointer to character data
5043 </parameter_description>
5044 </parameter>
5045 <parameter name="max_len">
5046 <parameter_description> max bytes to validate, or -1 to go until NUL
5047 </parameter_description>
5048 </parameter>
5049 <parameter name="end">
5050 <parameter_description> return location for end of valid data
5051 </parameter_description>
5052 </parameter>
5053 </parameters>
5054 <return> %TRUE if the text was valid UTF-8
5055 </return>
5056 </function>
5057
5058 <function name="iconv_cache_bucket_new">
5059 <description>
5060 Creates a new cache bucket, inserts it into the cache and
5061 increments the cache size.
5062
5063 This assumes ownership of @key.
5064
5065
5066 </description>
5067 <parameters>
5068 <parameter name="key">
5069 <parameter_description> cache key
5070 </parameter_description>
5071 </parameter>
5072 <parameter name="cd">
5073 <parameter_description> iconv descriptor
5074 </parameter_description>
5075 </parameter>
5076 </parameters>
5077 <return>a pointer to the newly allocated cache bucket.
5078 </return>
5079 </function>
5080
5081 <function name="g_timeout_source_new_seconds">
5082 <description>
5083 Creates a new timeout source.
5084
5085 The source will not initially be associated with any #GMainContext
5086 and must be added to one with g_source_attach() before it will be
5087 executed.
5088
5089 The scheduling granularity/accuracy of this timeout source will be
5090 in seconds.
5091
5092
5093 </description>
5094 <parameters>
5095 <parameter name="interval">
5096 <parameter_description> the timeout interval in seconds
5097 </parameter_description>
5098 </parameter>
5099 </parameters>
5100 <return> the newly-created timeout source
5101
5102 Since: 2.14     
5103 </return>
5104 </function>
5105
5106 <function name="g_utf8_collate_key">
5107 <description>
5108 Converts a string into a collation key that can be compared
5109 with other collation keys produced by the same function using 
5110 strcmp(). 
5111
5112 The results of comparing the collation keys of two strings 
5113 with strcmp() will always be the same as comparing the two 
5114 original keys with g_utf8_collate().
5115
5116 Note that this function depends on the 
5117 &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
5118
5119
5120 </description>
5121 <parameters>
5122 <parameter name="str">
5123 <parameter_description> a UTF-8 encoded string.
5124 </parameter_description>
5125 </parameter>
5126 <parameter name="len">
5127 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
5128 </parameter_description>
5129 </parameter>
5130 </parameters>
5131 <return> a newly allocated string. This string should
5132 be freed with g_free() when you are done with it.
5133 </return>
5134 </function>
5135
5136 <function name="g_async_queue_timed_pop_unlocked">
5137 <description>
5138 Pops data from the @queue. If no data is received before @end_time,
5139 %NULL is returned. This function must be called while holding the
5140 @queue&apos;s lock.
5141
5142 To easily calculate @end_time a combination of g_get_current_time()
5143 and g_time_val_add() can be used.
5144
5145
5146 </description>
5147 <parameters>
5148 <parameter name="queue">
5149 <parameter_description> a #GAsyncQueue.
5150 </parameter_description>
5151 </parameter>
5152 <parameter name="end_time">
5153 <parameter_description> a #GTimeVal, determining the final time.
5154 </parameter_description>
5155 </parameter>
5156 </parameters>
5157 <return> data from the queue or %NULL, when no data is
5158 received before @end_time.
5159 </return>
5160 </function>
5161
5162 <function name="g_io_channel_set_buffer_size">
5163 <description>
5164 Sets the buffer size.
5165
5166 </description>
5167 <parameters>
5168 <parameter name="channel">
5169 <parameter_description> a #GIOChannel
5170 </parameter_description>
5171 </parameter>
5172 <parameter name="size">
5173 <parameter_description> the size of the buffer. 0 == pick a good size
5174 </parameter_description>
5175 </parameter>
5176 </parameters>
5177 <return></return>
5178 </function>
5179
5180 <function name="g_key_file_get_integer">
5181 <description>
5182 Return value: the value associated with the key as an integer, or
5183
5184 </description>
5185 <parameters>
5186 <parameter name="key_file">
5187 <parameter_description> a #GKeyFile
5188 </parameter_description>
5189 </parameter>
5190 <parameter name="group_name">
5191 <parameter_description> a group name
5192 </parameter_description>
5193 </parameter>
5194 <parameter name="key">
5195 <parameter_description> a key
5196 </parameter_description>
5197 </parameter>
5198 <parameter name="error">
5199 <parameter_description> return location for a #GError
5200 </parameter_description>
5201 </parameter>
5202 </parameters>
5203 <return> the value associated with the key as an integer, or
5204 0 if the key was not found or could not be parsed.
5205
5206 Since: 2.6
5207 </return>
5208 </function>
5209
5210 <function name="g_unichar_get_mirror_char">
5211 <description>
5212 In Unicode, some characters are &amp;lt;firstterm&amp;gt;mirrored&amp;lt;/firstterm&amp;gt;. This
5213 means that their images are mirrored horizontally in text that is laid
5214 out from right to left. For instance, &quot;(&quot; would become its mirror image,
5215 &quot;)&quot;, in right-to-left text.
5216
5217 If @ch has the Unicode mirrored property and there is another unicode
5218 character that typically has a glyph that is the mirror image of @ch&apos;s
5219 glyph and @mirrored_ch is set, it puts that character in the address
5220 pointed to by @mirrored_ch.  Otherwise the original character is put.
5221
5222
5223 </description>
5224 <parameters>
5225 <parameter name="ch">
5226 <parameter_description> a Unicode character
5227 </parameter_description>
5228 </parameter>
5229 <parameter name="mirrored_ch">
5230 <parameter_description> location to store the mirrored character
5231 </parameter_description>
5232 </parameter>
5233 </parameters>
5234 <return> %TRUE if @ch has a mirrored character, %FALSE otherwise
5235
5236 Since: 2.4
5237 </return>
5238 </function>
5239
5240 <function name="g_build_filename">
5241 <description>
5242 Creates a filename from a series of elements using the correct
5243 separator for filenames.
5244
5245 On Unix, this function behaves identically to &amp;lt;literal&amp;gt;g_build_path
5246 (G_DIR_SEPARATOR_S, first_element, ....)&amp;lt;/literal&amp;gt;.
5247
5248 On Windows, it takes into account that either the backslash
5249 (&amp;lt;literal&amp;gt;\&amp;lt;/literal&amp;gt; or slash (&amp;lt;literal&amp;gt;/&amp;lt;/literal&amp;gt;) can be used
5250 as separator in filenames, but otherwise behaves as on Unix. When
5251 file pathname separators need to be inserted, the one that last
5252 previously occurred in the parameters (reading from left to right)
5253 is used.
5254
5255 No attempt is made to force the resulting filename to be an absolute
5256 path. If the first element is a relative path, the result will
5257 be a relative path. 
5258
5259
5260 </description>
5261 <parameters>
5262 <parameter name="first_element">
5263 <parameter_description> the first element in the path
5264 </parameter_description>
5265 </parameter>
5266 <parameter name="Varargs">
5267 <parameter_description> remaining elements in path, terminated by %NULL
5268 </parameter_description>
5269 </parameter>
5270 </parameters>
5271 <return> a newly-allocated string that must be freed with g_free().
5272 </return>
5273 </function>
5274
5275 <function name="g_unichar_combining_class">
5276 <description>
5277 Determines the canonical combining class of a Unicode character.
5278
5279
5280 </description>
5281 <parameters>
5282 <parameter name="uc">
5283 <parameter_description> a Unicode character
5284 </parameter_description>
5285 </parameter>
5286 </parameters>
5287 <return> the combining class of the character
5288
5289 Since: 2.14
5290 </return>
5291 </function>
5292
5293 <function name="g_convert_with_iconv">
5294 <description>
5295 Converts a string from one character set to another. 
5296
5297 Note that you should use g_iconv() for streaming 
5298 conversions&amp;lt;footnote id=&quot;streaming-state&quot;&amp;gt;
5299 &amp;lt;para&amp;gt;
5300 Despite the fact that @byes_read can return information about partial 
5301 characters, the &amp;lt;literal&amp;gt;g_convert_...&amp;lt;/literal&amp;gt; functions
5302 are not generally suitable for streaming. If the underlying converter 
5303 being used maintains internal state, then this won&apos;t be preserved 
5304 across successive calls to g_convert(), g_convert_with_iconv() or 
5305 g_convert_with_fallback(). (An example of this is the GNU C converter 
5306 for CP1255 which does not emit a base character until it knows that 
5307 the next character is not a mark that could combine with the base 
5308 character.)
5309 &amp;lt;/para&amp;gt;
5310 &amp;lt;/footnote&amp;gt;. 
5311
5312
5313 </description>
5314 <parameters>
5315 <parameter name="str">
5316 <parameter_description>           the string to convert
5317 </parameter_description>
5318 </parameter>
5319 <parameter name="len">
5320 <parameter_description>           the length of the string, or -1 if the string is 
5321 nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;. 
5322 </parameter_description>
5323 </parameter>
5324 <parameter name="converter">
5325 <parameter_description>     conversion descriptor from g_iconv_open()
5326 </parameter_description>
5327 </parameter>
5328 <parameter name="bytes_read">
5329 <parameter_description>    location to store the number of bytes in the
5330 input string that were successfully converted, or %NULL.
5331 Even if the conversion was successful, this may be 
5332 less than @len if there were partial characters
5333 at the end of the input. If the error
5334 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
5335 stored will the byte offset after the last valid
5336 input sequence.
5337 </parameter_description>
5338 </parameter>
5339 <parameter name="bytes_written">
5340 <parameter_description> the number of bytes stored in the output buffer (not 
5341 including the terminating nul).
5342 </parameter_description>
5343 </parameter>
5344 <parameter name="error">
5345 <parameter_description>         location to store the error occuring, or %NULL to ignore
5346 errors. Any of the errors in #GConvertError may occur.
5347 </parameter_description>
5348 </parameter>
5349 </parameters>
5350 <return> If the conversion was successful, a newly allocated
5351 nul-terminated string, which must be freed with
5352 g_free(). Otherwise %NULL and @error will be set.
5353 </return>
5354 </function>
5355
5356 <function name="g_strdupv">
5357 <description>
5358 Copies %NULL-terminated array of strings. The copy is a deep copy;
5359 the new array should be freed by first freeing each string, then
5360 the array itself. g_strfreev() does this for you. If called
5361 on a %NULL value, g_strdupv() simply returns %NULL.
5362
5363
5364 </description>
5365 <parameters>
5366 <parameter name="str_array">
5367 <parameter_description> %NULL-terminated array of strings.
5368 </parameter_description>
5369 </parameter>
5370 </parameters>
5371 <return> a new %NULL-terminated array of strings.
5372 </return>
5373 </function>
5374
5375 <function name="g_string_append">
5376 <description>
5377 Adds a string onto the end of a #GString, expanding 
5378 it if necessary.
5379
5380
5381 </description>
5382 <parameters>
5383 <parameter name="string">
5384 <parameter_description> a #GString
5385 </parameter_description>
5386 </parameter>
5387 <parameter name="val">
5388 <parameter_description> the string to append onto the end of @string
5389 </parameter_description>
5390 </parameter>
5391 </parameters>
5392 <return> @string
5393 </return>
5394 </function>
5395
5396 <function name="g_ascii_dtostr">
5397 <description>
5398 Converts a #gdouble to a string, using the &apos;.&apos; as
5399 decimal point. 
5400
5401 This functions generates enough precision that converting
5402 the string back using g_ascii_strtod() gives the same machine-number
5403 (on machines with IEEE compatible 64bit doubles). It is
5404 guaranteed that the size of the resulting string will never
5405 be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes.
5406
5407
5408 </description>
5409 <parameters>
5410 <parameter name="buffer">
5411 <parameter_description> A buffer to place the resulting string in
5412 </parameter_description>
5413 </parameter>
5414 <parameter name="buf_len">
5415 <parameter_description> The length of the buffer.
5416 </parameter_description>
5417 </parameter>
5418 <parameter name="d">
5419 <parameter_description> The #gdouble to convert
5420 </parameter_description>
5421 </parameter>
5422 </parameters>
5423 <return> The pointer to the buffer with the converted string.
5424 </return>
5425 </function>
5426
5427 <function name="g_bookmark_file_get_size">
5428 <description>
5429 Gets the number of bookmarks inside @bookmark.
5430
5431
5432 </description>
5433 <parameters>
5434 <parameter name="bookmark">
5435 <parameter_description> a #GBookmarkFile
5436 </parameter_description>
5437 </parameter>
5438 </parameters>
5439 <return> the number of bookmarks
5440
5441 Since: 2.12
5442 </return>
5443 </function>
5444
5445 <function name="g_bookmark_file_get_uris">
5446 <description>
5447 Return value: a newly allocated %NULL-terminated array of strings.
5448
5449 </description>
5450 <parameters>
5451 <parameter name="bookmark">
5452 <parameter_description> a #GBookmarkFile
5453 </parameter_description>
5454 </parameter>
5455 <parameter name="length">
5456 <parameter_description> return location for the number of returned URIs, or %NULL
5457 </parameter_description>
5458 </parameter>
5459 </parameters>
5460 <return> a newly allocated %NULL-terminated array of strings.
5461 Use g_strfreev() to free it.
5462
5463 Since: 2.12
5464 </return>
5465 </function>
5466
5467 <function name="glib_check_version">
5468 <description>
5469 Checks that the GLib library in use is compatible with the
5470 given version. Generally you would pass in the constants
5471 #GLIB_MAJOR_VERSION, #GLIB_MINOR_VERSION, #GLIB_MICRO_VERSION
5472 as the three arguments to this function; that produces
5473 a check that the library in use is compatible with
5474 the version of GLib the application or module was compiled
5475 against.
5476
5477 Compatibility is defined by two things: first the version
5478 of the running library is newer than the version
5479 @required_major.required_minor.@required_micro. Second
5480 the running library must be binary compatible with the
5481 version @required_major.required_minor.@required_micro
5482 (same major version.)
5483
5484
5485 </description>
5486 <parameters>
5487 <parameter name="required_major">
5488 <parameter_description> the required major version.
5489 </parameter_description>
5490 </parameter>
5491 <parameter name="required_minor">
5492 <parameter_description> the required minor version.
5493 </parameter_description>
5494 </parameter>
5495 <parameter name="required_micro">
5496 <parameter_description> the required micro version.
5497 </parameter_description>
5498 </parameter>
5499 </parameters>
5500 <return> %NULL if the GLib library is compatible with the
5501 given version, or a string describing the version mismatch.
5502 The returned string is owned by GLib and must not be modified
5503 or freed.
5504
5505 Since: 2.6
5506 </return>
5507 </function>
5508
5509 <function name="g_io_channel_write">
5510 <description>
5511 Writes data to a #GIOChannel. 
5512
5513
5514 </description>
5515 <parameters>
5516 <parameter name="channel">
5517 <parameter_description>  a #GIOChannel.
5518 </parameter_description>
5519 </parameter>
5520 <parameter name="buf">
5521 <parameter_description> the buffer containing the data to write. 
5522 </parameter_description>
5523 </parameter>
5524 <parameter name="count">
5525 <parameter_description> the number of bytes to write.
5526 </parameter_description>
5527 </parameter>
5528 <parameter name="bytes_written">
5529 <parameter_description>  the number of bytes actually written.
5530 </parameter_description>
5531 </parameter>
5532 </parameters>
5533 <return>  %G_IO_ERROR_NONE if the operation was successful.
5534
5535 Deprecated:2.2: Use g_io_channel_write_chars() instead.
5536 </return>
5537 </function>
5538
5539 <function name="g_key_file_load_from_data_dirs">
5540 <description>
5541 This function looks for a key file named @file in the paths 
5542 returned from g_get_user_data_dir() and g_get_system_data_dirs(), 
5543 loads the file into @key_file and returns the file&apos;s full path in 
5544 @full_path.  If the file could not be loaded then an %error is
5545 set to either a #GFileError or #GKeyFileError.
5546
5547
5548 </description>
5549 <parameters>
5550 <parameter name="key_file">
5551 <parameter_description> an empty #GKeyFile struct
5552 </parameter_description>
5553 </parameter>
5554 <parameter name="file">
5555 <parameter_description> a relative path to a filename to open and parse
5556 </parameter_description>
5557 </parameter>
5558 <parameter name="full_path">
5559 <parameter_description> return location for a string containing the full path
5560 of the file, or %NULL
5561 </parameter_description>
5562 </parameter>
5563 <parameter name="flags">
5564 <parameter_description> flags from #GKeyFileFlags 
5565 </parameter_description>
5566 </parameter>
5567 <parameter name="error">
5568 <parameter_description> return location for a #GError, or %NULL
5569 </parameter_description>
5570 </parameter>
5571 </parameters>
5572 <return> %TRUE if a key file could be loaded, %FALSE othewise
5573 Since: 2.6
5574 </return>
5575 </function>
5576
5577 <function name="g_sequence_insert_sorted_iter">
5578 <description>
5579 Like g_sequence_insert_sorted(), but uses
5580 a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
5581 the compare function.
5582
5583
5584 </description>
5585 <parameters>
5586 <parameter name="seq">
5587 <parameter_description> a #GSequence
5588 </parameter_description>
5589 </parameter>
5590 <parameter name="data">
5591 <parameter_description> data for the new item
5592 </parameter_description>
5593 </parameter>
5594 <parameter name="iter_cmp">
5595 <parameter_description> the #GSequenceItercompare used to compare iterators in the
5596 sequence. It is called with two iterators pointing into @seq. It should
5597 return 0 if the iterators are equal, a negative value if the first
5598 iterator comes before the second, and a positive value if the second
5599 iterator comes before the first.
5600 </parameter_description>
5601 </parameter>
5602 <parameter name="cmp_data">
5603 <parameter_description> user data passed to @cmp_func
5604 </parameter_description>
5605 </parameter>
5606 </parameters>
5607 <return> a #GSequenceIter pointing to the new item
5608
5609 Since: 2.14
5610 </return>
5611 </function>
5612
5613 <function name="g_main_context_find_source_by_user_data">
5614 <description>
5615 Finds a source with the given user data for the callback.  If
5616 multiple sources exist with the same user data, the first
5617 one found will be returned.
5618
5619
5620 </description>
5621 <parameters>
5622 <parameter name="context">
5623 <parameter_description> a #GMainContext
5624 </parameter_description>
5625 </parameter>
5626 <parameter name="user_data">
5627 <parameter_description> the user_data for the callback.
5628 </parameter_description>
5629 </parameter>
5630 </parameters>
5631 <return> the source, if one was found, otherwise %NULL
5632 </return>
5633 </function>
5634
5635 <function name="g_queue_push_tail_link">
5636 <description>
5637 Adds a new element at the tail of the queue.
5638
5639 </description>
5640 <parameters>
5641 <parameter name="queue">
5642 <parameter_description> a #GQueue.
5643 </parameter_description>
5644 </parameter>
5645 <parameter name="link_">
5646 <parameter_description> a single #GList element, &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; a list with
5647 more than one element.
5648 </parameter_description>
5649 </parameter>
5650 </parameters>
5651 <return></return>
5652 </function>
5653
5654 <function name="g_string_hash">
5655 <description>
5656 Creates a hash code for @str; for use with #GHashTable.
5657
5658
5659 </description>
5660 <parameters>
5661 <parameter name="str">
5662 <parameter_description> a string to hash
5663 </parameter_description>
5664 </parameter>
5665 </parameters>
5666 <return> hash code for @str
5667 </return>
5668 </function>
5669
5670 <function name="g_vsprintf">
5671 <description>
5672 An implementation of the standard vsprintf() function which supports 
5673 positional parameters, as specified in the Single Unix Specification.
5674
5675
5676 </description>
5677 <parameters>
5678 <parameter name="string">
5679 <parameter_description> the buffer to hold the output.
5680 </parameter_description>
5681 </parameter>
5682 <parameter name="format">
5683 <parameter_description> a standard printf() format string, but notice 
5684 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
5685 </parameter_description>
5686 </parameter>
5687 <parameter name="args">
5688 <parameter_description> the list of arguments to insert in the output.
5689 </parameter_description>
5690 </parameter>
5691 </parameters>
5692 <return> the number of characters printed.
5693
5694 Since: 2.2
5695 </return>
5696 </function>
5697
5698 <function name="g_async_queue_try_pop">
5699 <description>
5700 Tries to pop data from the @queue. If no data is available, %NULL is
5701 returned.
5702
5703
5704 </description>
5705 <parameters>
5706 <parameter name="queue">
5707 <parameter_description> a #GAsyncQueue.
5708 </parameter_description>
5709 </parameter>
5710 </parameters>
5711 <return> data from the queue or %NULL, when no data is
5712 available immediately.
5713 </return>
5714 </function>
5715
5716 <function name="g_unichar_iscntrl">
5717 <description>
5718 Determines whether a character is a control character.
5719 Given some UTF-8 text, obtain a character value with
5720 g_utf8_get_char().
5721
5722
5723 </description>
5724 <parameters>
5725 <parameter name="c">
5726 <parameter_description> a Unicode character
5727 </parameter_description>
5728 </parameter>
5729 </parameters>
5730 <return> %TRUE if @c is a control character
5731 </return>
5732 </function>
5733
5734 <function name="g_string_sprintfa">
5735 <description>
5736 Appends a formatted string onto the end of a #GString.
5737 This function is is similar to g_string_sprintf() except that
5738 the text is appended to the #GString. 
5739
5740 Deprecated: This function has been renamed to g_string_append_printf()
5741
5742 </description>
5743 <parameters>
5744 <parameter name="string">
5745 <parameter_description> a #GString
5746 </parameter_description>
5747 </parameter>
5748 <parameter name="format">
5749 <parameter_description> the string format. See the sprintf() documentation
5750 </parameter_description>
5751 </parameter>
5752 <parameter name="Varargs">
5753 <parameter_description> the parameters to insert into the format string
5754 </parameter_description>
5755 </parameter>
5756 </parameters>
5757 <return></return>
5758 </function>
5759
5760 <function name="g_win32_locale_filename_from_utf8">
5761 <description>
5762 Converts a filename from UTF-8 to the system codepage.
5763
5764 On NT-based Windows, on NTFS file systems, file names are in
5765 Unicode. It is quite possible that Unicode file names contain
5766 characters not representable in the system codepage. (For instance,
5767 Greek or Cyrillic characters on Western European or US Windows
5768 installations, or various less common CJK characters on CJK Windows
5769 installations.)
5770
5771 In such a case, and if the filename refers to an existing file, and
5772 the file system stores alternate short (8.3) names for directory
5773 entries, the short form of the filename is returned. Note that the
5774 &quot;short&quot; name might in fact be longer than the Unicode name if the
5775 Unicode name has very short pathname components containing
5776 non-ASCII characters. If no system codepage name for the file is
5777 possible, %NULL is returned.
5778
5779 The return value is dynamically allocated and should be freed with
5780 g_free() when no longer needed.
5781
5782
5783 </description>
5784 <parameters>
5785 <parameter name="utf8filename">
5786 <parameter_description> a UTF-8 encoded filename.
5787 </parameter_description>
5788 </parameter>
5789 </parameters>
5790 <return> The converted filename, or %NULL on conversion
5791 failure and lack of short names.
5792
5793 Since: 2.8
5794 </return>
5795 </function>
5796
5797 <function name="g_io_channel_read_line_string">
5798 <description>
5799 Reads a line from a #GIOChannel, using a #GString as a buffer.
5800
5801
5802 </description>
5803 <parameters>
5804 <parameter name="channel">
5805 <parameter_description> a #GIOChannel
5806 </parameter_description>
5807 </parameter>
5808 <parameter name="buffer">
5809 <parameter_description> a #GString into which the line will be written.
5810 If @buffer already contains data, the old data will
5811 be overwritten.
5812 </parameter_description>
5813 </parameter>
5814 <parameter name="terminator_pos">
5815 <parameter_description> location to store position of line terminator, or %NULL
5816 </parameter_description>
5817 </parameter>
5818 <parameter name="error">
5819 <parameter_description> a location to store an error of type #GConvertError
5820 or #GIOChannelError
5821 </parameter_description>
5822 </parameter>
5823 </parameters>
5824 <return> the status of the operation.
5825 </return>
5826 </function>
5827
5828 <function name="g_set_error">
5829 <description>
5830 Does nothing if @err is %NULL; if @err is non-%NULL, then *@err must
5831 be %NULL. A new #GError is created and assigned to *@err.
5832
5833 </description>
5834 <parameters>
5835 <parameter name="err">
5836 <parameter_description> a return location for a #GError, or %NULL
5837 </parameter_description>
5838 </parameter>
5839 <parameter name="domain">
5840 <parameter_description> error domain
5841 </parameter_description>
5842 </parameter>
5843 <parameter name="code">
5844 <parameter_description> error code 
5845 </parameter_description>
5846 </parameter>
5847 <parameter name="format">
5848 <parameter_description> printf()-style format
5849 </parameter_description>
5850 </parameter>
5851 <parameter name="Varargs">
5852 <parameter_description> args for @format 
5853 </parameter_description>
5854 </parameter>
5855 </parameters>
5856 <return></return>
5857 </function>
5858
5859 <function name="g_queue_peek_head_link">
5860 <description>
5861 Return value: the first link in @queue, or %NULL if @queue is empty
5862
5863 </description>
5864 <parameters>
5865 <parameter name="queue">
5866 <parameter_description> a #GQueue
5867 </parameter_description>
5868 </parameter>
5869 </parameters>
5870 <return> the first link in @queue, or %NULL if @queue is empty
5871
5872 Since: 2.4
5873 </return>
5874 </function>
5875
5876 <function name="g_child_watch_source_new">
5877 <description>
5878 Creates a new child_watch source.
5879
5880 The source will not initially be associated with any #GMainContext
5881 and must be added to one with g_source_attach() before it will be
5882 executed.
5883
5884 Note that child watch sources can only be used in conjunction with
5885 &amp;lt;literal&amp;gt;g_spawn...&amp;lt;/literal&amp;gt; when the %G_SPAWN_DO_NOT_REAP_CHILD
5886 flag is used.
5887
5888 Note that on platforms where #GPid must be explicitly closed
5889 (see g_spawn_close_pid()) @pid must not be closed while the
5890 source is still active. Typically, you will want to call
5891 g_spawn_close_pid() in the callback function for the source.
5892
5893 Note further that using g_child_watch_source_new() is not 
5894 compatible with calling &amp;lt;literal&amp;gt;waitpid(-1)&amp;lt;/literal&amp;gt; in 
5895 the application. Calling waitpid() for individual pids will
5896 still work fine. 
5897
5898
5899 </description>
5900 <parameters>
5901 <parameter name="pid">
5902 <parameter_description> process id of a child process to watch. On Windows, a HANDLE
5903 for the process to watch (which actually doesn&apos;t have to be a child).
5904 </parameter_description>
5905 </parameter>
5906 </parameters>
5907 <return> the newly-created child watch source
5908
5909 Since: 2.4
5910 </return>
5911 </function>
5912
5913 <function name="g_option_group_new">
5914 <description>
5915 Creates a new #GOptionGroup.
5916
5917
5918 </description>
5919 <parameters>
5920 <parameter name="name">
5921 <parameter_description> the name for the option group, this is used to provide
5922 help for the options in this group with &amp;lt;option&amp;gt;--help-&amp;lt;/option&amp;gt;@name
5923 </parameter_description>
5924 </parameter>
5925 <parameter name="description">
5926 <parameter_description> a description for this group to be shown in 
5927 &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt;. This string is translated using the translation
5928 domain or translation function of the group
5929 </parameter_description>
5930 </parameter>
5931 <parameter name="help_description">
5932 <parameter_description> a description for the &amp;lt;option&amp;gt;--help-&amp;lt;/option&amp;gt;@name option.
5933 This string is translated using the translation domain or translation function
5934 of the group
5935 </parameter_description>
5936 </parameter>
5937 <parameter name="user_data">
5938 <parameter_description> user data that will be passed to the pre- and post-parse hooks,
5939 the error hook and to callbacks of %G_OPTION_ARG_CALLBACK options, or %NULL
5940 </parameter_description>
5941 </parameter>
5942 <parameter name="destroy">
5943 <parameter_description> a function that will be called to free @user_data, or %NULL
5944 </parameter_description>
5945 </parameter>
5946 </parameters>
5947 <return> a newly created option group. It should be added 
5948 to a #GOptionContext or freed with g_option_group_free().
5949
5950 Since: 2.6
5951 </return>
5952 </function>
5953
5954 <function name="g_mapped_file_free">
5955 <description>
5956 Unmaps the buffer of @file and frees it. 
5957
5958 Since: 2.8
5959
5960 </description>
5961 <parameters>
5962 <parameter name="file">
5963 <parameter_description> a #GMappedFile
5964 </parameter_description>
5965 </parameter>
5966 </parameters>
5967 <return></return>
5968 </function>
5969
5970 <function name="g_thread_pool_get_max_unused_threads">
5971 <description>
5972 Return value: the maximal number of unused threads
5973
5974 </description>
5975 <parameters>
5976 </parameters>
5977 <return> the maximal number of unused threads
5978 </return>
5979 </function>
5980
5981 <function name="g_io_channel_error_from_errno">
5982 <description>
5983 Converts an &amp;lt;literal&amp;gt;errno&amp;lt;/literal&amp;gt; error number to a #GIOChannelError.
5984
5985
5986 </description>
5987 <parameters>
5988 <parameter name="en">
5989 <parameter_description> an &amp;lt;literal&amp;gt;errno&amp;lt;/literal&amp;gt; error number, e.g. %EINVAL.
5990 </parameter_description>
5991 </parameter>
5992 </parameters>
5993 <return> a #GIOChannelError error number, e.g. %G_IO_CHANNEL_ERROR_INVAL.
5994 </return>
5995 </function>
5996
5997 <function name="g_int_equal">
5998 <description>
5999 Compares the two #gint values being pointed to and returns 
6000 %TRUE if they are equal.
6001 It can be passed to g_hash_table_new() as the @key_equal_func
6002 parameter, when using pointers to integers as keys in a #GHashTable.
6003
6004
6005 </description>
6006 <parameters>
6007 <parameter name="v1">
6008 <parameter_description> a pointer to a #gint key.
6009 </parameter_description>
6010 </parameter>
6011 <parameter name="v2">
6012 <parameter_description> a pointer to a #gint key to compare with @v1.
6013 </parameter_description>
6014 </parameter>
6015 </parameters>
6016 <return> %TRUE if the two keys match.
6017 </return>
6018 </function>
6019
6020 <function name="g_idle_source_new">
6021 <description>
6022 Creates a new idle source.
6023
6024 The source will not initially be associated with any #GMainContext
6025 and must be added to one with g_source_attach() before it will be
6026 executed. Note that the default priority for idle sources is
6027 %G_PRIORITY_DEFAULT_IDLE, as compared to other sources which
6028 have a default priority of %G_PRIORITY_DEFAULT.
6029
6030
6031 </description>
6032 <parameters>
6033 </parameters>
6034 <return> the newly-created idle source
6035 </return>
6036 </function>
6037
6038 <function name="g_string_chunk_insert_len">
6039 <description>
6040 Adds a copy of the first @len bytes of @string to the #GStringChunk. 
6041 The copy is nul-terminated.
6042
6043 Since this function does not stop at nul bytes, it is the caller&apos;s
6044 responsibility to ensure that @string has at least @len addressable 
6045 bytes.
6046
6047 The characters in the returned string can be changed, if necessary, 
6048 though you should not change anything after the end of the string.
6049
6050
6051 </description>
6052 <parameters>
6053 <parameter name="chunk">
6054 <parameter_description> a #GStringChunk
6055 </parameter_description>
6056 </parameter>
6057 <parameter name="string">
6058 <parameter_description> bytes to insert
6059 </parameter_description>
6060 </parameter>
6061 <parameter name="len">
6062 <parameter_description> number of bytes of @string to insert, or -1 to insert a 
6063 nul-terminated string 
6064 </parameter_description>
6065 </parameter>
6066 </parameters>
6067 <return> a pointer to the copy of @string within the #GStringChunk
6068
6069 Since: 2.4
6070 </return>
6071 </function>
6072
6073 <function name="g_sequence_sort_changed_iter">
6074 <description>
6075 Like g_sequence_sort_changed(), but uses
6076 a #GSequenceIterCompareFunc instead of a #GCompareDataFunc as
6077 the compare function.
6078
6079 Since: 2.14
6080
6081 </description>
6082 <parameters>
6083 <parameter name="iter">
6084 <parameter_description> a #GSequenceIter
6085 </parameter_description>
6086 </parameter>
6087 <parameter name="iter_cmp">
6088 <parameter_description> the #GSequenceItercompare used to compare iterators in the
6089 sequence. It is called with two iterators pointing into @seq. It should
6090 return 0 if the iterators are equal, a negative value if the first
6091 iterator comes before the second, and a positive value if the second
6092 iterator comes before the first.
6093 </parameter_description>
6094 </parameter>
6095 <parameter name="cmp_data">
6096 <parameter_description> user data passed to @cmp_func
6097 </parameter_description>
6098 </parameter>
6099 </parameters>
6100 <return></return>
6101 </function>
6102
6103 <function name="g_ascii_strtoull">
6104 <description>
6105 Converts a string to a #guint64 value.
6106 This function behaves like the standard strtoull() function
6107 does in the C locale. It does this without actually
6108 changing the current locale, since that would not be
6109 thread-safe.
6110
6111 This function is typically used when reading configuration
6112 files or other non-user input that should be locale independent.
6113 To handle input from the user you should normally use the
6114 locale-sensitive system strtoull() function.
6115
6116 If the correct value would cause overflow, %G_MAXUINT64
6117 is returned, and %ERANGE is stored in %errno.  If the base is
6118 outside the valid range, zero is returned, and %EINVAL is stored
6119 in %errno.  If the string conversion fails, zero is returned, and
6120 @endptr returns @nptr (if @endptr is non-%NULL).
6121
6122
6123 </description>
6124 <parameters>
6125 <parameter name="nptr">
6126 <parameter_description>    the string to convert to a numeric value.
6127 </parameter_description>
6128 </parameter>
6129 <parameter name="endptr">
6130 <parameter_description>  if non-%NULL, it returns the character after
6131 the last character used in the conversion.
6132 </parameter_description>
6133 </parameter>
6134 <parameter name="base">
6135 <parameter_description>    to be used for the conversion, 2..36 or 0
6136 </parameter_description>
6137 </parameter>
6138 </parameters>
6139 <return> the #guint64 value or zero on error.
6140
6141 Since: 2.2
6142 </return>
6143 </function>
6144
6145 <function name="g_unichar_isdefined">
6146 <description>
6147 Determines if a given character is assigned in the Unicode
6148 standard.
6149
6150
6151 </description>
6152 <parameters>
6153 <parameter name="c">
6154 <parameter_description> a Unicode character
6155 </parameter_description>
6156 </parameter>
6157 </parameters>
6158 <return> %TRUE if the character has an assigned value
6159 </return>
6160 </function>
6161
6162 <function name="g_markup_vprintf_escaped">
6163 <description>
6164 Formats the data in @args according to @format, escaping
6165 all string and character arguments in the fashion
6166 of g_markup_escape_text(). See g_markup_printf_escaped().
6167
6168
6169 </description>
6170 <parameters>
6171 <parameter name="format">
6172 <parameter_description> printf() style format string
6173 </parameter_description>
6174 </parameter>
6175 <parameter name="args">
6176 <parameter_description> variable argument list, similar to vprintf()
6177 </parameter_description>
6178 </parameter>
6179 </parameters>
6180 <return> newly allocated result from formatting
6181 operation. Free with g_free().
6182
6183 Since: 2.4
6184 </return>
6185 </function>
6186
6187 <function name="g_bookmark_file_set_is_private">
6188 <description>
6189 Sets the private flag of the bookmark for @uri.
6190
6191 If a bookmark for @uri cannot be found then it is created.
6192
6193 Since: 2.12
6194
6195 </description>
6196 <parameters>
6197 <parameter name="bookmark">
6198 <parameter_description> a #GBookmarkFile
6199 </parameter_description>
6200 </parameter>
6201 <parameter name="uri">
6202 <parameter_description> a valid URI
6203 </parameter_description>
6204 </parameter>
6205 <parameter name="is_private">
6206 <parameter_description> %TRUE if the bookmark should be marked as private
6207 </parameter_description>
6208 </parameter>
6209 </parameters>
6210 <return></return>
6211 </function>
6212
6213 <function name="g_key_file_get_boolean">
6214 <description>
6215 Return value: the value associated with the key as a boolean, or
6216
6217 </description>
6218 <parameters>
6219 <parameter name="key_file">
6220 <parameter_description> a #GKeyFile
6221 </parameter_description>
6222 </parameter>
6223 <parameter name="group_name">
6224 <parameter_description> a group name
6225 </parameter_description>
6226 </parameter>
6227 <parameter name="key">
6228 <parameter_description> a key
6229 </parameter_description>
6230 </parameter>
6231 <parameter name="error">
6232 <parameter_description> return location for a #GError
6233 </parameter_description>
6234 </parameter>
6235 </parameters>
6236 <return> the value associated with the key as a boolean, or
6237 %FALSE if the key was not found or could not be parsed.
6238
6239 Since: 2.6
6240 </return>
6241 </function>
6242
6243 <function name="g_async_queue_sort">
6244 <description>
6245 Sorts @queue using @func. 
6246
6247 This function will lock @queue before it sorts the queue and unlock
6248 it when it is finished.
6249
6250 If you were sorting a list of priority numbers to make sure the
6251 lowest priority would be at the top of the queue, you could use:
6252 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt; 
6253 gint32 id1;
6254 gint32 id2;
6255
6256 id1 = GPOINTER_TO_INT (element1);
6257 id2 = GPOINTER_TO_INT (element2);
6258
6259 return (id1 &amp;gt; id2 ? +1 : id1 == id2 ? 0 : -1);
6260 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
6261
6262 Since: 2.10
6263
6264 </description>
6265 <parameters>
6266 <parameter name="queue">
6267 <parameter_description> a #GAsyncQueue
6268 </parameter_description>
6269 </parameter>
6270 <parameter name="func">
6271 <parameter_description> the #GCompareDataFunc is used to sort @queue. This
6272 function is passed two elements of the @queue. The function
6273 should return 0 if they are equal, a negative value if the
6274 first element should be higher in the @queue or a positive
6275 value if the first element should be lower in the @queue than
6276 the second element. 
6277 </parameter_description>
6278 </parameter>
6279 <parameter name="user_data">
6280 <parameter_description> user data passed to @func
6281 </parameter_description>
6282 </parameter>
6283 </parameters>
6284 <return></return>
6285 </function>
6286
6287 <function name="g_path_is_absolute">
6288 <description>
6289 Returns: %TRUE if @file_name is an absolute path. 
6290
6291 </description>
6292 <parameters>
6293 <parameter name="file_name">
6294 <parameter_description> a file name.
6295 </parameter_description>
6296 </parameter>
6297 </parameters>
6298 <return> %TRUE if @file_name is an absolute path. 
6299 </return>
6300 </function>
6301
6302 <function name="g_string_prepend_len">
6303 <description>
6304 Prepends @len bytes of @val to @string. 
6305 Because @len is provided, @val may contain 
6306 embedded nuls and need not be nul-terminated.
6307
6308 Since this function does not stop at nul bytes, 
6309 it is the caller&apos;s responsibility to ensure that 
6310 @val has at least @len addressable bytes.
6311
6312
6313 </description>
6314 <parameters>
6315 <parameter name="string">
6316 <parameter_description> a #GString
6317 </parameter_description>
6318 </parameter>
6319 <parameter name="val">
6320 <parameter_description> bytes to prepend
6321 </parameter_description>
6322 </parameter>
6323 <parameter name="len">
6324 <parameter_description> number of bytes in @val to prepend
6325 </parameter_description>
6326 </parameter>
6327 </parameters>
6328 <return> @string
6329 </return>
6330 </function>
6331
6332 <function name="g_string_overwrite_len">
6333 <description>
6334 Overwrites part of a string, lengthening it if necessary. 
6335 This function will work with embedded nuls.
6336
6337
6338 </description>
6339 <parameters>
6340 <parameter name="string">
6341 <parameter_description> a #GString
6342 </parameter_description>
6343 </parameter>
6344 <parameter name="pos">
6345 <parameter_description> the position at which to start overwriting
6346 </parameter_description>
6347 </parameter>
6348 <parameter name="val">
6349 <parameter_description> the string that will overwrite the @string starting at @pos
6350 </parameter_description>
6351 </parameter>
6352 <parameter name="len">
6353 <parameter_description> the number of bytes to write from @val
6354 </parameter_description>
6355 </parameter>
6356 </parameters>
6357 <return> @string
6358
6359 Since: 2.14
6360 </return>
6361 </function>
6362
6363 <function name="g_main_loop_is_running">
6364 <description>
6365 Checks to see if the main loop is currently being run via g_main_loop_run().
6366
6367
6368 </description>
6369 <parameters>
6370 <parameter name="loop">
6371 <parameter_description> a #GMainLoop.
6372 </parameter_description>
6373 </parameter>
6374 </parameters>
6375 <return> %TRUE if the mainloop is currently being run.
6376 </return>
6377 </function>
6378
6379 <function name="g_bookmark_file_get_title">
6380 <description>
6381 Return value: a newly allocated string or %NULL if the specified
6382
6383 </description>
6384 <parameters>
6385 <parameter name="bookmark">
6386 <parameter_description> a #GBookmarkFile
6387 </parameter_description>
6388 </parameter>
6389 <parameter name="uri">
6390 <parameter_description> a valid URI or %NULL
6391 </parameter_description>
6392 </parameter>
6393 <parameter name="error">
6394 <parameter_description> return location for a #GError, or %NULL
6395 </parameter_description>
6396 </parameter>
6397 </parameters>
6398 <return> a newly allocated string or %NULL if the specified
6399 URI cannot be found.
6400
6401 Since: 2.12
6402 </return>
6403 </function>
6404
6405 <function name="g_string_new">
6406 <description>
6407 Creates a new #GString, initialized with the given string.
6408
6409
6410 </description>
6411 <parameters>
6412 <parameter name="init">
6413 <parameter_description> the initial text to copy into the string
6414 </parameter_description>
6415 </parameter>
6416 </parameters>
6417 <return> the new #GString
6418 </return>
6419 </function>
6420
6421 <function name="g_filename_to_uri">
6422 <description>
6423 Converts an absolute filename to an escaped ASCII-encoded URI, with the path
6424 component following Section 3.3. of RFC 2396.
6425
6426
6427 </description>
6428 <parameters>
6429 <parameter name="filename">
6430 <parameter_description> an absolute filename specified in the GLib file name encoding,
6431 which is the on-disk file name bytes on Unix, and UTF-8 on 
6432 Windows
6433 </parameter_description>
6434 </parameter>
6435 <parameter name="hostname">
6436 <parameter_description> A UTF-8 encoded hostname, or %NULL for none.
6437 </parameter_description>
6438 </parameter>
6439 <parameter name="error">
6440 <parameter_description> location to store the error occuring, or %NULL to ignore
6441 errors. Any of the errors in #GConvertError may occur.
6442 </parameter_description>
6443 </parameter>
6444 </parameters>
6445 <return> a newly-allocated string holding the resulting
6446 URI, or %NULL on an error.
6447 </return>
6448 </function>
6449
6450 <function name="g_string_down">
6451 <description>
6452 Converts a #GString to lowercase.
6453
6454
6455 </description>
6456 <parameters>
6457 <parameter name="string">
6458 <parameter_description> a #GString
6459 </parameter_description>
6460 </parameter>
6461 </parameters>
6462 <return> the #GString.
6463
6464 Deprecated:2.2: This function uses the locale-specific 
6465 tolower() function, which is almost never the right thing. 
6466 Use g_string_ascii_down() or g_utf8_strdown() instead.
6467 </return>
6468 </function>
6469
6470 <function name="g_strup">
6471 <description>
6472 Converts a string to upper case. 
6473
6474
6475 </description>
6476 <parameters>
6477 <parameter name="string">
6478 <parameter_description> the string to convert.
6479 </parameter_description>
6480 </parameter>
6481 </parameters>
6482 <return> the string
6483
6484 Deprecated:2.2: This function is totally broken for the reasons discussed 
6485 in the g_strncasecmp() docs - use g_ascii_strup() or g_utf8_strup() instead.
6486 </return>
6487 </function>
6488
6489 <function name="g_date_get_iso8601_week_of_year">
6490 <description>
6491 Returns: ISO 8601 week number of the year.
6492
6493 </description>
6494 <parameters>
6495 <parameter name="date">
6496 <parameter_description> a valid #GDate
6497 </parameter_description>
6498 </parameter>
6499 </parameters>
6500 <return> ISO 8601 week number of the year.
6501
6502 Since: 2.6
6503 </return>
6504 </function>
6505
6506 <function name="g_win32_get_package_installation_directory">
6507 <description>
6508 Try to determine the installation directory for a software package.
6509
6510 @package should be a short identifier for the package. Typically it
6511 is the same identifier as used for
6512 &amp;lt;literal&amp;gt;GETTEXT_PACKAGE&amp;lt;/literal&amp;gt; in software configured using GNU
6513 autotools. The function first looks in the Windows Registry for the
6514 value &amp;lt;literal&amp;gt;&amp;num;InstallationDirectory&amp;lt;/literal&amp;gt; in the key
6515 &amp;lt;literal&amp;gt;&amp;num;HKLM\Software\@package&amp;lt;/literal&amp;gt;, and if that value
6516 exists and is a string, returns that.
6517
6518 It is strongly recommended that packagers of GLib-using libraries
6519 for Windows do not store installation paths in the Registry to be
6520 used by this function as that interfers with having several
6521 parallel installations of the library. Parallel installations of
6522 different versions of some GLib-using library, or GLib itself,
6523 might well be desirable for various reasons.
6524
6525 For the same reason it is recommeded to always pass %NULL as
6526 @package to this function, to avoid the temptation to use the
6527 Registry.
6528
6529 If @package is %NULL, or the above value isn&apos;t found in the
6530 Registry, but @dll_name is non-%NULL, it should name a DLL loaded
6531 into the current process. Typically that would be the name of the
6532 DLL calling this function, looking for its installation
6533 directory. The function then asks Windows what directory that DLL
6534 was loaded from. If that directory&apos;s last component is &quot;bin&quot; or
6535 &quot;lib&quot;, the parent directory is returned, otherwise the directory
6536 itself. If that DLL isn&apos;t loaded, the function proceeds as if
6537 @dll_name was %NULL.
6538
6539 If both @package and @dll_name are %NULL, the directory from where
6540 the main executable of the process was loaded is used instead in
6541 the same way as above.
6542
6543
6544 </description>
6545 <parameters>
6546 <parameter name="package">
6547 <parameter_description> An identifier for a software package, or %NULL, in UTF-8
6548 </parameter_description>
6549 </parameter>
6550 <parameter name="dll_name">
6551 <parameter_description> The name of a DLL that a package provides, or %NULL, in UTF-8
6552 </parameter_description>
6553 </parameter>
6554 </parameters>
6555 <return> a string containing the installation directory for
6556 @package. The string is in the GLib file name encoding, i.e. UTF-8
6557 on Windows. The return value should be freed with g_free() when not
6558 needed any longer.
6559 </return>
6560 </function>
6561
6562 <function name="g_thread_pool_stop_unused_threads">
6563 <description>
6564 Stops all currently unused threads. This does not change the
6565 maximal number of unused threads. This function can be used to
6566 regularly stop all unused threads e.g. from g_timeout_add().
6567
6568 </description>
6569 <parameters>
6570 </parameters>
6571 <return></return>
6572 </function>
6573
6574 <function name="g_hash_table_size">
6575 <description>
6576 Return value: the number of key/value pairs in the #GHashTable.
6577
6578 </description>
6579 <parameters>
6580 <parameter name="hash_table">
6581 <parameter_description> a #GHashTable.
6582 </parameter_description>
6583 </parameter>
6584 </parameters>
6585 <return> the number of key/value pairs in the #GHashTable.
6586 </return>
6587 </function>
6588
6589 <function name="g_key_file_remove_key">
6590 <description>
6591 Removes @key in @group_name from the key file. 
6592
6593 Since: 2.6
6594
6595 </description>
6596 <parameters>
6597 <parameter name="key_file">
6598 <parameter_description> a #GKeyFile
6599 </parameter_description>
6600 </parameter>
6601 <parameter name="group_name">
6602 <parameter_description> a group name
6603 </parameter_description>
6604 </parameter>
6605 <parameter name="key">
6606 <parameter_description> a key name to remove
6607 </parameter_description>
6608 </parameter>
6609 <parameter name="error">
6610 <parameter_description> return location for a #GError or %NULL
6611 </parameter_description>
6612 </parameter>
6613 </parameters>
6614 <return></return>
6615 </function>
6616
6617 <function name="g_source_get_priority">
6618 <description>
6619 Gets the priority of a source.
6620
6621
6622 </description>
6623 <parameters>
6624 <parameter name="source">
6625 <parameter_description> a #GSource
6626 </parameter_description>
6627 </parameter>
6628 </parameters>
6629 <return> the priority of the source
6630 </return>
6631 </function>
6632
6633 <function name="g_regex_replace_literal">
6634 <description>
6635 Replaces all occurances of the pattern in @regex with the
6636 replacement text. @replacement is replaced literally, to
6637 include backreferences use g_regex_replace().
6638
6639 Setting @start_position differs from just passing over a 
6640 shortened string and setting #G_REGEX_MATCH_NOTBOL in the 
6641 case of a pattern that begins with any kind of lookbehind 
6642 assertion, such as &quot;\b&quot;.
6643
6644
6645 </description>
6646 <parameters>
6647 <parameter name="regex">
6648 <parameter_description> a #GRegex structure
6649 </parameter_description>
6650 </parameter>
6651 <parameter name="string">
6652 <parameter_description> the string to perform matches against
6653 </parameter_description>
6654 </parameter>
6655 <parameter name="string_len">
6656 <parameter_description> the length of @string, or -1 if @string is nul-terminated
6657 </parameter_description>
6658 </parameter>
6659 <parameter name="start_position">
6660 <parameter_description> starting index of the string to match
6661 </parameter_description>
6662 </parameter>
6663 <parameter name="replacement">
6664 <parameter_description> text to replace each match with
6665 </parameter_description>
6666 </parameter>
6667 <parameter name="match_options">
6668 <parameter_description> options for the match
6669 </parameter_description>
6670 </parameter>
6671 <parameter name="error">
6672 <parameter_description> location to store the error occuring, or %NULL to ignore errors
6673 </parameter_description>
6674 </parameter>
6675 </parameters>
6676 <return> a newly allocated string containing the replacements
6677
6678 Since: 2.14
6679 </return>
6680 </function>
6681
6682 <function name="g_queue_find">
6683 <description>
6684 Finds the first link in @queue which contains @data.
6685
6686
6687 </description>
6688 <parameters>
6689 <parameter name="queue">
6690 <parameter_description> a #GQueue
6691 </parameter_description>
6692 </parameter>
6693 <parameter name="data">
6694 <parameter_description> data to find
6695 </parameter_description>
6696 </parameter>
6697 </parameters>
6698 <return> The first link in @queue which contains @data.
6699
6700 Since: 2.4
6701 </return>
6702 </function>
6703
6704 <function name="g_bookmark_file_new">
6705 <description>
6706 Creates a new empty #GBookmarkFile object.
6707
6708 Use g_bookmark_file_load_from_file(), g_bookmark_file_load_from_data()
6709 or g_bookmark_file_load_from_data_dirs() to read an existing bookmark
6710 file.
6711
6712
6713 </description>
6714 <parameters>
6715 </parameters>
6716 <return> an empty #GBookmarkFile
6717
6718 Since: 2.12
6719 </return>
6720 </function>
6721
6722 <function name="g_bookmark_file_has_application">
6723 <description>
6724 Checks whether the bookmark for @uri inside @bookmark has been
6725 registered by application @name.
6726
6727 In the event the URI cannot be found, %FALSE is returned and
6728 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
6729
6730
6731 </description>
6732 <parameters>
6733 <parameter name="bookmark">
6734 <parameter_description> a #GBookmarkFile
6735 </parameter_description>
6736 </parameter>
6737 <parameter name="uri">
6738 <parameter_description> a valid URI
6739 </parameter_description>
6740 </parameter>
6741 <parameter name="name">
6742 <parameter_description> the name of the application
6743 </parameter_description>
6744 </parameter>
6745 <parameter name="error">
6746 <parameter_description> return location for a #GError or %NULL
6747 </parameter_description>
6748 </parameter>
6749 </parameters>
6750 <return> %TRUE if the application @name was found
6751
6752 Since: 2.12
6753 </return>
6754 </function>
6755
6756 <function name="g_queue_pop_nth_link">
6757 <description>
6758 Removes and returns the link at the given position.
6759
6760
6761 </description>
6762 <parameters>
6763 <parameter name="queue">
6764 <parameter_description> a #GQueue
6765 </parameter_description>
6766 </parameter>
6767 <parameter name="n">
6768 <parameter_description> the link&apos;s position
6769 </parameter_description>
6770 </parameter>
6771 </parameters>
6772 <return> The @n&apos;th link, or %NULL if @n is off the end of @queue.
6773
6774 Since: 2.4
6775 </return>
6776 </function>
6777
6778 <function name="g_io_channel_set_close_on_unref">
6779 <description>
6780 Setting this flag to %TRUE for a channel you have already closed
6781 can cause problems.
6782
6783 </description>
6784 <parameters>
6785 <parameter name="channel">
6786 <parameter_description> a #GIOChannel
6787 </parameter_description>
6788 </parameter>
6789 <parameter name="do_close">
6790 <parameter_description> Whether to close the channel on the final unref of
6791 the GIOChannel data structure. The default value of
6792 this is %TRUE for channels created by g_io_channel_new_file (),
6793 and %FALSE for all other channels.
6794 </parameter_description>
6795 </parameter>
6796 </parameters>
6797 <return></return>
6798 </function>
6799
6800 <function name="g_async_queue_pop">
6801 <description>
6802 Pops data from the @queue. This function blocks until data become
6803 available.
6804
6805
6806 </description>
6807 <parameters>
6808 <parameter name="queue">
6809 <parameter_description> a #GAsyncQueue.
6810 </parameter_description>
6811 </parameter>
6812 </parameters>
6813 <return> data from the queue.
6814 </return>
6815 </function>
6816
6817 <function name="g_async_queue_unref_and_unlock">
6818 <description>
6819 Decreases the reference count of the asynchronous @queue by 1 and
6820 releases the lock. This function must be called while holding the
6821 @queue&apos;s lock. If the reference count went to 0, the @queue will be
6822 destroyed and the memory allocated will be freed.
6823
6824 @Deprecated: Since 2.8, reference counting is done atomically
6825 so g_async_queue_unref() can be used regardless of the @queue&apos;s
6826 lock.
6827
6828 </description>
6829 <parameters>
6830 <parameter name="queue">
6831 <parameter_description> a #GAsyncQueue.
6832 </parameter_description>
6833 </parameter>
6834 </parameters>
6835 <return></return>
6836 </function>
6837
6838 <function name="g_option_context_get_description">
6839 <description>
6840 Returns: the description
6841
6842 </description>
6843 <parameters>
6844 <parameter name="context">
6845 <parameter_description> a #GOptionContext
6846 </parameter_description>
6847 </parameter>
6848 </parameters>
6849 <return> the description
6850
6851 Since: 2.12
6852 </return>
6853 </function>
6854
6855 <function name="g_stpcpy">
6856 <description>
6857 Copies a nul-terminated string into the dest buffer, include the
6858 trailing nul, and return a pointer to the trailing nul byte.
6859 This is useful for concatenating multiple strings together
6860 without having to repeatedly scan for the end.
6861
6862
6863 </description>
6864 <parameters>
6865 <parameter name="dest">
6866 <parameter_description> destination buffer.
6867 </parameter_description>
6868 </parameter>
6869 <parameter name="src">
6870 <parameter_description> source string.
6871 </parameter_description>
6872 </parameter>
6873 </parameters>
6874 <return> a pointer to trailing nul byte.
6875 </return>
6876 </function>
6877
6878 <function name="g_string_insert_c">
6879 <description>
6880 Inserts a byte into a #GString, expanding it if necessary.
6881
6882
6883 </description>
6884 <parameters>
6885 <parameter name="string">
6886 <parameter_description> a #GString
6887 </parameter_description>
6888 </parameter>
6889 <parameter name="pos">
6890 <parameter_description> the position to insert the byte
6891 </parameter_description>
6892 </parameter>
6893 <parameter name="c">
6894 <parameter_description> the byte to insert
6895 </parameter_description>
6896 </parameter>
6897 </parameters>
6898 <return> @string
6899 </return>
6900 </function>
6901
6902 <function name="g_bookmark_file_get_added">
6903 <description>
6904 Gets the time the bookmark for @uri was added to @bookmark
6905
6906 In the event the URI cannot be found, -1 is returned and
6907 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
6908
6909
6910 </description>
6911 <parameters>
6912 <parameter name="bookmark">
6913 <parameter_description> a #GBookmarkFile
6914 </parameter_description>
6915 </parameter>
6916 <parameter name="uri">
6917 <parameter_description> a valid URI
6918 </parameter_description>
6919 </parameter>
6920 <parameter name="error">
6921 <parameter_description> return location for a #GError, or %NULL
6922 </parameter_description>
6923 </parameter>
6924 </parameters>
6925 <return> a timestamp
6926
6927 Since: 2.12
6928 </return>
6929 </function>
6930
6931 <function name="g_io_channel_shutdown">
6932 <description>
6933 Close an IO channel. Any pending data to be written will be
6934 flushed if @flush is %TRUE. The channel will not be freed until the
6935 last reference is dropped using g_io_channel_unref().
6936
6937
6938 </description>
6939 <parameters>
6940 <parameter name="channel">
6941 <parameter_description> a #GIOChannel
6942 </parameter_description>
6943 </parameter>
6944 <parameter name="flush">
6945 <parameter_description> if %TRUE, flush pending
6946 </parameter_description>
6947 </parameter>
6948 <parameter name="err">
6949 <parameter_description> location to store a #GIOChannelError
6950 </parameter_description>
6951 </parameter>
6952 </parameters>
6953 <return> the status of the operation.
6954 </return>
6955 </function>
6956
6957 <function name="g_ucs4_to_utf16">
6958 <description>
6959 Convert a string from UCS-4 to UTF-16. A 0 character will be
6960 added to the result after the converted text.
6961
6962
6963 </description>
6964 <parameters>
6965 <parameter name="str">
6966 <parameter_description> a UCS-4 encoded string
6967 </parameter_description>
6968 </parameter>
6969 <parameter name="len">
6970 <parameter_description> the maximum length (number of characters) of @str to use. 
6971 If @len &amp;lt; 0, then the string is terminated with a 0 character.
6972 </parameter_description>
6973 </parameter>
6974 <parameter name="items_read">
6975 <parameter_description> location to store number of bytes read, or %NULL.
6976 If an error occurs then the index of the invalid input
6977 is stored here.
6978 </parameter_description>
6979 </parameter>
6980 <parameter name="items_written">
6981 <parameter_description> location to store number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt; 
6982 written, or %NULL. The value stored here does not 
6983 include the trailing 0.
6984 </parameter_description>
6985 </parameter>
6986 <parameter name="error">
6987 <parameter_description> location to store the error occuring, or %NULL to ignore
6988 errors. Any of the errors in #GConvertError other than
6989 %G_CONVERT_ERROR_NO_CONVERSION may occur.
6990 </parameter_description>
6991 </parameter>
6992 </parameters>
6993 <return> a pointer to a newly allocated UTF-16 string.
6994 This value must be freed with g_free(). If an
6995 error occurs, %NULL will be returned and
6996 @error set.
6997 </return>
6998 </function>
6999
7000 <function name="g_thread_pool_unprocessed">
7001 <description>
7002 Return value: the number of unprocessed tasks
7003
7004 </description>
7005 <parameters>
7006 <parameter name="pool">
7007 <parameter_description> a #GThreadPool
7008 </parameter_description>
7009 </parameter>
7010 </parameters>
7011 <return> the number of unprocessed tasks
7012 </return>
7013 </function>
7014
7015 <function name="g_thread_pool_set_max_unused_threads">
7016 <description>
7017 Sets the maximal number of unused threads to @max_threads. If
7018 @max_threads is -1, no limit is imposed on the number of unused
7019 threads.
7020
7021 </description>
7022 <parameters>
7023 <parameter name="max_threads">
7024 <parameter_description> maximal number of unused threads
7025 </parameter_description>
7026 </parameter>
7027 </parameters>
7028 <return></return>
7029 </function>
7030
7031 <function name="g_bookmark_file_set_description">
7032 <description>
7033 Sets @description as the description of the bookmark for @uri.
7034
7035 If @uri is %NULL, the description of @bookmark is set.
7036
7037 If a bookmark for @uri cannot be found then it is created.
7038
7039 Since: 2.12
7040
7041 </description>
7042 <parameters>
7043 <parameter name="bookmark">
7044 <parameter_description> a #GBookmarkFile
7045 </parameter_description>
7046 </parameter>
7047 <parameter name="uri">
7048 <parameter_description> a valid URI or %NULL
7049 </parameter_description>
7050 </parameter>
7051 <parameter name="description">
7052 <parameter_description> a string
7053 </parameter_description>
7054 </parameter>
7055 </parameters>
7056 <return></return>
7057 </function>
7058
7059 <function name="g_utf8_get_char_validated">
7060 <description>
7061 Convert a sequence of bytes encoded as UTF-8 to a Unicode character.
7062 This function checks for incomplete characters, for invalid characters
7063 such as characters that are out of the range of Unicode, and for
7064 overlong encodings of valid characters.
7065
7066
7067 </description>
7068 <parameters>
7069 <parameter name="p">
7070 <parameter_description> a pointer to Unicode character encoded as UTF-8
7071 </parameter_description>
7072 </parameter>
7073 <parameter name="max_len">
7074 <parameter_description> the maximum number of bytes to read, or -1, for no maximum or
7075 if @p is nul-terminated
7076 </parameter_description>
7077 </parameter>
7078 </parameters>
7079 <return> the resulting character. If @p points to a partial
7080 sequence at the end of a string that could begin a valid 
7081 character (or if @max_len is zero), returns (gunichar)-2; 
7082 otherwise, if @p does not point to a valid UTF-8 encoded 
7083 Unicode character, returns (gunichar)-1.
7084 </return>
7085 </function>
7086
7087 <function name="g_utf8_to_ucs4_fast">
7088 <description>
7089 Convert a string from UTF-8 to a 32-bit fixed width
7090 representation as UCS-4, assuming valid UTF-8 input.
7091 This function is roughly twice as fast as g_utf8_to_ucs4()
7092 but does no error checking on the input.
7093
7094
7095 </description>
7096 <parameters>
7097 <parameter name="str">
7098 <parameter_description> a UTF-8 encoded string
7099 </parameter_description>
7100 </parameter>
7101 <parameter name="len">
7102 <parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
7103 the string is nul-terminated.
7104 </parameter_description>
7105 </parameter>
7106 <parameter name="items_written">
7107 <parameter_description> location to store the number of characters in the
7108 result, or %NULL.
7109 </parameter_description>
7110 </parameter>
7111 </parameters>
7112 <return> a pointer to a newly allocated UCS-4 string.
7113 This value must be freed with g_free().
7114 </return>
7115 </function>
7116
7117 <function name="g_hash_table_replace">
7118 <description>
7119 Inserts a new key and value into a #GHashTable similar to 
7120 g_hash_table_insert(). The difference is that if the key already exists 
7121 in the #GHashTable, it gets replaced by the new key. If you supplied a 
7122 @value_destroy_func when creating the #GHashTable, the old value is freed 
7123 using that function. If you supplied a @key_destroy_func when creating the 
7124 #GHashTable, the old key is freed using that function. 
7125
7126 </description>
7127 <parameters>
7128 <parameter name="hash_table">
7129 <parameter_description> a #GHashTable.
7130 </parameter_description>
7131 </parameter>
7132 <parameter name="key">
7133 <parameter_description> a key to insert.
7134 </parameter_description>
7135 </parameter>
7136 <parameter name="value">
7137 <parameter_description> the value to associate with the key.
7138 </parameter_description>
7139 </parameter>
7140 </parameters>
7141 <return></return>
7142 </function>
7143
7144 <function name="g_source_remove">
7145 <description>
7146 Removes the source with the given id from the default main context. 
7147 The id of
7148 a #GSource is given by g_source_get_id(), or will be returned by the
7149 functions g_source_attach(), g_idle_add(), g_idle_add_full(),
7150 g_timeout_add(), g_timeout_add_full(), g_child_watch_add(),
7151 g_child_watch_add_full(), g_io_add_watch(), and g_io_add_watch_full().
7152
7153 See also g_source_destroy().
7154
7155
7156 </description>
7157 <parameters>
7158 <parameter name="tag">
7159 <parameter_description> the ID of the source to remove.
7160 </parameter_description>
7161 </parameter>
7162 </parameters>
7163 <return> %TRUE if the source was found and removed.
7164 </return>
7165 </function>
7166
7167 <function name="g_timeout_add_seconds_full">
7168 <description>
7169 Sets a function to be called at regular intervals, with @priority.
7170 The function is called repeatedly until it returns %FALSE, at which
7171 point the timeout is automatically destroyed and the function will
7172 not be called again.
7173
7174 Unlike g_timeout_add(), this function operates at whole second granularity.
7175 The initial starting point of the timer is determined by the implementation
7176 and the implementation is expected to group multiple timers together so that
7177 they fire all at the same time.
7178 To allow this grouping, the @interval to the first timer is rounded
7179 and can deviate up to one second from the specified interval.
7180 Subsequent timer iterations will generally run at the specified interval.
7181
7182 Note that timeout functions may be delayed, due to the processing of other
7183 event sources. Thus they should not be relied on for precise timing.
7184 After each call to the timeout function, the time of the next
7185 timeout is recalculated based on the current time and the given @interval
7186
7187 If you want timing more precise than whole seconds, use g_timeout_add()
7188 instead.
7189
7190 The grouping of timers to fire at the same time results in a more power
7191 and CPU efficient behavior so if your timer is in multiples of seconds
7192 and you don&apos;t require the first timer exactly one second from now, the
7193 use of g_timeout_add_seconds() is preferred over g_timeout_add().
7194
7195
7196 </description>
7197 <parameters>
7198 <parameter name="priority">
7199 <parameter_description> the priority of the timeout source. Typically this will be in
7200 the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
7201 </parameter_description>
7202 </parameter>
7203 <parameter name="interval">
7204 <parameter_description> the time between calls to the function, in seconds
7205 </parameter_description>
7206 </parameter>
7207 <parameter name="function">
7208 <parameter_description> function to call
7209 </parameter_description>
7210 </parameter>
7211 <parameter name="data">
7212 <parameter_description>     data to pass to @function
7213 </parameter_description>
7214 </parameter>
7215 <parameter name="notify">
7216 <parameter_description>   function to call when the timeout is removed, or %NULL
7217 </parameter_description>
7218 </parameter>
7219 </parameters>
7220 <return> the ID (greater than 0) of the event source.
7221
7222 Since: 2.14
7223 </return>
7224 </function>
7225
7226 <function name="g_queue_insert_sorted">
7227 <description>
7228 Inserts @data into @queue using @func to determine the new position.
7229
7230 Since: 2.4
7231
7232 </description>
7233 <parameters>
7234 <parameter name="queue">
7235 <parameter_description> a #GQueue
7236 </parameter_description>
7237 </parameter>
7238 <parameter name="data">
7239 <parameter_description> the data to insert
7240 </parameter_description>
7241 </parameter>
7242 <parameter name="func">
7243 <parameter_description> the #GCompareDataFunc used to compare elements in the queue. It is
7244 called with two elements of the @queue and @user_data. It should
7245 return 0 if the elements are equal, a negative value if the first
7246 element comes before the second, and a positive value if the second
7247 element comes before the first.
7248 </parameter_description>
7249 </parameter>
7250 <parameter name="user_data">
7251 <parameter_description> user data passed to @func.
7252 </parameter_description>
7253 </parameter>
7254 </parameters>
7255 <return></return>
7256 </function>
7257
7258 <function name="g_string_insert">
7259 <description>
7260 Inserts a copy of a string into a #GString, 
7261 expanding it if necessary.
7262
7263
7264 </description>
7265 <parameters>
7266 <parameter name="string">
7267 <parameter_description> a #GString
7268 </parameter_description>
7269 </parameter>
7270 <parameter name="pos">
7271 <parameter_description> the position to insert the copy of the string
7272 </parameter_description>
7273 </parameter>
7274 <parameter name="val">
7275 <parameter_description> the string to insert
7276 </parameter_description>
7277 </parameter>
7278 </parameters>
7279 <return> @string
7280 </return>
7281 </function>
7282
7283 <function name="g_get_user_config_dir">
7284 <description>
7285 Return value: a string owned by GLib that must not be modified 
7286
7287 </description>
7288 <parameters>
7289 </parameters>
7290 <return> a string owned by GLib that must not be modified 
7291 or freed.
7292 Since: 2.6
7293 </return>
7294 </function>
7295
7296 <function name="g_async_queue_pop_unlocked">
7297 <description>
7298 Pops data from the @queue. This function blocks until data become
7299 available. This function must be called while holding the @queue&apos;s
7300 lock.
7301
7302
7303 </description>
7304 <parameters>
7305 <parameter name="queue">
7306 <parameter_description> a #GAsyncQueue.
7307 </parameter_description>
7308 </parameter>
7309 </parameters>
7310 <return> data from the queue.
7311 </return>
7312 </function>
7313
7314 <function name="g_error_new_literal">
7315 <description>
7316 Creates a new #GError; unlike g_error_new(), @message is not
7317 a printf()-style format string. Use this 
7318 function if @message contains text you don&apos;t have control over, 
7319 that could include printf() escape sequences.
7320
7321
7322 </description>
7323 <parameters>
7324 <parameter name="domain">
7325 <parameter_description> error domain
7326 </parameter_description>
7327 </parameter>
7328 <parameter name="code">
7329 <parameter_description> error code
7330 </parameter_description>
7331 </parameter>
7332 <parameter name="message">
7333 <parameter_description> error message
7334 </parameter_description>
7335 </parameter>
7336 </parameters>
7337 <return> a new #GError
7338 </return>
7339 </function>
7340
7341 <function name="g_option_group_free">
7342 <description>
7343 Frees a #GOptionGroup. Note that you must &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt;
7344 free groups which have been added to a #GOptionContext.
7345
7346 Since: 2.6
7347
7348 </description>
7349 <parameters>
7350 <parameter name="group">
7351 <parameter_description> a #GOptionGroup
7352 </parameter_description>
7353 </parameter>
7354 </parameters>
7355 <return></return>
7356 </function>
7357
7358 <function name="g_strv_length">
7359 <description>
7360 Return value: length of @str_array.
7361
7362 </description>
7363 <parameters>
7364 <parameter name="str_array">
7365 <parameter_description> a %NULL-terminated array of strings.
7366 </parameter_description>
7367 </parameter>
7368 </parameters>
7369 <return> length of @str_array.
7370
7371 Since: 2.6
7372 </return>
7373 </function>
7374
7375 <function name="g_queue_link_index">
7376 <description>
7377 Return value: The position of @link_, or -1 if the link is
7378
7379 </description>
7380 <parameters>
7381 <parameter name="queue">
7382 <parameter_description> a #Gqueue
7383 </parameter_description>
7384 </parameter>
7385 <parameter name="link_">
7386 <parameter_description> A #GList link
7387 </parameter_description>
7388 </parameter>
7389 </parameters>
7390 <return> The position of @link_, or -1 if the link is
7391 not part of @queue
7392
7393 Since: 2.4
7394 </return>
7395 </function>
7396
7397 <function name="g_spawn_close_pid">
7398 <description>
7399 On some platforms, notably WIN32, the #GPid type represents a resource
7400 which must be closed to prevent resource leaking. g_spawn_close_pid()
7401 is provided for this purpose. It should be used on all platforms, even
7402 though it doesn&apos;t do anything under UNIX.
7403
7404 </description>
7405 <parameters>
7406 <parameter name="pid">
7407 <parameter_description> The process identifier to close
7408 </parameter_description>
7409 </parameter>
7410 </parameters>
7411 <return></return>
7412 </function>
7413
7414 <function name="g_iconv_open">
7415 <description>
7416 Same as the standard UNIX routine iconv_open(), but
7417 may be implemented via libiconv on UNIX flavors that lack
7418 a native implementation.
7419
7420 GLib provides g_convert() and g_locale_to_utf8() which are likely
7421 more convenient than the raw iconv wrappers.
7422
7423
7424 </description>
7425 <parameters>
7426 <parameter name="to_codeset">
7427 <parameter_description> destination codeset
7428 </parameter_description>
7429 </parameter>
7430 <parameter name="from_codeset">
7431 <parameter_description> source codeset
7432 </parameter_description>
7433 </parameter>
7434 </parameters>
7435 <return> a &quot;conversion descriptor&quot;, or (GIConv)-1 if
7436 opening the converter failed.
7437 </return>
7438 </function>
7439
7440 <function name="g_rand_free">
7441 <description>
7442 Frees the memory allocated for the #GRand.
7443
7444 </description>
7445 <parameters>
7446 <parameter name="rand_">
7447 <parameter_description> a #GRand.
7448 </parameter_description>
7449 </parameter>
7450 </parameters>
7451 <return></return>
7452 </function>
7453
7454 <function name="g_option_group_add_entries">
7455 <description>
7456 Adds the options specified in @entries to @group.
7457
7458 Since: 2.6
7459
7460 </description>
7461 <parameters>
7462 <parameter name="group">
7463 <parameter_description> a #GOptionGroup
7464 </parameter_description>
7465 </parameter>
7466 <parameter name="entries">
7467 <parameter_description> a %NULL-terminated array of #GOptionEntry&amp;lt;!-- --&amp;gt;s
7468 </parameter_description>
7469 </parameter>
7470 </parameters>
7471 <return></return>
7472 </function>
7473
7474 <function name="g_bookmark_file_set_groups">
7475 <description>
7476 Sets a list of group names for the item with URI @uri.  Each previously
7477 set group name list is removed.
7478
7479 If @uri cannot be found then an item for it is created.
7480
7481 Since: 2.12
7482
7483 </description>
7484 <parameters>
7485 <parameter name="bookmark">
7486 <parameter_description> a #GBookmarkFile
7487 </parameter_description>
7488 </parameter>
7489 <parameter name="uri">
7490 <parameter_description> an item&apos;s URI
7491 </parameter_description>
7492 </parameter>
7493 <parameter name="groups">
7494 <parameter_description> an array of group names, or %NULL to remove all groups
7495 </parameter_description>
7496 </parameter>
7497 <parameter name="length">
7498 <parameter_description> number of group name values in @groups
7499 </parameter_description>
7500 </parameter>
7501 </parameters>
7502 <return></return>
7503 </function>
7504
7505 <function name="g_io_channel_get_close_on_unref">
7506 <description>
7507 Return value: Whether the channel will be closed on the final unref of
7508
7509 </description>
7510 <parameters>
7511 <parameter name="channel">
7512 <parameter_description> a #GIOChannel.
7513 </parameter_description>
7514 </parameter>
7515 </parameters>
7516 <return> Whether the channel will be closed on the final unref of
7517 the GIOChannel data structure.
7518 </return>
7519 </function>
7520
7521 <function name="g_key_file_get_groups">
7522 <description>
7523 Return value: a newly-allocated %NULL-terminated array of strings. 
7524
7525 </description>
7526 <parameters>
7527 <parameter name="key_file">
7528 <parameter_description> a #GKeyFile
7529 </parameter_description>
7530 </parameter>
7531 <parameter name="length">
7532 <parameter_description> return location for the number of returned groups, or %NULL
7533 </parameter_description>
7534 </parameter>
7535 </parameters>
7536 <return> a newly-allocated %NULL-terminated array of strings. 
7537 Use g_strfreev() to free it.
7538 Since: 2.6
7539 </return>
7540 </function>
7541
7542 <function name="g_source_ref">
7543 <description>
7544 Increases the reference count on a source by one.
7545
7546
7547 </description>
7548 <parameters>
7549 <parameter name="source">
7550 <parameter_description> a #GSource
7551 </parameter_description>
7552 </parameter>
7553 </parameters>
7554 <return> @source
7555 </return>
7556 </function>
7557
7558 <function name="g_filename_to_utf8">
7559 <description>
7560 Converts a string which is in the encoding used by GLib for
7561 filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8
7562 for filenames; on other platforms, this function indirectly depends on 
7563 the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
7564
7565
7566 </description>
7567 <parameters>
7568 <parameter name="opsysstring">
7569 <parameter_description>   a string in the encoding for filenames
7570 </parameter_description>
7571 </parameter>
7572 <parameter name="len">
7573 <parameter_description>           the length of the string, or -1 if the string is
7574 nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;. 
7575 </parameter_description>
7576 </parameter>
7577 <parameter name="bytes_read">
7578 <parameter_description>    location to store the number of bytes in the
7579 input string that were successfully converted, or %NULL.
7580 Even if the conversion was successful, this may be 
7581 less than @len if there were partial characters
7582 at the end of the input. If the error
7583 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
7584 stored will the byte offset after the last valid
7585 input sequence.
7586 </parameter_description>
7587 </parameter>
7588 <parameter name="bytes_written">
7589 <parameter_description> the number of bytes stored in the output buffer (not 
7590 including the terminating nul).
7591 </parameter_description>
7592 </parameter>
7593 <parameter name="error">
7594 <parameter_description>         location to store the error occuring, or %NULL to ignore
7595 errors. Any of the errors in #GConvertError may occur.
7596 </parameter_description>
7597 </parameter>
7598 </parameters>
7599 <return> The converted string, or %NULL on an error.
7600 </return>
7601 </function>
7602
7603 <function name="g_strrstr">
7604 <description>
7605 Searches the string @haystack for the last occurrence
7606 of the string @needle.
7607
7608
7609 </description>
7610 <parameters>
7611 <parameter name="haystack">
7612 <parameter_description> a nul-terminated string.
7613 </parameter_description>
7614 </parameter>
7615 <parameter name="needle">
7616 <parameter_description> the nul-terminated string to search for.
7617 </parameter_description>
7618 </parameter>
7619 </parameters>
7620 <return> a pointer to the found occurrence, or
7621 %NULL if not found.
7622 </return>
7623 </function>
7624
7625 <function name="g_match_info_get_regex">
7626 <description>
7627 Returns: #GRegex object used in @match_info
7628
7629 </description>
7630 <parameters>
7631 <parameter name="match_info">
7632 <parameter_description> a #GMatchInfo
7633 </parameter_description>
7634 </parameter>
7635 </parameters>
7636 <return> #GRegex object used in @match_info
7637
7638 Since: 2.14
7639 </return>
7640 </function>
7641
7642 <function name="g_sequence_foreach_range">
7643 <description>
7644 Calls @func for each item in the range (@begin, @end) passing
7645 @user_data to the function.
7646
7647 Since: 2.14
7648
7649 </description>
7650 <parameters>
7651 <parameter name="begin">
7652 <parameter_description> a #GSequenceIter
7653 </parameter_description>
7654 </parameter>
7655 <parameter name="end">
7656 <parameter_description> a #GSequenceIter
7657 </parameter_description>
7658 </parameter>
7659 <parameter name="func">
7660 <parameter_description> a #GFunc
7661 </parameter_description>
7662 </parameter>
7663 <parameter name="user_data">
7664 <parameter_description> user data passed to @func
7665 </parameter_description>
7666 </parameter>
7667 </parameters>
7668 <return></return>
7669 </function>
7670
7671 <function name="g_main_context_wait">
7672 <description>
7673 Tries to become the owner of the specified context,
7674 as with g_main_context_acquire(). But if another thread
7675 is the owner, atomically drop @mutex and wait on @cond until 
7676 that owner releases ownership or until @cond is signaled, then
7677 try again (once) to become the owner.
7678
7679
7680 </description>
7681 <parameters>
7682 <parameter name="context">
7683 <parameter_description> a #GMainContext
7684 </parameter_description>
7685 </parameter>
7686 <parameter name="cond">
7687 <parameter_description> a condition variable
7688 </parameter_description>
7689 </parameter>
7690 <parameter name="mutex">
7691 <parameter_description> a mutex, currently held
7692 </parameter_description>
7693 </parameter>
7694 </parameters>
7695 <return> %TRUE if the operation succeeded, and
7696 this thread is now the owner of @context.
7697 </return>
7698 </function>
7699
7700 <function name="g_date_set_time_t">
7701 <description>
7702 Sets the value of a date from a &amp;lt;type&amp;gt;time_t&amp;lt;/type&amp;gt; value. 
7703
7704 To set the value of a date to the current day, you could write:
7705 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt; 
7706 g_date_set_time_t (date, time (NULL)); 
7707 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
7708
7709 Since: 2.10
7710
7711 </description>
7712 <parameters>
7713 <parameter name="date">
7714 <parameter_description> a #GDate 
7715 </parameter_description>
7716 </parameter>
7717 <parameter name="timet">
7718 <parameter_description> &amp;lt;type&amp;gt;time_t&amp;lt;/type&amp;gt; value to set
7719 </parameter_description>
7720 </parameter>
7721 </parameters>
7722 <return></return>
7723 </function>
7724
7725 <function name="g_key_file_set_comment">
7726 <description>
7727 Places a comment above @key from @group_name.
7728 @group_name. If @key is %NULL then @comment will
7729 be written above @group_name.  If both @key
7730 and @group_name are NULL, then @comment will
7731 be written above the first group in the file.
7732
7733 Since: 2.6
7734
7735 </description>
7736 <parameters>
7737 <parameter name="key_file">
7738 <parameter_description> a #GKeyFile
7739 </parameter_description>
7740 </parameter>
7741 <parameter name="group_name">
7742 <parameter_description> a group name, or %NULL
7743 </parameter_description>
7744 </parameter>
7745 <parameter name="key">
7746 <parameter_description> a key
7747 </parameter_description>
7748 </parameter>
7749 <parameter name="comment">
7750 <parameter_description> a comment
7751 </parameter_description>
7752 </parameter>
7753 <parameter name="error">
7754 <parameter_description> return location for a #GError
7755 </parameter_description>
7756 </parameter>
7757 </parameters>
7758 <return></return>
7759 </function>
7760
7761 <function name="g_io_channel_error_quark">
7762 <description>
7763
7764 </description>
7765 <parameters>
7766 </parameters>
7767 <return> The quark used as %G_IO_CHANNEL_ERROR
7768 </return>
7769 </function>
7770
7771 <function name="g_option_context_add_group">
7772 <description>
7773 Adds a #GOptionGroup to the @context, so that parsing with @context
7774 will recognize the options in the group. Note that the group will
7775 be freed together with the context when g_option_context_free() is
7776 called, so you must not free the group yourself after adding it
7777 to a context.
7778
7779 Since: 2.6
7780
7781 </description>
7782 <parameters>
7783 <parameter name="context">
7784 <parameter_description> a #GOptionContext
7785 </parameter_description>
7786 </parameter>
7787 <parameter name="group">
7788 <parameter_description> the group to add
7789 </parameter_description>
7790 </parameter>
7791 </parameters>
7792 <return></return>
7793 </function>
7794
7795 <function name="g_hash_table_foreach_remove">
7796 <description>
7797 Calls the given function for each key/value pair in the #GHashTable.
7798 If the function returns %TRUE, then the key/value pair is removed from the
7799 #GHashTable. If you supplied key or value destroy functions when creating
7800 the #GHashTable, they are used to free the memory allocated for the removed
7801 keys and values.
7802
7803
7804 </description>
7805 <parameters>
7806 <parameter name="hash_table">
7807 <parameter_description> a #GHashTable.
7808 </parameter_description>
7809 </parameter>
7810 <parameter name="func">
7811 <parameter_description> the function to call for each key/value pair.
7812 </parameter_description>
7813 </parameter>
7814 <parameter name="user_data">
7815 <parameter_description> user data to pass to the function.
7816 </parameter_description>
7817 </parameter>
7818 </parameters>
7819 <return> the number of key/value pairs removed.
7820 </return>
7821 </function>
7822
7823 <function name="g_rand_new_with_seed_array">
7824 <description>
7825 Creates a new random number generator initialized with @seed.
7826
7827
7828 </description>
7829 <parameters>
7830 <parameter name="seed">
7831 <parameter_description> an array of seeds to initialize the random number generator.
7832 </parameter_description>
7833 </parameter>
7834 <parameter name="seed_length">
7835 <parameter_description> an array of seeds to initialize the random number generator.
7836 </parameter_description>
7837 </parameter>
7838 </parameters>
7839 <return> the new #GRand.
7840
7841 Since: 2.4
7842 </return>
7843 </function>
7844
7845 <function name="g_string_prepend_unichar">
7846 <description>
7847 Converts a Unicode character into UTF-8, and prepends it
7848 to the string.
7849
7850
7851 </description>
7852 <parameters>
7853 <parameter name="string">
7854 <parameter_description> a #GString
7855 </parameter_description>
7856 </parameter>
7857 <parameter name="wc">
7858 <parameter_description> a Unicode character
7859 </parameter_description>
7860 </parameter>
7861 </parameters>
7862 <return> @string
7863 </return>
7864 </function>
7865
7866 <function name="g_rand_set_seed_array">
7867 <description>
7868 Initializes the random number generator by an array of
7869 longs.  Array can be of arbitrary size, though only the
7870 first 624 values are taken.  This function is useful
7871 if you have many low entropy seeds, or if you require more then
7872 32bits of actual entropy for your application.
7873
7874 Since: 2.4
7875
7876 </description>
7877 <parameters>
7878 <parameter name="rand_">
7879 <parameter_description> a #GRand.
7880 </parameter_description>
7881 </parameter>
7882 <parameter name="seed">
7883 <parameter_description> array to initialize with
7884 </parameter_description>
7885 </parameter>
7886 <parameter name="seed_length">
7887 <parameter_description> length of array
7888 </parameter_description>
7889 </parameter>
7890 </parameters>
7891 <return></return>
7892 </function>
7893
7894 <function name="g_regex_match_simple">
7895 <description>
7896 Scans for a match in @string for @pattern.
7897
7898 This function is equivalent to g_regex_match() but it does not
7899 require to compile the pattern with g_regex_new(), avoiding some
7900 lines of code when you need just to do a match without extracting
7901 substrings, capture counts, and so on.
7902
7903 If this function is to be called on the same @pattern more than
7904 once, it&apos;s more efficient to compile the pattern once with
7905 g_regex_new() and then use g_regex_match().
7906
7907
7908 </description>
7909 <parameters>
7910 <parameter name="pattern">
7911 <parameter_description> the regular expression
7912 </parameter_description>
7913 </parameter>
7914 <parameter name="string">
7915 <parameter_description> the string to scan for matches
7916 </parameter_description>
7917 </parameter>
7918 <parameter name="compile_options">
7919 <parameter_description> compile options for the regular expression
7920 </parameter_description>
7921 </parameter>
7922 <parameter name="match_options">
7923 <parameter_description> match options
7924 </parameter_description>
7925 </parameter>
7926 </parameters>
7927 <return> %TRUE is the string matched, %FALSE otherwise
7928
7929 Since: 2.14
7930 </return>
7931 </function>
7932
7933 <function name="g_locale_to_utf8">
7934 <description>
7935 Converts a string which is in the encoding used for strings by
7936 the C runtime (usually the same as that used by the operating
7937 system) in the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt; into a
7938 UTF-8 string.
7939
7940
7941 </description>
7942 <parameters>
7943 <parameter name="opsysstring">
7944 <parameter_description>   a string in the encoding of the current locale. On Windows
7945 this means the system codepage.
7946 </parameter_description>
7947 </parameter>
7948 <parameter name="len">
7949 <parameter_description>           the length of the string, or -1 if the string is
7950 nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;. 
7951 </parameter_description>
7952 </parameter>
7953 <parameter name="bytes_read">
7954 <parameter_description>    location to store the number of bytes in the
7955 input string that were successfully converted, or %NULL.
7956 Even if the conversion was successful, this may be 
7957 less than @len if there were partial characters
7958 at the end of the input. If the error
7959 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
7960 stored will the byte offset after the last valid
7961 input sequence.
7962 </parameter_description>
7963 </parameter>
7964 <parameter name="bytes_written">
7965 <parameter_description> the number of bytes stored in the output buffer (not 
7966 including the terminating nul).
7967 </parameter_description>
7968 </parameter>
7969 <parameter name="error">
7970 <parameter_description>         location to store the error occuring, or %NULL to ignore
7971 errors. Any of the errors in #GConvertError may occur.
7972 </parameter_description>
7973 </parameter>
7974 </parameters>
7975 <return> The converted string, or %NULL on an error.
7976 </return>
7977 </function>
7978
7979 <function name="g_key_file_get_string">
7980 <description>
7981 Return value: a newly allocated string or %NULL if the specified 
7982
7983 </description>
7984 <parameters>
7985 <parameter name="key_file">
7986 <parameter_description> a #GKeyFile
7987 </parameter_description>
7988 </parameter>
7989 <parameter name="group_name">
7990 <parameter_description> a group name
7991 </parameter_description>
7992 </parameter>
7993 <parameter name="key">
7994 <parameter_description> a key
7995 </parameter_description>
7996 </parameter>
7997 <parameter name="error">
7998 <parameter_description> return location for a #GError, or %NULL
7999 </parameter_description>
8000 </parameter>
8001 </parameters>
8002 <return> a newly allocated string or %NULL if the specified 
8003 key cannot be found.
8004
8005 Since: 2.6
8006 </return>
8007 </function>
8008
8009 <function name="g_source_remove_poll">
8010 <description>
8011 Removes a file descriptor from the set of file descriptors polled for
8012 this source. 
8013
8014 </description>
8015 <parameters>
8016 <parameter name="source">
8017 <parameter_description>a #GSource 
8018 </parameter_description>
8019 </parameter>
8020 <parameter name="fd">
8021 <parameter_description> a #GPollFD structure previously passed to g_source_add_poll().
8022 </parameter_description>
8023 </parameter>
8024 </parameters>
8025 <return></return>
8026 </function>
8027
8028 <function name="g_regex_match_all_full">
8029 <description>
8030 Using the standard algorithm for regular expression matching only 
8031 the longest match in the string is retrieved, it is not possibile 
8032 to obtain all the available matches. For instance matching
8033 &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot; against the pattern &quot;&amp;lt;.*&amp;gt;&quot; 
8034 you get &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot;.
8035
8036 This function uses a different algorithm (called DFA, i.e. deterministic
8037 finite automaton), so it can retrieve all the possible matches, all
8038 starting at the same point in the string. For instance matching
8039 &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot; against the pattern &quot;&amp;lt;.*&amp;gt;&quot; 
8040 you would obtain three matches: &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt; &amp;lt;c&amp;gt;&quot;,
8041 &quot;&amp;lt;a&amp;gt; &amp;lt;b&amp;gt;&quot; and &quot;&amp;lt;a&amp;gt;&quot;.
8042
8043 The number of matched strings is retrieved using
8044 g_match_info_get_match_count(). To obtain the matched strings and 
8045 their position you can use, respectively, g_match_info_fetch() and 
8046 g_match_info_fetch_pos(). Note that the strings are returned in 
8047 reverse order of length; that is, the longest matching string is 
8048 given first.
8049
8050 Note that the DFA algorithm is slower than the standard one and it 
8051 is not able to capture substrings, so backreferences do not work.
8052
8053 Setting @start_position differs from just passing over a shortened 
8054 string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern 
8055 that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
8056
8057 A #GMatchInfo structure, used to get information on the match, is 
8058 stored in @match_info if not %NULL. Note that if @match_info is 
8059 not %NULL then it is created even if the function returns %FALSE, 
8060 i.e. you must free it regardless if regular expression actually 
8061 matched.
8062
8063
8064 </description>
8065 <parameters>
8066 <parameter name="regex">
8067 <parameter_description> a #GRegex structure from g_regex_new()
8068 </parameter_description>
8069 </parameter>
8070 <parameter name="string">
8071 <parameter_description> the string to scan for matches
8072 </parameter_description>
8073 </parameter>
8074 <parameter name="string_len">
8075 <parameter_description> the length of @string, or -1 if @string is nul-terminated
8076 </parameter_description>
8077 </parameter>
8078 <parameter name="start_position">
8079 <parameter_description> starting index of the string to match
8080 </parameter_description>
8081 </parameter>
8082 <parameter name="match_options">
8083 <parameter_description> match options
8084 </parameter_description>
8085 </parameter>
8086 <parameter name="match_info">
8087 <parameter_description> pointer to location where to store the #GMatchInfo, 
8088 or %NULL if you do not need it
8089 </parameter_description>
8090 </parameter>
8091 <parameter name="error">
8092 <parameter_description> location to store the error occuring, or %NULL to ignore errors
8093 </parameter_description>
8094 </parameter>
8095 </parameters>
8096 <return> %TRUE is the string matched, %FALSE otherwise
8097
8098 Since: 2.14
8099 </return>
8100 </function>
8101
8102 <function name="g_get_real_name">
8103 <description>
8104 Gets the real name of the user. This usually comes from the user&apos;s entry 
8105 in the &amp;lt;filename&amp;gt;passwd&amp;lt;/filename&amp;gt; file. The encoding of the returned 
8106 string is system-defined. (On Windows, it is, however, always UTF-8.) 
8107 If the real user name cannot be determined, the string &quot;Unknown&quot; is 
8108 returned.
8109
8110
8111 </description>
8112 <parameters>
8113 </parameters>
8114 <return> the user&apos;s real name.
8115 </return>
8116 </function>
8117
8118 <function name="g_strfreev">
8119 <description>
8120 Frees a %NULL-terminated array of strings, and the array itself.
8121 If called on a %NULL value, g_strfreev() simply returns. 
8122
8123 </description>
8124 <parameters>
8125 <parameter name="str_array">
8126 <parameter_description> a %NULL-terminated array of strings to free.
8127 </parameter_description>
8128 </parameter>
8129 </parameters>
8130 <return></return>
8131 </function>
8132
8133 <function name="g_string_append_c">
8134 <description>
8135 Adds a byte onto the end of a #GString, expanding 
8136 it if necessary.
8137
8138
8139 </description>
8140 <parameters>
8141 <parameter name="string">
8142 <parameter_description> a #GString
8143 </parameter_description>
8144 </parameter>
8145 <parameter name="c">
8146 <parameter_description> the byte to append onto the end of @string
8147 </parameter_description>
8148 </parameter>
8149 </parameters>
8150 <return> @string
8151 </return>
8152 </function>
8153
8154 <function name="g_key_file_set_value">
8155 <description>
8156 Associates a new value with @key under @group_name.  If @key
8157 cannot be found then it is created. If @group_name cannot be
8158 found then it is created.
8159
8160 Since: 2.6
8161
8162 </description>
8163 <parameters>
8164 <parameter name="key_file">
8165 <parameter_description> a #GKeyFile
8166 </parameter_description>
8167 </parameter>
8168 <parameter name="group_name">
8169 <parameter_description> a group name
8170 </parameter_description>
8171 </parameter>
8172 <parameter name="key">
8173 <parameter_description> a key
8174 </parameter_description>
8175 </parameter>
8176 <parameter name="value">
8177 <parameter_description> a string
8178 </parameter_description>
8179 </parameter>
8180 </parameters>
8181 <return></return>
8182 </function>
8183
8184 <function name="g_nullify_pointer">
8185 <description>
8186 Set the pointer at the specified location to %NULL.
8187
8188 </description>
8189 <parameters>
8190 <parameter name="nullify_location">
8191 <parameter_description> the memory address of the pointer.
8192 </parameter_description>
8193 </parameter>
8194 </parameters>
8195 <return></return>
8196 </function>
8197
8198 <function name="g_key_file_set_integer_list">
8199 <description>
8200 Associates a list of integer values with @key under
8201 @group_name.  If @key cannot be found then it is created.
8202
8203 Since: 2.6
8204
8205 </description>
8206 <parameters>
8207 <parameter name="key_file">
8208 <parameter_description> a #GKeyFile
8209 </parameter_description>
8210 </parameter>
8211 <parameter name="group_name">
8212 <parameter_description> a group name
8213 </parameter_description>
8214 </parameter>
8215 <parameter name="key">
8216 <parameter_description> a key
8217 </parameter_description>
8218 </parameter>
8219 <parameter name="list">
8220 <parameter_description> an array of integer values
8221 </parameter_description>
8222 </parameter>
8223 <parameter name="length">
8224 <parameter_description> number of integer values in @list
8225 </parameter_description>
8226 </parameter>
8227 </parameters>
8228 <return></return>
8229 </function>
8230
8231 <function name="g_path_skip_root">
8232 <description>
8233 Returns: a pointer into @file_name after the root component.
8234
8235 </description>
8236 <parameters>
8237 <parameter name="file_name">
8238 <parameter_description> a file name.
8239 </parameter_description>
8240 </parameter>
8241 </parameters>
8242 <return> a pointer into @file_name after the root component.
8243 </return>
8244 </function>
8245
8246 <function name="g_utf8_strlen">
8247 <description>
8248 Return value: the length of the string in characters
8249
8250 </description>
8251 <parameters>
8252 <parameter name="p">
8253 <parameter_description> pointer to the start of a UTF-8 encoded string.
8254 </parameter_description>
8255 </parameter>
8256 <parameter name="max">
8257 <parameter_description> the maximum number of bytes to examine. If @max
8258 is less than 0, then the string is assumed to be
8259 nul-terminated. If @max is 0, @p will not be examined and 
8260 may be %NULL.
8261 </parameter_description>
8262 </parameter>
8263 </parameters>
8264 <return> the length of the string in characters
8265 </return>
8266 </function>
8267
8268 <function name="g_iconv">
8269 <description>
8270 Same as the standard UNIX routine iconv(), but
8271 may be implemented via libiconv on UNIX flavors that lack
8272 a native implementation.
8273
8274 GLib provides g_convert() and g_locale_to_utf8() which are likely
8275 more convenient than the raw iconv wrappers.
8276
8277
8278 </description>
8279 <parameters>
8280 <parameter name="converter">
8281 <parameter_description> conversion descriptor from g_iconv_open()
8282 </parameter_description>
8283 </parameter>
8284 <parameter name="inbuf">
8285 <parameter_description> bytes to convert
8286 </parameter_description>
8287 </parameter>
8288 <parameter name="inbytes_left">
8289 <parameter_description> inout parameter, bytes remaining to convert in @inbuf
8290 </parameter_description>
8291 </parameter>
8292 <parameter name="outbuf">
8293 <parameter_description> converted output bytes
8294 </parameter_description>
8295 </parameter>
8296 <parameter name="outbytes_left">
8297 <parameter_description> inout parameter, bytes available to fill in @outbuf
8298 </parameter_description>
8299 </parameter>
8300 </parameters>
8301 <return> count of non-reversible conversions, or -1 on error
8302 </return>
8303 </function>
8304
8305 <function name="g_main_context_dispatch">
8306 <description>
8307 Dispatches all pending sources.
8308
8309 </description>
8310 <parameters>
8311 <parameter name="context">
8312 <parameter_description> a #GMainContext
8313 </parameter_description>
8314 </parameter>
8315 </parameters>
8316 <return></return>
8317 </function>
8318
8319 <function name="g_sequence_swap">
8320 <description>
8321 Swaps the items pointed to by @a and @b. It is allowed for @a and @b
8322 to point into difference sequences.
8323
8324 Since: 2.14
8325
8326 </description>
8327 <parameters>
8328 <parameter name="a">
8329 <parameter_description> a #GSequenceIter
8330 </parameter_description>
8331 </parameter>
8332 <parameter name="b">
8333 <parameter_description> a #GSequenceIter
8334 </parameter_description>
8335 </parameter>
8336 </parameters>
8337 <return></return>
8338 </function>
8339
8340 <function name="g_path_get_basename">
8341 <description>
8342 Gets the last component of the filename. If @file_name ends with a 
8343 directory separator it gets the component before the last slash. If 
8344 @file_name consists only of directory separators (and on Windows, 
8345 possibly a drive letter), a single separator is returned. If
8346 @file_name is empty, it gets &quot;.&quot;.
8347
8348
8349 </description>
8350 <parameters>
8351 <parameter name="file_name">
8352 <parameter_description> the name of the file.
8353 </parameter_description>
8354 </parameter>
8355 </parameters>
8356 <return> a newly allocated string containing the last component of 
8357 the filename.
8358 </return>
8359 </function>
8360
8361 <function name="g_queue_remove_all">
8362 <description>
8363 Remove all elemeents in @queue which contains @data.
8364
8365 Since: 2.4
8366
8367 </description>
8368 <parameters>
8369 <parameter name="queue">
8370 <parameter_description> a #GQueue
8371 </parameter_description>
8372 </parameter>
8373 <parameter name="data">
8374 <parameter_description> data to remove
8375 </parameter_description>
8376 </parameter>
8377 </parameters>
8378 <return></return>
8379 </function>
8380
8381 <function name="g_async_queue_push_sorted_unlocked">
8382 <description>
8383 Inserts @data into @queue using @func to determine the new
8384 position.
8385
8386 This function requires that the @queue is sorted before pushing on
8387 new elements.
8388
8389 This function is called while holding the @queue&apos;s lock.
8390
8391 For an example of @func see g_async_queue_sort(). 
8392
8393 Since: 2.10
8394
8395 </description>
8396 <parameters>
8397 <parameter name="queue">
8398 <parameter_description> a #GAsyncQueue
8399 </parameter_description>
8400 </parameter>
8401 <parameter name="data">
8402 <parameter_description> the @data to push into the @queue
8403 </parameter_description>
8404 </parameter>
8405 <parameter name="func">
8406 <parameter_description> the #GCompareDataFunc is used to sort @queue. This function
8407 is passed two elements of the @queue. The function should return
8408 0 if they are equal, a negative value if the first element
8409 should be higher in the @queue or a positive value if the first
8410 element should be lower in the @queue than the second element.
8411 </parameter_description>
8412 </parameter>
8413 <parameter name="user_data">
8414 <parameter_description> user data passed to @func.
8415 </parameter_description>
8416 </parameter>
8417 </parameters>
8418 <return></return>
8419 </function>
8420
8421 <function name="g_option_context_set_help_enabled">
8422 <description>
8423 Enables or disables automatic generation of &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; 
8424 output. By default, g_option_context_parse() recognizes
8425 &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt;, &amp;lt;option&amp;gt;-?&amp;lt;/option&amp;gt;, &amp;lt;option&amp;gt;--help-all&amp;lt;/option&amp;gt;
8426 and &amp;lt;option&amp;gt;--help-&amp;lt;/option&amp;gt;&amp;lt;replaceable&amp;gt;groupname&amp;lt;/replaceable&amp;gt; and creates
8427 suitable output to stdout. 
8428
8429 Since: 2.6
8430
8431 </description>
8432 <parameters>
8433 <parameter name="context">
8434 <parameter_description> a #GOptionContext
8435 </parameter_description>
8436 </parameter>
8437 <parameter name="help_enabled">
8438 <parameter_description> %TRUE to enable &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt;, %FALSE to disable it
8439 </parameter_description>
8440 </parameter>
8441 </parameters>
8442 <return></return>
8443 </function>
8444
8445 <function name="g_string_sprintf">
8446 <description>
8447 Writes a formatted string into a #GString.
8448 This is similar to the standard sprintf() function,
8449 except that the #GString buffer automatically expands 
8450 to contain the results. The previous contents of the 
8451 #GString are destroyed. 
8452
8453 Deprecated: This function has been renamed to g_string_printf().
8454
8455 </description>
8456 <parameters>
8457 <parameter name="string">
8458 <parameter_description> a #GString
8459 </parameter_description>
8460 </parameter>
8461 <parameter name="format">
8462 <parameter_description> the string format. See the sprintf() documentation
8463 </parameter_description>
8464 </parameter>
8465 <parameter name="Varargs">
8466 <parameter_description> the parameters to insert into the format string
8467 </parameter_description>
8468 </parameter>
8469 </parameters>
8470 <return></return>
8471 </function>
8472
8473 <function name="g_key_file_free">
8474 <description>
8475 Frees a #GKeyFile.
8476
8477 Since: 2.6
8478
8479 </description>
8480 <parameters>
8481 <parameter name="key_file">
8482 <parameter_description> a #GKeyFile
8483 </parameter_description>
8484 </parameter>
8485 </parameters>
8486 <return></return>
8487 </function>
8488
8489 <function name="g_tree_traverse">
8490 <description>
8491 Calls the given function for each node in the #GTree. 
8492
8493 Deprecated:2.2: The order of a balanced tree is somewhat arbitrary. If you 
8494 just want to visit all nodes in sorted order, use g_tree_foreach() 
8495 instead. If you really need to visit nodes in a different order, consider
8496 using an &amp;lt;link linkend=&quot;glib-N-ary-Trees&quot;&amp;gt;N-ary Tree&amp;lt;/link&amp;gt;.
8497
8498 </description>
8499 <parameters>
8500 <parameter name="tree">
8501 <parameter_description> a #GTree.
8502 </parameter_description>
8503 </parameter>
8504 <parameter name="traverse_func">
8505 <parameter_description> the function to call for each node visited. If this 
8506 function returns %TRUE, the traversal is stopped.
8507 </parameter_description>
8508 </parameter>
8509 <parameter name="traverse_type">
8510 <parameter_description> the order in which nodes are visited, one of %G_IN_ORDER,
8511 %G_PRE_ORDER and %G_POST_ORDER.
8512 </parameter_description>
8513 </parameter>
8514 <parameter name="user_data">
8515 <parameter_description> user data to pass to the function.
8516 </parameter_description>
8517 </parameter>
8518 </parameters>
8519 <return></return>
8520 </function>
8521
8522 <function name="g_string_overwrite">
8523 <description>
8524 Overwrites part of a string, lengthening it if necessary.
8525
8526
8527 </description>
8528 <parameters>
8529 <parameter name="string">
8530 <parameter_description> a #GString
8531 </parameter_description>
8532 </parameter>
8533 <parameter name="pos">
8534 <parameter_description> the position at which to start overwriting
8535 </parameter_description>
8536 </parameter>
8537 <parameter name="val">
8538 <parameter_description> the string that will overwrite the @string starting at @pos
8539 </parameter_description>
8540 </parameter>
8541 </parameters>
8542 <return> @string
8543
8544 Since: 2.14
8545 </return>
8546 </function>
8547
8548 <function name="g_rand_int_range">
8549 <description>
8550 Return value: A random number.
8551
8552 </description>
8553 <parameters>
8554 <parameter name="rand_">
8555 <parameter_description> a #GRand.
8556 </parameter_description>
8557 </parameter>
8558 <parameter name="begin">
8559 <parameter_description> lower closed bound of the interval.
8560 </parameter_description>
8561 </parameter>
8562 <parameter name="end">
8563 <parameter_description> upper open bound of the interval.
8564 </parameter_description>
8565 </parameter>
8566 </parameters>
8567 <return> A random number.
8568 </return>
8569 </function>
8570
8571 <function name="g_get_filename_charsets">
8572 <description>
8573 Determines the preferred character sets used for filenames.
8574 The first character set from the @charsets is the filename encoding, the
8575 subsequent character sets are used when trying to generate a displayable
8576 representation of a filename, see g_filename_display_name().
8577
8578 On Unix, the character sets are determined by consulting the
8579 environment variables &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; and
8580 &amp;lt;envar&amp;gt;G_BROKEN_FILENAMES&amp;lt;/envar&amp;gt;. On Windows, the character set
8581 used in the GLib API is always UTF-8 and said environment variables
8582 have no effect.
8583
8584 &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; may be set to a comma-separated list 
8585 of character set names. The special token &quot;&amp;commat;locale&quot; is taken to 
8586 mean the character set for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current 
8587 locale&amp;lt;/link&amp;gt;. If &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; is not set, but 
8588 &amp;lt;envar&amp;gt;G_BROKEN_FILENAMES&amp;lt;/envar&amp;gt; is, the character set of the current 
8589 locale is taken as the filename encoding. If neither environment variable 
8590 is set, UTF-8 is taken as the filename encoding, but the character
8591 set of the current locale is also put in the list of encodings.
8592
8593 The returned @charsets belong to GLib and must not be freed.
8594
8595 Note that on Unix, regardless of the locale character set or
8596 &amp;lt;envar&amp;gt;G_FILENAME_ENCODING&amp;lt;/envar&amp;gt; value, the actual file names present 
8597 on a system might be in any random encoding or just gibberish.
8598
8599
8600 </description>
8601 <parameters>
8602 <parameter name="charsets">
8603 <parameter_description> return location for the %NULL-terminated list of encoding names
8604 </parameter_description>
8605 </parameter>
8606 </parameters>
8607 <return> %TRUE if the filename encoding is UTF-8.
8608
8609 Since: 2.6
8610 </return>
8611 </function>
8612
8613 <function name="g_regex_get_pattern">
8614 <description>
8615 Gets the pattern string associated with @regex, i.e. a copy of 
8616 the string passed to g_regex_new().
8617
8618
8619 </description>
8620 <parameters>
8621 <parameter name="regex">
8622 <parameter_description> a #GRegex structure
8623 </parameter_description>
8624 </parameter>
8625 </parameters>
8626 <return> the pattern of @regex
8627
8628 Since: 2.14
8629 </return>
8630 </function>
8631
8632 <function name="g_source_get_current_time">
8633 <description>
8634 Gets the &quot;current time&quot; to be used when checking 
8635 this source. The advantage of calling this function over
8636 calling g_get_current_time() directly is that when 
8637 checking multiple sources, GLib can cache a single value
8638 instead of having to repeatedly get the system time.
8639
8640 </description>
8641 <parameters>
8642 <parameter name="source">
8643 <parameter_description>  a #GSource
8644 </parameter_description>
8645 </parameter>
8646 <parameter name="timeval">
8647 <parameter_description> #GTimeVal structure in which to store current time.
8648 </parameter_description>
8649 </parameter>
8650 </parameters>
8651 <return></return>
8652 </function>
8653
8654 <function name="g_async_queue_push_unlocked">
8655 <description>
8656 Pushes the @data into the @queue. @data must not be %NULL. This
8657 function must be called while holding the @queue&apos;s lock.
8658
8659 </description>
8660 <parameters>
8661 <parameter name="queue">
8662 <parameter_description> a #GAsyncQueue.
8663 </parameter_description>
8664 </parameter>
8665 <parameter name="data">
8666 <parameter_description> @data to push into the @queue.
8667 </parameter_description>
8668 </parameter>
8669 </parameters>
8670 <return></return>
8671 </function>
8672
8673 <function name="g_regex_get_max_backref">
8674 <description>
8675 Returns: the number of the highest back reference
8676
8677 </description>
8678 <parameters>
8679 <parameter name="regex">
8680 <parameter_description> a #GRegex
8681 </parameter_description>
8682 </parameter>
8683 </parameters>
8684 <return> the number of the highest back reference
8685
8686 Since: 2.14
8687 </return>
8688 </function>
8689
8690 <function name="g_queue_peek_tail_link">
8691 <description>
8692 Return value: the last link in @queue, or %NULL if @queue is empty
8693
8694 </description>
8695 <parameters>
8696 <parameter name="queue">
8697 <parameter_description> a #GQueue
8698 </parameter_description>
8699 </parameter>
8700 </parameters>
8701 <return> the last link in @queue, or %NULL if @queue is empty
8702
8703 Since: 2.4
8704 </return>
8705 </function>
8706
8707 <function name="g_build_path">
8708 <description>
8709 Creates a path from a series of elements using @separator as the
8710 separator between elements. At the boundary between two elements,
8711 any trailing occurrences of separator in the first element, or
8712 leading occurrences of separator in the second element are removed
8713 and exactly one copy of the separator is inserted.
8714
8715 Empty elements are ignored.
8716
8717 The number of leading copies of the separator on the result is
8718 the same as the number of leading copies of the separator on
8719 the first non-empty element.
8720
8721 The number of trailing copies of the separator on the result is
8722 the same as the number of trailing copies of the separator on
8723 the last non-empty element. (Determination of the number of
8724 trailing copies is done without stripping leading copies, so
8725 if the separator is &amp;lt;literal&amp;gt;ABA&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;ABABA&amp;lt;/literal&amp;gt;
8726 has 1 trailing copy.)
8727
8728 However, if there is only a single non-empty element, and there
8729 are no characters in that element not part of the leading or
8730 trailing separators, then the result is exactly the original value
8731 of that element.
8732
8733 Other than for determination of the number of leading and trailing
8734 copies of the separator, elements consisting only of copies
8735 of the separator are ignored.
8736
8737
8738 </description>
8739 <parameters>
8740 <parameter name="separator">
8741 <parameter_description> a string used to separator the elements of the path.
8742 </parameter_description>
8743 </parameter>
8744 <parameter name="first_element">
8745 <parameter_description> the first element in the path
8746 </parameter_description>
8747 </parameter>
8748 <parameter name="Varargs">
8749 <parameter_description> remaining elements in path, terminated by %NULL
8750 </parameter_description>
8751 </parameter>
8752 </parameters>
8753 <return> a newly-allocated string that must be freed with g_free().
8754 </return>
8755 </function>
8756
8757 <function name="g_ascii_xdigit_value">
8758 <description>
8759 Determines the numeric value of a character as a hexidecimal
8760 digit. Differs from g_unichar_xdigit_value() because it takes
8761 a char, so there&apos;s no worry about sign extension if characters
8762 are signed.
8763
8764
8765 </description>
8766 <parameters>
8767 <parameter name="c">
8768 <parameter_description> an ASCII character.
8769 </parameter_description>
8770 </parameter>
8771 </parameters>
8772 <return> If @c is a hex digit (according to
8773 g_ascii_isxdigit()), its numeric value. Otherwise, -1.
8774 </return>
8775 </function>
8776
8777 <function name="g_bookmark_file_get_description">
8778 <description>
8779 Retrieves the description of the bookmark for @uri.
8780
8781 In the event the URI cannot be found, %NULL is returned and
8782 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
8783
8784
8785 </description>
8786 <parameters>
8787 <parameter name="bookmark">
8788 <parameter_description> a #GBookmarkFile
8789 </parameter_description>
8790 </parameter>
8791 <parameter name="uri">
8792 <parameter_description> a valid URI
8793 </parameter_description>
8794 </parameter>
8795 <parameter name="error">
8796 <parameter_description> return location for a #GError, or %NULL
8797 </parameter_description>
8798 </parameter>
8799 </parameters>
8800 <return> a newly allocated string or %NULL if the specified
8801 URI cannot be found.
8802
8803 Since: 2.12
8804 </return>
8805 </function>
8806
8807 <function name="g_sequence_free">
8808 <description>
8809 Frees the memory allocated for @seq. If @seq has a data destroy 
8810 function associated with it, that function is called on all items in
8811 @seq.
8812
8813 Since: 2.14
8814
8815 </description>
8816 <parameters>
8817 <parameter name="seq">
8818 <parameter_description> a #GSequence
8819 </parameter_description>
8820 </parameter>
8821 </parameters>
8822 <return></return>
8823 </function>
8824
8825 <function name="g_random_set_seed">
8826 <description>
8827 Sets the seed for the global random number generator, which is used
8828 by the &amp;lt;function&amp;gt;g_random_*&amp;lt;/function&amp;gt; functions, to @seed.
8829
8830 </description>
8831 <parameters>
8832 <parameter name="seed">
8833 <parameter_description> a value to reinitialize the global random number generator.
8834 </parameter_description>
8835 </parameter>
8836 </parameters>
8837 <return></return>
8838 </function>
8839
8840 <function name="g_sequence_append">
8841 <description>
8842 Adds a new item to the end of @seq.
8843
8844
8845 </description>
8846 <parameters>
8847 <parameter name="seq">
8848 <parameter_description> a #GSequencePointer
8849 </parameter_description>
8850 </parameter>
8851 <parameter name="data">
8852 <parameter_description> the data for the new item
8853 </parameter_description>
8854 </parameter>
8855 </parameters>
8856 <return> an iterator pointing to the new item
8857
8858 Since: 2.14
8859 </return>
8860 </function>
8861
8862 <function name="g_source_set_priority">
8863 <description>
8864 Sets the priority of a source. While the main loop is being
8865 run, a source will be dispatched if it is ready to be dispatched and no sources 
8866 at a higher (numerically smaller) priority are ready to be dispatched.
8867
8868 </description>
8869 <parameters>
8870 <parameter name="source">
8871 <parameter_description> a #GSource
8872 </parameter_description>
8873 </parameter>
8874 <parameter name="priority">
8875 <parameter_description> the new priority.
8876 </parameter_description>
8877 </parameter>
8878 </parameters>
8879 <return></return>
8880 </function>
8881
8882 <function name="g_regex_split_simple">
8883 <description>
8884 Breaks the string on the pattern, and returns an array of 
8885 the tokens. If the pattern contains capturing parentheses, 
8886 then the text for each of the substrings will also be returned. 
8887 If the pattern does not match anywhere in the string, then the 
8888 whole string is returned as the first token.
8889
8890 This function is equivalent to g_regex_split() but it does 
8891 not require to compile the pattern with g_regex_new(), avoiding 
8892 some lines of code when you need just to do a split without 
8893 extracting substrings, capture counts, and so on.
8894
8895 If this function is to be called on the same @pattern more than
8896 once, it&apos;s more efficient to compile the pattern once with
8897 g_regex_new() and then use g_regex_split().
8898
8899 As a special case, the result of splitting the empty string &quot;&quot; 
8900 is an empty vector, not a vector containing a single string. 
8901 The reason for this special case is that being able to represent 
8902 a empty vector is typically more useful than consistent handling 
8903 of empty elements. If you do need to represent empty elements, 
8904 you&apos;ll need to check for the empty string before calling this 
8905 function.
8906
8907 A pattern that can match empty strings splits @string into 
8908 separate characters wherever it matches the empty string between 
8909 characters. For example splitting &quot;ab c&quot; using as a separator 
8910 &quot;\s*&quot;, you will get &quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
8911
8912
8913 </description>
8914 <parameters>
8915 <parameter name="pattern">
8916 <parameter_description> the regular expression
8917 </parameter_description>
8918 </parameter>
8919 <parameter name="string">
8920 <parameter_description> the string to scan for matches
8921 </parameter_description>
8922 </parameter>
8923 <parameter name="compile_options">
8924 <parameter_description> compile options for the regular expression
8925 </parameter_description>
8926 </parameter>
8927 <parameter name="match_options">
8928 <parameter_description> match options
8929 </parameter_description>
8930 </parameter>
8931 </parameters>
8932 <return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
8933
8934 Since: 2.14
8935 </return>
8936 </function>
8937
8938 <function name="g_sequence_foreach">
8939 <description>
8940 Calls @func for each item in the sequence passing @user_data
8941 to the function.
8942
8943 Since: 2.14
8944
8945 </description>
8946 <parameters>
8947 <parameter name="seq">
8948 <parameter_description> a #GSequence
8949 </parameter_description>
8950 </parameter>
8951 <parameter name="func">
8952 <parameter_description> the function to call for each item in @seq
8953 </parameter_description>
8954 </parameter>
8955 <parameter name="user_data">
8956 <parameter_description> user data passed to @func
8957 </parameter_description>
8958 </parameter>
8959 </parameters>
8960 <return></return>
8961 </function>
8962
8963 <function name="g_hash_table_steal_all">
8964 <description>
8965 Removes all keys and their associated values from a #GHashTable 
8966 without calling the key and value destroy functions.
8967
8968 Since: 2.12
8969
8970 </description>
8971 <parameters>
8972 <parameter name="hash_table">
8973 <parameter_description> a #GHashTable.
8974 </parameter_description>
8975 </parameter>
8976 </parameters>
8977 <return></return>
8978 </function>
8979
8980 <function name="g_file_open_tmp">
8981 <description>
8982 Opens a file for writing in the preferred directory for temporary
8983 files (as returned by g_get_tmp_dir()). 
8984
8985 @tmpl should be a string in the GLib file name encoding containing 
8986 a sequence of six &apos;X&apos; characters, as the parameter to g_mkstemp().
8987 However, unlike these functions, the template should only be a
8988 basename, no directory components are allowed. If template is
8989 %NULL, a default template is used.
8990
8991 Note that in contrast to g_mkstemp() (and mkstemp()) 
8992 @tmpl is not modified, and might thus be a read-only literal string.
8993
8994 The actual name used is returned in @name_used if non-%NULL. This
8995 string should be freed with g_free() when not needed any longer.
8996 The returned name is in the GLib file name encoding.
8997
8998
8999 </description>
9000 <parameters>
9001 <parameter name="tmpl">
9002 <parameter_description> Template for file name, as in g_mkstemp(), basename only,
9003 or %NULL, to a default template
9004 </parameter_description>
9005 </parameter>
9006 <parameter name="name_used">
9007 <parameter_description> location to store actual name used
9008 </parameter_description>
9009 </parameter>
9010 <parameter name="error">
9011 <parameter_description> return location for a #GError
9012 </parameter_description>
9013 </parameter>
9014 </parameters>
9015 <return> A file handle (as from open()) to 
9016 the file opened for reading and writing. The file is opened in binary 
9017 mode on platforms where there is a difference. The file handle should be
9018 closed with close(). In case of errors, -1 is returned 
9019 and @error will be set.
9020 </return>
9021 </function>
9022
9023 <function name="g_main_context_remove_poll">
9024 <description>
9025 Removes file descriptor from the set of file descriptors to be
9026 polled for a particular context.
9027
9028 </description>
9029 <parameters>
9030 <parameter name="context">
9031 <parameter_description>a #GMainContext 
9032 </parameter_description>
9033 </parameter>
9034 <parameter name="fd">
9035 <parameter_description> a #GPollFD descriptor previously added with g_main_context_add_poll()
9036 </parameter_description>
9037 </parameter>
9038 </parameters>
9039 <return></return>
9040 </function>
9041
9042 <function name="g_source_get_id">
9043 <description>
9044 Return value: the ID (greater than 0) for the source
9045
9046 </description>
9047 <parameters>
9048 <parameter name="source">
9049 <parameter_description> a #GSource
9050 </parameter_description>
9051 </parameter>
9052 </parameters>
9053 <return> the ID (greater than 0) for the source
9054 </return>
9055 </function>
9056
9057 <function name="g_mapped_file_get_contents">
9058 <description>
9059 Returns: the contents of @file.
9060
9061 </description>
9062 <parameters>
9063 <parameter name="file">
9064 <parameter_description> a #GMappedFile
9065 </parameter_description>
9066 </parameter>
9067 </parameters>
9068 <return> the contents of @file.
9069
9070 Since: 2.8
9071 </return>
9072 </function>
9073
9074 <function name="g_direct_equal">
9075 <description>
9076 Compares two #gpointer arguments and returns %TRUE if they are equal.
9077 It can be passed to g_hash_table_new() as the @key_equal_func
9078 parameter, when using pointers as keys in a #GHashTable.
9079
9080
9081 </description>
9082 <parameters>
9083 <parameter name="v1">
9084 <parameter_description> a key.
9085 </parameter_description>
9086 </parameter>
9087 <parameter name="v2">
9088 <parameter_description> a key to compare with @v1.
9089 </parameter_description>
9090 </parameter>
9091 </parameters>
9092 <return> %TRUE if the two keys match.
9093 </return>
9094 </function>
9095
9096 <function name="g_hash_table_new">
9097 <description>
9098 Creates a new #GHashTable with a reference count of 1.
9099
9100
9101 </description>
9102 <parameters>
9103 <parameter name="hash_func">
9104 <parameter_description> a function to create a hash value from a key.
9105 Hash values are used to determine where keys are stored within the
9106 #GHashTable data structure. The g_direct_hash(), g_int_hash() and 
9107 g_str_hash() functions are provided for some common types of keys. 
9108 If hash_func is %NULL, g_direct_hash() is used.
9109 </parameter_description>
9110 </parameter>
9111 <parameter name="key_equal_func">
9112 <parameter_description> a function to check two keys for equality.  This is
9113 used when looking up keys in the #GHashTable.  The g_direct_equal(),
9114 g_int_equal() and g_str_equal() functions are provided for the most
9115 common types of keys. If @key_equal_func is %NULL, keys are compared
9116 directly in a similar fashion to g_direct_equal(), but without the
9117 overhead of a function call.
9118 </parameter_description>
9119 </parameter>
9120 </parameters>
9121 <return> a new #GHashTable.
9122 </return>
9123 </function>
9124
9125 <function name="g_tree_nnodes">
9126 <description>
9127 Gets the number of nodes in a #GTree.
9128
9129
9130 </description>
9131 <parameters>
9132 <parameter name="tree">
9133 <parameter_description> a #GTree.
9134 </parameter_description>
9135 </parameter>
9136 </parameters>
9137 <return> the number of nodes in the #GTree.
9138 </return>
9139 </function>
9140
9141 <function name="g_bookmark_file_load_from_data">
9142 <description>
9143 Loads a bookmark file from memory into an empty #GBookmarkFile
9144 structure.  If the object cannot be created then @error is set to a
9145 #GBookmarkFileError.
9146
9147
9148 </description>
9149 <parameters>
9150 <parameter name="bookmark">
9151 <parameter_description> an empty #GBookmarkFile struct
9152 </parameter_description>
9153 </parameter>
9154 <parameter name="data">
9155 <parameter_description> desktop bookmarks loaded in memory
9156 </parameter_description>
9157 </parameter>
9158 <parameter name="length">
9159 <parameter_description> the length of @data in bytes
9160 </parameter_description>
9161 </parameter>
9162 <parameter name="error">
9163 <parameter_description> return location for a #GError, or %NULL
9164 </parameter_description>
9165 </parameter>
9166 </parameters>
9167 <return> %TRUE if a desktop bookmark could be loaded.
9168
9169 Since: 2.12
9170 </return>
9171 </function>
9172
9173 <function name="g_option_context_set_translation_domain">
9174 <description>
9175 A convenience function to use gettext() for translating
9176 user-visible strings. 
9177
9178 Since: 2.12
9179
9180 </description>
9181 <parameters>
9182 <parameter name="context">
9183 <parameter_description> a #GOptionContext
9184 </parameter_description>
9185 </parameter>
9186 <parameter name="domain">
9187 <parameter_description> the domain to use
9188 </parameter_description>
9189 </parameter>
9190 </parameters>
9191 <return></return>
9192 </function>
9193
9194 <function name="g_win32_getlocale">
9195 <description>
9196 The setlocale() function in the Microsoft C library uses locale
9197 names of the form &quot;English_United States.1252&quot; etc. We want the
9198 UNIXish standard form &quot;en_US&quot;, &quot;zh_TW&quot; etc. This function gets the
9199 current thread locale from Windows - without any encoding info -
9200 and returns it as a string of the above form for use in forming
9201 file names etc. The returned string should be deallocated with
9202 g_free().
9203
9204
9205 </description>
9206 <parameters>
9207 </parameters>
9208 <return> newly-allocated locale name.
9209 </return>
9210 </function>
9211
9212 <function name="g_sequence_iter_get_sequence">
9213 <description>
9214 Return value: the #GSequence that @iter points into.
9215
9216 </description>
9217 <parameters>
9218 <parameter name="iter">
9219 <parameter_description> a #GSequenceIter
9220 </parameter_description>
9221 </parameter>
9222 </parameters>
9223 <return> the #GSequence that @iter points into.
9224
9225 Since: 2.14
9226 </return>
9227 </function>
9228
9229 <function name="g_markup_parse_context_get_element">
9230 <description>
9231 Retrieves the name of the currently open element.
9232
9233 Since: 2.2
9234
9235 </description>
9236 <parameters>
9237 <parameter name="context">
9238 <parameter_description> a #GMarkupParseContext
9239 </parameter_description>
9240 </parameter>
9241 </parameters>
9242 <return> the name of the currently open element, or %NULL
9243 </return>
9244 </function>
9245
9246 <function name="g_rename">
9247 <description>
9248 A wrapper for the POSIX rename() function. The rename() function 
9249 renames a file, moving it between directories if required.
9250
9251 See your C library manual for more details about how rename() works
9252 on your system. Note in particular that on Win9x it is not possible
9253 to rename a file if a file with the new name already exists. Also
9254 it is not possible in general on Windows to rename an open file.
9255
9256
9257 </description>
9258 <parameters>
9259 <parameter name="oldfilename">
9260 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
9261 </parameter_description>
9262 </parameter>
9263 <parameter name="newfilename">
9264 <parameter_description> a pathname in the GLib file name encoding
9265 </parameter_description>
9266 </parameter>
9267 </parameters>
9268 <return> 0 if the renaming succeeded, -1 if an error occurred
9269
9270 Since: 2.6
9271 </return>
9272 </function>
9273
9274 <function name="g_io_channel_get_buffer_size">
9275 <description>
9276 Gets the buffer size.
9277
9278
9279 </description>
9280 <parameters>
9281 <parameter name="channel">
9282 <parameter_description> a #GIOChannel
9283 </parameter_description>
9284 </parameter>
9285 </parameters>
9286 <return> the size of the buffer.
9287 </return>
9288 </function>
9289
9290 <function name="g_queue_copy">
9291 <description>
9292 Copies a @queue. Note that is a shallow copy. If the elements in the
9293 queue consist of pointers to data, the pointers are copied, but the
9294 actual data is not.
9295
9296
9297 </description>
9298 <parameters>
9299 <parameter name="queue">
9300 <parameter_description> a #GQueue
9301 </parameter_description>
9302 </parameter>
9303 </parameters>
9304 <return> A copy of @queue
9305
9306 Since: 2.4
9307 </return>
9308 </function>
9309
9310 <function name="g_queue_sort">
9311 <description>
9312 Sorts @queue using @compare_func. 
9313
9314 Since: 2.4
9315
9316 </description>
9317 <parameters>
9318 <parameter name="queue">
9319 <parameter_description> a #GQueue
9320 </parameter_description>
9321 </parameter>
9322 <parameter name="compare_func">
9323 <parameter_description> the #GCompareDataFunc used to sort @queue. This function
9324 is passed two elements of the queue and should return 0 if they are
9325 equal, a negative value if the first comes before the second, and
9326 a positive value if the second comes before the first.
9327 </parameter_description>
9328 </parameter>
9329 <parameter name="user_data">
9330 <parameter_description> user data passed to @compare_func
9331 </parameter_description>
9332 </parameter>
9333 </parameters>
9334 <return></return>
9335 </function>
9336
9337 <function name="g_tree_lookup_extended">
9338 <description>
9339 Looks up a key in the #GTree, returning the original key and the
9340 associated value and a #gboolean which is %TRUE if the key was found. This 
9341 is useful if you need to free the memory allocated for the original key, 
9342 for example before calling g_tree_remove().
9343
9344
9345 </description>
9346 <parameters>
9347 <parameter name="tree">
9348 <parameter_description> a #GTree.
9349 </parameter_description>
9350 </parameter>
9351 <parameter name="lookup_key">
9352 <parameter_description> the key to look up.
9353 </parameter_description>
9354 </parameter>
9355 <parameter name="orig_key">
9356 <parameter_description> returns the original key.
9357 </parameter_description>
9358 </parameter>
9359 <parameter name="value">
9360 <parameter_description> returns the value associated with the key.
9361 </parameter_description>
9362 </parameter>
9363 </parameters>
9364 <return> %TRUE if the key was found in the #GTree.
9365 </return>
9366 </function>
9367
9368 <function name="g_unichar_isupper">
9369 <description>
9370 Determines if a character is uppercase.
9371
9372
9373 </description>
9374 <parameters>
9375 <parameter name="c">
9376 <parameter_description> a Unicode character
9377 </parameter_description>
9378 </parameter>
9379 </parameters>
9380 <return> %TRUE if @c is an uppercase character
9381 </return>
9382 </function>
9383
9384 <function name="g_unichar_digit_value">
9385 <description>
9386 Determines the numeric value of a character as a decimal
9387 digit.
9388
9389
9390 </description>
9391 <parameters>
9392 <parameter name="c">
9393 <parameter_description> a Unicode character
9394 </parameter_description>
9395 </parameter>
9396 </parameters>
9397 <return> If @c is a decimal digit (according to
9398 g_unichar_isdigit()), its numeric value. Otherwise, -1.
9399 </return>
9400 </function>
9401
9402 <function name="g_bookmark_file_remove_application">
9403 <description>
9404 Removes application registered with @name from the list of applications
9405 that have registered a bookmark for @uri inside @bookmark.
9406
9407 In the event the URI cannot be found, %FALSE is returned and
9408 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
9409 In the event that no application with name @app_name has registered
9410 a bookmark for @uri,  %FALSE is returned and error is set to
9411 #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.
9412
9413
9414 </description>
9415 <parameters>
9416 <parameter name="bookmark">
9417 <parameter_description> a #GBookmarkFile
9418 </parameter_description>
9419 </parameter>
9420 <parameter name="uri">
9421 <parameter_description> a valid URI
9422 </parameter_description>
9423 </parameter>
9424 <parameter name="name">
9425 <parameter_description> the name of the application
9426 </parameter_description>
9427 </parameter>
9428 <parameter name="error">
9429 <parameter_description> return location for a #GError or %NULL
9430 </parameter_description>
9431 </parameter>
9432 </parameters>
9433 <return> %TRUE if the application was successfully removed.
9434
9435 Since: 2.12
9436 </return>
9437 </function>
9438
9439 <function name="g_ptr_array_foreach">
9440 <description>
9441 Calls a function for each element of a #GPtrArray.
9442
9443 Since: 2.4
9444
9445 </description>
9446 <parameters>
9447 <parameter name="array">
9448 <parameter_description> a #GPtrArray
9449 </parameter_description>
9450 </parameter>
9451 <parameter name="func">
9452 <parameter_description> the function to call for each array element
9453 </parameter_description>
9454 </parameter>
9455 <parameter name="user_data">
9456 <parameter_description> user data to pass to the function
9457 </parameter_description>
9458 </parameter>
9459 </parameters>
9460 <return></return>
9461 </function>
9462
9463 <function name="g_string_assign">
9464 <description>
9465 Copies the bytes from a string into a #GString, 
9466 destroying any previous contents. It is rather like 
9467 the standard strcpy() function, except that you do not 
9468 have to worry about having enough space to copy the string.
9469
9470
9471 </description>
9472 <parameters>
9473 <parameter name="string">
9474 <parameter_description> the destination #GString. Its current contents 
9475 are destroyed.
9476 </parameter_description>
9477 </parameter>
9478 <parameter name="rval">
9479 <parameter_description> the string to copy into @string
9480 </parameter_description>
9481 </parameter>
9482 </parameters>
9483 <return> @string
9484 </return>
9485 </function>
9486
9487 <function name="g_option_context_set_main_group">
9488 <description>
9489 Sets a #GOptionGroup as main group of the @context. 
9490 This has the same effect as calling g_option_context_add_group(), 
9491 the only difference is that the options in the main group are 
9492 treated differently when generating &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output.
9493
9494 Since: 2.6
9495
9496 </description>
9497 <parameters>
9498 <parameter name="context">
9499 <parameter_description> a #GOptionContext
9500 </parameter_description>
9501 </parameter>
9502 <parameter name="group">
9503 <parameter_description> the group to set as main group
9504 </parameter_description>
9505 </parameter>
9506 </parameters>
9507 <return></return>
9508 </function>
9509
9510 <function name="g_file_get_contents">
9511 <description>
9512 Reads an entire file into allocated memory, with good error
9513 checking. 
9514
9515 If the call was successful, it returns %TRUE and sets @contents to the file 
9516 contents and @length to the length of the file contents in bytes. The string 
9517 stored in @contents will be nul-terminated, so for text files you can pass 
9518 %NULL for the @length argument. If the call was not successful, it returns 
9519 %FALSE and sets @error. The error domain is #G_FILE_ERROR. Possible error  
9520 codes are those in the #GFileError enumeration. In the error case, 
9521 @contents is set to %NULL and @length is set to zero.
9522
9523
9524 </description>
9525 <parameters>
9526 <parameter name="filename">
9527 <parameter_description> name of a file to read contents from, in the GLib file name encoding
9528 </parameter_description>
9529 </parameter>
9530 <parameter name="contents">
9531 <parameter_description> location to store an allocated string
9532 </parameter_description>
9533 </parameter>
9534 <parameter name="length">
9535 <parameter_description> location to store length in bytes of the contents, or %NULL
9536 </parameter_description>
9537 </parameter>
9538 <parameter name="error">
9539 <parameter_description> return location for a #GError, or %NULL
9540 </parameter_description>
9541 </parameter>
9542 </parameters>
9543 <return> %TRUE on success, %FALSE if an error occurred
9544 </return>
9545 </function>
9546
9547 <function name="g_thread_pool_get_num_unused_threads">
9548 <description>
9549 Return value: the number of currently unused threads
9550
9551 </description>
9552 <parameters>
9553 </parameters>
9554 <return> the number of currently unused threads
9555 </return>
9556 </function>
9557
9558 <function name="g_string_truncate">
9559 <description>
9560 Cuts off the end of the GString, leaving the first @len bytes. 
9561
9562
9563 </description>
9564 <parameters>
9565 <parameter name="string">
9566 <parameter_description> a #GString
9567 </parameter_description>
9568 </parameter>
9569 <parameter name="len">
9570 <parameter_description> the new size of @string
9571 </parameter_description>
9572 </parameter>
9573 </parameters>
9574 <return> @string
9575 </return>
9576 </function>
9577
9578 <function name="g_key_file_set_string">
9579 <description>
9580 Associates a new string value with @key under @group_name.  If
9581 @key cannot be found then it is created.  If @group_name
9582 cannot be found then it is created.
9583
9584 Since: 2.6
9585
9586 </description>
9587 <parameters>
9588 <parameter name="key_file">
9589 <parameter_description> a #GKeyFile
9590 </parameter_description>
9591 </parameter>
9592 <parameter name="group_name">
9593 <parameter_description> a group name
9594 </parameter_description>
9595 </parameter>
9596 <parameter name="key">
9597 <parameter_description> a key
9598 </parameter_description>
9599 </parameter>
9600 <parameter name="string">
9601 <parameter_description> a string
9602 </parameter_description>
9603 </parameter>
9604 </parameters>
9605 <return></return>
9606 </function>
9607
9608 <function name="g_key_file_get_boolean_list">
9609 <description>
9610 Return value: the values associated with the key as a list of
9611
9612 </description>
9613 <parameters>
9614 <parameter name="key_file">
9615 <parameter_description> a #GKeyFile
9616 </parameter_description>
9617 </parameter>
9618 <parameter name="group_name">
9619 <parameter_description> a group name
9620 </parameter_description>
9621 </parameter>
9622 <parameter name="key">
9623 <parameter_description> a key
9624 </parameter_description>
9625 </parameter>
9626 <parameter name="length">
9627 <parameter_description> the number of booleans returned
9628 </parameter_description>
9629 </parameter>
9630 <parameter name="error">
9631 <parameter_description> return location for a #GError
9632 </parameter_description>
9633 </parameter>
9634 </parameters>
9635 <return> the values associated with the key as a list of
9636 booleans, or %NULL if the key was not found or could not be parsed.
9637
9638 Since: 2.6
9639 </return>
9640 </function>
9641
9642 <function name="g_fopen">
9643 <description>
9644 A wrapper for the POSIX fopen() function. The fopen() function opens
9645 a file and associates a new stream with it. 
9646
9647 See the C library manual for more details about fopen().
9648
9649
9650 </description>
9651 <parameters>
9652 <parameter name="filename">
9653 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
9654 </parameter_description>
9655 </parameter>
9656 <parameter name="mode">
9657 <parameter_description> a string describing the mode in which the file should be 
9658 opened
9659 </parameter_description>
9660 </parameter>
9661 </parameters>
9662 <return> A &amp;lt;type&amp;gt;FILE&amp;lt;/type&amp;gt; pointer if the file was successfully
9663 opened, or %NULL if an error occurred
9664
9665 Since: 2.6
9666 </return>
9667 </function>
9668
9669 <function name="g_error_copy">
9670 <description>
9671 Makes a copy of @error.
9672
9673
9674 </description>
9675 <parameters>
9676 <parameter name="error">
9677 <parameter_description> a #GError
9678 </parameter_description>
9679 </parameter>
9680 </parameters>
9681 <return> a new #GError
9682 </return>
9683 </function>
9684
9685 <function name="g_match_info_fetch_named_pos">
9686 <description>
9687 Retrieves the position of the capturing parentheses named @name.
9688
9689 If @name is a valid sub pattern name but it didn&apos;t match anything 
9690 (e.g. sub pattern &quot;X&quot;, matching &quot;b&quot; against &quot;(?P&amp;lt;X&amp;gt;a)?b&quot;) 
9691 then @start_pos and @end_pos are set to -1 and %TRUE is returned.
9692
9693
9694 </description>
9695 <parameters>
9696 <parameter name="match_info">
9697 <parameter_description> #GMatchInfo structure
9698 </parameter_description>
9699 </parameter>
9700 <parameter name="name">
9701 <parameter_description> name of the subexpression
9702 </parameter_description>
9703 </parameter>
9704 <parameter name="start_pos">
9705 <parameter_description> pointer to location where to store the start position
9706 </parameter_description>
9707 </parameter>
9708 <parameter name="end_pos">
9709 <parameter_description> pointer to location where to store the end position
9710 </parameter_description>
9711 </parameter>
9712 </parameters>
9713 <return> %TRUE if the position was fetched, %FALSE otherwise. If 
9714 the position cannot be fetched, @start_pos and @end_pos are left
9715 unchanged
9716
9717 Since: 2.14
9718 </return>
9719 </function>
9720
9721 <function name="g_regex_split">
9722 <description>
9723 Breaks the string on the pattern, and returns an array of the tokens.
9724 If the pattern contains capturing parentheses, then the text for each
9725 of the substrings will also be returned. If the pattern does not match
9726 anywhere in the string, then the whole string is returned as the first
9727 token.
9728
9729 As a special case, the result of splitting the empty string &quot;&quot; is an
9730 empty vector, not a vector containing a single string. The reason for
9731 this special case is that being able to represent a empty vector is
9732 typically more useful than consistent handling of empty elements. If
9733 you do need to represent empty elements, you&apos;ll need to check for the
9734 empty string before calling this function.
9735
9736 A pattern that can match empty strings splits @string into separate
9737 characters wherever it matches the empty string between characters.
9738 For example splitting &quot;ab c&quot; using as a separator &quot;\s*&quot;, you will get
9739 &quot;a&quot;, &quot;b&quot; and &quot;c&quot;.
9740
9741
9742 </description>
9743 <parameters>
9744 <parameter name="regex">
9745 <parameter_description> a #GRegex structure
9746 </parameter_description>
9747 </parameter>
9748 <parameter name="string">
9749 <parameter_description> the string to split with the pattern
9750 </parameter_description>
9751 </parameter>
9752 <parameter name="match_options">
9753 <parameter_description> match time option flags
9754 </parameter_description>
9755 </parameter>
9756 </parameters>
9757 <return> a %NULL-terminated gchar ** array. Free it using g_strfreev()
9758
9759 Since: 2.14
9760 </return>
9761 </function>
9762
9763 <function name="g_mapped_file_new">
9764 <description>
9765 Maps a file into memory. On UNIX, this is using the mmap() function.
9766
9767 If @writable is %TRUE, the mapped buffer may be modified, otherwise
9768 it is an error to modify the mapped buffer. Modifications to the buffer 
9769 are not visible to other processes mapping the same file, and are not 
9770 written back to the file.
9771
9772 Note that modifications of the underlying file might affect the contents
9773 of the #GMappedFile. Therefore, mapping should only be used if the file 
9774 will not be modified, or if all modifications of the file are done
9775 atomically (e.g. using g_file_set_contents()). 
9776
9777
9778 </description>
9779 <parameters>
9780 <parameter name="filename">
9781 <parameter_description> The path of the file to load, in the GLib filename encoding
9782 </parameter_description>
9783 </parameter>
9784 <parameter name="writable">
9785 <parameter_description> wether the mapping should be writable
9786 </parameter_description>
9787 </parameter>
9788 <parameter name="error">
9789 <parameter_description> return location for a #GError, or %NULL
9790 </parameter_description>
9791 </parameter>
9792 </parameters>
9793 <return> a newly allocated #GMappedFile which must be freed
9794 with g_mapped_file_free(), or %NULL if the mapping failed. 
9795
9796 Since: 2.8
9797 </return>
9798 </function>
9799
9800 <function name="g_io_channel_read">
9801 <description>
9802 Reads data from a #GIOChannel. 
9803
9804
9805 </description>
9806 <parameters>
9807 <parameter name="channel">
9808 <parameter_description> a #GIOChannel. 
9809 </parameter_description>
9810 </parameter>
9811 <parameter name="buf">
9812 <parameter_description> a buffer to read the data into (which should be at least count bytes long).
9813 </parameter_description>
9814 </parameter>
9815 <parameter name="count">
9816 <parameter_description> the number of bytes to read from the #GIOChannel.
9817 </parameter_description>
9818 </parameter>
9819 <parameter name="bytes_read">
9820 <parameter_description> returns the number of bytes actually read. 
9821 </parameter_description>
9822 </parameter>
9823 </parameters>
9824 <return> %G_IO_ERROR_NONE if the operation was successful. 
9825
9826 Deprecated:2.2: Use g_io_channel_read_chars() instead.
9827 </return>
9828 </function>
9829
9830 <function name="g_ucs4_to_utf8">
9831 <description>
9832 Convert a string from a 32-bit fixed width representation as UCS-4.
9833 to UTF-8. The result will be terminated with a 0 byte.
9834
9835
9836 </description>
9837 <parameters>
9838 <parameter name="str">
9839 <parameter_description> a UCS-4 encoded string
9840 </parameter_description>
9841 </parameter>
9842 <parameter name="len">
9843 <parameter_description> the maximum length (number of characters) of @str to use. 
9844 If @len &amp;lt; 0, then the string is terminated with a 0 character.
9845 </parameter_description>
9846 </parameter>
9847 <parameter name="items_read">
9848 <parameter_description> location to store number of characters read, or %NULL.
9849 </parameter_description>
9850 </parameter>
9851 <parameter name="items_written">
9852 <parameter_description> location to store number of bytes written or %NULL.
9853 The value here stored does not include the trailing 0
9854 byte. 
9855 </parameter_description>
9856 </parameter>
9857 <parameter name="error">
9858 <parameter_description> location to store the error occuring, or %NULL to ignore
9859 errors. Any of the errors in #GConvertError other than
9860 %G_CONVERT_ERROR_NO_CONVERSION may occur.
9861 </parameter_description>
9862 </parameter>
9863 </parameters>
9864 <return> a pointer to a newly allocated UTF-8 string.
9865 This value must be freed with g_free(). If an
9866 error occurs, %NULL will be returned and
9867 @error set. In that case, @items_read will be
9868 set to the position of the first invalid input 
9869 character.
9870 </return>
9871 </function>
9872
9873 <function name="g_unichar_isprint">
9874 <description>
9875 Determines whether a character is printable.
9876 Unlike g_unichar_isgraph(), returns %TRUE for spaces.
9877 Given some UTF-8 text, obtain a character value with
9878 g_utf8_get_char().
9879
9880
9881 </description>
9882 <parameters>
9883 <parameter name="c">
9884 <parameter_description> a Unicode character
9885 </parameter_description>
9886 </parameter>
9887 </parameters>
9888 <return> %TRUE if @c is printable
9889 </return>
9890 </function>
9891
9892 <function name="g_source_set_callback">
9893 <description>
9894 Sets the callback function for a source. The callback for a source is
9895 called from the source&apos;s dispatch function.
9896
9897 The exact type of @func depends on the type of source; ie. you
9898 should not count on @func being called with @data as its first
9899 parameter.
9900
9901 Typically, you won&apos;t use this function. Instead use functions specific
9902 to the type of source you are using.
9903
9904 </description>
9905 <parameters>
9906 <parameter name="source">
9907 <parameter_description> the source
9908 </parameter_description>
9909 </parameter>
9910 <parameter name="func">
9911 <parameter_description> a callback function
9912 </parameter_description>
9913 </parameter>
9914 <parameter name="data">
9915 <parameter_description> the data to pass to callback function
9916 </parameter_description>
9917 </parameter>
9918 <parameter name="notify">
9919 <parameter_description> a function to call when @data is no longer in use, or %NULL.
9920 </parameter_description>
9921 </parameter>
9922 </parameters>
9923 <return></return>
9924 </function>
9925
9926 <function name="g_sequence_sort_iter">
9927 <description>
9928 Like g_sequence_sort(), but uses a #GSequenceIterCompareFunc instead
9929 of a GCompareDataFunc as the compare function
9930
9931 Since: 2.14
9932
9933 </description>
9934 <parameters>
9935 <parameter name="seq">
9936 <parameter_description> a #GSequence
9937 </parameter_description>
9938 </parameter>
9939 <parameter name="cmp_func">
9940 <parameter_description> the #GSequenceItercompare used to compare iterators in the
9941 sequence. It is called with two iterators pointing into @seq. It should
9942 return 0 if the iterators are equal, a negative value if the first
9943 iterator comes before the second, and a positive value if the second
9944 iterator comes before the first.
9945 </parameter_description>
9946 </parameter>
9947 <parameter name="cmp_data">
9948 <parameter_description> user data passed to @cmp_func
9949 </parameter_description>
9950 </parameter>
9951 </parameters>
9952 <return></return>
9953 </function>
9954
9955 <function name="g_bookmark_file_to_data">
9956 <description>
9957 This function outputs @bookmark as a string.
9958
9959
9960 </description>
9961 <parameters>
9962 <parameter name="bookmark">
9963 <parameter_description> a #GBookmarkFile
9964 </parameter_description>
9965 </parameter>
9966 <parameter name="length">
9967 <parameter_description> return location for the length of the returned string, or %NULL
9968 </parameter_description>
9969 </parameter>
9970 <parameter name="error">
9971 <parameter_description> return location for a #GError, or %NULL
9972 </parameter_description>
9973 </parameter>
9974 </parameters>
9975 <return> a newly allocated string holding
9976 the contents of the #GBookmarkFile
9977
9978 Since: 2.12
9979 </return>
9980 </function>
9981
9982 <function name="g_main_loop_get_context">
9983 <description>
9984 Return value: the #GMainContext of @loop
9985
9986 </description>
9987 <parameters>
9988 <parameter name="loop">
9989 <parameter_description> a #GMainLoop.
9990 </parameter_description>
9991 </parameter>
9992 </parameters>
9993 <return> the #GMainContext of @loop
9994 </return>
9995 </function>
9996
9997 <function name="g_async_queue_lock">
9998 <description>
9999 Acquires the @queue&apos;s lock. After that you can only call the
10000 &amp;lt;function&amp;gt;g_async_queue_*_unlocked()&amp;lt;/function&amp;gt; function variants on that
10001 @queue. Otherwise it will deadlock.
10002
10003 </description>
10004 <parameters>
10005 <parameter name="queue">
10006 <parameter_description> a #GAsyncQueue.
10007 </parameter_description>
10008 </parameter>
10009 </parameters>
10010 <return></return>
10011 </function>
10012
10013 <function name="g_utf8_strup">
10014 <description>
10015 Converts all Unicode characters in the string that have a case
10016 to uppercase. The exact manner that this is done depends
10017 on the current locale, and may result in the number of
10018 characters in the string increasing. (For instance, the
10019 German ess-zet will be changed to SS.)
10020
10021
10022 </description>
10023 <parameters>
10024 <parameter name="str">
10025 <parameter_description> a UTF-8 encoded string
10026 </parameter_description>
10027 </parameter>
10028 <parameter name="len">
10029 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
10030 </parameter_description>
10031 </parameter>
10032 </parameters>
10033 <return> a newly allocated string, with all characters
10034 converted to uppercase.  
10035 </return>
10036 </function>
10037
10038 <function name="g_source_set_can_recurse">
10039 <description>
10040 Sets whether a source can be called recursively. If @can_recurse is
10041 %TRUE, then while the source is being dispatched then this source
10042 will be processed normally. Otherwise, all processing of this
10043 source is blocked until the dispatch function returns.
10044
10045 </description>
10046 <parameters>
10047 <parameter name="source">
10048 <parameter_description> a #GSource
10049 </parameter_description>
10050 </parameter>
10051 <parameter name="can_recurse">
10052 <parameter_description> whether recursion is allowed for this source
10053 </parameter_description>
10054 </parameter>
10055 </parameters>
10056 <return></return>
10057 </function>
10058
10059 <function name="g_io_channel_seek_position">
10060 <description>
10061 Replacement for g_io_channel_seek() with the new API.
10062
10063
10064 </description>
10065 <parameters>
10066 <parameter name="channel">
10067 <parameter_description> a #GIOChannel
10068 </parameter_description>
10069 </parameter>
10070 <parameter name="offset">
10071 <parameter_description> The offset in bytes from the position specified by @type
10072 </parameter_description>
10073 </parameter>
10074 <parameter name="type">
10075 <parameter_description> a #GSeekType. The type %G_SEEK_CUR is only allowed in those
10076 cases where a call to g_io_channel_set_encoding ()
10077 is allowed. See the documentation for
10078 g_io_channel_set_encoding () for details.
10079 </parameter_description>
10080 </parameter>
10081 <parameter name="error">
10082 <parameter_description> A location to return an error of type #GIOChannelError
10083 </parameter_description>
10084 </parameter>
10085 </parameters>
10086 <return> the status of the operation.
10087 </return>
10088 </function>
10089
10090 <function name="g_printf">
10091 <description>
10092 An implementation of the standard printf() function which supports 
10093 positional parameters, as specified in the Single Unix Specification.
10094
10095
10096 </description>
10097 <parameters>
10098 <parameter name="format">
10099 <parameter_description> a standard printf() format string, but notice 
10100 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
10101 </parameter_description>
10102 </parameter>
10103 <parameter name="Varargs">
10104 <parameter_description> the arguments to insert in the output.
10105 </parameter_description>
10106 </parameter>
10107 </parameters>
10108 <return> the number of characters printed.
10109
10110 Since: 2.2
10111 </return>
10112 </function>
10113
10114 <function name="g_queue_insert_before">
10115 <description>
10116 Inserts @data into @queue before @sibling.
10117
10118 @sibling must be part of @queue.
10119
10120 Since: 2.4
10121
10122 </description>
10123 <parameters>
10124 <parameter name="queue">
10125 <parameter_description> a #GQueue
10126 </parameter_description>
10127 </parameter>
10128 <parameter name="sibling">
10129 <parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
10130 </parameter_description>
10131 </parameter>
10132 <parameter name="data">
10133 <parameter_description> the data to insert
10134 </parameter_description>
10135 </parameter>
10136 </parameters>
10137 <return></return>
10138 </function>
10139
10140 <function name="g_queue_clear">
10141 <description>
10142 Removes all the elements in @queue. If queue elements contain
10143 dynamically-allocated memory, they should be freed first.
10144
10145 Since: 2.14
10146
10147 </description>
10148 <parameters>
10149 <parameter name="queue">
10150 <parameter_description> a #GQueue
10151 </parameter_description>
10152 </parameter>
10153 </parameters>
10154 <return></return>
10155 </function>
10156
10157 <function name="g_setenv">
10158 <description>
10159 Sets an environment variable. Both the variable&apos;s name and value
10160 should be in the GLib file name encoding. On UNIX, this means that
10161 they can be any sequence of bytes. On Windows, they should be in
10162 UTF-8.
10163
10164 Note that on some systems, when variables are overwritten, the memory 
10165 used for the previous variables and its value isn&apos;t reclaimed.
10166
10167
10168 </description>
10169 <parameters>
10170 <parameter name="variable">
10171 <parameter_description> the environment variable to set, must not contain &apos;=&apos;.
10172 </parameter_description>
10173 </parameter>
10174 <parameter name="value">
10175 <parameter_description> the value for to set the variable to.
10176 </parameter_description>
10177 </parameter>
10178 <parameter name="overwrite">
10179 <parameter_description> whether to change the variable if it already exists.
10180 </parameter_description>
10181 </parameter>
10182 </parameters>
10183 <return> %FALSE if the environment variable couldn&apos;t be set.
10184
10185 Since: 2.4
10186 </return>
10187 </function>
10188
10189 <function name="g_regex_replace_eval">
10190 <description>
10191 Replaces occurances of the pattern in regex with the output of 
10192 @eval for that occurance.
10193
10194 Setting @start_position differs from just passing over a shortened 
10195 string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern 
10196 that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
10197
10198
10199 </description>
10200 <parameters>
10201 <parameter name="regex">
10202 <parameter_description> a #GRegex structure from g_regex_new()
10203 </parameter_description>
10204 </parameter>
10205 <parameter name="string">
10206 <parameter_description> string to perform matches against
10207 </parameter_description>
10208 </parameter>
10209 <parameter name="string_len">
10210 <parameter_description> the length of @string, or -1 if @string is nul-terminated
10211 </parameter_description>
10212 </parameter>
10213 <parameter name="start_position">
10214 <parameter_description> starting index of the string to match
10215 </parameter_description>
10216 </parameter>
10217 <parameter name="match_options">
10218 <parameter_description> options for the match
10219 </parameter_description>
10220 </parameter>
10221 <parameter name="eval">
10222 <parameter_description> a function to call for each match
10223 </parameter_description>
10224 </parameter>
10225 <parameter name="user_data">
10226 <parameter_description> user data to pass to the function
10227 </parameter_description>
10228 </parameter>
10229 <parameter name="error">
10230 <parameter_description> location to store the error occuring, or %NULL to ignore errors
10231 </parameter_description>
10232 </parameter>
10233 </parameters>
10234 <return> a newly allocated string containing the replacements
10235
10236 Since: 2.14
10237 </return>
10238 </function>
10239
10240 <function name="g_hash_table_lookup_extended">
10241 <description>
10242 Looks up a key in the #GHashTable, returning the original key and the
10243 associated value and a #gboolean which is %TRUE if the key was found. This 
10244 is useful if you need to free the memory allocated for the original key, 
10245 for example before calling g_hash_table_remove().
10246
10247
10248 </description>
10249 <parameters>
10250 <parameter name="hash_table">
10251 <parameter_description> a #GHashTable.
10252 </parameter_description>
10253 </parameter>
10254 <parameter name="lookup_key">
10255 <parameter_description> the key to look up.
10256 </parameter_description>
10257 </parameter>
10258 <parameter name="orig_key">
10259 <parameter_description> returns the original key.
10260 </parameter_description>
10261 </parameter>
10262 <parameter name="value">
10263 <parameter_description> returns the value associated with the key.
10264 </parameter_description>
10265 </parameter>
10266 </parameters>
10267 <return> %TRUE if the key was found in the #GHashTable.
10268 </return>
10269 </function>
10270
10271 <function name="g_bookmark_file_get_mime_type">
10272 <description>
10273 Retrieves the MIME type of the resource pointed by @uri.
10274
10275 In the event the URI cannot be found, %NULL is returned and
10276 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.  In the
10277 event that the MIME type cannot be found, %NULL is returned and
10278 @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
10279
10280
10281 </description>
10282 <parameters>
10283 <parameter name="bookmark">
10284 <parameter_description> a #GBookmarkFile
10285 </parameter_description>
10286 </parameter>
10287 <parameter name="uri">
10288 <parameter_description> a valid URI
10289 </parameter_description>
10290 </parameter>
10291 <parameter name="error">
10292 <parameter_description> return location for a #GError, or %NULL
10293 </parameter_description>
10294 </parameter>
10295 </parameters>
10296 <return> a newly allocated string or %NULL if the specified
10297 URI cannot be found.
10298
10299 Since: 2.12
10300 </return>
10301 </function>
10302
10303 <function name="g_datalist_unset_flags">
10304 <description>
10305 Turns off flag values for a data list. See g_datalist_unset_flags()
10306
10307 Since: 2.8
10308
10309 </description>
10310 <parameters>
10311 <parameter name="datalist">
10312 <parameter_description> pointer to the location that holds a list
10313 </parameter_description>
10314 </parameter>
10315 <parameter name="flags">
10316 <parameter_description> the flags to turn off. The values of the flags are
10317 restricted by %G_DATALIST_FLAGS_MASK (currently
10318 3: giving two possible boolean flags).
10319 A value for @flags that doesn&apos;t fit within the mask is
10320 an error.
10321 </parameter_description>
10322 </parameter>
10323 </parameters>
10324 <return></return>
10325 </function>
10326
10327 <function name="g_utf8_collate_key_for_filename">
10328 <description>
10329 Converts a string into a collation key that can be compared
10330 with other collation keys produced by the same function using strcmp(). 
10331
10332 In order to sort filenames correctly, this function treats the dot &apos;.&apos; 
10333 as a special case. Most dictionary orderings seem to consider it
10334 insignificant, thus producing the ordering &quot;event.c&quot; &quot;eventgenerator.c&quot;
10335 &quot;event.h&quot; instead of &quot;event.c&quot; &quot;event.h&quot; &quot;eventgenerator.c&quot;. Also, we
10336 would like to treat numbers intelligently so that &quot;file1&quot; &quot;file10&quot; &quot;file5&quot;
10337 is sorted as &quot;file1&quot; &quot;file5&quot; &quot;file10&quot;.
10338
10339 Note that this function depends on the 
10340 &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
10341
10342
10343 </description>
10344 <parameters>
10345 <parameter name="str">
10346 <parameter_description> a UTF-8 encoded string.
10347 </parameter_description>
10348 </parameter>
10349 <parameter name="len">
10350 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
10351 </parameter_description>
10352 </parameter>
10353 </parameters>
10354 <return> a newly allocated string. This string should
10355 be freed with g_free() when you are done with it.
10356
10357 Since: 2.8
10358 </return>
10359 </function>
10360
10361 <function name="g_convert_with_fallback">
10362 <description>
10363 Converts a string from one character set to another, possibly
10364 including fallback sequences for characters not representable
10365 in the output. Note that it is not guaranteed that the specification
10366 for the fallback sequences in @fallback will be honored. Some
10367 systems may do a approximate conversion from @from_codeset
10368 to @to_codeset in their iconv() functions, 
10369 in which case GLib will simply return that approximate conversion.
10370
10371 Note that you should use g_iconv() for streaming 
10372 conversions&amp;lt;footnoteref linkend=&quot;streaming-state&quot;/&amp;gt;.
10373
10374
10375 </description>
10376 <parameters>
10377 <parameter name="str">
10378 <parameter_description>          the string to convert
10379 </parameter_description>
10380 </parameter>
10381 <parameter name="len">
10382 <parameter_description>          the length of the string, or -1 if the string is 
10383 nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;. 
10384 </parameter_description>
10385 </parameter>
10386 <parameter name="to_codeset">
10387 <parameter_description>   name of character set into which to convert @str
10388 </parameter_description>
10389 </parameter>
10390 <parameter name="from_codeset">
10391 <parameter_description> character set of @str.
10392 </parameter_description>
10393 </parameter>
10394 <parameter name="fallback">
10395 <parameter_description>     UTF-8 string to use in place of character not
10396 present in the target encoding. (The string must be
10397 representable in the target encoding). 
10398                   If %NULL, characters not in the target encoding will 
10399                   be represented as Unicode escapes \uxxxx or \Uxxxxyyyy.
10400 </parameter_description>
10401 </parameter>
10402 <parameter name="bytes_read">
10403 <parameter_description>   location to store the number of bytes in the
10404 input string that were successfully converted, or %NULL.
10405 Even if the conversion was successful, this may be 
10406 less than @len if there were partial characters
10407 at the end of the input.
10408 </parameter_description>
10409 </parameter>
10410 <parameter name="bytes_written">
10411 <parameter_description> the number of bytes stored in the output buffer (not 
10412 including the terminating nul).
10413 </parameter_description>
10414 </parameter>
10415 <parameter name="error">
10416 <parameter_description>        location to store the error occuring, or %NULL to ignore
10417 errors. Any of the errors in #GConvertError may occur.
10418 </parameter_description>
10419 </parameter>
10420 </parameters>
10421 <return> If the conversion was successful, a newly allocated
10422 nul-terminated string, which must be freed with
10423 g_free(). Otherwise %NULL and @error will be set.
10424 </return>
10425 </function>
10426
10427 <function name="g_sequence_move_range">
10428 <description>
10429 Inserts the (@begin, @end) range at the destination pointed to by ptr.
10430 The @begin and @end iters must point into the same sequence. It is
10431 allowed for @dest to point to a different sequence than the one pointed
10432 into by @begin and @end.
10433
10434 If @dest is NULL, the range indicated by @begin and @end is
10435 removed from the sequence. If @dest iter points to a place within
10436 the (@begin, @end) range, the range does not move.
10437
10438 Since: 2.14
10439
10440 </description>
10441 <parameters>
10442 <parameter name="dest">
10443 <parameter_description> a #GSequenceIter
10444 </parameter_description>
10445 </parameter>
10446 <parameter name="begin">
10447 <parameter_description> a #GSequenceIter
10448 </parameter_description>
10449 </parameter>
10450 <parameter name="end">
10451 <parameter_description> a #GSequenceIter
10452 </parameter_description>
10453 </parameter>
10454 </parameters>
10455 <return></return>
10456 </function>
10457
10458 <function name="g_bookmark_file_set_modified">
10459 <description>
10460 Sets the last time the bookmark for @uri was last modified.
10461
10462 If no bookmark for @uri is found then it is created.
10463
10464 The &quot;modified&quot; time should only be set when the bookmark&apos;s meta-data
10465 was actually changed.  Every function of #GBookmarkFile that
10466 modifies a bookmark also changes the modification time, except for
10467 g_bookmark_file_set_visited().
10468
10469 Since: 2.12
10470
10471 </description>
10472 <parameters>
10473 <parameter name="bookmark">
10474 <parameter_description> a #GBookmarkFile
10475 </parameter_description>
10476 </parameter>
10477 <parameter name="uri">
10478 <parameter_description> a valid URI
10479 </parameter_description>
10480 </parameter>
10481 <parameter name="modified">
10482 <parameter_description> a timestamp or -1 to use the current time
10483 </parameter_description>
10484 </parameter>
10485 </parameters>
10486 <return></return>
10487 </function>
10488
10489 <function name="g_strrstr_len">
10490 <description>
10491 Searches the string @haystack for the last occurrence
10492 of the string @needle, limiting the length of the search
10493 to @haystack_len. 
10494
10495
10496 </description>
10497 <parameters>
10498 <parameter name="haystack">
10499 <parameter_description> a nul-terminated string.
10500 </parameter_description>
10501 </parameter>
10502 <parameter name="haystack_len">
10503 <parameter_description> the maximum length of @haystack.
10504 </parameter_description>
10505 </parameter>
10506 <parameter name="needle">
10507 <parameter_description> the nul-terminated string to search for.
10508 </parameter_description>
10509 </parameter>
10510 </parameters>
10511 <return> a pointer to the found occurrence, or
10512 %NULL if not found.
10513 </return>
10514 </function>
10515
10516 <function name="g_getenv">
10517 <description>
10518 Return value: the value of the environment variable, or %NULL if
10519
10520 </description>
10521 <parameters>
10522 <parameter name="variable">
10523 <parameter_description> the environment variable to get, in the GLib file name encoding.
10524 </parameter_description>
10525 </parameter>
10526 </parameters>
10527 <return> the value of the environment variable, or %NULL if
10528 the environment variable is not found. The returned string may be
10529 overwritten by the next call to g_getenv(), g_setenv() or
10530 g_unsetenv().
10531 </return>
10532 </function>
10533
10534 <function name="g_main_context_release">
10535 <description>
10536 Releases ownership of a context previously acquired by this thread
10537 with g_main_context_acquire(). If the context was acquired multiple
10538 times, the only release ownership when g_main_context_release()
10539 is called as many times as it was acquired.
10540
10541 </description>
10542 <parameters>
10543 <parameter name="context">
10544 <parameter_description> a #GMainContext
10545 </parameter_description>
10546 </parameter>
10547 </parameters>
10548 <return></return>
10549 </function>
10550
10551 <function name="g_string_ascii_down">
10552 <description>
10553 Converts all upper case ASCII letters to lower case ASCII letters.
10554
10555
10556 </description>
10557 <parameters>
10558 <parameter name="string">
10559 <parameter_description> a GString
10560 </parameter_description>
10561 </parameter>
10562 </parameters>
10563 <return> passed-in @string pointer, with all the upper case
10564 characters converted to lower case in place, with
10565 semantics that exactly match g_ascii_tolower().
10566 </return>
10567 </function>
10568
10569 <function name="g_queue_peek_nth">
10570 <description>
10571 Return value: The data for the @n&apos;th element of @queue, or %NULL if @n is
10572
10573 </description>
10574 <parameters>
10575 <parameter name="queue">
10576 <parameter_description> a #GQueue
10577 </parameter_description>
10578 </parameter>
10579 <parameter name="n">
10580 <parameter_description> the position of the element.
10581 </parameter_description>
10582 </parameter>
10583 </parameters>
10584 <return> The data for the @n&apos;th element of @queue, or %NULL if @n is
10585 off the end of @queue.
10586
10587 Since: 2.4
10588 </return>
10589 </function>
10590
10591 <function name="g_bookmark_file_get_icon">
10592 <description>
10593 Gets the icon of the bookmark for @uri.
10594
10595 In the event the URI cannot be found, %FALSE is returned and
10596 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
10597
10598
10599 </description>
10600 <parameters>
10601 <parameter name="bookmark">
10602 <parameter_description> a #GBookmarkFile
10603 </parameter_description>
10604 </parameter>
10605 <parameter name="uri">
10606 <parameter_description> a valid URI
10607 </parameter_description>
10608 </parameter>
10609 <parameter name="href">
10610 <parameter_description> return location for the icon&apos;s location or %NULL
10611 </parameter_description>
10612 </parameter>
10613 <parameter name="mime_type">
10614 <parameter_description> return location for the icon&apos;s MIME type or %NULL
10615 </parameter_description>
10616 </parameter>
10617 <parameter name="error">
10618 <parameter_description> return location for a #GError or %NULL
10619 </parameter_description>
10620 </parameter>
10621 </parameters>
10622 <return> %TRUE if the icon for the bookmark for the URI was found.
10623 You should free the returned strings.
10624
10625 Since: 2.12
10626 </return>
10627 </function>
10628
10629 <function name="g_io_channel_flush">
10630 <description>
10631 Flushes the write buffer for the GIOChannel.
10632
10633
10634 </description>
10635 <parameters>
10636 <parameter name="channel">
10637 <parameter_description> a #GIOChannel
10638 </parameter_description>
10639 </parameter>
10640 <parameter name="error">
10641 <parameter_description> location to store an error of type #GIOChannelError
10642 </parameter_description>
10643 </parameter>
10644 </parameters>
10645 <return> the status of the operation: One of
10646 #G_IO_CHANNEL_NORMAL, #G_IO_CHANNEL_AGAIN, or
10647 #G_IO_CHANNEL_ERROR.
10648 </return>
10649 </function>
10650
10651 <function name="g_str_has_suffix">
10652 <description>
10653 Looks whether the string @str ends with @suffix.
10654
10655
10656 </description>
10657 <parameters>
10658 <parameter name="str">
10659 <parameter_description> a nul-terminated string.
10660 </parameter_description>
10661 </parameter>
10662 <parameter name="suffix">
10663 <parameter_description> the nul-terminated suffix to look for.
10664 </parameter_description>
10665 </parameter>
10666 </parameters>
10667 <return> %TRUE if @str end with @suffix, %FALSE otherwise.
10668
10669 Since: 2.2
10670 </return>
10671 </function>
10672
10673 <function name="g_bookmark_file_set_mime_type">
10674 <description>
10675 Sets @mime_type as the MIME type of the bookmark for @uri.
10676
10677 If a bookmark for @uri cannot be found then it is created.
10678
10679 Since: 2.12
10680
10681 </description>
10682 <parameters>
10683 <parameter name="bookmark">
10684 <parameter_description> a #GBookmarkFile
10685 </parameter_description>
10686 </parameter>
10687 <parameter name="uri">
10688 <parameter_description> a valid URI
10689 </parameter_description>
10690 </parameter>
10691 <parameter name="mime_type">
10692 <parameter_description> a MIME type
10693 </parameter_description>
10694 </parameter>
10695 </parameters>
10696 <return></return>
10697 </function>
10698
10699 <function name="g_regex_match">
10700 <description>
10701 Scans for a match in string for the pattern in @regex. 
10702 The @match_options are combined with the match options specified 
10703 when the @regex structure was created, letting you have more 
10704 flexibility in reusing #GRegex structures.
10705
10706 A #GMatchInfo structure, used to get information on the match, 
10707 is stored in @match_info if not %NULL. Note that if @match_info 
10708 is not %NULL then it is created even if the function returns %FALSE, 
10709 i.e. you must free it regardless if regular expression actually matched.
10710
10711 To retrieve all the non-overlapping matches of the pattern in 
10712 string you can use g_match_info_next().
10713
10714 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
10715 static void
10716 print_uppercase_words (const gchar *string)
10717 {
10718 /&amp;ast; Print all uppercase-only words. &amp;ast;/
10719 GRegex *regex;
10720 GMatchInfo *match_info;
10721 &amp;nbsp;
10722 regex = g_regex_new (&quot;[A-Z]+&quot;, 0, 0, NULL);
10723 g_regex_match (regex, string, 0, &amp;amp;match_info);
10724 while (g_match_info_matches (match_info))
10725 {
10726 gchar *word = g_match_info_fetch (match_info, 0);
10727 g_print (&quot;Found: %s\n&quot;, word);
10728 g_free (word);
10729 g_match_info_next (match_info, NULL);
10730 }
10731 g_match_info_free (match_info);
10732 g_regex_unref (regex);
10733 }
10734 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
10735
10736
10737 </description>
10738 <parameters>
10739 <parameter name="regex">
10740 <parameter_description> a #GRegex structure from g_regex_new()
10741 </parameter_description>
10742 </parameter>
10743 <parameter name="string">
10744 <parameter_description> the string to scan for matches
10745 </parameter_description>
10746 </parameter>
10747 <parameter name="match_options">
10748 <parameter_description> match options
10749 </parameter_description>
10750 </parameter>
10751 <parameter name="match_info">
10752 <parameter_description> pointer to location where to store the #GMatchInfo, 
10753 or %NULL if you do not need it
10754 </parameter_description>
10755 </parameter>
10756 </parameters>
10757 <return> %TRUE is the string matched, %FALSE otherwise
10758
10759 Since: 2.14
10760 </return>
10761 </function>
10762
10763 <function name="g_rand_set_seed">
10764 <description>
10765 Sets the seed for the random number generator #GRand to @seed.
10766
10767 </description>
10768 <parameters>
10769 <parameter name="rand_">
10770 <parameter_description> a #GRand.
10771 </parameter_description>
10772 </parameter>
10773 <parameter name="seed">
10774 <parameter_description> a value to reinitialize the random number generator.
10775 </parameter_description>
10776 </parameter>
10777 </parameters>
10778 <return></return>
10779 </function>
10780
10781 <function name="g_key_file_remove_comment">
10782 <description>
10783 Removes a comment above @key from @group_name.
10784 @group_name. If @key is %NULL then @comment will
10785 be written above @group_name.  If both @key
10786 and @group_name are NULL, then @comment will
10787 be written above the first group in the file.
10788
10789 Since: 2.6
10790
10791 </description>
10792 <parameters>
10793 <parameter name="key_file">
10794 <parameter_description> a #GKeyFile
10795 </parameter_description>
10796 </parameter>
10797 <parameter name="group_name">
10798 <parameter_description> a group name, or %NULL
10799 </parameter_description>
10800 </parameter>
10801 <parameter name="key">
10802 <parameter_description> a key
10803 </parameter_description>
10804 </parameter>
10805 <parameter name="error">
10806 <parameter_description> return location for a #GError
10807 </parameter_description>
10808 </parameter>
10809 </parameters>
10810 <return></return>
10811 </function>
10812
10813 <function name="g_unichar_istitle">
10814 <description>
10815 Determines if a character is titlecase. Some characters in
10816 Unicode which are composites, such as the DZ digraph
10817 have three case variants instead of just two. The titlecase
10818 form is used at the beginning of a word where only the
10819 first letter is capitalized. The titlecase form of the DZ
10820 digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z.
10821
10822
10823 </description>
10824 <parameters>
10825 <parameter name="c">
10826 <parameter_description> a Unicode character
10827 </parameter_description>
10828 </parameter>
10829 </parameters>
10830 <return> %TRUE if the character is titlecase
10831 </return>
10832 </function>
10833
10834 <function name="g_main_loop_ref">
10835 <description>
10836 Increases the reference count on a #GMainLoop object by one.
10837
10838
10839 </description>
10840 <parameters>
10841 <parameter name="loop">
10842 <parameter_description> a #GMainLoop
10843 </parameter_description>
10844 </parameter>
10845 </parameters>
10846 <return> @loop
10847 </return>
10848 </function>
10849
10850 <function name="g_key_file_get_keys">
10851 <description>
10852 Return value: a newly-allocated %NULL-terminated array of
10853
10854 </description>
10855 <parameters>
10856 <parameter name="key_file">
10857 <parameter_description> a #GKeyFile
10858 </parameter_description>
10859 </parameter>
10860 <parameter name="group_name">
10861 <parameter_description> a group name
10862 </parameter_description>
10863 </parameter>
10864 <parameter name="length">
10865 <parameter_description> return location for the number of keys returned, or %NULL
10866 </parameter_description>
10867 </parameter>
10868 <parameter name="error">
10869 <parameter_description> return location for a #GError, or %NULL
10870 </parameter_description>
10871 </parameter>
10872 </parameters>
10873 <return> a newly-allocated %NULL-terminated array of
10874 strings. Use g_strfreev() to free it.
10875
10876 Since: 2.6
10877 </return>
10878 </function>
10879
10880 <function name="g_bookmark_file_move_item">
10881 <description>
10882 Changes the URI of a bookmark item from @old_uri to @new_uri.  Any
10883 existing bookmark for @new_uri will be overwritten.  If @new_uri is
10884 %NULL, then the bookmark is removed.
10885
10886 In the event the URI cannot be found, %FALSE is returned and
10887 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
10888
10889
10890 </description>
10891 <parameters>
10892 <parameter name="bookmark">
10893 <parameter_description> a #GBookmarkFile
10894 </parameter_description>
10895 </parameter>
10896 <parameter name="old_uri">
10897 <parameter_description> a valid URI
10898 </parameter_description>
10899 </parameter>
10900 <parameter name="new_uri">
10901 <parameter_description> a valid URI, or %NULL
10902 </parameter_description>
10903 </parameter>
10904 <parameter name="error">
10905 <parameter_description> return location for a #GError or %NULL
10906 </parameter_description>
10907 </parameter>
10908 </parameters>
10909 <return> %TRUE if the URI was successfully changed
10910
10911 Since: 2.12
10912 </return>
10913 </function>
10914
10915 <function name="g_open">
10916 <description>
10917 A wrapper for the POSIX open() function. The open() function is
10918 used to convert a pathname into a file descriptor. Note that on
10919 POSIX systems file descriptors are implemented by the operating
10920 system. On Windows, it&apos;s the C library that implements open() and
10921 file descriptors. The actual Windows API for opening files is
10922 something different.
10923
10924 See the C library manual for more details about open().
10925
10926
10927 </description>
10928 <parameters>
10929 <parameter name="filename">
10930 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
10931 </parameter_description>
10932 </parameter>
10933 <parameter name="flags">
10934 <parameter_description> as in open()
10935 </parameter_description>
10936 </parameter>
10937 <parameter name="mode">
10938 <parameter_description> as in open()
10939 </parameter_description>
10940 </parameter>
10941 </parameters>
10942 <return> a new file descriptor, or -1 if an error occurred. The
10943 return value can be used exactly like the return value from open().
10944
10945 Since: 2.6
10946 </return>
10947 </function>
10948
10949 <function name="g_unichar_ismark">
10950 <description>
10951 Determines whether a character is a mark (non-spacing mark,
10952 combining mark, or enclosing mark in Unicode speak).
10953 Given some UTF-8 text, obtain a character value
10954 with g_utf8_get_char().
10955
10956 Note: in most cases where isalpha characters are allowed,
10957 ismark characters should be allowed to as they are essential
10958 for writing most European languages as well as many non-Latin
10959 scripts.
10960
10961
10962 </description>
10963 <parameters>
10964 <parameter name="c">
10965 <parameter_description> a Unicode character
10966 </parameter_description>
10967 </parameter>
10968 </parameters>
10969 <return> %TRUE if @c is a mark character
10970
10971 Since: 2.14
10972 </return>
10973 </function>
10974
10975 <function name="g_mem_is_system_malloc">
10976 <description>
10977 Checks whether the allocator used by g_malloc() is the system&apos;s
10978 malloc implementation. If it returns %TRUE memory allocated with
10979 malloc() can be used interchangeable with memory allocated using g_malloc(). 
10980 This function is useful for avoiding an extra copy of allocated memory returned
10981 by a non-GLib-based API.
10982
10983 A different allocator can be set using g_mem_set_vtable().
10984
10985
10986 </description>
10987 <parameters>
10988 </parameters>
10989 <return> if %TRUE, malloc() and g_malloc() can be mixed.
10990 </return>
10991 </function>
10992
10993 <function name="g_bookmark_file_get_app_info">
10994 <description>
10995 Gets the registration informations of @app_name for the bookmark for
10996 @uri.  See g_bookmark_file_set_app_info() for more informations about
10997 the returned data.
10998
10999 The string returned in @app_exec must be freed.
11000
11001 In the event the URI cannot be found, %FALSE is returned and
11002 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.  In the
11003 event that no application with name @app_name has registered a bookmark
11004 for @uri,  %FALSE is returned and error is set to
11005 #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting
11006 the command line fails, an error of the #G_SHELL_ERROR domain is
11007 set and %FALSE is returned.
11008
11009
11010 </description>
11011 <parameters>
11012 <parameter name="bookmark">
11013 <parameter_description> a #GBookmarkFile
11014 </parameter_description>
11015 </parameter>
11016 <parameter name="uri">
11017 <parameter_description> a valid URI
11018 </parameter_description>
11019 </parameter>
11020 <parameter name="name">
11021 <parameter_description> an application&apos;s name
11022 </parameter_description>
11023 </parameter>
11024 <parameter name="exec">
11025 <parameter_description> location for the command line of the application, or %NULL
11026 </parameter_description>
11027 </parameter>
11028 <parameter name="count">
11029 <parameter_description> return location for the registration count, or %NULL
11030 </parameter_description>
11031 </parameter>
11032 <parameter name="stamp">
11033 <parameter_description> return location for the last registration time, or %NULL
11034 </parameter_description>
11035 </parameter>
11036 <parameter name="error">
11037 <parameter_description> return location for a #GError, or %NULL
11038 </parameter_description>
11039 </parameter>
11040 </parameters>
11041 <return> %TRUE on success.
11042
11043 Since: 2.12
11044 </return>
11045 </function>
11046
11047 <function name="g_str_has_prefix">
11048 <description>
11049 Looks whether the string @str begins with @prefix.
11050
11051
11052 </description>
11053 <parameters>
11054 <parameter name="str">
11055 <parameter_description> a nul-terminated string.
11056 </parameter_description>
11057 </parameter>
11058 <parameter name="prefix">
11059 <parameter_description> the nul-terminated prefix to look for.
11060 </parameter_description>
11061 </parameter>
11062 </parameters>
11063 <return> %TRUE if @str begins with @prefix, %FALSE otherwise.
11064
11065 Since: 2.2
11066 </return>
11067 </function>
11068
11069 <function name="g_match_info_fetch_pos">
11070 <description>
11071 Retrieves the position of the @match_num&amp;lt;!-- --&amp;gt;&apos;th capturing 
11072 parentheses. 0 is the full text of the match, 1 is the first 
11073 paren set, 2 the second, and so on.
11074
11075 If @match_num is a valid sub pattern but it didn&apos;t match anything 
11076 (e.g. sub pattern 1, matching &quot;b&quot; against &quot;(a)?b&quot;) then @start_pos 
11077 and @end_pos are set to -1 and %TRUE is returned.
11078
11079 If the match was obtained using the DFA algorithm, that is using
11080 g_regex_match_all() or g_regex_match_all_full(), the retrieved
11081 position is not that of a set of parentheses but that of a matched
11082 substring. Substrings are matched in reverse order of length, so 
11083 0 is the longest match.
11084
11085
11086 </description>
11087 <parameters>
11088 <parameter name="match_info">
11089 <parameter_description> #GMatchInfo structure
11090 </parameter_description>
11091 </parameter>
11092 <parameter name="match_num">
11093 <parameter_description> number of the sub expression
11094 </parameter_description>
11095 </parameter>
11096 <parameter name="start_pos">
11097 <parameter_description> pointer to location where to store the start position
11098 </parameter_description>
11099 </parameter>
11100 <parameter name="end_pos">
11101 <parameter_description> pointer to location where to store the end position
11102 </parameter_description>
11103 </parameter>
11104 </parameters>
11105 <return> %TRUE if the position was fetched, %FALSE otherwise. If 
11106 the position cannot be fetched, @start_pos and @end_pos are left 
11107 unchanged
11108
11109 Since: 2.14
11110 </return>
11111 </function>
11112
11113 <function name="g_parse_debug_string">
11114 <description>
11115 Parses a string containing debugging options
11116 into a %guint containing bit flags. This is used 
11117 within GDK and GTK+ to parse the debug options passed on the
11118 command line or through environment variables.
11119
11120
11121 </description>
11122 <parameters>
11123 <parameter name="string">
11124 <parameter_description> a list of debug options separated by colons, spaces, or
11125 commas; or the string &quot;all&quot; to set all flags.
11126 </parameter_description>
11127 </parameter>
11128 <parameter name="keys">
11129 <parameter_description> pointer to an array of #GDebugKey which associate 
11130 strings with bit flags.
11131 </parameter_description>
11132 </parameter>
11133 <parameter name="nkeys">
11134 <parameter_description> the number of #GDebugKey&amp;lt;!-- --&amp;gt;s in the array.
11135 </parameter_description>
11136 </parameter>
11137 </parameters>
11138 <return> the combined set of bit flags.
11139 </return>
11140 </function>
11141
11142 <function name="g_unichar_ispunct">
11143 <description>
11144 Determines whether a character is punctuation or a symbol.
11145 Given some UTF-8 text, obtain a character value with
11146 g_utf8_get_char().
11147
11148
11149 </description>
11150 <parameters>
11151 <parameter name="c">
11152 <parameter_description> a Unicode character
11153 </parameter_description>
11154 </parameter>
11155 </parameters>
11156 <return> %TRUE if @c is a punctuation or symbol character
11157 </return>
11158 </function>
11159
11160 <function name="g_unsetenv">
11161 <description>
11162 Removes an environment variable from the environment.
11163
11164 Note that on some systems, when variables are overwritten, the memory 
11165 used for the previous variables and its value isn&apos;t reclaimed.
11166 Furthermore, this function can&apos;t be guaranteed to operate in a 
11167 threadsafe way.
11168
11169 Since: 2.4 
11170
11171 </description>
11172 <parameters>
11173 <parameter name="variable">
11174 <parameter_description> the environment variable to remove, must not contain &apos;=&apos;.
11175 </parameter_description>
11176 </parameter>
11177 </parameters>
11178 <return></return>
11179 </function>
11180
11181 <function name="g_queue_pop_head_link">
11182 <description>
11183 Removes the first element of the queue.
11184
11185
11186 </description>
11187 <parameters>
11188 <parameter name="queue">
11189 <parameter_description> a #GQueue.
11190 </parameter_description>
11191 </parameter>
11192 </parameters>
11193 <return> the #GList element at the head of the queue, or %NULL if the queue
11194 is empty.
11195 </return>
11196 </function>
11197
11198 <function name="g_utf16_to_utf8">
11199 <description>
11200 Convert a string from UTF-16 to UTF-8. The result will be
11201 terminated with a 0 byte.
11202
11203 Note that the input is expected to be already in native endianness,
11204 an initial byte-order-mark character is not handled specially.
11205 g_convert() can be used to convert a byte buffer of UTF-16 data of 
11206 ambiguous endianess.
11207
11208
11209 </description>
11210 <parameters>
11211 <parameter name="str">
11212 <parameter_description> a UTF-16 encoded string
11213 </parameter_description>
11214 </parameter>
11215 <parameter name="len">
11216 <parameter_description> the maximum length (number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt;) of @str to use. 
11217 If @len &amp;lt; 0, then the string is terminated with a 0 character.
11218 </parameter_description>
11219 </parameter>
11220 <parameter name="items_read">
11221 <parameter_description> location to store number of words read, or %NULL.
11222 If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
11223 returned in case @str contains a trailing partial
11224 character. If an error occurs then the index of the
11225 invalid input is stored here.
11226 </parameter_description>
11227 </parameter>
11228 <parameter name="items_written">
11229 <parameter_description> location to store number of bytes written, or %NULL.
11230 The value stored here does not include the trailing
11231 0 byte.
11232 </parameter_description>
11233 </parameter>
11234 <parameter name="error">
11235 <parameter_description> location to store the error occuring, or %NULL to ignore
11236 errors. Any of the errors in #GConvertError other than
11237 %G_CONVERT_ERROR_NO_CONVERSION may occur.
11238 </parameter_description>
11239 </parameter>
11240 </parameters>
11241 <return> a pointer to a newly allocated UTF-8 string.
11242 This value must be freed with g_free(). If an
11243 error occurs, %NULL will be returned and
11244 @error set.
11245 </return>
11246 </function>
11247
11248 <function name="g_vprintf">
11249 <description>
11250 An implementation of the standard vprintf() function which supports 
11251 positional parameters, as specified in the Single Unix Specification.
11252
11253
11254 </description>
11255 <parameters>
11256 <parameter name="format">
11257 <parameter_description> a standard printf() format string, but notice 
11258 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
11259 </parameter_description>
11260 </parameter>
11261 <parameter name="args">
11262 <parameter_description> the list of arguments to insert in the output.
11263 </parameter_description>
11264 </parameter>
11265 </parameters>
11266 <return> the number of characters printed.
11267
11268 Since: 2.2
11269 </return>
11270 </function>
11271
11272 <function name="g_bookmark_file_set_icon">
11273 <description>
11274 Sets the icon for the bookmark for @uri.  If @href is %NULL, unsets
11275 the currently set icon.
11276
11277 If no bookmark for @uri is found it is created.
11278
11279 Since: 2.12
11280
11281 </description>
11282 <parameters>
11283 <parameter name="bookmark">
11284 <parameter_description> a #GBookmarkFile
11285 </parameter_description>
11286 </parameter>
11287 <parameter name="uri">
11288 <parameter_description> a valid URI
11289 </parameter_description>
11290 </parameter>
11291 <parameter name="href">
11292 <parameter_description> the URI of the icon for the bookmark, or %NULL
11293 </parameter_description>
11294 </parameter>
11295 <parameter name="mime_type">
11296 <parameter_description> the MIME type of the icon for the bookmark
11297 </parameter_description>
11298 </parameter>
11299 </parameters>
11300 <return></return>
11301 </function>
11302
11303 <function name="g_bookmark_file_has_group">
11304 <description>
11305 Checks whether @group appears in the list of groups to which
11306 the bookmark for @uri belongs to.
11307
11308 In the event the URI cannot be found, %FALSE is returned and
11309 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
11310
11311
11312 </description>
11313 <parameters>
11314 <parameter name="bookmark">
11315 <parameter_description> a #GBookmarkFile
11316 </parameter_description>
11317 </parameter>
11318 <parameter name="uri">
11319 <parameter_description> a valid URI
11320 </parameter_description>
11321 </parameter>
11322 <parameter name="group">
11323 <parameter_description> the group name to be searched
11324 </parameter_description>
11325 </parameter>
11326 <parameter name="error">
11327 <parameter_description> return location for a #GError, or %NULL
11328 </parameter_description>
11329 </parameter>
11330 </parameters>
11331 <return> %TRUE if @group was found.
11332
11333 Since: 2.12
11334 </return>
11335 </function>
11336
11337 <function name="g_rand_new">
11338 <description>
11339 Creates a new random number generator initialized with a seed taken
11340 either from &amp;lt;filename&amp;gt;/dev/urandom&amp;lt;/filename&amp;gt; (if existing) or from 
11341 the current time (as a fallback).
11342
11343
11344 </description>
11345 <parameters>
11346 </parameters>
11347 <return> the new #GRand.
11348 </return>
11349 </function>
11350
11351 <function name="g_hash_table_find">
11352 <description>
11353 Calls the given function for key/value pairs in the #GHashTable until 
11354 @predicate returns %TRUE.  The function is passed the key and value of 
11355 each pair, and the given @user_data parameter. The hash table may not
11356 be modified while iterating over it (you can&apos;t add/remove items).
11357
11358 Note, that hash tables are really only optimized for forward lookups,
11359 i.e. g_hash_table_lookup().
11360 So code that frequently issues g_hash_table_find() or
11361 g_hash_table_foreach() (e.g. in the order of once per every entry in a
11362 hash table) should probably be reworked to use additional or different
11363 data structures for reverse lookups (keep in mind that an O(n) find/foreach
11364 operation issued for all n values in a hash table ends up needing O(n*n)
11365 operations).
11366
11367
11368 </description>
11369 <parameters>
11370 <parameter name="hash_table">
11371 <parameter_description> a #GHashTable.
11372 </parameter_description>
11373 </parameter>
11374 <parameter name="predicate">
11375 <parameter_description>  function to test the key/value pairs for a certain property.
11376 </parameter_description>
11377 </parameter>
11378 <parameter name="user_data">
11379 <parameter_description>  user data to pass to the function.
11380 </parameter_description>
11381 </parameter>
11382 </parameters>
11383 <return> The value of the first key/value pair is returned, for which
11384 func evaluates to %TRUE. If no pair with the requested property is found,
11385 %NULL is returned.
11386
11387 Since: 2.4
11388 </return>
11389 </function>
11390
11391 <function name="g_sequence_get">
11392 <description>
11393 Return value: the data that @iter points to
11394
11395 </description>
11396 <parameters>
11397 <parameter name="iter">
11398 <parameter_description> a #GSequenceIter
11399 </parameter_description>
11400 </parameter>
11401 </parameters>
11402 <return> the data that @iter points to
11403
11404 Since: 2.14
11405 </return>
11406 </function>
11407
11408 <function name="g_sequence_insert_sorted">
11409 <description>
11410 Inserts @data into @sequence using @func to determine the new position.
11411 The sequence must already be sorted according to @cmp_func; otherwise the
11412 new position of @data is undefined.
11413
11414
11415 </description>
11416 <parameters>
11417 <parameter name="seq">
11418 <parameter_description> a #GSequence
11419 </parameter_description>
11420 </parameter>
11421 <parameter name="data">
11422 <parameter_description> the data to insert
11423 </parameter_description>
11424 </parameter>
11425 <parameter name="cmp_func">
11426 <parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
11427 is called with two items of the @seq and @user_data. It should
11428 return 0 if the items are equal, a negative value if the first
11429 item comes before the second, and a positive value if the second
11430 item comes before the first.
11431 </parameter_description>
11432 </parameter>
11433 <parameter name="cmp_data">
11434 <parameter_description> user data passed to @cmp_func.
11435 </parameter_description>
11436 </parameter>
11437 </parameters>
11438 <return> a #GSequenceIter pointing to the new item.
11439
11440 Since: 2.14
11441 </return>
11442 </function>
11443
11444 <function name="g_get_user_cache_dir">
11445 <description>
11446 Return value: a string owned by GLib that must not be modified 
11447
11448 </description>
11449 <parameters>
11450 </parameters>
11451 <return> a string owned by GLib that must not be modified 
11452 or freed.
11453 Since: 2.6
11454 </return>
11455 </function>
11456
11457 <function name="g_markup_parse_context_get_position">
11458 <description>
11459 Retrieves the current line number and the number of the character on
11460 that line. Intended for use in error messages; there are no strict
11461 semantics for what constitutes the &quot;current&quot; line number other than
11462 &quot;the best number we could come up with for error messages.&quot;
11463
11464
11465 </description>
11466 <parameters>
11467 <parameter name="context">
11468 <parameter_description> a #GMarkupParseContext
11469 </parameter_description>
11470 </parameter>
11471 <parameter name="line_number">
11472 <parameter_description> return location for a line number, or %NULL
11473 </parameter_description>
11474 </parameter>
11475 <parameter name="char_number">
11476 <parameter_description> return location for a char-on-line number, or %NULL
11477 </parameter_description>
11478 </parameter>
11479 </parameters>
11480 <return></return>
11481 </function>
11482
11483 <function name="g_sequence_iter_next">
11484 <description>
11485 Return value: a #GSequenceIter pointing to the next position after @iter.
11486
11487 </description>
11488 <parameters>
11489 <parameter name="iter">
11490 <parameter_description> a #GSequenceIter
11491 </parameter_description>
11492 </parameter>
11493 </parameters>
11494 <return> a #GSequenceIter pointing to the next position after @iter.
11495
11496 Since: 2.14
11497 </return>
11498 </function>
11499
11500 <function name="g_io_channel_new_file">
11501 <description>
11502 Open a file @filename as a #GIOChannel using mode @mode. This
11503 channel will be closed when the last reference to it is dropped,
11504 so there is no need to call g_io_channel_close() (though doing
11505 so will not cause problems, as long as no attempt is made to
11506 access the channel after it is closed).
11507
11508
11509 </description>
11510 <parameters>
11511 <parameter name="filename">
11512 <parameter_description> A string containing the name of a file.
11513 </parameter_description>
11514 </parameter>
11515 <parameter name="mode">
11516 <parameter_description> One of &quot;r&quot;, &quot;w&quot;, &quot;a&quot;, &quot;r+&quot;, &quot;w+&quot;, &quot;a+&quot;. These have
11517 the same meaning as in fopen().
11518 </parameter_description>
11519 </parameter>
11520 <parameter name="error">
11521 <parameter_description> A location to return an error of type %G_FILE_ERROR.
11522 </parameter_description>
11523 </parameter>
11524 </parameters>
11525 <return> A #GIOChannel on success, %NULL on failure.
11526 </return>
11527 </function>
11528
11529 <function name="g_thread_pool_set_max_idle_time">
11530 <description>
11531 This function will set the maximum @interval that a thread waiting
11532 in the pool for new tasks can be idle for before being
11533 stopped. This function is similar to calling
11534 g_thread_pool_stop_unused_threads() on a regular timeout, except,
11535 this is done on a per thread basis.    
11536
11537 By setting @interval to 0, idle threads will not be stopped.
11538
11539 This function makes use of g_async_queue_timed_pop () using
11540 @interval.
11541
11542 Since: 2.10
11543
11544 </description>
11545 <parameters>
11546 <parameter name="interval">
11547 <parameter_description> the maximum @interval (1/1000ths of a second) a thread
11548 can be idle. 
11549 </parameter_description>
11550 </parameter>
11551 </parameters>
11552 <return></return>
11553 </function>
11554
11555 <function name="g_int_hash">
11556 <description>
11557 Converts a pointer to a #gint to a hash value.
11558 It can be passed to g_hash_table_new() as the @hash_func parameter, 
11559 when using pointers to integers values as keys in a #GHashTable.
11560
11561
11562 </description>
11563 <parameters>
11564 <parameter name="v">
11565 <parameter_description> a pointer to a #gint key
11566 </parameter_description>
11567 </parameter>
11568 </parameters>
11569 <return> a hash value corresponding to the key.
11570 </return>
11571 </function>
11572
11573 <function name="g_main_loop_new">
11574 <description>
11575 Creates a new #GMainLoop structure.
11576
11577
11578 </description>
11579 <parameters>
11580 <parameter name="context">
11581 <parameter_description> a #GMainContext  (if %NULL, the default context will be used).
11582 </parameter_description>
11583 </parameter>
11584 <parameter name="is_running">
11585 <parameter_description> set to %TRUE to indicate that the loop is running. This
11586 is not very important since calling g_main_loop_run() will set this to
11587 %TRUE anyway.
11588 </parameter_description>
11589 </parameter>
11590 </parameters>
11591 <return> a new #GMainLoop.
11592 </return>
11593 </function>
11594
11595 <function name="g_source_get_can_recurse">
11596 <description>
11597 Checks whether a source is allowed to be called recursively.
11598 see g_source_set_can_recurse().
11599
11600
11601 </description>
11602 <parameters>
11603 <parameter name="source">
11604 <parameter_description> a #GSource
11605 </parameter_description>
11606 </parameter>
11607 </parameters>
11608 <return> whether recursion is allowed.
11609 </return>
11610 </function>
11611
11612 <function name="g_sequence_iter_is_begin">
11613 <description>
11614 Return value: whether @iter is the begin iterator
11615
11616 </description>
11617 <parameters>
11618 <parameter name="iter">
11619 <parameter_description> a #GSequenceIter
11620 </parameter_description>
11621 </parameter>
11622 </parameters>
11623 <return> whether @iter is the begin iterator
11624
11625 Since: 2.14
11626 </return>
11627 </function>
11628
11629 <function name="g_string_printf">
11630 <description>
11631 Writes a formatted string into a #GString.
11632 This is similar to the standard sprintf() function,
11633 except that the #GString buffer automatically expands 
11634 to contain the results. The previous contents of the 
11635 #GString are destroyed.
11636
11637 </description>
11638 <parameters>
11639 <parameter name="string">
11640 <parameter_description> a #GString
11641 </parameter_description>
11642 </parameter>
11643 <parameter name="format">
11644 <parameter_description> the string format. See the printf() documentation
11645 </parameter_description>
11646 </parameter>
11647 <parameter name="Varargs">
11648 <parameter_description> the parameters to insert into the format string
11649 </parameter_description>
11650 </parameter>
11651 </parameters>
11652 <return></return>
11653 </function>
11654
11655 <function name="g_utf8_strchr">
11656 <description>
11657 Finds the leftmost occurrence of the given Unicode character
11658 in a UTF-8 encoded string, while limiting the search to @len bytes.
11659 If @len is -1, allow unbounded search.
11660
11661
11662 </description>
11663 <parameters>
11664 <parameter name="p">
11665 <parameter_description> a nul-terminated UTF-8 encoded string
11666 </parameter_description>
11667 </parameter>
11668 <parameter name="len">
11669 <parameter_description> the maximum length of @p
11670 </parameter_description>
11671 </parameter>
11672 <parameter name="c">
11673 <parameter_description> a Unicode character
11674 </parameter_description>
11675 </parameter>
11676 </parameters>
11677 <return> %NULL if the string does not contain the character, 
11678 otherwise, a pointer to the start of the leftmost occurrence of 
11679 the character in the string.
11680 </return>
11681 </function>
11682
11683 <function name="g_win32_get_package_installation_subdirectory">
11684 <description>
11685 Returns: a string containing the complete path to @subdir inside
11686
11687 </description>
11688 <parameters>
11689 <parameter name="package">
11690 <parameter_description> An identifier for a software package, in UTF-8, or %NULL
11691 </parameter_description>
11692 </parameter>
11693 <parameter name="dll_name">
11694 <parameter_description> The name of a DLL that a package provides, in UTF-8, or %NULL
11695 </parameter_description>
11696 </parameter>
11697 <parameter name="subdir">
11698 <parameter_description> A subdirectory of the package installation directory, also in UTF-8
11699 </parameter_description>
11700 </parameter>
11701 </parameters>
11702 <return> a string containing the complete path to @subdir inside
11703 the installation directory of @package. The returned string is in
11704 the GLib file name encoding, i.e. UTF-8 on Windows. The return
11705 value should be freed with g_free() when no longer needed.
11706 </return>
11707 </function>
11708
11709 <function name="g_sequence_search">
11710 <description>
11711 Return value: an #GSequenceIter pointing to the position where @data
11712
11713 </description>
11714 <parameters>
11715 <parameter name="seq">
11716 <parameter_description> a #GSequence
11717 </parameter_description>
11718 </parameter>
11719 <parameter name="data">
11720 <parameter_description> data for the new item
11721 </parameter_description>
11722 </parameter>
11723 <parameter name="cmp_func">
11724 <parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
11725 is called with two items of the @seq and @user_data. It should
11726 return 0 if the items are equal, a negative value if the first
11727 item comes before the second, and a positive value if the second
11728 item comes before the first.
11729 </parameter_description>
11730 </parameter>
11731 <parameter name="cmp_data">
11732 <parameter_description> user data passed to @cmp_func.
11733 </parameter_description>
11734 </parameter>
11735 </parameters>
11736 <return> an #GSequenceIter pointing to the position where @data
11737 would have been inserted according to @cmp_func and @cmp_data.
11738
11739 Since: 2.14
11740 </return>
11741 </function>
11742
11743 <function name="g_key_file_get_string_list">
11744 <description>
11745 Return value: a %NULL-terminated string array or %NULL if the specified 
11746
11747 </description>
11748 <parameters>
11749 <parameter name="key_file">
11750 <parameter_description> a #GKeyFile
11751 </parameter_description>
11752 </parameter>
11753 <parameter name="group_name">
11754 <parameter_description> a group name
11755 </parameter_description>
11756 </parameter>
11757 <parameter name="key">
11758 <parameter_description> a key
11759 </parameter_description>
11760 </parameter>
11761 <parameter name="length">
11762 <parameter_description> return location for the number of returned strings, or %NULL
11763 </parameter_description>
11764 </parameter>
11765 <parameter name="error">
11766 <parameter_description> return location for a #GError, or %NULL
11767 </parameter_description>
11768 </parameter>
11769 </parameters>
11770 <return> a %NULL-terminated string array or %NULL if the specified 
11771 key cannot be found. The array should be freed with g_strfreev().
11772
11773 Since: 2.6
11774 </return>
11775 </function>
11776
11777 <function name="g_regex_unref">
11778 <description>
11779 Decreases reference count of @regex by 1. When reference count drops
11780 to zero, it frees all the memory associated with the regex structure.
11781
11782 Since: 2.14
11783
11784 </description>
11785 <parameters>
11786 <parameter name="regex">
11787 <parameter_description> a #GRegex
11788 </parameter_description>
11789 </parameter>
11790 </parameters>
11791 <return></return>
11792 </function>
11793
11794 <function name="g_tree_height">
11795 <description>
11796 Gets the height of a #GTree.
11797
11798 If the #GTree contains no nodes, the height is 0.
11799 If the #GTree contains only one root node the height is 1.
11800 If the root node has children the height is 2, etc.
11801
11802
11803 </description>
11804 <parameters>
11805 <parameter name="tree">
11806 <parameter_description> a #GTree.
11807 </parameter_description>
11808 </parameter>
11809 </parameters>
11810 <return> the height of the #GTree.
11811 </return>
11812 </function>
11813
11814 <function name="g_shell_parse_argv">
11815 <description>
11816 Parses a command line into an argument vector, in much the same way
11817 the shell would, but without many of the expansions the shell would
11818 perform (variable expansion, globs, operators, filename expansion,
11819 etc. are not supported). The results are defined to be the same as
11820 those you would get from a UNIX98 /bin/sh, as long as the input
11821 contains none of the unsupported shell expansions. If the input
11822 does contain such expansions, they are passed through
11823 literally. Possible errors are those from the #G_SHELL_ERROR
11824 domain. Free the returned vector with g_strfreev().
11825
11826
11827 </description>
11828 <parameters>
11829 <parameter name="command_line">
11830 <parameter_description> command line to parse
11831 </parameter_description>
11832 </parameter>
11833 <parameter name="argcp">
11834 <parameter_description> return location for number of args
11835 </parameter_description>
11836 </parameter>
11837 <parameter name="argvp">
11838 <parameter_description> return location for array of args
11839 </parameter_description>
11840 </parameter>
11841 <parameter name="error">
11842 <parameter_description> return location for error
11843 </parameter_description>
11844 </parameter>
11845 </parameters>
11846 <return> %TRUE on success, %FALSE if error set
11847 </return>
11848 </function>
11849
11850 <function name="g_get_user_name">
11851 <description>
11852 Gets the user name of the current user. The encoding of the returned
11853 string is system-defined. On UNIX, it might be the preferred file name
11854 encoding, or something else, and there is no guarantee that it is even
11855 consistent on a machine. On Windows, it is always UTF-8.
11856
11857
11858 </description>
11859 <parameters>
11860 </parameters>
11861 <return> the user name of the current user.
11862 </return>
11863 </function>
11864
11865 <function name="g_match_info_is_partial_match">
11866 <description>
11867 Usually if the string passed to g_regex_match*() matches as far as
11868 it goes, but is too short to match the entire pattern, %FALSE is
11869 returned. There are circumstances where it might be helpful to
11870 distinguish this case from other cases in which there is no match.
11871
11872 Consider, for example, an application where a human is required to
11873 type in data for a field with specific formatting requirements. An
11874 example might be a date in the form ddmmmyy, defined by the pattern
11875 &quot;^\d?\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\d\d$&quot;.
11876 If the application sees the user’s keystrokes one by one, and can
11877 check that what has been typed so far is potentially valid, it is
11878 able to raise an error as soon as a mistake is made.
11879
11880 GRegex supports the concept of partial matching by means of the
11881 #G_REGEX_MATCH_PARTIAL flag. When this is set the return code for
11882 g_regex_match() or g_regex_match_full() is, as usual, %TRUE
11883 for a complete match, %FALSE otherwise. But, when these functions
11884 return %FALSE, you can check if the match was partial calling
11885 g_match_info_is_partial_match().
11886
11887 When using partial matching you cannot use g_match_info_fetch*().
11888
11889 Because of the way certain internal optimizations are implemented 
11890 the partial matching algorithm cannot be used with all patterns. 
11891 So repeated single characters such as &quot;a{2,4}&quot; and repeated single 
11892 meta-sequences such as &quot;\d+&quot; are not permitted if the maximum number 
11893 of occurrences is greater than one. Optional items such as &quot;\d?&quot; 
11894 (where the maximum is one) are permitted. Quantifiers with any values 
11895 are permitted after parentheses, so the invalid examples above can be 
11896 coded thus &quot;(a){2,4}&quot; and &quot;(\d)+&quot;. If #G_REGEX_MATCH_PARTIAL is set 
11897 for a pattern that does not conform to the restrictions, matching 
11898 functions return an error.
11899
11900
11901 </description>
11902 <parameters>
11903 <parameter name="match_info">
11904 <parameter_description> a #GMatchInfo structure
11905 </parameter_description>
11906 </parameter>
11907 </parameters>
11908 <return> %TRUE if the match was partial, %FALSE otherwise
11909
11910 Since: 2.14
11911 </return>
11912 </function>
11913
11914 <function name="g_main_loop_quit">
11915 <description>
11916 Stops a #GMainLoop from running. Any calls to g_main_loop_run()
11917 for the loop will return.
11918
11919 </description>
11920 <parameters>
11921 <parameter name="loop">
11922 <parameter_description> a #GMainLoop
11923 </parameter_description>
11924 </parameter>
11925 </parameters>
11926 <return></return>
11927 </function>
11928
11929 <function name="g_ascii_strtod">
11930 <description>
11931 Converts a string to a #gdouble value.
11932 This function behaves like the standard strtod() function
11933 does in the C locale. It does this without actually
11934 changing the current locale, since that would not be
11935 thread-safe.
11936
11937 This function is typically used when reading configuration
11938 files or other non-user input that should be locale independent.
11939 To handle input from the user you should normally use the
11940 locale-sensitive system strtod() function.
11941
11942 To convert from a #gdouble to a string in a locale-insensitive
11943 way, use g_ascii_dtostr().
11944
11945 If the correct value would cause overflow, plus or minus %HUGE_VAL
11946 is returned (according to the sign of the value), and %ERANGE is
11947 stored in %errno. If the correct value would cause underflow,
11948 zero is returned and %ERANGE is stored in %errno.
11949
11950 This function resets %errno before calling strtod() so that
11951 you can reliably detect overflow and underflow.
11952
11953
11954 </description>
11955 <parameters>
11956 <parameter name="nptr">
11957 <parameter_description>    the string to convert to a numeric value.
11958 </parameter_description>
11959 </parameter>
11960 <parameter name="endptr">
11961 <parameter_description>  if non-%NULL, it returns the character after
11962 the last character used in the conversion.
11963 </parameter_description>
11964 </parameter>
11965 </parameters>
11966 <return> the #gdouble value.
11967 </return>
11968 </function>
11969
11970 <function name="g_queue_peek_nth_link">
11971 <description>
11972 Return value: The link at the @n&apos;th position, or %NULL if @n is off the
11973
11974 </description>
11975 <parameters>
11976 <parameter name="queue">
11977 <parameter_description> a #GQueue
11978 </parameter_description>
11979 </parameter>
11980 <parameter name="n">
11981 <parameter_description> the position of the link
11982 </parameter_description>
11983 </parameter>
11984 </parameters>
11985 <return> The link at the @n&apos;th position, or %NULL if @n is off the
11986 end of the list
11987
11988 Since: 2.4
11989 </return>
11990 </function>
11991
11992 <function name="g_unichar_to_utf8">
11993 <description>
11994 Converts a single character to UTF-8.
11995
11996
11997 </description>
11998 <parameters>
11999 <parameter name="c">
12000 <parameter_description> a Unicode character code
12001 </parameter_description>
12002 </parameter>
12003 <parameter name="outbuf">
12004 <parameter_description> output buffer, must have at least 6 bytes of space.
12005 If %NULL, the length will be computed and returned
12006 and nothing will be written to @outbuf.
12007 </parameter_description>
12008 </parameter>
12009 </parameters>
12010 <return> number of bytes written
12011 </return>
12012 </function>
12013
12014 <function name="g_match_info_fetch_all">
12015 <description>
12016 Bundles up pointers to each of the matching substrings from a match
12017 and stores them in an array of gchar pointers. The first element in
12018 the returned array is the match number 0, i.e. the entire matched
12019 text.
12020
12021 If a sub pattern didn&apos;t match anything (e.g. sub pattern 1, matching
12022 &quot;b&quot; against &quot;(a)?b&quot;) then an empty string is inserted.
12023
12024 If the last match was obtained using the DFA algorithm, that is using
12025 g_regex_match_all() or g_regex_match_all_full(), the retrieved
12026 strings are not that matched by sets of parentheses but that of the
12027 matched substring. Substrings are matched in reverse order of length,
12028 so the first one is the longest match.
12029
12030 The strings are fetched from the string passed to the match function,
12031 so you cannot call this function after freeing the string.
12032
12033
12034 </description>
12035 <parameters>
12036 <parameter name="match_info">
12037 <parameter_description> a #GMatchInfo structure
12038 </parameter_description>
12039 </parameter>
12040 </parameters>
12041 <return> a %NULL-terminated array of gchar * pointers. It must be 
12042 freed using g_strfreev(). If the previous match failed %NULL is
12043 returned
12044
12045 Since: 2.14
12046 </return>
12047 </function>
12048
12049 <function name="g_iconv_close">
12050 <description>
12051 Same as the standard UNIX routine iconv_close(), but
12052 may be implemented via libiconv on UNIX flavors that lack
12053 a native implementation. Should be called to clean up
12054 the conversion descriptor from g_iconv_open() when
12055 you are done converting things.
12056
12057 GLib provides g_convert() and g_locale_to_utf8() which are likely
12058 more convenient than the raw iconv wrappers.
12059
12060
12061 </description>
12062 <parameters>
12063 <parameter name="converter">
12064 <parameter_description> a conversion descriptor from g_iconv_open()
12065 </parameter_description>
12066 </parameter>
12067 </parameters>
12068 <return> -1 on error, 0 on success
12069 </return>
12070 </function>
12071
12072 <function name="g_async_queue_ref_unlocked">
12073 <description>
12074 Increases the reference count of the asynchronous @queue by 1.
12075
12076 @Deprecated: Since 2.8, reference counting is done atomically
12077 so g_async_queue_ref() can be used regardless of the @queue&apos;s
12078 lock.
12079
12080 </description>
12081 <parameters>
12082 <parameter name="queue">
12083 <parameter_description> a #GAsyncQueue.
12084 </parameter_description>
12085 </parameter>
12086 </parameters>
12087 <return></return>
12088 </function>
12089
12090 <function name="g_utf8_casefold">
12091 <description>
12092 Converts a string into a form that is independent of case. The
12093 result will not correspond to any particular case, but can be
12094 compared for equality or ordered with the results of calling
12095 g_utf8_casefold() on other strings.
12096
12097 Note that calling g_utf8_casefold() followed by g_utf8_collate() is
12098 only an approximation to the correct linguistic case insensitive
12099 ordering, though it is a fairly good one. Getting this exactly
12100 right would require a more sophisticated collation function that
12101 takes case sensitivity into account. GLib does not currently
12102 provide such a function.
12103
12104
12105 </description>
12106 <parameters>
12107 <parameter name="str">
12108 <parameter_description> a UTF-8 encoded string
12109 </parameter_description>
12110 </parameter>
12111 <parameter name="len">
12112 <parameter_description> length of @str, in bytes, or -1 if @str is nul-terminated.
12113 </parameter_description>
12114 </parameter>
12115 </parameters>
12116 <return> a newly allocated string, that is a
12117 case independent form of @str.
12118 </return>
12119 </function>
12120
12121 <function name="g_ascii_strcasecmp">
12122 <description>
12123 Compare two strings, ignoring the case of ASCII characters.
12124
12125 Unlike the BSD strcasecmp() function, this only recognizes standard
12126 ASCII letters and ignores the locale, treating all non-ASCII
12127 bytes as if they are not letters.
12128
12129 This function should be used only on strings that are known to be
12130 in encodings where the bytes corresponding to ASCII letters always
12131 represent themselves. This includes UTF-8 and the ISO-8859-*
12132 charsets, but not for instance double-byte encodings like the
12133 Windows Codepage 932, where the trailing bytes of double-byte
12134 characters include all ASCII letters. If you compare two CP932
12135 strings using this function, you will get false matches.
12136
12137
12138 </description>
12139 <parameters>
12140 <parameter name="s1">
12141 <parameter_description> string to compare with @s2.
12142 </parameter_description>
12143 </parameter>
12144 <parameter name="s2">
12145 <parameter_description> string to compare with @s1.
12146 </parameter_description>
12147 </parameter>
12148 </parameters>
12149 <return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2, 
12150 or a positive value if @s1 &amp;gt; @s2.
12151 </return>
12152 </function>
12153
12154 <function name="g_utf8_get_char">
12155 <description>
12156 Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
12157 If @p does not point to a valid UTF-8 encoded character, results are
12158 undefined. If you are not sure that the bytes are complete
12159 valid Unicode characters, you should use g_utf8_get_char_validated()
12160 instead.
12161
12162
12163 </description>
12164 <parameters>
12165 <parameter name="p">
12166 <parameter_description> a pointer to Unicode character encoded as UTF-8
12167 </parameter_description>
12168 </parameter>
12169 </parameters>
12170 <return> the resulting character
12171 </return>
12172 </function>
12173
12174 <function name="g_unichar_isgraph">
12175 <description>
12176 Determines whether a character is printable and not a space
12177 (returns %FALSE for control characters, format characters, and
12178 spaces). g_unichar_isprint() is similar, but returns %TRUE for
12179 spaces. Given some UTF-8 text, obtain a character value with
12180 g_utf8_get_char().
12181
12182
12183 </description>
12184 <parameters>
12185 <parameter name="c">
12186 <parameter_description> a Unicode character
12187 </parameter_description>
12188 </parameter>
12189 </parameters>
12190 <return> %TRUE if @c is printable unless it&apos;s a space
12191 </return>
12192 </function>
12193
12194 <function name="g_main_context_default">
12195 <description>
12196 Return value: the default main context.
12197
12198 </description>
12199 <parameters>
12200 </parameters>
12201 <return> the default main context.
12202 </return>
12203 </function>
12204
12205 <function name="g_string_chunk_free">
12206 <description>
12207 Frees all memory allocated by the #GStringChunk.
12208 After calling g_string_chunk_free() it is not safe to
12209 access any of the strings which were contained within it.
12210
12211 </description>
12212 <parameters>
12213 <parameter name="chunk">
12214 <parameter_description> a #GStringChunk 
12215 </parameter_description>
12216 </parameter>
12217 </parameters>
12218 <return></return>
12219 </function>
12220
12221 <function name="g_ascii_toupper">
12222 <description>
12223 Convert a character to ASCII upper case.
12224
12225 Unlike the standard C library toupper() function, this only
12226 recognizes standard ASCII letters and ignores the locale, returning
12227 all non-ASCII characters unchanged, even if they are upper case
12228 letters in a particular character set. Also unlike the standard
12229 library function, this takes and returns a char, not an int, so
12230 don&apos;t call it on %EOF but no need to worry about casting to #guchar
12231 before passing a possibly non-ASCII character in.
12232
12233
12234 </description>
12235 <parameters>
12236 <parameter name="c">
12237 <parameter_description> any character.
12238 </parameter_description>
12239 </parameter>
12240 </parameters>
12241 <return> the result of converting @c to upper case.
12242 If @c is not an ASCII lower case letter,
12243 @c is returned unchanged.
12244 </return>
12245 </function>
12246
12247 <function name="g_shell_quote">
12248 <description>
12249 Quotes a string so that the shell (/bin/sh) will interpret the
12250 quoted string to mean @unquoted_string. If you pass a filename to
12251 the shell, for example, you should first quote it with this
12252 function.  The return value must be freed with g_free(). The
12253 quoting style used is undefined (single or double quotes may be
12254 used).
12255
12256
12257 </description>
12258 <parameters>
12259 <parameter name="unquoted_string">
12260 <parameter_description> a literal string
12261 </parameter_description>
12262 </parameter>
12263 </parameters>
12264 <return> quoted string
12265 </return>
12266 </function>
12267
12268 <function name="g_chdir">
12269 <description>
12270 A wrapper for the POSIX chdir() function. The function changes the
12271 current directory of the process to @path.
12272
12273 See your C library manual for more details about chdir().
12274
12275
12276 </description>
12277 <parameters>
12278 <parameter name="path">
12279 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
12280 </parameter_description>
12281 </parameter>
12282 </parameters>
12283 <return> 0 on success, -1 if an error occurred.
12284
12285 Since: 2.8
12286 </return>
12287 </function>
12288
12289 <function name="g_get_current_dir">
12290 <description>
12291 Gets the current directory.
12292 The returned string should be freed when no longer needed. The encoding 
12293 of the returned string is system defined. On Windows, it is always UTF-8.
12294
12295
12296 </description>
12297 <parameters>
12298 </parameters>
12299 <return> the current directory.
12300 </return>
12301 </function>
12302
12303 <function name="g_source_remove_by_funcs_user_data">
12304 <description>
12305 Removes a source from the default main loop context given the
12306 source functions and user data. If multiple sources exist with the
12307 same source functions and user data, only one will be destroyed.
12308
12309
12310 </description>
12311 <parameters>
12312 <parameter name="funcs">
12313 <parameter_description> The @source_funcs passed to g_source_new()
12314 </parameter_description>
12315 </parameter>
12316 <parameter name="user_data">
12317 <parameter_description> the user data for the callback
12318 </parameter_description>
12319 </parameter>
12320 </parameters>
12321 <return> %TRUE if a source was found and removed. 
12322 </return>
12323 </function>
12324
12325 <function name="g_string_set_size">
12326 <description>
12327 Sets the length of a #GString. If the length is less than
12328 the current length, the string will be truncated. If the
12329 length is greater than the current length, the contents
12330 of the newly added area are undefined. (However, as
12331 always, string-&amp;gt;str[string-&amp;gt;len] will be a nul byte.) 
12332
12333
12334 </description>
12335 <parameters>
12336 <parameter name="string">
12337 <parameter_description> a #GString
12338 </parameter_description>
12339 </parameter>
12340 <parameter name="len">
12341 <parameter_description> the new length
12342 </parameter_description>
12343 </parameter>
12344 </parameters>
12345 <return> @string
12346 </return>
12347 </function>
12348
12349 <function name="g_bookmark_file_remove_group">
12350 <description>
12351 Removes @group from the list of groups to which the bookmark
12352 for @uri belongs to.
12353
12354 In the event the URI cannot be found, %FALSE is returned and
12355 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
12356 In the event no group was defined, %FALSE is returned and
12357 @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.
12358
12359
12360 </description>
12361 <parameters>
12362 <parameter name="bookmark">
12363 <parameter_description> a #GBookmarkFile
12364 </parameter_description>
12365 </parameter>
12366 <parameter name="uri">
12367 <parameter_description> a valid URI
12368 </parameter_description>
12369 </parameter>
12370 <parameter name="group">
12371 <parameter_description> the group name to be removed
12372 </parameter_description>
12373 </parameter>
12374 <parameter name="error">
12375 <parameter_description> return location for a #GError, or %NULL
12376 </parameter_description>
12377 </parameter>
12378 </parameters>
12379 <return> %TRUE if @group was successfully removed.
12380
12381 Since: 2.12
12382 </return>
12383 </function>
12384
12385 <function name="g_bookmark_file_set_app_info">
12386 <description>
12387 Sets the meta-data of application @name inside the list of
12388 applications that have registered a bookmark for @uri inside
12389 @bookmark.
12390
12391 You should rarely use this function; use g_bookmark_file_add_application()
12392 and g_bookmark_file_remove_application() instead.
12393
12394 @name can be any UTF-8 encoded string used to identify an
12395 application.
12396 @exec can have one of these two modifiers: &quot;%f&quot;, which will
12397 be expanded as the local file name retrieved from the bookmark&apos;s
12398 URI; &quot;%u&quot;, which will be expanded as the bookmark&apos;s URI.
12399 The expansion is done automatically when retrieving the stored
12400 command line using the g_bookmark_file_get_app_info() function.
12401 @count is the number of times the application has registered the
12402 bookmark; if is &amp;lt; 0, the current registration count will be increased
12403 by one, if is 0, the application with @name will be removed from
12404 the list of registered applications.
12405 @stamp is the Unix time of the last registration; if it is -1, the
12406 current time will be used.
12407
12408 If you try to remove an application by setting its registration count to
12409 zero, and no bookmark for @uri is found, %FALSE is returned and
12410 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly,
12411 in the event that no application @name has registered a bookmark
12412 for @uri,  %FALSE is returned and error is set to
12413 #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.  Otherwise, if no bookmark
12414 for @uri is found, one is created.
12415
12416
12417 </description>
12418 <parameters>
12419 <parameter name="bookmark">
12420 <parameter_description> a #GBookmarkFile
12421 </parameter_description>
12422 </parameter>
12423 <parameter name="uri">
12424 <parameter_description> a valid URI
12425 </parameter_description>
12426 </parameter>
12427 <parameter name="name">
12428 <parameter_description> an application&apos;s name
12429 </parameter_description>
12430 </parameter>
12431 <parameter name="exec">
12432 <parameter_description> an application&apos;s command line
12433 </parameter_description>
12434 </parameter>
12435 <parameter name="count">
12436 <parameter_description> the number of registrations done for this application
12437 </parameter_description>
12438 </parameter>
12439 <parameter name="stamp">
12440 <parameter_description> the time of the last registration for this application
12441 </parameter_description>
12442 </parameter>
12443 <parameter name="error">
12444 <parameter_description> return location for a #GError or %NULL
12445 </parameter_description>
12446 </parameter>
12447 </parameters>
12448 <return> %TRUE if the application&apos;s meta-data was successfully
12449 changed.
12450
12451 Since: 2.12
12452 </return>
12453 </function>
12454
12455 <function name="g_strsplit_set">
12456 <description>
12457 Splits @string into a number of tokens not containing any of the characters
12458 in @delimiter. A token is the (possibly empty) longest string that does not
12459 contain any of the characters in @delimiters. If @max_tokens is reached, the
12460 remainder is appended to the last token.
12461
12462 For example the result of g_strsplit_set (&quot;abc:def/ghi&quot;, &quot;:/&quot;, -1) is a
12463 %NULL-terminated vector containing the three strings &quot;abc&quot;, &quot;def&quot;, 
12464 and &quot;ghi&quot;.
12465
12466 The result if g_strsplit_set (&quot;:def/ghi:&quot;, &quot;:/&quot;, -1) is a %NULL-terminated
12467 vector containing the four strings &quot;&quot;, &quot;def&quot;, &quot;ghi&quot;, and &quot;&quot;.
12468
12469 As a special case, the result of splitting the empty string &quot;&quot; is an empty
12470 vector, not a vector containing a single string. The reason for this
12471 special case is that being able to represent a empty vector is typically
12472 more useful than consistent handling of empty elements. If you do need
12473 to represent empty elements, you&apos;ll need to check for the empty string
12474 before calling g_strsplit_set().
12475
12476 Note that this function works on bytes not characters, so it can&apos;t be used 
12477 to delimit UTF-8 strings for anything but ASCII characters.
12478
12479
12480 </description>
12481 <parameters>
12482 <parameter name="string">
12483 <parameter_description> The string to be tokenized
12484 </parameter_description>
12485 </parameter>
12486 <parameter name="delimiters">
12487 <parameter_description> A nul-terminated string containing bytes that are used
12488 to split the string.
12489 </parameter_description>
12490 </parameter>
12491 <parameter name="max_tokens">
12492 <parameter_description> The maximum number of tokens to split @string into. 
12493 If this is less than 1, the string is split completely
12494 </parameter_description>
12495 </parameter>
12496 </parameters>
12497 <return> a newly-allocated %NULL-terminated array of strings. Use 
12498 g_strfreev() to free it.
12499
12500 Since: 2.4
12501 </return>
12502 </function>
12503
12504 <function name="g_main_context_find_source_by_id">
12505 <description>
12506 Finds a #GSource given a pair of context and ID.
12507
12508
12509 </description>
12510 <parameters>
12511 <parameter name="context">
12512 <parameter_description> a #GMainContext (if %NULL, the default context will be used)
12513 </parameter_description>
12514 </parameter>
12515 <parameter name="source_id">
12516 <parameter_description> the source ID, as returned by g_source_get_id(). 
12517 </parameter_description>
12518 </parameter>
12519 </parameters>
12520 <return> the #GSource if found, otherwise, %NULL
12521 </return>
12522 </function>
12523
12524 <function name="g_key_file_to_data">
12525 <description>
12526 This function outputs @key_file as a string.  
12527
12528
12529 </description>
12530 <parameters>
12531 <parameter name="key_file">
12532 <parameter_description> a #GKeyFile
12533 </parameter_description>
12534 </parameter>
12535 <parameter name="length">
12536 <parameter_description> return location for the length of the 
12537 returned string, or %NULL
12538 </parameter_description>
12539 </parameter>
12540 <parameter name="error">
12541 <parameter_description> return location for a #GError, or %NULL
12542 </parameter_description>
12543 </parameter>
12544 </parameters>
12545 <return> a newly allocated string holding
12546 the contents of the #GKeyFile 
12547
12548 Since: 2.6
12549 </return>
12550 </function>
12551
12552 <function name="g_match_info_matches">
12553 <description>
12554 Returns: %TRUE if the previous match operation succeeded, 
12555
12556 </description>
12557 <parameters>
12558 <parameter name="match_info">
12559 <parameter_description> a #GMatchInfo structure
12560 </parameter_description>
12561 </parameter>
12562 </parameters>
12563 <return> %TRUE if the previous match operation succeeded, 
12564 %FALSE otherwise
12565
12566 Since: 2.14
12567 </return>
12568 </function>
12569
12570 <function name="g_main_context_prepare">
12571 <description>
12572 Prepares to poll sources within a main loop. The resulting information
12573 for polling is determined by calling g_main_context_query ().
12574
12575
12576 </description>
12577 <parameters>
12578 <parameter name="context">
12579 <parameter_description> a #GMainContext
12580 </parameter_description>
12581 </parameter>
12582 <parameter name="priority">
12583 <parameter_description> location to store priority of highest priority
12584 source already ready.
12585 </parameter_description>
12586 </parameter>
12587 </parameters>
12588 <return> %TRUE if some source is ready to be dispatched
12589 prior to polling.
12590 </return>
12591 </function>
12592
12593 <function name="g_key_file_load_from_dirs">
12594 <description>
12595 This function looks for a key file named @file in the paths
12596 specified in @search_dirs, loads the file into @key_file and
12597 Return value: %TRUE if a key file could be loaded, %FALSE othewise
12598
12599 </description>
12600 <parameters>
12601 <parameter name="key_file">
12602 <parameter_description> an empty #GKeyFile struct
12603 </parameter_description>
12604 </parameter>
12605 <parameter name="file">
12606 <parameter_description> a relative path to a filename to open and parse
12607 </parameter_description>
12608 </parameter>
12609 <parameter name="search_dirs">
12610 <parameter_description> %NULL-terminated array of directories to search
12611 </parameter_description>
12612 </parameter>
12613 <parameter name="full_path">
12614 <parameter_description> return location for a string containing the full path
12615 of the file, or %NULL
12616 </parameter_description>
12617 </parameter>
12618 <parameter name="flags">
12619 <parameter_description> flags from #GKeyFileFlags
12620 </parameter_description>
12621 </parameter>
12622 <parameter name="error">
12623 <parameter_description> return location for a #GError, or %NULL
12624 </parameter_description>
12625 </parameter>
12626 </parameters>
12627 <return> %TRUE if a key file could be loaded, %FALSE othewise
12628
12629 Since: 2.14
12630 </return>
12631 </function>
12632
12633 <function name="g_hash_table_get_values">
12634 <description>
12635 Retrieves every value inside @hash_table. The returned data is
12636 valid until @hash_table is modified.
12637
12638
12639 </description>
12640 <parameters>
12641 <parameter name="hash_table">
12642 <parameter_description> a #GHashTable
12643 </parameter_description>
12644 </parameter>
12645 </parameters>
12646 <return> a #GList containing all the values inside the hash
12647 table. The content of the list is owned by the hash table and
12648 should not be modified or freed. Use g_list_free() when done
12649 using the list.
12650
12651 Since: 2.14
12652 </return>
12653 </function>
12654
12655 <function name="g_option_group_set_translate_func">
12656 <description>
12657 Sets the function which is used to translate user-visible
12658 strings, for &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output. Different
12659 groups can use different #GTranslateFunc&amp;lt;!-- --&amp;gt;s. If @func
12660 is %NULL, strings are not translated.
12661
12662 If you are using gettext(), you only need to set the translation
12663 domain, see g_option_group_set_translation_domain().
12664
12665 Since: 2.6
12666
12667 </description>
12668 <parameters>
12669 <parameter name="group">
12670 <parameter_description> a #GOptionGroup
12671 </parameter_description>
12672 </parameter>
12673 <parameter name="func">
12674 <parameter_description> the #GTranslateFunc, or %NULL 
12675 </parameter_description>
12676 </parameter>
12677 <parameter name="data">
12678 <parameter_description> user data to pass to @func, or %NULL
12679 </parameter_description>
12680 </parameter>
12681 <parameter name="destroy_notify">
12682 <parameter_description> a function which gets called to free @data, or %NULL
12683 </parameter_description>
12684 </parameter>
12685 </parameters>
12686 <return></return>
12687 </function>
12688
12689 <function name="g_strnfill">
12690 <description>
12691 Creates a new string @length bytes long filled with @fill_char.
12692 The returned string should be freed when no longer needed.
12693
12694
12695 </description>
12696 <parameters>
12697 <parameter name="length">
12698 <parameter_description> the length of the new string
12699 </parameter_description>
12700 </parameter>
12701 <parameter name="fill_char">
12702 <parameter_description> the byte to fill the string with
12703 </parameter_description>
12704 </parameter>
12705 </parameters>
12706 <return> a newly-allocated string filled the @fill_char
12707 </return>
12708 </function>
12709
12710 <function name="g_key_file_set_integer">
12711 <description>
12712 Associates a new integer value with @key under @group_name.
12713 If @key cannot be found then it is created.
12714
12715 Since: 2.6
12716
12717 </description>
12718 <parameters>
12719 <parameter name="key_file">
12720 <parameter_description> a #GKeyFile
12721 </parameter_description>
12722 </parameter>
12723 <parameter name="group_name">
12724 <parameter_description> a group name
12725 </parameter_description>
12726 </parameter>
12727 <parameter name="key">
12728 <parameter_description> a key
12729 </parameter_description>
12730 </parameter>
12731 <parameter name="value">
12732 <parameter_description> an integer value
12733 </parameter_description>
12734 </parameter>
12735 </parameters>
12736 <return></return>
12737 </function>
12738
12739 <function name="g_get_codeset">
12740 <description>
12741 Get the codeset for the current locale.
12742
12743
12744 </description>
12745 <parameters>
12746 </parameters>
12747 <return> a newly allocated string containing the name
12748 of the codeset. This string must be freed with g_free().
12749 </return>
12750 </function>
12751
12752 <function name="g_vasprintf">
12753 <description>
12754 An implementation of the GNU vasprintf() function which supports 
12755 positional parameters, as specified in the Single Unix Specification.
12756 This function is similar to g_vsprintf(), except that it allocates a 
12757 string to hold the output, instead of putting the output in a buffer 
12758 you allocate in advance.
12759
12760
12761 </description>
12762 <parameters>
12763 <parameter name="string">
12764 <parameter_description> the return location for the newly-allocated string.
12765 </parameter_description>
12766 </parameter>
12767 <parameter name="format">
12768 <parameter_description> a standard printf() format string, but notice
12769 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
12770 </parameter_description>
12771 </parameter>
12772 <parameter name="args">
12773 <parameter_description> the list of arguments to insert in the output.
12774 </parameter_description>
12775 </parameter>
12776 </parameters>
12777 <return> the number of characters printed.
12778
12779 Since: 2.4
12780 </return>
12781 </function>
12782
12783 <function name="g_get_language_names">
12784 <description>
12785 Computes a list of applicable locale names, which can be used to 
12786 e.g. construct locale-dependent filenames or search paths. The returned 
12787 list is sorted from most desirable to least desirable and always contains 
12788 the default locale &quot;C&quot;.
12789
12790 For example, if LANGUAGE=de:en_US, then the returned list is
12791 &quot;de&quot;, &quot;en_US&quot;, &quot;en&quot;, &quot;C&quot;.
12792
12793 This function consults the environment variables &amp;lt;envar&amp;gt;LANGUAGE&amp;lt;/envar&amp;gt;, 
12794 &amp;lt;envar&amp;gt;LC_ALL&amp;lt;/envar&amp;gt;, &amp;lt;envar&amp;gt;LC_MESSAGES&amp;lt;/envar&amp;gt; and &amp;lt;envar&amp;gt;LANG&amp;lt;/envar&amp;gt; 
12795 to find the list of locales specified by the user.
12796
12797
12798 </description>
12799 <parameters>
12800 </parameters>
12801 <return> a %NULL-terminated array of strings owned by GLib 
12802 that must not be modified or freed.
12803
12804 Since: 2.6
12805 </return>
12806 </function>
12807
12808 <function name="g_hash_table_foreach_steal">
12809 <description>
12810 Calls the given function for each key/value pair in the #GHashTable.
12811 If the function returns %TRUE, then the key/value pair is removed from the
12812 #GHashTable, but no key or value destroy functions are called.
12813
12814
12815 </description>
12816 <parameters>
12817 <parameter name="hash_table">
12818 <parameter_description> a #GHashTable.
12819 </parameter_description>
12820 </parameter>
12821 <parameter name="func">
12822 <parameter_description> the function to call for each key/value pair.
12823 </parameter_description>
12824 </parameter>
12825 <parameter name="user_data">
12826 <parameter_description> user data to pass to the function.
12827 </parameter_description>
12828 </parameter>
12829 </parameters>
12830 <return> the number of key/value pairs removed.
12831 </return>
12832 </function>
12833
12834 <function name="g_key_file_get_comment">
12835 <description>
12836 Retrieves a comment above @key from @group_name.
12837 @group_name. If @key is %NULL then @comment will
12838 be read from above @group_name.  If both @key
12839 and @group_name are NULL, then @comment will
12840 be read from above the first group in the file.
12841
12842
12843 </description>
12844 <parameters>
12845 <parameter name="key_file">
12846 <parameter_description> a #GKeyFile
12847 </parameter_description>
12848 </parameter>
12849 <parameter name="group_name">
12850 <parameter_description> a group name, or %NULL
12851 </parameter_description>
12852 </parameter>
12853 <parameter name="key">
12854 <parameter_description> a key
12855 </parameter_description>
12856 </parameter>
12857 <parameter name="error">
12858 <parameter_description> return location for a #GError
12859 </parameter_description>
12860 </parameter>
12861 </parameters>
12862 <return> a comment that should be freed with g_free()
12863
12864 Since: 2.6
12865 </return>
12866 </function>
12867
12868 <function name="g_thread_pool_set_sort_function">
12869 <description>
12870 Sets the function used to sort the list of tasks. This allows the
12871 tasks to be processed by a priority determined by @func, and not
12872 just in the order in which they were added to the pool.
12873
12874 Note, if the maximum number of threads is more than 1, the order
12875 that threads are executed can not be guranteed 100%. Threads are
12876 scheduled by the operating system and are executed at random. It
12877 cannot be assumed that threads are executed in the order they are
12878 created. 
12879
12880 Since: 2.10
12881
12882 </description>
12883 <parameters>
12884 <parameter name="pool">
12885 <parameter_description> a #GThreadPool
12886 </parameter_description>
12887 </parameter>
12888 <parameter name="func">
12889 <parameter_description> the #GCompareDataFunc used to sort the list of tasks. 
12890 This function is passed two tasks. It should return
12891 0 if the order in which they are handled does not matter, 
12892 a negative value if the first task should be processed before
12893 the second or a positive value if the second task should be 
12894 processed first.
12895 </parameter_description>
12896 </parameter>
12897 <parameter name="user_data">
12898 <parameter_description> user data passed to @func.
12899 </parameter_description>
12900 </parameter>
12901 </parameters>
12902 <return></return>
12903 </function>
12904
12905 <function name="g_creat">
12906 <description>
12907 A wrapper for the POSIX creat() function. The creat() function is
12908 used to convert a pathname into a file descriptor, creating a file
12909 if necessar. Note that on POSIX systems file descriptors are
12910 implemented by the operating system. On Windows, it&apos;s the C library
12911 that implements creat() and file descriptors. The actual Windows
12912 API for opening files is something different.
12913
12914 See the C library manual for more details about creat().
12915
12916
12917 </description>
12918 <parameters>
12919 <parameter name="filename">
12920 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
12921 </parameter_description>
12922 </parameter>
12923 <parameter name="mode">
12924 <parameter_description> as in creat()
12925 </parameter_description>
12926 </parameter>
12927 </parameters>
12928 <return> a new file descriptor, or -1 if an error occurred. The
12929 return value can be used exactly like the return value from creat().
12930
12931 Since: 2.8
12932 </return>
12933 </function>
12934
12935 <function name="g_win32_error_message">
12936 <description>
12937 Translate a Win32 error code (as returned by GetLastError()) into
12938 the corresponding message. The message is either language neutral,
12939 or in the thread&apos;s language, or the user&apos;s language, the system&apos;s
12940 language, or US English (see docs for FormatMessage()). The
12941 returned string is in UTF-8. It should be deallocated with
12942 g_free().
12943
12944
12945 </description>
12946 <parameters>
12947 <parameter name="error">
12948 <parameter_description> error code.
12949 </parameter_description>
12950 </parameter>
12951 </parameters>
12952 <return> newly-allocated error message
12953 </return>
12954 </function>
12955
12956 <function name="g_utf16_to_ucs4">
12957 <description>
12958 Convert a string from UTF-16 to UCS-4. The result will be
12959 terminated with a 0 character.
12960
12961
12962 </description>
12963 <parameters>
12964 <parameter name="str">
12965 <parameter_description> a UTF-16 encoded string
12966 </parameter_description>
12967 </parameter>
12968 <parameter name="len">
12969 <parameter_description> the maximum length (number of &amp;lt;type&amp;gt;gunichar2&amp;lt;/type&amp;gt;) of @str to use. 
12970 If @len &amp;lt; 0, then the string is terminated with a 0 character.
12971 </parameter_description>
12972 </parameter>
12973 <parameter name="items_read">
12974 <parameter_description> location to store number of words read, or %NULL.
12975 If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
12976 returned in case @str contains a trailing partial
12977 character. If an error occurs then the index of the
12978 invalid input is stored here.
12979 </parameter_description>
12980 </parameter>
12981 <parameter name="items_written">
12982 <parameter_description> location to store number of characters written, or %NULL.
12983 The value stored here does not include the trailing
12984 0 character.
12985 </parameter_description>
12986 </parameter>
12987 <parameter name="error">
12988 <parameter_description> location to store the error occuring, or %NULL to ignore
12989 errors. Any of the errors in #GConvertError other than
12990 %G_CONVERT_ERROR_NO_CONVERSION may occur.
12991 </parameter_description>
12992 </parameter>
12993 </parameters>
12994 <return> a pointer to a newly allocated UCS-4 string.
12995 This value must be freed with g_free(). If an
12996 error occurs, %NULL will be returned and
12997 @error set.
12998 </return>
12999 </function>
13000
13001 <function name="g_tree_insert">
13002 <description>
13003 Inserts a key/value pair into a #GTree. If the given key already exists 
13004 in the #GTree its corresponding value is set to the new value. If you 
13005 supplied a value_destroy_func when creating the #GTree, the old value is 
13006 freed using that function. If you supplied a @key_destroy_func when 
13007 creating the #GTree, the passed key is freed using that function.
13008
13009 The tree is automatically &apos;balanced&apos; as new key/value pairs are added,
13010 so that the distance from the root to every leaf is as small as possible.
13011
13012 </description>
13013 <parameters>
13014 <parameter name="tree">
13015 <parameter_description> a #GTree.
13016 </parameter_description>
13017 </parameter>
13018 <parameter name="key">
13019 <parameter_description> the key to insert.
13020 </parameter_description>
13021 </parameter>
13022 <parameter name="value">
13023 <parameter_description> the value corresponding to the key.
13024 </parameter_description>
13025 </parameter>
13026 </parameters>
13027 <return></return>
13028 </function>
13029
13030 <function name="g_base64_encode_close">
13031 <description>
13032 Flush the status from a sequence of calls to g_base64_encode_step().
13033
13034
13035 </description>
13036 <parameters>
13037 <parameter name="break_lines">
13038 <parameter_description> whether to break long lines
13039 </parameter_description>
13040 </parameter>
13041 <parameter name="out">
13042 <parameter_description> pointer to destination buffer
13043 </parameter_description>
13044 </parameter>
13045 <parameter name="state">
13046 <parameter_description> Saved state from g_base64_encode_step()
13047 </parameter_description>
13048 </parameter>
13049 <parameter name="save">
13050 <parameter_description> Saved state from g_base64_encode_step()
13051 </parameter_description>
13052 </parameter>
13053 </parameters>
13054 <return> The number of bytes of output that was written
13055
13056 Since: 2.12
13057 </return>
13058 </function>
13059
13060 <function name="g_async_queue_unlock">
13061 <description>
13062 Releases the queue&apos;s lock.
13063
13064 </description>
13065 <parameters>
13066 <parameter name="queue">
13067 <parameter_description> a #GAsyncQueue.
13068 </parameter_description>
13069 </parameter>
13070 </parameters>
13071 <return></return>
13072 </function>
13073
13074 <function name="g_source_add_poll">
13075 <description>
13076 Adds a file descriptor to the set of file descriptors polled for
13077 this source. This is usually combined with g_source_new() to add an
13078 event source. The event source&apos;s check function will typically test
13079 the @revents field in the #GPollFD struct and return %TRUE if events need
13080 to be processed.
13081
13082 </description>
13083 <parameters>
13084 <parameter name="source">
13085 <parameter_description>a #GSource 
13086 </parameter_description>
13087 </parameter>
13088 <parameter name="fd">
13089 <parameter_description> a #GPollFD structure holding information about a file
13090 descriptor to watch.
13091 </parameter_description>
13092 </parameter>
13093 </parameters>
13094 <return></return>
13095 </function>
13096
13097 <function name="g_hash_table_unref">
13098 <description>
13099 Atomically decrements the reference count of @hash_table by one.
13100 If the reference count drops to 0, all keys and values will be
13101 destroyed, and all memory allocated by the hash table is released.
13102 This function is MT-safe and may be called from any thread.
13103
13104 Since: 2.10
13105
13106 </description>
13107 <parameters>
13108 <parameter name="hash_table">
13109 <parameter_description> a valid #GHashTable.
13110 </parameter_description>
13111 </parameter>
13112 </parameters>
13113 <return></return>
13114 </function>
13115
13116 <function name="g_rand_new_with_seed">
13117 <description>
13118 Creates a new random number generator initialized with @seed.
13119
13120
13121 </description>
13122 <parameters>
13123 <parameter name="seed">
13124 <parameter_description> a value to initialize the random number generator.
13125 </parameter_description>
13126 </parameter>
13127 </parameters>
13128 <return> the new #GRand.
13129 </return>
13130 </function>
13131
13132 <function name="g_sequence_iter_is_end">
13133 <description>
13134 Return value: Whether @iter is the end iterator.
13135
13136 </description>
13137 <parameters>
13138 <parameter name="iter">
13139 <parameter_description> a #GSequenceIter
13140 </parameter_description>
13141 </parameter>
13142 </parameters>
13143 <return> Whether @iter is the end iterator.
13144
13145 Since: 2.14
13146 </return>
13147 </function>
13148
13149 <function name="g_queue_pop_tail_link">
13150 <description>
13151 Removes the last element of the queue.
13152
13153
13154 </description>
13155 <parameters>
13156 <parameter name="queue">
13157 <parameter_description> a #GQueue.
13158 </parameter_description>
13159 </parameter>
13160 </parameters>
13161 <return> the #GList element at the tail of the queue, or %NULL if the queue
13162 is empty.
13163 </return>
13164 </function>
13165
13166 <function name="g_async_queue_push_sorted">
13167 <description>
13168 Inserts @data into @queue using @func to determine the new
13169 position. 
13170
13171 This function requires that the @queue is sorted before pushing on
13172 new elements.
13173
13174 This function will lock @queue before it sorts the queue and unlock
13175 it when it is finished.
13176
13177 For an example of @func see g_async_queue_sort(). 
13178
13179 Since: 2.10
13180
13181 </description>
13182 <parameters>
13183 <parameter name="queue">
13184 <parameter_description> a #GAsyncQueue
13185 </parameter_description>
13186 </parameter>
13187 <parameter name="data">
13188 <parameter_description> the @data to push into the @queue
13189 </parameter_description>
13190 </parameter>
13191 <parameter name="func">
13192 <parameter_description> the #GCompareDataFunc is used to sort @queue. This function
13193 is passed two elements of the @queue. The function should return
13194 0 if they are equal, a negative value if the first element
13195 should be higher in the @queue or a positive value if the first
13196 element should be lower in the @queue than the second element.
13197 </parameter_description>
13198 </parameter>
13199 <parameter name="user_data">
13200 <parameter_description> user data passed to @func.
13201 </parameter_description>
13202 </parameter>
13203 </parameters>
13204 <return></return>
13205 </function>
13206
13207 <function name="g_unichar_xdigit_value">
13208 <description>
13209 Determines the numeric value of a character as a hexidecimal
13210 digit.
13211
13212
13213 </description>
13214 <parameters>
13215 <parameter name="c">
13216 <parameter_description> a Unicode character
13217 </parameter_description>
13218 </parameter>
13219 </parameters>
13220 <return> If @c is a hex digit (according to
13221 g_unichar_isxdigit()), its numeric value. Otherwise, -1.
13222 </return>
13223 </function>
13224
13225 <function name="g_string_append_vprintf">
13226 <description>
13227 Appends a formatted string onto the end of a #GString.
13228 This function is is similar to g_string_append_printf()
13229 except that the arguments to the format string are passed
13230 as a va_list.
13231
13232 Since: 2.14
13233
13234 </description>
13235 <parameters>
13236 <parameter name="string">
13237 <parameter_description> a #GString
13238 </parameter_description>
13239 </parameter>
13240 <parameter name="format">
13241 <parameter_description> the string format. See the printf() documentation
13242 </parameter_description>
13243 </parameter>
13244 <parameter name="args">
13245 <parameter_description> the list of arguments to insert in the output
13246 </parameter_description>
13247 </parameter>
13248 </parameters>
13249 <return></return>
13250 </function>
13251
13252 <function name="g_win32_get_windows_version">
13253 <description>
13254 Returns: The version information.
13255
13256 </description>
13257 <parameters>
13258 </parameters>
13259 <return> The version information.
13260
13261 Since: 2.6
13262 </return>
13263 </function>
13264
13265 <function name="g_path_get_dirname">
13266 <description>
13267 Gets the directory components of a file name.  If the file name has no
13268 directory components &quot;.&quot; is returned.  The returned string should be
13269 freed when no longer needed.
13270
13271
13272 </description>
13273 <parameters>
13274 <parameter name="file_name">
13275 <parameter_description> the name of the file.
13276 </parameter_description>
13277 </parameter>
13278 </parameters>
13279 <return> the directory components of the file.
13280 </return>
13281 </function>
13282
13283 <function name="g_unichar_type">
13284 <description>
13285 Classifies a Unicode character by type.
13286
13287
13288 </description>
13289 <parameters>
13290 <parameter name="c">
13291 <parameter_description> a Unicode character
13292 </parameter_description>
13293 </parameter>
13294 </parameters>
13295 <return> the type of the character.
13296 </return>
13297 </function>
13298
13299 <function name="g_filename_from_uri">
13300 <description>
13301 Converts an escaped ASCII-encoded URI to a local filename in the
13302 encoding used for filenames. 
13303
13304
13305 </description>
13306 <parameters>
13307 <parameter name="uri">
13308 <parameter_description> a uri describing a filename (escaped, encoded in ASCII).
13309 </parameter_description>
13310 </parameter>
13311 <parameter name="hostname">
13312 <parameter_description> Location to store hostname for the URI, or %NULL.
13313 If there is no hostname in the URI, %NULL will be
13314 stored in this location.
13315 </parameter_description>
13316 </parameter>
13317 <parameter name="error">
13318 <parameter_description> location to store the error occuring, or %NULL to ignore
13319 errors. Any of the errors in #GConvertError may occur.
13320 </parameter_description>
13321 </parameter>
13322 </parameters>
13323 <return> a newly-allocated string holding the resulting
13324 filename, or %NULL on an error.
13325 </return>
13326 </function>
13327
13328 <function name="g_option_context_get_help_enabled">
13329 <description>
13330 Returns: %TRUE if automatic help generation is turned on.
13331
13332 </description>
13333 <parameters>
13334 <parameter name="context">
13335 <parameter_description> a #GOptionContext
13336 </parameter_description>
13337 </parameter>
13338 </parameters>
13339 <return> %TRUE if automatic help generation is turned on.
13340
13341 Since: 2.6
13342 </return>
13343 </function>
13344
13345 <function name="g_option_context_set_description">
13346 <description>
13347 Adds a string to be displayed in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
13348 after the list of options. This text often includes a bug reporting
13349 address.
13350
13351 Note that the summary is translated (see 
13352 g_option_context_set_translate_func()).
13353
13354 Since: 2.12
13355
13356 </description>
13357 <parameters>
13358 <parameter name="context">
13359 <parameter_description> a #GOptionContext
13360 </parameter_description>
13361 </parameter>
13362 <parameter name="description">
13363 <parameter_description> a string to be shown in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output 
13364 after the list of options, or %NULL
13365 </parameter_description>
13366 </parameter>
13367 </parameters>
13368 <return></return>
13369 </function>
13370
13371 <function name="g_set_prgname">
13372 <description>
13373 Sets the name of the program. This name should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; 
13374 be localized, contrast with g_set_application_name(). Note that for 
13375 thread-safety reasons this function can only be called once.
13376
13377 </description>
13378 <parameters>
13379 <parameter name="prgname">
13380 <parameter_description> the name of the program.
13381 </parameter_description>
13382 </parameter>
13383 </parameters>
13384 <return></return>
13385 </function>
13386
13387 <function name="g_source_get_context">
13388 <description>
13389 Gets the #GMainContext with which the source is associated.
13390 Calling this function on a destroyed source is an error.
13391
13392
13393 </description>
13394 <parameters>
13395 <parameter name="source">
13396 <parameter_description> a #GSource
13397 </parameter_description>
13398 </parameter>
13399 </parameters>
13400 <return> the #GMainContext with which the source is associated,
13401 or %NULL if the context has not yet been added
13402 to a source.
13403 </return>
13404 </function>
13405
13406 <function name="g_unichar_tolower">
13407 <description>
13408 Converts a character to lower case.
13409
13410
13411 </description>
13412 <parameters>
13413 <parameter name="c">
13414 <parameter_description> a Unicode character.
13415 </parameter_description>
13416 </parameter>
13417 </parameters>
13418 <return> the result of converting @c to lower case.
13419 If @c is not an upperlower or titlecase character,
13420 or has no lowercase equivalent @c is returned unchanged.
13421 </return>
13422 </function>
13423
13424 <function name="g_spawn_async_with_pipes">
13425 <description>
13426 Executes a child program asynchronously (your program will not
13427 block waiting for the child to exit). The child program is
13428 specified by the only argument that must be provided, @argv. @argv
13429 should be a %NULL-terminated array of strings, to be passed as the
13430 argument vector for the child. The first string in @argv is of
13431 course the name of the program to execute. By default, the name of
13432 the program must be a full path; the &amp;lt;envar&amp;gt;PATH&amp;lt;/envar&amp;gt; shell variable 
13433 will only be searched if you pass the %G_SPAWN_SEARCH_PATH flag.
13434
13435 On Windows, note that all the string or string vector arguments to
13436 this function and the other g_spawn*() functions are in UTF-8, the
13437 GLib file name encoding. Unicode characters that are not part of
13438 the system codepage passed in argument vectors will be correctly
13439 available in the spawned program only if it uses wide character API
13440 to retrieve its command line. For C programs built with Microsoft&apos;s
13441 tools it is enough to make the program have a wmain() instead of
13442 main(). wmain() has a wide character argument vector as parameter.
13443
13444 At least currently, mingw doesn&apos;t support wmain(), so if you use
13445 mingw to develop the spawned program, it will have to call the
13446 undocumented function __wgetmainargs() to get the wide character
13447 argument vector and environment. See gspawn-win32-helper.c in the
13448 GLib sources or init.c in the mingw runtime sources for a prototype
13449 for that function. Alternatively, you can retrieve the Win32 system
13450 level wide character command line passed to the spawned program
13451 using the GetCommandLineW() function.
13452
13453 On Windows the low-level child process creation API
13454 &amp;lt;function&amp;gt;CreateProcess()&amp;lt;/function&amp;gt; doesn&apos;t use argument vectors,
13455 but a command line. The C runtime library&apos;s
13456 &amp;lt;function&amp;gt;spawn*()&amp;lt;/function&amp;gt; family of functions (which
13457 g_spawn_async_with_pipes() eventually calls) paste the argument
13458 vector elements together into a command line, and the C runtime startup code
13459 does a corresponding reconstruction of an argument vector from the
13460 command line, to be passed to main(). Complications arise when you have
13461 argument vector elements that contain spaces of double quotes. The
13462 &amp;lt;function&amp;gt;spawn*()&amp;lt;/function&amp;gt; functions don&apos;t do any quoting or
13463 escaping, but on the other hand the startup code does do unquoting
13464 and unescaping in order to enable receiving arguments with embedded
13465 spaces or double quotes. To work around this asymmetry,
13466 g_spawn_async_with_pipes() will do quoting and escaping on argument
13467 vector elements that need it before calling the C runtime
13468 spawn() function.
13469
13470 @envp is a %NULL-terminated array of strings, where each string
13471 has the form &amp;lt;literal&amp;gt;KEY=VALUE&amp;lt;/literal&amp;gt;. This will become
13472 the child&apos;s environment. If @envp is %NULL, the child inherits its
13473 parent&apos;s environment.
13474
13475 @flags should be the bitwise OR of any flags you want to affect the
13476 function&apos;s behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that 
13477 the child will not automatically be reaped; you must use a
13478 #GChildWatch source to be notified about the death of the child 
13479 process. Eventually you must call g_spawn_close_pid() on the
13480 @child_pid, in order to free resources which may be associated
13481 with the child process. (On Unix, using a #GChildWatch source is
13482 equivalent to calling waitpid() or handling the %SIGCHLD signal 
13483 manually. On Windows, calling g_spawn_close_pid() is equivalent
13484 to calling CloseHandle() on the process handle returned in 
13485 @child_pid).
13486
13487 %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that the parent&apos;s open file
13488 descriptors will be inherited by the child; otherwise all
13489 descriptors except stdin/stdout/stderr will be closed before
13490 calling exec() in the child. %G_SPAWN_SEARCH_PATH 
13491 means that &amp;lt;literal&amp;gt;argv[0]&amp;lt;/literal&amp;gt; need not be an absolute path, it
13492 will be looked for in the user&apos;s &amp;lt;envar&amp;gt;PATH&amp;lt;/envar&amp;gt;. 
13493 %G_SPAWN_STDOUT_TO_DEV_NULL means that the child&apos;s standard output will 
13494 be discarded, instead of going to the same location as the parent&apos;s 
13495 standard output. If you use this flag, @standard_output must be %NULL.
13496 %G_SPAWN_STDERR_TO_DEV_NULL means that the child&apos;s standard error
13497 will be discarded, instead of going to the same location as the parent&apos;s
13498 standard error. If you use this flag, @standard_error must be %NULL.
13499 %G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent&apos;s
13500 standard input (by default, the child&apos;s standard input is attached to
13501 /dev/null). If you use this flag, @standard_input must be %NULL.
13502 %G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is
13503 the file to execute, while the remaining elements are the
13504 actual argument vector to pass to the file. Normally
13505 g_spawn_async_with_pipes() uses @argv[0] as the file to execute, and
13506 passes all of @argv to the child.
13507
13508 @child_setup and @user_data are a function and user data. On POSIX
13509 platforms, the function is called in the child after GLib has
13510 performed all the setup it plans to perform (including creating
13511 pipes, closing file descriptors, etc.) but before calling
13512 exec(). That is, @child_setup is called just
13513 before calling exec() in the child. Obviously
13514 actions taken in this function will only affect the child, not the
13515 parent. On Windows, there is no separate fork() and exec()
13516 functionality. Child processes are created and run with
13517 a single API call, CreateProcess(). @child_setup is
13518 called in the parent process just before creating the child
13519 process. You should carefully consider what you do in @child_setup
13520 if you intend your software to be portable to Windows.
13521
13522 If non-%NULL, @child_pid will on Unix be filled with the child&apos;s
13523 process ID. You can use the process ID to send signals to the
13524 child, or to use g_child_watch_add() (or waitpid()) if you specified the
13525 %G_SPAWN_DO_NOT_REAP_CHILD flag. On Windows, @child_pid will be
13526 filled with a handle to the child process only if you specified the
13527 %G_SPAWN_DO_NOT_REAP_CHILD flag. You can then access the child
13528 process using the Win32 API, for example wait for its termination
13529 with the &amp;lt;function&amp;gt;WaitFor*()&amp;lt;/function&amp;gt; functions, or examine its
13530 exit code with GetExitCodeProcess(). You should close the handle 
13531 with CloseHandle() or g_spawn_close_pid() when you no longer need it.
13532
13533 If non-%NULL, the @standard_input, @standard_output, @standard_error
13534 locations will be filled with file descriptors for writing to the child&apos;s
13535 standard input or reading from its standard output or standard error.
13536 The caller of g_spawn_async_with_pipes() must close these file descriptors
13537 when they are no longer in use. If these parameters are %NULL, the corresponding
13538 pipe won&apos;t be created.
13539
13540 If @standard_input is NULL, the child&apos;s standard input is attached to 
13541 /dev/null unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
13542
13543 If @standard_error is NULL, the child&apos;s standard error goes to the same 
13544 location as the parent&apos;s standard error unless %G_SPAWN_STDERR_TO_DEV_NULL 
13545 is set.
13546
13547 If @standard_output is NULL, the child&apos;s standard output goes to the same 
13548 location as the parent&apos;s standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL 
13549 is set.
13550
13551 @error can be %NULL to ignore errors, or non-%NULL to report errors.
13552 If an error is set, the function returns %FALSE. Errors
13553 are reported even if they occur in the child (for example if the
13554 executable in &amp;lt;literal&amp;gt;argv[0]&amp;lt;/literal&amp;gt; is not found). Typically
13555 the &amp;lt;literal&amp;gt;message&amp;lt;/literal&amp;gt; field of returned errors should be displayed
13556 to users. Possible errors are those from the #G_SPAWN_ERROR domain.
13557
13558 If an error occurs, @child_pid, @standard_input, @standard_output,
13559 and @standard_error will not be filled with valid values.
13560
13561 If @child_pid is not %NULL and an error does not occur then the returned
13562 pid must be closed using g_spawn_close_pid().
13563
13564 &amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
13565 If you are writing a GTK+ application, and the program you 
13566 are spawning is a graphical application, too, then you may
13567 want to use gdk_spawn_on_screen_with_pipes() instead to ensure that 
13568 the spawned program opens its windows no the right screen.
13569 &amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
13570
13571
13572 </description>
13573 <parameters>
13574 <parameter name="working_directory">
13575 <parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s, in the GLib file name encoding
13576 </parameter_description>
13577 </parameter>
13578 <parameter name="argv">
13579 <parameter_description> child&apos;s argument vector, in the GLib file name encoding
13580 </parameter_description>
13581 </parameter>
13582 <parameter name="envp">
13583 <parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s, in the GLib file name encoding
13584 </parameter_description>
13585 </parameter>
13586 <parameter name="flags">
13587 <parameter_description> flags from #GSpawnFlags
13588 </parameter_description>
13589 </parameter>
13590 <parameter name="child_setup">
13591 <parameter_description> function to run in the child just before exec()
13592 </parameter_description>
13593 </parameter>
13594 <parameter name="user_data">
13595 <parameter_description> user data for @child_setup
13596 </parameter_description>
13597 </parameter>
13598 <parameter name="child_pid">
13599 <parameter_description> return location for child process ID, or %NULL
13600 </parameter_description>
13601 </parameter>
13602 <parameter name="standard_input">
13603 <parameter_description> return location for file descriptor to write to child&apos;s stdin, or %NULL
13604 </parameter_description>
13605 </parameter>
13606 <parameter name="standard_output">
13607 <parameter_description> return location for file descriptor to read child&apos;s stdout, or %NULL
13608 </parameter_description>
13609 </parameter>
13610 <parameter name="standard_error">
13611 <parameter_description> return location for file descriptor to read child&apos;s stderr, or %NULL
13612 </parameter_description>
13613 </parameter>
13614 <parameter name="error">
13615 <parameter_description> return location for error
13616 </parameter_description>
13617 </parameter>
13618 </parameters>
13619 <return> %TRUE on success, %FALSE if an error was set
13620 </return>
13621 </function>
13622
13623 <function name="g_sequence_get_iter_at_pos">
13624 <description>
13625 Return value: The #GSequenceIter at position @pos
13626
13627 </description>
13628 <parameters>
13629 <parameter name="seq">
13630 <parameter_description> a #GSequence
13631 </parameter_description>
13632 </parameter>
13633 <parameter name="pos">
13634 <parameter_description> a position in @seq, or -1 for the end.
13635 </parameter_description>
13636 </parameter>
13637 </parameters>
13638 <return> The #GSequenceIter at position @pos
13639
13640 Since: 2.14
13641 </return>
13642 </function>
13643
13644 <function name="g_utf8_pointer_to_offset">
13645 <description>
13646 Converts from a pointer to position within a string to a integer
13647 character offset.
13648
13649 Since 2.10, this function allows @pos to be before @str, and returns
13650 a negative offset in this case.
13651
13652
13653 </description>
13654 <parameters>
13655 <parameter name="str">
13656 <parameter_description> a UTF-8 encoded string
13657 </parameter_description>
13658 </parameter>
13659 <parameter name="pos">
13660 <parameter_description> a pointer to a position within @str
13661 </parameter_description>
13662 </parameter>
13663 </parameters>
13664 <return> the resulting character offset
13665 </return>
13666 </function>
13667
13668 <function name="g_bookmark_file_set_visited">
13669 <description>
13670 Sets the time the bookmark for @uri was last visited.
13671
13672 If no bookmark for @uri is found then it is created.
13673
13674 The &quot;visited&quot; time should only be set if the bookmark was launched, 
13675 either using the command line retrieved by g_bookmark_file_get_app_info()
13676 or by the default application for the bookmark&apos;s MIME type, retrieved
13677 using g_bookmark_file_get_mime_type().  Changing the &quot;visited&quot; time
13678 does not affect the &quot;modified&quot; time.
13679
13680 Since: 2.12
13681
13682 </description>
13683 <parameters>
13684 <parameter name="bookmark">
13685 <parameter_description> a #GBookmarkFile
13686 </parameter_description>
13687 </parameter>
13688 <parameter name="uri">
13689 <parameter_description> a valid URI
13690 </parameter_description>
13691 </parameter>
13692 <parameter name="visited">
13693 <parameter_description> a timestamp or -1 to use the current time
13694 </parameter_description>
13695 </parameter>
13696 </parameters>
13697 <return></return>
13698 </function>
13699
13700 <function name="g_rand_copy">
13701 <description>
13702 Copies a #GRand into a new one with the same exact state as before.
13703 This way you can take a snapshot of the random number generator for
13704 replaying later.
13705
13706
13707 </description>
13708 <parameters>
13709 <parameter name="rand_">
13710 <parameter_description> a #GRand.
13711 </parameter_description>
13712 </parameter>
13713 </parameters>
13714 <return> the new #GRand.
13715
13716 Since: 2.4
13717 </return>
13718 </function>
13719
13720 <function name="g_spawn_sync">
13721 <description>
13722 Executes a child synchronously (waits for the child to exit before returning).
13723 All output from the child is stored in @standard_output and @standard_error,
13724 if those parameters are non-%NULL. If @exit_status is non-%NULL, the exit 
13725 status of the child is stored there as it would be returned by 
13726 waitpid(); standard UNIX macros such as WIFEXITED() and WEXITSTATUS() 
13727 must be used to evaluate the exit status. If an error occurs, no data is 
13728 returned in @standard_output, @standard_error, or @exit_status.
13729
13730 This function calls g_spawn_async_with_pipes() internally; see that
13731 function for full details on the other parameters and details on
13732 how these functions work on Windows.
13733
13734
13735 </description>
13736 <parameters>
13737 <parameter name="working_directory">
13738 <parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s
13739 </parameter_description>
13740 </parameter>
13741 <parameter name="argv">
13742 <parameter_description> child&apos;s argument vector
13743 </parameter_description>
13744 </parameter>
13745 <parameter name="envp">
13746 <parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
13747 </parameter_description>
13748 </parameter>
13749 <parameter name="flags">
13750 <parameter_description> flags from #GSpawnFlags
13751 </parameter_description>
13752 </parameter>
13753 <parameter name="child_setup">
13754 <parameter_description> function to run in the child just before exec()
13755 </parameter_description>
13756 </parameter>
13757 <parameter name="user_data">
13758 <parameter_description> user data for @child_setup
13759 </parameter_description>
13760 </parameter>
13761 <parameter name="standard_output">
13762 <parameter_description> return location for child output 
13763 </parameter_description>
13764 </parameter>
13765 <parameter name="standard_error">
13766 <parameter_description> return location for child error messages
13767 </parameter_description>
13768 </parameter>
13769 <parameter name="exit_status">
13770 <parameter_description> return location for child exit status, as returned by waitpid()
13771 </parameter_description>
13772 </parameter>
13773 <parameter name="error">
13774 <parameter_description> return location for error
13775 </parameter_description>
13776 </parameter>
13777 </parameters>
13778 <return> %TRUE on success, %FALSE if an error was set.
13779 </return>
13780 </function>
13781
13782 <function name="g_queue_index">
13783 <description>
13784 Return value: The position of the first element in @queue which contains @data, or -1 if no element in @queue contains @data.
13785
13786 </description>
13787 <parameters>
13788 <parameter name="queue">
13789 <parameter_description> a #GQueue
13790 </parameter_description>
13791 </parameter>
13792 <parameter name="data">
13793 <parameter_description> the data to find.
13794 </parameter_description>
13795 </parameter>
13796 </parameters>
13797 <return> The position of the first element in @queue which contains @data, or -1 if no element in @queue contains @data.
13798
13799 Since: 2.4
13800 </return>
13801 </function>
13802
13803 <function name="g_utf8_strrchr">
13804 <description>
13805 Find the rightmost occurrence of the given Unicode character
13806 in a UTF-8 encoded string, while limiting the search to @len bytes.
13807 If @len is -1, allow unbounded search.
13808
13809
13810 </description>
13811 <parameters>
13812 <parameter name="p">
13813 <parameter_description> a nul-terminated UTF-8 encoded string
13814 </parameter_description>
13815 </parameter>
13816 <parameter name="len">
13817 <parameter_description> the maximum length of @p
13818 </parameter_description>
13819 </parameter>
13820 <parameter name="c">
13821 <parameter_description> a Unicode character
13822 </parameter_description>
13823 </parameter>
13824 </parameters>
13825 <return> %NULL if the string does not contain the character, 
13826 otherwise, a pointer to the start of the rightmost occurrence of the 
13827 character in the string.
13828 </return>
13829 </function>
13830
13831 <function name="g_option_context_set_ignore_unknown_options">
13832 <description>
13833 Sets whether to ignore unknown options or not. If an argument is 
13834 ignored, it is left in the @argv array after parsing. By default, 
13835 g_option_context_parse() treats unknown options as error.
13836
13837 This setting does not affect non-option arguments (i.e. arguments 
13838 which don&apos;t start with a dash). But note that GOption cannot reliably
13839 determine whether a non-option belongs to a preceding unknown option.
13840
13841 Since: 2.6
13842
13843 </description>
13844 <parameters>
13845 <parameter name="context">
13846 <parameter_description> a #GOptionContext
13847 </parameter_description>
13848 </parameter>
13849 <parameter name="ignore_unknown">
13850 <parameter_description> %TRUE to ignore unknown options, %FALSE to produce
13851 an error when unknown options are met
13852 </parameter_description>
13853 </parameter>
13854 </parameters>
13855 <return></return>
13856 </function>
13857
13858 <function name="g_clear_error">
13859 <description>
13860 If @err is %NULL, does nothing. If @err is non-%NULL,
13861 calls g_error_free() on *@err and sets *@err to %NULL.
13862
13863 </description>
13864 <parameters>
13865 <parameter name="err">
13866 <parameter_description> a #GError return location
13867 </parameter_description>
13868 </parameter>
13869 </parameters>
13870 <return></return>
13871 </function>
13872
13873 <function name="g_sequence_get_end_iter">
13874 <description>
13875 Return value: the end iterator for @seq
13876
13877 </description>
13878 <parameters>
13879 <parameter name="seq">
13880 <parameter_description> a #GSequence 
13881 </parameter_description>
13882 </parameter>
13883 </parameters>
13884 <return> the end iterator for @seq
13885
13886 Since: 2.14
13887 </return>
13888 </function>
13889
13890 <function name="g_ascii_tolower">
13891 <description>
13892 Convert a character to ASCII lower case.
13893
13894 Unlike the standard C library tolower() function, this only
13895 recognizes standard ASCII letters and ignores the locale, returning
13896 all non-ASCII characters unchanged, even if they are lower case
13897 letters in a particular character set. Also unlike the standard
13898 library function, this takes and returns a char, not an int, so
13899 don&apos;t call it on %EOF but no need to worry about casting to #guchar
13900 before passing a possibly non-ASCII character in.
13901
13902
13903 </description>
13904 <parameters>
13905 <parameter name="c">
13906 <parameter_description> any character.
13907 </parameter_description>
13908 </parameter>
13909 </parameters>
13910 <return> the result of converting @c to lower case.
13911 If @c is not an ASCII upper case letter,
13912 @c is returned unchanged.
13913 </return>
13914 </function>
13915
13916 <function name="g_queue_get_length">
13917 <description>
13918 Return value: The number of items in @queue.
13919
13920 </description>
13921 <parameters>
13922 <parameter name="queue">
13923 <parameter_description> a #GQueue
13924 </parameter_description>
13925 </parameter>
13926 </parameters>
13927 <return> The number of items in @queue.
13928
13929 Since: 2.4
13930 </return>
13931 </function>
13932
13933 <function name="g_io_channel_get_line_term">
13934 <description>
13935 This returns the string that #GIOChannel uses to determine
13936 where in the file a line break occurs. A value of %NULL
13937 indicates auto detection.
13938
13939
13940 </description>
13941 <parameters>
13942 <parameter name="channel">
13943 <parameter_description> a #GIOChannel
13944 </parameter_description>
13945 </parameter>
13946 <parameter name="length">
13947 <parameter_description> a location to return the length of the line terminator
13948 </parameter_description>
13949 </parameter>
13950 </parameters>
13951 <return> The line termination string. This value
13952 is owned by GLib and must not be freed.
13953 </return>
13954 </function>
13955
13956 <function name="g_utf8_strreverse">
13957 <description>
13958 Reverses a UTF-8 string. @str must be valid UTF-8 encoded text. 
13959 (Use g_utf8_validate() on all text before trying to use UTF-8 
13960 utility functions with it.)
13961
13962 Note that unlike g_strreverse(), this function returns
13963 newly-allocated memory, which should be freed with g_free() when
13964 no longer needed. 
13965
13966
13967 </description>
13968 <parameters>
13969 <parameter name="str">
13970 <parameter_description> a UTF-8 encoded string
13971 </parameter_description>
13972 </parameter>
13973 <parameter name="len">
13974 <parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
13975 the string is nul-terminated.
13976 </parameter_description>
13977 </parameter>
13978 </parameters>
13979 <return> a newly-allocated string which is the reverse of @str.
13980
13981 Since: 2.2
13982 </return>
13983 </function>
13984
13985 <function name="g_random_int_range">
13986 <description>
13987 Return value: A random number.
13988
13989 </description>
13990 <parameters>
13991 <parameter name="begin">
13992 <parameter_description> lower closed bound of the interval.
13993 </parameter_description>
13994 </parameter>
13995 <parameter name="end">
13996 <parameter_description> upper open bound of the interval.
13997 </parameter_description>
13998 </parameter>
13999 </parameters>
14000 <return> A random number.
14001 </return>
14002 </function>
14003
14004 <function name="g_datalist_get_flags">
14005 <description>
14006 Gets flags values packed in together with the datalist.
14007 See g_datalist_set_flags().
14008
14009
14010 </description>
14011 <parameters>
14012 <parameter name="datalist">
14013 <parameter_description> pointer to the location that holds a list
14014 </parameter_description>
14015 </parameter>
14016 </parameters>
14017 <return> the flags of the datalist
14018
14019 Since: 2.8
14020 </return>
14021 </function>
14022
14023 <function name="g_idle_remove_by_data">
14024 <description>
14025 Removes the idle function with the given data.
14026
14027
14028 </description>
14029 <parameters>
14030 <parameter name="data">
14031 <parameter_description> the data for the idle source&apos;s callback.
14032 </parameter_description>
14033 </parameter>
14034 </parameters>
14035 <return> %TRUE if an idle source was found and removed.
14036 </return>
14037 </function>
14038
14039 <function name="g_queue_new">
14040 <description>
14041 Creates a new #GQueue. 
14042
14043
14044 </description>
14045 <parameters>
14046 </parameters>
14047 <return> a new #GQueue.
14048 </return>
14049 </function>
14050
14051 <function name="g_basename">
14052 <description>
14053 Gets the name of the file without any leading directory components.  
14054 It returns a pointer into the given file name string.
14055
14056
14057 </description>
14058 <parameters>
14059 <parameter name="file_name">
14060 <parameter_description> the name of the file.
14061 </parameter_description>
14062 </parameter>
14063 </parameters>
14064 <return> the name of the file without any leading directory components.
14065
14066 Deprecated:2.2: Use g_path_get_basename() instead, but notice that
14067 g_path_get_basename() allocates new memory for the returned string, unlike
14068 this function which returns a pointer into the argument.
14069 </return>
14070 </function>
14071
14072 <function name="g_unlink">
14073 <description>
14074 A wrapper for the POSIX unlink() function. The unlink() function 
14075 deletes a name from the filesystem. If this was the last link to the 
14076 file and no processes have it opened, the diskspace occupied by the
14077 file is freed.
14078
14079 See your C library manual for more details about unlink(). Note
14080 that on Windows, it is in general not possible to delete files that
14081 are open to some process, or mapped into memory.
14082
14083
14084 </description>
14085 <parameters>
14086 <parameter name="filename">
14087 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
14088 </parameter_description>
14089 </parameter>
14090 </parameters>
14091 <return> 0 if the name was successfully deleted, -1 if an error 
14092 occurred
14093
14094 Since: 2.6
14095 </return>
14096 </function>
14097
14098 <function name="g_io_channel_get_buffered">
14099 <description>
14100 Return Value: %TRUE if the @channel is buffered. 
14101
14102 </description>
14103 <parameters>
14104 <parameter name="channel">
14105 <parameter_description> a #GIOChannel.
14106 </parameter_description>
14107 </parameter>
14108 </parameters>
14109 <return> %TRUE if the @channel is buffered. 
14110 </return>
14111 </function>
14112
14113 <function name="g_io_channel_read_to_end">
14114 <description>
14115 Reads all the remaining data from the file.
14116
14117
14118 </description>
14119 <parameters>
14120 <parameter name="channel">
14121 <parameter_description> a #GIOChannel
14122 </parameter_description>
14123 </parameter>
14124 <parameter name="str_return">
14125 <parameter_description> Location to store a pointer to a string holding
14126 the remaining data in the #GIOChannel. This data should
14127 be freed with g_free() when no longer needed. This
14128 data is terminated by an extra nul character, but there 
14129 may be other nuls in the intervening data.
14130 </parameter_description>
14131 </parameter>
14132 <parameter name="length">
14133 <parameter_description> Location to store length of the data
14134 </parameter_description>
14135 </parameter>
14136 <parameter name="error">
14137 <parameter_description> A location to return an error of type #GConvertError
14138 or #GIOChannelError
14139 </parameter_description>
14140 </parameter>
14141 </parameters>
14142 <return> %G_IO_STATUS_NORMAL on success. 
14143 This function never returns %G_IO_STATUS_EOF.
14144 </return>
14145 </function>
14146
14147 <function name="g_sequence_remove">
14148 <description>
14149 Removes the item pointed to by @iter. It is an error to pass the
14150 end iterator to this function.
14151
14152 If the sequnce has a data destroy function associated with it, this
14153 function is called on the data for the removed item.
14154
14155 Since: 2.14
14156
14157 </description>
14158 <parameters>
14159 <parameter name="iter">
14160 <parameter_description> a #GSequenceIter
14161 </parameter_description>
14162 </parameter>
14163 </parameters>
14164 <return></return>
14165 </function>
14166
14167 <function name="g_unichar_islower">
14168 <description>
14169 Determines whether a character is a lowercase letter.
14170 Given some UTF-8 text, obtain a character value with
14171 g_utf8_get_char().
14172
14173
14174 </description>
14175 <parameters>
14176 <parameter name="c">
14177 <parameter_description> a Unicode character
14178 </parameter_description>
14179 </parameter>
14180 </parameters>
14181 <return> %TRUE if @c is a lowercase letter
14182 </return>
14183 </function>
14184
14185 <function name="g_async_queue_try_pop_unlocked">
14186 <description>
14187 Tries to pop data from the @queue. If no data is available, %NULL is
14188 returned. This function must be called while holding the @queue&apos;s
14189 lock.
14190
14191
14192 </description>
14193 <parameters>
14194 <parameter name="queue">
14195 <parameter_description> a #GAsyncQueue.
14196 </parameter_description>
14197 </parameter>
14198 </parameters>
14199 <return> data from the queue or %NULL, when no data is
14200 available immediately.
14201 </return>
14202 </function>
14203
14204 <function name="g_main_depth">
14205 <description>
14206 Returns the depth of the stack of calls to
14207
14208 </description>
14209 <parameters>
14210 </parameters>
14211 <return>the depth of the stack of calls to
14212 g_main_context_dispatch() on any #GMainContext in the current thread.
14213 That is, when called from the toplevel, it gives 0. When
14214 called from within a callback from g_main_context_iteration()
14215 (or g_main_loop_run(), etc.) it returns 1. When called from within 
14216 a callback to a recursive call to g_main_context_iterate(),
14217 it returns 2. And so forth.
14218
14219 This function is useful in a situation like the following:
14220 Imagine an extremely simple &quot;garbage collected&quot; system.
14221
14222 &amp;lt;example&amp;gt;
14223 static GList *free_list;
14224
14225 gpointer
14226 allocate_memory (gsize size)
14227
14228 gpointer result = g_malloc (size);
14229 free_list = g_list_prepend (free_list, result);
14230 return result;
14231 }
14232
14233 void
14234 free_allocated_memory (void)
14235 {
14236 GList *l;
14237 for (l = free_list; l; l = l-&amp;gt;next);
14238 g_free (l-&amp;gt;data);
14239 g_list_free (free_list);
14240 free_list = NULL;
14241 }
14242
14243 [...]
14244
14245 while (TRUE); 
14246 {
14247 g_main_context_iteration (NULL, TRUE);
14248 free_allocated_memory();
14249 }
14250 &amp;lt;/example&amp;gt;
14251
14252 This works from an application, however, if you want to do the same
14253 thing from a library, it gets more difficult, since you no longer
14254 control the main loop. You might think you can simply use an idle
14255 function to make the call to free_allocated_memory(), but that
14256 doesn&apos;t work, since the idle function could be called from a
14257 recursive callback. This can be fixed by using g_main_depth()
14258
14259 &amp;lt;example&amp;gt;
14260 gpointer
14261 allocate_memory (gsize size)
14262
14263 FreeListBlock *block = g_new (FreeListBlock, 1);\
14264 block-&amp;gt;mem = g_malloc (size);
14265 block-&amp;gt;depth = g_main_depth ();   
14266 free_list = g_list_prepend (free_list, block);
14267 return block-&amp;gt;mem;
14268 }
14269
14270 void
14271 free_allocated_memory (void)
14272 {
14273 GList *l;
14274
14275 int depth = g_main_depth ();
14276 for (l = free_list; l; );
14277 {
14278 GList *next = l-&amp;gt;next;
14279 FreeListBlock *block = l-&amp;gt;data;
14280 if (block-&amp;gt;depth &amp;gt; depth)
14281 {
14282 g_free (block-&amp;gt;mem);
14283 g_free (block);
14284 free_list = g_list_delete_link (free_list, l);
14285 }
14286
14287 l = next;
14288 }
14289 }
14290 &amp;lt;/example&amp;gt;
14291
14292 There is a temptation to use g_main_depth() to solve
14293 problems with reentrancy. For instance, while waiting for data
14294 to be received from the network in response to a menu item,
14295 the menu item might be selected again. It might seem that
14296 one could make the menu item&apos;s callback return immediately
14297 and do nothing if g_main_depth() returns a value greater than 1.
14298 However, this should be avoided since the user then sees selecting
14299 the menu item do nothing. Furthermore, you&apos;ll find yourself adding
14300 these checks all over your code, since there are doubtless many,
14301 many things that the user could do. Instead, you can use the
14302 following techniques:
14303
14304 &amp;lt;orderedlist&amp;gt;
14305 &amp;lt;listitem&amp;gt;
14306 &amp;lt;para&amp;gt;
14307 Use gtk_widget_set_sensitive() or modal dialogs to prevent
14308 the user from interacting with elements while the main
14309 loop is recursing.
14310 &amp;lt;/para&amp;gt;
14311 &amp;lt;/listitem&amp;gt;
14312 &amp;lt;listitem&amp;gt;
14313 &amp;lt;para&amp;gt;
14314 Avoid main loop recursion in situations where you can&apos;t handle
14315 arbitrary  callbacks. Instead, structure your code so that you
14316 simply return to the main loop and then get called again when
14317 there is more work to do.
14318 &amp;lt;/para&amp;gt;
14319 &amp;lt;/listitem&amp;gt;
14320 &amp;lt;/orderedlist&amp;gt;
14321 </return>
14322 </function>
14323
14324 <function name="g_hash_table_remove_all">
14325 <description>
14326 Removes all keys and their associated values from a #GHashTable.
14327
14328 If the #GHashTable was created using g_hash_table_new_full(), the keys
14329 and values are freed using the supplied destroy functions, otherwise you
14330 have to make sure that any dynamically allocated values are freed
14331 yourself.
14332
14333 Since: 2.12
14334
14335 </description>
14336 <parameters>
14337 <parameter name="hash_table">
14338 <parameter_description> a #GHashTable
14339 </parameter_description>
14340 </parameter>
14341 </parameters>
14342 <return></return>
14343 </function>
14344
14345 <function name="g_rand_double_range">
14346 <description>
14347 Return value: A random number.
14348
14349 </description>
14350 <parameters>
14351 <parameter name="rand_">
14352 <parameter_description> a #GRand.
14353 </parameter_description>
14354 </parameter>
14355 <parameter name="begin">
14356 <parameter_description> lower closed bound of the interval.
14357 </parameter_description>
14358 </parameter>
14359 <parameter name="end">
14360 <parameter_description> upper open bound of the interval.
14361 </parameter_description>
14362 </parameter>
14363 </parameters>
14364 <return> A random number.
14365 </return>
14366 </function>
14367
14368 <function name="g_hash_table_remove">
14369 <description>
14370 Removes a key and its associated value from a #GHashTable.
14371
14372 If the #GHashTable was created using g_hash_table_new_full(), the
14373 key and value are freed using the supplied destroy functions, otherwise
14374 you have to make sure that any dynamically allocated values are freed 
14375 yourself.
14376
14377
14378 </description>
14379 <parameters>
14380 <parameter name="hash_table">
14381 <parameter_description> a #GHashTable.
14382 </parameter_description>
14383 </parameter>
14384 <parameter name="key">
14385 <parameter_description> the key to remove.
14386 </parameter_description>
14387 </parameter>
14388 </parameters>
14389 <return> %TRUE if the key was found and removed from the #GHashTable.
14390 </return>
14391 </function>
14392
14393 <function name="g_string_up">
14394 <description>
14395 Converts a #GString to uppercase.
14396
14397
14398 </description>
14399 <parameters>
14400 <parameter name="string">
14401 <parameter_description> a #GString 
14402 </parameter_description>
14403 </parameter>
14404 </parameters>
14405 <return> @string
14406
14407 Deprecated:2.2: This function uses the locale-specific 
14408 toupper() function, which is almost never the right thing. 
14409 Use g_string_ascii_up() or g_utf8_strup() instead.
14410 </return>
14411 </function>
14412
14413 <function name="g_error_matches">
14414 <description>
14415 Return value: whether @error has @domain and @code
14416
14417 </description>
14418 <parameters>
14419 <parameter name="error">
14420 <parameter_description> a #GError
14421 </parameter_description>
14422 </parameter>
14423 <parameter name="domain">
14424 <parameter_description> an error domain
14425 </parameter_description>
14426 </parameter>
14427 <parameter name="code">
14428 <parameter_description> an error code
14429 </parameter_description>
14430 </parameter>
14431 </parameters>
14432 <return> whether @error has @domain and @code
14433 </return>
14434 </function>
14435
14436 <function name="g_string_sized_new">
14437 <description>
14438 Creates a new #GString, with enough space for @dfl_size 
14439 bytes. This is useful if you are going to add a lot of 
14440 text to the string and don&apos;t want it to be reallocated 
14441 too often.
14442
14443
14444 </description>
14445 <parameters>
14446 <parameter name="dfl_size">
14447 <parameter_description> the default size of the space allocated to 
14448 hold the string
14449 </parameter_description>
14450 </parameter>
14451 </parameters>
14452 <return> the new #GString
14453 </return>
14454 </function>
14455
14456 <function name="_glib_get_locale_dir">
14457 <description>
14458 Return the path to the lib\locale subfolder of the GLib
14459 installation folder. The path is in the system codepage. We have to
14460 use system codepage as bindtextdomain() doesn&apos;t have a UTF-8
14461 interface.
14462
14463 </description>
14464 <parameters>
14465 </parameters>
14466 <return></return>
14467 </function>
14468
14469 <function name="g_filename_display_name">
14470 <description>
14471 Converts a filename into a valid UTF-8 string. The conversion is 
14472 not necessarily reversible, so you should keep the original around 
14473 and use the return value of this function only for display purposes.
14474 Unlike g_filename_to_utf8(), the result is guaranteed to be non-%NULL 
14475 even if the filename actually isn&apos;t in the GLib file name encoding.
14476
14477 If GLib can not make sense of the encoding of @filename, as a last resort it 
14478 replaces unknown characters with U+FFFD, the Unicode replacement character.
14479 You can search the result for the UTF-8 encoding of this character (which is
14480 &quot;\357\277\275&quot; in octal notation) to find out if @filename was in an invalid
14481 encoding.
14482
14483 If you know the whole pathname of the file you should use
14484 g_filename_display_basename(), since that allows location-based
14485 translation of filenames.
14486
14487
14488 </description>
14489 <parameters>
14490 <parameter name="filename">
14491 <parameter_description> a pathname hopefully in the GLib file name encoding
14492 </parameter_description>
14493 </parameter>
14494 </parameters>
14495 <return> a newly allocated string containing
14496 a rendition of the filename in valid UTF-8
14497
14498 Since: 2.6
14499 </return>
14500 </function>
14501
14502 <function name="g_option_context_add_main_entries">
14503 <description>
14504 A convenience function which creates a main group if it doesn&apos;t 
14505 exist, adds the @entries to it and sets the translation domain.
14506
14507 Since: 2.6
14508
14509 </description>
14510 <parameters>
14511 <parameter name="context">
14512 <parameter_description> a #GOptionContext
14513 </parameter_description>
14514 </parameter>
14515 <parameter name="entries">
14516 <parameter_description> a %NULL-terminated array of #GOptionEntry&amp;lt;!-- --&amp;gt;s
14517 </parameter_description>
14518 </parameter>
14519 <parameter name="translation_domain">
14520 <parameter_description> a translation domain to use for translating
14521 the &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output for the options in @entries
14522 with gettext(), or %NULL
14523 </parameter_description>
14524 </parameter>
14525 </parameters>
14526 <return></return>
14527 </function>
14528
14529 <function name="g_dir_open">
14530 <description>
14531 Opens a directory for reading. The names of the files in the
14532 directory can then be retrieved using g_dir_read_name().
14533
14534
14535 </description>
14536 <parameters>
14537 <parameter name="path">
14538 <parameter_description> the path to the directory you are interested in. On Unix
14539 in the on-disk encoding. On Windows in UTF-8
14540 </parameter_description>
14541 </parameter>
14542 <parameter name="flags">
14543 <parameter_description> Currently must be set to 0. Reserved for future use.
14544 </parameter_description>
14545 </parameter>
14546 <parameter name="error">
14547 <parameter_description> return location for a #GError, or %NULL.
14548 If non-%NULL, an error will be set if and only if
14549 g_dir_open() fails.
14550 </parameter_description>
14551 </parameter>
14552 </parameters>
14553 <return> a newly allocated #GDir on success, %NULL on failure.
14554 If non-%NULL, you must free the result with g_dir_close()
14555 when you are finished with it.
14556 </return>
14557 </function>
14558
14559 <function name="g_lstat">
14560 <description>
14561 A wrapper for the POSIX lstat() function. The lstat() function is
14562 like stat() except that in the case of symbolic links, it returns
14563 information about the symbolic link itself and not the file that it
14564 refers to. If the system does not support symbolic links g_lstat()
14565 is identical to g_stat().
14566
14567 See the C library manual for more details about lstat().
14568
14569
14570 </description>
14571 <parameters>
14572 <parameter name="filename">
14573 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
14574 </parameter_description>
14575 </parameter>
14576 <parameter name="buf">
14577 <parameter_description> a pointer to a &amp;lt;structname&amp;gt;stat&amp;lt;/structname&amp;gt; struct, which
14578 will be filled with the file information
14579 </parameter_description>
14580 </parameter>
14581 </parameters>
14582 <return> 0 if the information was successfully retrieved, -1 if an error 
14583 occurred
14584
14585 Since: 2.6
14586 </return>
14587 </function>
14588
14589 <function name="g_thread_pool_push">
14590 <description>
14591 Inserts @data into the list of tasks to be executed by @pool. When
14592 the number of currently running threads is lower than the maximal
14593 allowed number of threads, a new thread is started (or reused) with
14594 the properties given to g_thread_pool_new (). Otherwise @data stays
14595 in the queue until a thread in this pool finishes its previous task
14596 and processes @data. 
14597
14598 @error can be %NULL to ignore errors, or non-%NULL to report
14599 errors. An error can only occur when a new thread couldn&apos;t be
14600 created. In that case @data is simply appended to the queue of work
14601 to do.  
14602
14603 </description>
14604 <parameters>
14605 <parameter name="pool">
14606 <parameter_description> a #GThreadPool
14607 </parameter_description>
14608 </parameter>
14609 <parameter name="data">
14610 <parameter_description> a new task for @pool
14611 </parameter_description>
14612 </parameter>
14613 <parameter name="error">
14614 <parameter_description> return location for error
14615 </parameter_description>
14616 </parameter>
14617 </parameters>
14618 <return></return>
14619 </function>
14620
14621 <function name="g_regex_ref">
14622 <description>
14623 Increases reference count of @regex by 1.
14624
14625
14626 </description>
14627 <parameters>
14628 <parameter name="regex">
14629 <parameter_description> a #GRegex
14630 </parameter_description>
14631 </parameter>
14632 </parameters>
14633 <return> @regex
14634
14635 Since: 2.14
14636 </return>
14637 </function>
14638
14639 <function name="g_string_prepend_c">
14640 <description>
14641 Adds a byte onto the start of a #GString, 
14642 expanding it if necessary.
14643
14644
14645 </description>
14646 <parameters>
14647 <parameter name="string">
14648 <parameter_description> a #GString
14649 </parameter_description>
14650 </parameter>
14651 <parameter name="c">
14652 <parameter_description> the byte to prepend on the start of the #GString
14653 </parameter_description>
14654 </parameter>
14655 </parameters>
14656 <return> @string
14657 </return>
14658 </function>
14659
14660 <function name="g_sequence_sort_changed">
14661 <description>
14662 Moves the data pointed to a new position as indicated by @cmp_func. This
14663 function should be called for items in a sequence already sorted according
14664 to @cmp_func whenever some aspect of an item changes so that @cmp_func
14665 may return different values for that item.
14666
14667 Since: 2.14
14668
14669 </description>
14670 <parameters>
14671 <parameter name="iter">
14672 <parameter_description> A #GSequenceIter
14673 </parameter_description>
14674 </parameter>
14675 <parameter name="cmp_func">
14676 <parameter_description> the #GCompareDataFunc used to compare items in the sequence. It
14677 is called with two items of the @seq and @user_data. It should
14678 return 0 if the items are equal, a negative value if the first
14679 item comes before the second, and a positive value if the second
14680 item comes before the first.
14681 </parameter_description>
14682 </parameter>
14683 <parameter name="cmp_data">
14684 <parameter_description> user data passed to @cmp_func.
14685 </parameter_description>
14686 </parameter>
14687 </parameters>
14688 <return></return>
14689 </function>
14690
14691 <function name="g_strip_context">
14692 <description>
14693 An auxiliary function for gettext() support (see Q_()).
14694
14695
14696 </description>
14697 <parameters>
14698 <parameter name="msgid">
14699 <parameter_description> a string
14700 </parameter_description>
14701 </parameter>
14702 <parameter name="msgval">
14703 <parameter_description> another string
14704 </parameter_description>
14705 </parameter>
14706 </parameters>
14707 <return> @msgval, unless @msgval is identical to @msgid and contains
14708 a &apos;|&apos; character, in which case a pointer to the substring of msgid after
14709 the first &apos;|&apos; character is returned. 
14710
14711 Since: 2.4
14712 </return>
14713 </function>
14714
14715 <function name="g_main_context_query">
14716 <description>
14717 Determines information necessary to poll this main loop.
14718
14719
14720 </description>
14721 <parameters>
14722 <parameter name="context">
14723 <parameter_description> a #GMainContext
14724 </parameter_description>
14725 </parameter>
14726 <parameter name="max_priority">
14727 <parameter_description> maximum priority source to check
14728 </parameter_description>
14729 </parameter>
14730 <parameter name="timeout_">
14731 <parameter_description> location to store timeout to be used in polling
14732 </parameter_description>
14733 </parameter>
14734 <parameter name="fds">
14735 <parameter_description> location to store #GPollFD records that need to be polled.
14736 </parameter_description>
14737 </parameter>
14738 <parameter name="n_fds">
14739 <parameter_description> length of @fds.
14740 </parameter_description>
14741 </parameter>
14742 </parameters>
14743 <return> the number of records actually stored in @fds,
14744 or, if more than @n_fds records need to be stored, the number
14745 of records that need to be stored.
14746 </return>
14747 </function>
14748
14749 <function name="g_get_home_dir">
14750 <description>
14751 Gets the current user&apos;s home directory as defined in the 
14752 password database.
14753
14754 Note that in contrast to traditional UNIX tools, this function 
14755 prefers &amp;lt;filename&amp;gt;passwd&amp;lt;/filename&amp;gt; entries over the &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt; 
14756 environment variable. 
14757
14758 One of the reasons for this decision is that applications in many 
14759 cases need special handling to deal with the case where 
14760 &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt; is
14761 &amp;lt;simplelist&amp;gt;
14762 &amp;lt;member&amp;gt;Not owned by the user&amp;lt;/member&amp;gt;
14763 &amp;lt;member&amp;gt;Not writeable&amp;lt;/member&amp;gt;
14764 &amp;lt;member&amp;gt;Not even readable&amp;lt;/member&amp;gt;
14765 &amp;lt;/simplelist&amp;gt;
14766 Since applications are in general &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; written 
14767 to deal with these situations it was considered better to make 
14768 g_get_homedir() not pay attention to &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt; and to 
14769 return the real home directory for the user. If applications
14770 want to pay attention to &amp;lt;envar&amp;gt;HOME&amp;lt;/envar&amp;gt;, they can do:
14771 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
14772 const char *homedir = g_getenv (&quot;HOME&quot;);
14773 if (!homedir)
14774 homedir = g_get_homedir (&amp;lt;!-- --&amp;gt;);
14775 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
14776
14777
14778 </description>
14779 <parameters>
14780 </parameters>
14781 <return> the current user&apos;s home directory
14782 </return>
14783 </function>
14784
14785 <function name="g_memmove">
14786 <description>
14787 Copies a block of memory @len bytes long, from @src to @dest.
14788 The source and destination areas may overlap.
14789
14790 In order to use this function, you must include 
14791 &amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; yourself, because this macro will 
14792 typically simply resolve to memmove() and GLib does not include 
14793 &amp;lt;filename&amp;gt;string.h&amp;lt;/filename&amp;gt; for you.
14794
14795 </description>
14796 <parameters>
14797 <parameter name="dest">
14798 <parameter_description> the destination address to copy the bytes to.
14799 </parameter_description>
14800 </parameter>
14801 <parameter name="src">
14802 <parameter_description> the source address to copy the bytes from.
14803 </parameter_description>
14804 </parameter>
14805 <parameter name="len">
14806 <parameter_description> the number of bytes to copy.
14807 </parameter_description>
14808 </parameter>
14809 </parameters>
14810 <return></return>
14811 </function>
14812
14813 <function name="g_queue_free">
14814 <description>
14815 Frees the memory allocated for the #GQueue. Only call this function if
14816 @queue was created with g_queue_new(). If queue elements contain
14817 dynamically-allocated memory, they should be freed first.
14818
14819 </description>
14820 <parameters>
14821 <parameter name="queue">
14822 <parameter_description> a #GQueue.
14823 </parameter_description>
14824 </parameter>
14825 </parameters>
14826 <return></return>
14827 </function>
14828
14829 <function name="g_match_info_expand_references">
14830 <description>
14831 Returns: the expanded string, or %NULL if an error occurred
14832
14833 </description>
14834 <parameters>
14835 <parameter name="match_info">
14836 <parameter_description> a #GMatchInfo or %NULL
14837 </parameter_description>
14838 </parameter>
14839 <parameter name="string_to_expand">
14840 <parameter_description> the string to expand
14841 </parameter_description>
14842 </parameter>
14843 <parameter name="error">
14844 <parameter_description> location to store the error occuring, or %NULL to ignore errors
14845 </parameter_description>
14846 </parameter>
14847 </parameters>
14848 <return> the expanded string, or %NULL if an error occurred
14849
14850 Since: 2.14
14851 </return>
14852 </function>
14853
14854 <function name="g_key_file_load_from_data">
14855 <description>
14856 Loads a key file from memory into an empty #GKeyFile structure.  If
14857 the object cannot be created then %error is set to a
14858 #GKeyFileError. 
14859
14860
14861 </description>
14862 <parameters>
14863 <parameter name="key_file">
14864 <parameter_description> an empty #GKeyFile struct
14865 </parameter_description>
14866 </parameter>
14867 <parameter name="data">
14868 <parameter_description> key file loaded in memory.
14869 </parameter_description>
14870 </parameter>
14871 <parameter name="length">
14872 <parameter_description> the length of @data in bytes
14873 </parameter_description>
14874 </parameter>
14875 <parameter name="flags">
14876 <parameter_description> flags from #GKeyFileFlags
14877 </parameter_description>
14878 </parameter>
14879 <parameter name="error">
14880 <parameter_description> return location for a #GError, or %NULL
14881 </parameter_description>
14882 </parameter>
14883 </parameters>
14884 <return> %TRUE if a key file could be loaded, %FALSE othewise
14885 Since: 2.6
14886 </return>
14887 </function>
14888
14889 <function name="g_string_ascii_up">
14890 <description>
14891 Converts all lower case ASCII letters to upper case ASCII letters.
14892
14893
14894 </description>
14895 <parameters>
14896 <parameter name="string">
14897 <parameter_description> a GString
14898 </parameter_description>
14899 </parameter>
14900 </parameters>
14901 <return> passed-in @string pointer, with all the lower case
14902 characters converted to upper case in place, with
14903 semantics that exactly match g_ascii_toupper().
14904 </return>
14905 </function>
14906
14907 <function name="g_key_file_get_value">
14908 <description>
14909 Return value: a newly allocated string or %NULL if the specified 
14910
14911 </description>
14912 <parameters>
14913 <parameter name="key_file">
14914 <parameter_description> a #GKeyFile
14915 </parameter_description>
14916 </parameter>
14917 <parameter name="group_name">
14918 <parameter_description> a group name
14919 </parameter_description>
14920 </parameter>
14921 <parameter name="key">
14922 <parameter_description> a key
14923 </parameter_description>
14924 </parameter>
14925 <parameter name="error">
14926 <parameter_description> return location for a #GError, or %NULL
14927 </parameter_description>
14928 </parameter>
14929 </parameters>
14930 <return> a newly allocated string or %NULL if the specified 
14931 key cannot be found.
14932
14933 Since: 2.6
14934 </return>
14935 </function>
14936
14937 <function name="g_markup_parse_context_end_parse">
14938 <description>
14939 Signals to the #GMarkupParseContext that all data has been
14940 fed into the parse context with g_markup_parse_context_parse().
14941 This function reports an error if the document isn&apos;t complete,
14942 for example if elements are still open.
14943
14944
14945 </description>
14946 <parameters>
14947 <parameter name="context">
14948 <parameter_description> a #GMarkupParseContext
14949 </parameter_description>
14950 </parameter>
14951 <parameter name="error">
14952 <parameter_description> return location for a #GError
14953 </parameter_description>
14954 </parameter>
14955 </parameters>
14956 <return> %TRUE on success, %FALSE if an error was set
14957 </return>
14958 </function>
14959
14960 <function name="g_thread_pool_get_max_threads">
14961 <description>
14962 Return value: the maximal number of threads
14963
14964 </description>
14965 <parameters>
14966 <parameter name="pool">
14967 <parameter_description> a #GThreadPool
14968 </parameter_description>
14969 </parameter>
14970 </parameters>
14971 <return> the maximal number of threads
14972 </return>
14973 </function>
14974
14975 <function name="g_ascii_digit_value">
14976 <description>
14977 Determines the numeric value of a character as a decimal
14978 digit. Differs from g_unichar_digit_value() because it takes
14979 a char, so there&apos;s no worry about sign extension if characters
14980 are signed.
14981
14982
14983 </description>
14984 <parameters>
14985 <parameter name="c">
14986 <parameter_description> an ASCII character.
14987 </parameter_description>
14988 </parameter>
14989 </parameters>
14990 <return> If @c is a decimal digit (according to
14991 g_ascii_isdigit()), its numeric value. Otherwise, -1.
14992 </return>
14993 </function>
14994
14995 <function name="g_main_context_set_poll_func">
14996 <description>
14997 Sets the function to use to handle polling of file descriptors. It
14998 will be used instead of the poll() system call 
14999 (or GLib&apos;s replacement function, which is used where 
15000 poll() isn&apos;t available).
15001
15002 This function could possibly be used to integrate the GLib event
15003 loop with an external event loop.
15004
15005 </description>
15006 <parameters>
15007 <parameter name="context">
15008 <parameter_description> a #GMainContext
15009 </parameter_description>
15010 </parameter>
15011 <parameter name="func">
15012 <parameter_description> the function to call to poll all file descriptors
15013 </parameter_description>
15014 </parameter>
15015 </parameters>
15016 <return></return>
15017 </function>
15018
15019 <function name="g_regex_new">
15020 <description>
15021 Compiles the regular expression to an internal form, and does 
15022 the initial setup of the #GRegex structure.  
15023
15024
15025 </description>
15026 <parameters>
15027 <parameter name="pattern">
15028 <parameter_description> the regular expression
15029 </parameter_description>
15030 </parameter>
15031 <parameter name="compile_options">
15032 <parameter_description> compile options for the regular expression
15033 </parameter_description>
15034 </parameter>
15035 <parameter name="match_options">
15036 <parameter_description> match options for the regular expression
15037 </parameter_description>
15038 </parameter>
15039 <parameter name="error">
15040 <parameter_description> return location for a #GError
15041 </parameter_description>
15042 </parameter>
15043 </parameters>
15044 <return> a #GRegex structure. Call g_regex_unref() when you 
15045 are done with it
15046
15047 Since: 2.14
15048 </return>
15049 </function>
15050
15051 <function name="g_queue_pop_tail">
15052 <description>
15053 Removes the last element of the queue.
15054
15055
15056 </description>
15057 <parameters>
15058 <parameter name="queue">
15059 <parameter_description> a #GQueue.
15060 </parameter_description>
15061 </parameter>
15062 </parameters>
15063 <return> the data of the last element in the queue, or %NULL if the queue
15064 is empty.
15065 </return>
15066 </function>
15067
15068 <function name="g_timeout_add_full">
15069 <description>
15070 Sets a function to be called at regular intervals, with the given
15071 priority.  The function is called repeatedly until it returns
15072 %FALSE, at which point the timeout is automatically destroyed and
15073 the function will not be called again.  The @notify function is
15074 called when the timeout is destroyed.  The first call to the
15075 function will be at the end of the first @interval.
15076
15077 Note that timeout functions may be delayed, due to the processing of other
15078 event sources. Thus they should not be relied on for precise timing.
15079 After each call to the timeout function, the time of the next
15080 timeout is recalculated based on the current time and the given interval
15081 (it does not try to &apos;catch up&apos; time lost in delays).
15082
15083
15084 </description>
15085 <parameters>
15086 <parameter name="priority">
15087 <parameter_description> the priority of the timeout source. Typically this will be in
15088 the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
15089 </parameter_description>
15090 </parameter>
15091 <parameter name="interval">
15092 <parameter_description> the time between calls to the function, in milliseconds
15093 (1/1000ths of a second)
15094 </parameter_description>
15095 </parameter>
15096 <parameter name="function">
15097 <parameter_description> function to call
15098 </parameter_description>
15099 </parameter>
15100 <parameter name="data">
15101 <parameter_description>     data to pass to @function
15102 </parameter_description>
15103 </parameter>
15104 <parameter name="notify">
15105 <parameter_description>   function to call when the timeout is removed, or %NULL
15106 </parameter_description>
15107 </parameter>
15108 </parameters>
15109 <return> the ID (greater than 0) of the event source.
15110 </return>
15111 </function>
15112
15113 <function name="g_source_is_destroyed">
15114 <description>
15115 Return value: %TRUE if the source has been destroyed
15116
15117 </description>
15118 <parameters>
15119 <parameter name="source">
15120 <parameter_description> a #GSource
15121 </parameter_description>
15122 </parameter>
15123 </parameters>
15124 <return> %TRUE if the source has been destroyed
15125
15126 Since: 2.12
15127 </return>
15128 </function>
15129
15130 <function name="g_date_set_time_val">
15131 <description>
15132 Sets the value of a date from a #GTimeVal value.  Note that the
15133 @tv_usec member is ignored, because #GDate can&apos;t make use of the
15134 additional precision.
15135
15136 Since: 2.10
15137
15138 </description>
15139 <parameters>
15140 <parameter name="date">
15141 <parameter_description> a #GDate 
15142 </parameter_description>
15143 </parameter>
15144 <parameter name="timeval">
15145 <parameter_description> #GTimeVal value to set
15146 </parameter_description>
15147 </parameter>
15148 </parameters>
15149 <return></return>
15150 </function>
15151
15152 <function name="g_unichar_iszerowidth">
15153 <description>
15154 Determines if a given character typically takes zero width when rendered.
15155 The return value is %TRUE for all non-spacing and enclosing marks
15156 (e.g., combining accents), format characters, zero-width
15157 space, but not U+00AD SOFT HYPHEN.
15158
15159 A typical use of this function is with one of g_unichar_iswide() or
15160 g_unichar_iswide_cjk() to determine the number of cells a string occupies
15161 when displayed on a grid display (terminals).  However, note that not all
15162 terminals support zero-width rendering of zero-width marks.
15163
15164
15165 </description>
15166 <parameters>
15167 <parameter name="c">
15168 <parameter_description> a Unicode character
15169 </parameter_description>
15170 </parameter>
15171 </parameters>
15172 <return> %TRUE if the character has zero width
15173
15174 Since: 2.14
15175 </return>
15176 </function>
15177
15178 <function name="g_utf8_strncpy">
15179 <description>
15180 Like the standard C strncpy() function, but 
15181 copies a given number of characters instead of a given number of 
15182 bytes. The @src string must be valid UTF-8 encoded text. 
15183 (Use g_utf8_validate() on all text before trying to use UTF-8 
15184 utility functions with it.)
15185
15186
15187 </description>
15188 <parameters>
15189 <parameter name="dest">
15190 <parameter_description> buffer to fill with characters from @src
15191 </parameter_description>
15192 </parameter>
15193 <parameter name="src">
15194 <parameter_description> UTF-8 encoded string
15195 </parameter_description>
15196 </parameter>
15197 <parameter name="n">
15198 <parameter_description> character count
15199 </parameter_description>
15200 </parameter>
15201 </parameters>
15202 <return> @dest
15203 </return>
15204 </function>
15205
15206 <function name="g_regex_check_replacement">
15207 <description>
15208 Checks whether @replacement is a valid replacement string 
15209 (see g_regex_replace()), i.e. that all escape sequences in 
15210 it are valid.
15211
15212 If @has_references is not %NULL then @replacement is checked 
15213 for pattern references. For instance, replacement text &apos;foo\n&apos;
15214 does not contain references and may be evaluated without information
15215 about actual match, but &apos;\0\1&apos; (whole match followed by first 
15216 subpattern) requires valid #GMatchInfo object.
15217
15218
15219 </description>
15220 <parameters>
15221 <parameter name="replacement">
15222 <parameter_description> the replacement string
15223 </parameter_description>
15224 </parameter>
15225 <parameter name="has_references">
15226 <parameter_description> location to store information about
15227 references in @replacement or %NULL
15228 </parameter_description>
15229 </parameter>
15230 <parameter name="error">
15231 <parameter_description> location to store error
15232 </parameter_description>
15233 </parameter>
15234 </parameters>
15235 <return> whether @replacement is a valid replacement string
15236
15237 Since: 2.14
15238 </return>
15239 </function>
15240
15241 <function name="g_base64_decode">
15242 <description>
15243 Decode a sequence of Base-64 encoded text into binary data
15244
15245
15246 </description>
15247 <parameters>
15248 <parameter name="text">
15249 <parameter_description> zero-terminated string with base64 text to decode
15250 </parameter_description>
15251 </parameter>
15252 <parameter name="out_len">
15253 <parameter_description> The length of the decoded data is written here
15254 </parameter_description>
15255 </parameter>
15256 </parameters>
15257 <return> a newly allocated buffer containing the binary data
15258 that @text represents
15259
15260 Since: 2.12
15261 </return>
15262 </function>
15263
15264 <function name="g_file_test">
15265 <description>
15266 Return value: whether a test was %TRUE
15267
15268 </description>
15269 <parameters>
15270 <parameter name="filename">
15271 <parameter_description> a filename to test in the GLib file name encoding
15272 </parameter_description>
15273 </parameter>
15274 <parameter name="test">
15275 <parameter_description> bitfield of #GFileTest flags
15276 </parameter_description>
15277 </parameter>
15278 </parameters>
15279 <return> whether a test was %TRUE
15280 </return>
15281 </function>
15282
15283 <function name="g_strstr_len">
15284 <description>
15285 Searches the string @haystack for the first occurrence
15286 of the string @needle, limiting the length of the search
15287 to @haystack_len. 
15288
15289
15290 </description>
15291 <parameters>
15292 <parameter name="haystack">
15293 <parameter_description> a string.
15294 </parameter_description>
15295 </parameter>
15296 <parameter name="haystack_len">
15297 <parameter_description> the maximum length of @haystack.
15298 </parameter_description>
15299 </parameter>
15300 <parameter name="needle">
15301 <parameter_description> the string to search for.
15302 </parameter_description>
15303 </parameter>
15304 </parameters>
15305 <return> a pointer to the found occurrence, or
15306 %NULL if not found.
15307 </return>
15308 </function>
15309
15310 <function name="g_ascii_formatd">
15311 <description>
15312 Converts a #gdouble to a string, using the &apos;.&apos; as
15313 decimal point. To format the number you pass in
15314 a printf()-style format string. Allowed conversion
15315 specifiers are &apos;e&apos;, &apos;E&apos;, &apos;f&apos;, &apos;F&apos;, &apos;g&apos; and &apos;G&apos;. 
15316
15317 If you just want to want to serialize the value into a
15318 string, use g_ascii_dtostr().
15319
15320
15321 </description>
15322 <parameters>
15323 <parameter name="buffer">
15324 <parameter_description> A buffer to place the resulting string in
15325 </parameter_description>
15326 </parameter>
15327 <parameter name="buf_len">
15328 <parameter_description> The length of the buffer.
15329 </parameter_description>
15330 </parameter>
15331 <parameter name="format">
15332 <parameter_description> The printf()-style format to use for the
15333 code to use for converting. 
15334 </parameter_description>
15335 </parameter>
15336 <parameter name="d">
15337 <parameter_description> The #gdouble to convert
15338 </parameter_description>
15339 </parameter>
15340 </parameters>
15341 <return> The pointer to the buffer with the converted string.
15342 </return>
15343 </function>
15344
15345 <function name="g_bookmark_file_set_title">
15346 <description>
15347 Sets @title as the title of the bookmark for @uri inside the
15348 bookmark file @bookmark.
15349
15350 If @uri is %NULL, the title of @bookmark is set.
15351
15352 If a bookmark for @uri cannot be found then it is created.
15353
15354 Since: 2.12
15355
15356 </description>
15357 <parameters>
15358 <parameter name="bookmark">
15359 <parameter_description> a #GBookmarkFile
15360 </parameter_description>
15361 </parameter>
15362 <parameter name="uri">
15363 <parameter_description> a valid URI or %NULL
15364 </parameter_description>
15365 </parameter>
15366 <parameter name="title">
15367 <parameter_description> a UTF-8 encoded string
15368 </parameter_description>
15369 </parameter>
15370 </parameters>
15371 <return></return>
15372 </function>
15373
15374 <function name="g_thread_pool_set_max_threads">
15375 <description>
15376 Sets the maximal allowed number of threads for @pool. A value of -1
15377 means, that the maximal number of threads is unlimited.
15378
15379 Setting @max_threads to 0 means stopping all work for @pool. It is
15380 effectively frozen until @max_threads is set to a non-zero value
15381 again.
15382
15383 A thread is never terminated while calling @func, as supplied by
15384 g_thread_pool_new (). Instead the maximal number of threads only
15385 has effect for the allocation of new threads in g_thread_pool_push(). 
15386 A new thread is allocated, whenever the number of currently
15387 running threads in @pool is smaller than the maximal number.
15388
15389 @error can be %NULL to ignore errors, or non-%NULL to report
15390 errors. An error can only occur when a new thread couldn&apos;t be
15391 created. 
15392
15393 </description>
15394 <parameters>
15395 <parameter name="pool">
15396 <parameter_description> a #GThreadPool
15397 </parameter_description>
15398 </parameter>
15399 <parameter name="max_threads">
15400 <parameter_description> a new maximal number of threads for @pool
15401 </parameter_description>
15402 </parameter>
15403 <parameter name="error">
15404 <parameter_description> return location for error
15405 </parameter_description>
15406 </parameter>
15407 </parameters>
15408 <return></return>
15409 </function>
15410
15411 <function name="g_utf8_find_next_char">
15412 <description>
15413 Finds the start of the next UTF-8 character in the string after @p.
15414
15415 @p does not have to be at the beginning of a UTF-8 character. No check
15416 is made to see if the character found is actually valid other than
15417 it starts with an appropriate byte.
15418
15419
15420 </description>
15421 <parameters>
15422 <parameter name="p">
15423 <parameter_description> a pointer to a position within a UTF-8 encoded string
15424 </parameter_description>
15425 </parameter>
15426 <parameter name="end">
15427 <parameter_description> a pointer to the end of the string, or %NULL to indicate
15428 that the string is nul-terminated, in which case
15429 the returned value will be 
15430 </parameter_description>
15431 </parameter>
15432 </parameters>
15433 <return> a pointer to the found character or %NULL
15434 </return>
15435 </function>
15436
15437 <function name="g_unichar_isspace">
15438 <description>
15439 Determines whether a character is a space, tab, or line separator
15440 (newline, carriage return, etc.).  Given some UTF-8 text, obtain a
15441 character value with g_utf8_get_char().
15442
15443 (Note: don&apos;t use this to do word breaking; you have to use
15444 Pango or equivalent to get word breaking right, the algorithm
15445 is fairly complex.)
15446
15447
15448 </description>
15449 <parameters>
15450 <parameter name="c">
15451 <parameter_description> a Unicode character
15452 </parameter_description>
15453 </parameter>
15454 </parameters>
15455 <return> %TRUE if @c is a space character
15456 </return>
15457 </function>
15458
15459 <function name="g_utf8_to_ucs4">
15460 <description>
15461 Convert a string from UTF-8 to a 32-bit fixed width
15462 representation as UCS-4. A trailing 0 will be added to the
15463 string after the converted text.
15464
15465
15466 </description>
15467 <parameters>
15468 <parameter name="str">
15469 <parameter_description> a UTF-8 encoded string
15470 </parameter_description>
15471 </parameter>
15472 <parameter name="len">
15473 <parameter_description> the maximum length of @str to use. If @len &amp;lt; 0, then
15474 the string is nul-terminated.
15475 </parameter_description>
15476 </parameter>
15477 <parameter name="items_read">
15478 <parameter_description> location to store number of bytes read, or %NULL.
15479 If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
15480 returned in case @str contains a trailing partial
15481 character. If an error occurs then the index of the
15482 invalid input is stored here.
15483 </parameter_description>
15484 </parameter>
15485 <parameter name="items_written">
15486 <parameter_description> location to store number of characters written or %NULL.
15487 The value here stored does not include the trailing 0
15488 character. 
15489 </parameter_description>
15490 </parameter>
15491 <parameter name="error">
15492 <parameter_description> location to store the error occuring, or %NULL to ignore
15493 errors. Any of the errors in #GConvertError other than
15494 %G_CONVERT_ERROR_NO_CONVERSION may occur.
15495 </parameter_description>
15496 </parameter>
15497 </parameters>
15498 <return> a pointer to a newly allocated UCS-4 string.
15499 This value must be freed with g_free(). If an
15500 error occurs, %NULL will be returned and
15501 @error set.
15502 </return>
15503 </function>
15504
15505 <function name="g_tree_search">
15506 <description>
15507 Searches a #GTree using @search_func.
15508
15509 The @search_func is called with a pointer to the key of a key/value pair in 
15510 the tree, and the passed in @user_data. If @search_func returns 0 for a 
15511 key/value pair, then g_tree_search_func() will return the value of that 
15512 pair. If @search_func returns -1,  searching will proceed among the 
15513 key/value pairs that have a smaller key; if @search_func returns 1, 
15514 searching will proceed among the key/value pairs that have a larger key.
15515
15516
15517 </description>
15518 <parameters>
15519 <parameter name="tree">
15520 <parameter_description> a #GTree.
15521 </parameter_description>
15522 </parameter>
15523 <parameter name="search_func">
15524 <parameter_description> a function used to search the #GTree. 
15525 </parameter_description>
15526 </parameter>
15527 <parameter name="user_data">
15528 <parameter_description> the data passed as the second argument to the @search_func 
15529 function.
15530 </parameter_description>
15531 </parameter>
15532 </parameters>
15533 <return> the value corresponding to the found key, or %NULL if the key 
15534 was not found.
15535 </return>
15536 </function>
15537
15538 <function name="g_get_prgname">
15539 <description>
15540 Gets the name of the program. This name should &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; 
15541 be localized, contrast with g_get_application_name().
15542 (If you are using GDK or GTK+ the program name is set in gdk_init(), 
15543 which is called by gtk_init(). The program name is found by taking 
15544 the last component of &amp;lt;literal&amp;gt;argv[0]&amp;lt;/literal&amp;gt;.)
15545
15546
15547 </description>
15548 <parameters>
15549 </parameters>
15550 <return> the name of the program. The returned string belongs 
15551 to GLib and must not be modified or freed.
15552 </return>
15553 </function>
15554
15555 <function name="g_string_insert_len">
15556 <description>
15557 Inserts @len bytes of @val into @string at @pos.  
15558 Because @len is provided, @val may contain embedded 
15559 nuls and need not be nul-terminated. If @pos is -1, 
15560 bytes are inserted at the end of the string.
15561
15562 Since this function does not stop at nul bytes, it is 
15563 the caller&apos;s responsibility to ensure that @val has at 
15564 least @len addressable bytes.
15565
15566
15567 </description>
15568 <parameters>
15569 <parameter name="string">
15570 <parameter_description> a #GString
15571 </parameter_description>
15572 </parameter>
15573 <parameter name="pos">
15574 <parameter_description> position in @string where insertion should 
15575 happen, or -1 for at the end
15576 </parameter_description>
15577 </parameter>
15578 <parameter name="val">
15579 <parameter_description> bytes to insert
15580 </parameter_description>
15581 </parameter>
15582 <parameter name="len">
15583 <parameter_description> number of bytes of @val to insert
15584 </parameter_description>
15585 </parameter>
15586 </parameters>
15587 <return> @string
15588 </return>
15589 </function>
15590
15591 <function name="g_tree_replace">
15592 <description>
15593 Inserts a new key and value into a #GTree similar to g_tree_insert(). 
15594 The difference is that if the key already exists in the #GTree, it gets 
15595 replaced by the new key. If you supplied a @value_destroy_func when 
15596 creating the #GTree, the old value is freed using that function. If you 
15597 supplied a @key_destroy_func when creating the #GTree, the old key is 
15598 freed using that function. 
15599
15600 The tree is automatically &apos;balanced&apos; as new key/value pairs are added,
15601 so that the distance from the root to every leaf is as small as possible.
15602
15603 </description>
15604 <parameters>
15605 <parameter name="tree">
15606 <parameter_description> a #GTree.
15607 </parameter_description>
15608 </parameter>
15609 <parameter name="key">
15610 <parameter_description> the key to insert.
15611 </parameter_description>
15612 </parameter>
15613 <parameter name="value">
15614 <parameter_description> the value corresponding to the key.
15615 </parameter_description>
15616 </parameter>
15617 </parameters>
15618 <return></return>
15619 </function>
15620
15621 <function name="g_thread_pool_new">
15622 <description>
15623 This function creates a new thread pool.
15624
15625 Whenever you call g_thread_pool_push(), either a new thread is
15626 created or an unused one is reused. At most @max_threads threads
15627 are running concurrently for this thread pool. @max_threads = -1
15628 allows unlimited threads to be created for this thread pool. The
15629 newly created or reused thread now executes the function @func with
15630 the two arguments. The first one is the parameter to
15631 g_thread_pool_push() and the second one is @user_data.
15632
15633 The parameter @exclusive determines, whether the thread pool owns
15634 all threads exclusive or whether the threads are shared
15635 globally. If @exclusive is %TRUE, @max_threads threads are started
15636 immediately and they will run exclusively for this thread pool until
15637 it is destroyed by g_thread_pool_free(). If @exclusive is %FALSE,
15638 threads are created, when needed and shared between all
15639 non-exclusive thread pools. This implies that @max_threads may not
15640 be -1 for exclusive thread pools.
15641
15642 @error can be %NULL to ignore errors, or non-%NULL to report
15643 errors. An error can only occur when @exclusive is set to %TRUE and
15644 not all @max_threads threads could be created.
15645
15646
15647 </description>
15648 <parameters>
15649 <parameter name="func">
15650 <parameter_description> a function to execute in the threads of the new thread pool
15651 </parameter_description>
15652 </parameter>
15653 <parameter name="user_data">
15654 <parameter_description> user data that is handed over to @func every time it 
15655 is called
15656 </parameter_description>
15657 </parameter>
15658 <parameter name="max_threads">
15659 <parameter_description> the maximal number of threads to execute concurrently in 
15660 the new thread pool, -1 means no limit
15661 </parameter_description>
15662 </parameter>
15663 <parameter name="exclusive">
15664 <parameter_description> should this thread pool be exclusive?
15665 </parameter_description>
15666 </parameter>
15667 <parameter name="error">
15668 <parameter_description> return location for error
15669 </parameter_description>
15670 </parameter>
15671 </parameters>
15672 <return> the new #GThreadPool
15673 </return>
15674 </function>
15675
15676 <function name="g_source_attach">
15677 <description>
15678 Adds a #GSource to a @context so that it will be executed within
15679 that context.
15680
15681
15682 </description>
15683 <parameters>
15684 <parameter name="source">
15685 <parameter_description> a #GSource
15686 </parameter_description>
15687 </parameter>
15688 <parameter name="context">
15689 <parameter_description> a #GMainContext (if %NULL, the default context will be used)
15690 </parameter_description>
15691 </parameter>
15692 </parameters>
15693 <return> the ID (greater than 0) for the source within the 
15694 #GMainContext. 
15695 </return>
15696 </function>
15697
15698 <function name="g_vfprintf">
15699 <description>
15700 An implementation of the standard fprintf() function which supports 
15701 positional parameters, as specified in the Single Unix Specification.
15702
15703
15704 </description>
15705 <parameters>
15706 <parameter name="file">
15707 <parameter_description> the stream to write to.
15708 </parameter_description>
15709 </parameter>
15710 <parameter name="format">
15711 <parameter_description> a standard printf() format string, but notice 
15712 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
15713 </parameter_description>
15714 </parameter>
15715 <parameter name="args">
15716 <parameter_description> the list of arguments to insert in the output.
15717 </parameter_description>
15718 </parameter>
15719 </parameters>
15720 <return> the number of characters printed.
15721
15722 Since: 2.2
15723 </return>
15724 </function>
15725
15726 <function name="g_key_file_set_locale_string_list">
15727 <description>
15728 Associates a list of string values for @key and @locale under
15729 @group_name.  If the translation for @key cannot be found then
15730 it is created. 
15731
15732 Since: 2.6
15733
15734 </description>
15735 <parameters>
15736 <parameter name="key_file">
15737 <parameter_description> a #GKeyFile
15738 </parameter_description>
15739 </parameter>
15740 <parameter name="group_name">
15741 <parameter_description> a group name
15742 </parameter_description>
15743 </parameter>
15744 <parameter name="key">
15745 <parameter_description> a key
15746 </parameter_description>
15747 </parameter>
15748 <parameter name="locale">
15749 <parameter_description> a locale
15750 </parameter_description>
15751 </parameter>
15752 <parameter name="list">
15753 <parameter_description> a %NULL-terminated array of locale string values
15754 </parameter_description>
15755 </parameter>
15756 <parameter name="length">
15757 <parameter_description> the length of @list
15758 </parameter_description>
15759 </parameter>
15760 </parameters>
15761 <return></return>
15762 </function>
15763
15764 <function name="g_error_new">
15765 <description>
15766 Creates a new #GError with the given @domain and @code,
15767 and a message formatted with @format.
15768
15769
15770 </description>
15771 <parameters>
15772 <parameter name="domain">
15773 <parameter_description> error domain 
15774 </parameter_description>
15775 </parameter>
15776 <parameter name="code">
15777 <parameter_description> error code
15778 </parameter_description>
15779 </parameter>
15780 <parameter name="format">
15781 <parameter_description> printf()-style format for error message
15782 </parameter_description>
15783 </parameter>
15784 <parameter name="Varargs">
15785 <parameter_description> parameters for message format
15786 </parameter_description>
15787 </parameter>
15788 </parameters>
15789 <return> a new #GError
15790 </return>
15791 </function>
15792
15793 <function name="g_tree_remove">
15794 <description>
15795 Removes a key/value pair from a #GTree.
15796
15797 If the #GTree was created using g_tree_new_full(), the key and value 
15798 are freed using the supplied destroy functions, otherwise you have to 
15799 make sure that any dynamically allocated values are freed yourself.
15800 If the key does not exist in the #GTree, the function does nothing.
15801
15802
15803 </description>
15804 <parameters>
15805 <parameter name="tree">
15806 <parameter_description> a #GTree.
15807 </parameter_description>
15808 </parameter>
15809 <parameter name="key">
15810 <parameter_description> the key to remove.
15811 </parameter_description>
15812 </parameter>
15813 </parameters>
15814 <return> %TRUE if the key was found (prior to 2.8, this function returned 
15815 nothing)
15816 </return>
15817 </function>
15818
15819 <function name="g_rmdir">
15820 <description>
15821 A wrapper for the POSIX rmdir() function. The rmdir() function
15822 deletes a directory from the filesystem.
15823
15824 See your C library manual for more details about how rmdir() works
15825 on your system.
15826
15827
15828 </description>
15829 <parameters>
15830 <parameter name="filename">
15831 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
15832 </parameter_description>
15833 </parameter>
15834 </parameters>
15835 <return> 0 if the directory was successfully removed, -1 if an error 
15836 occurred
15837
15838 Since: 2.6
15839 </return>
15840 </function>
15841
15842 <function name="g_async_queue_new">
15843 <description>
15844 Creates a new asynchronous queue with the initial reference count of 1.
15845
15846
15847 </description>
15848 <parameters>
15849 </parameters>
15850 <return> the new #GAsyncQueue.
15851 </return>
15852 </function>
15853
15854 <function name="g_atexit">
15855 <description>
15856 Specifies a function to be called at normal program termination.
15857
15858 Since GLib 2.8.2, on Windows g_atexit() actually is a preprocessor
15859 macro that maps to a call to the atexit() function in the C
15860 library. This means that in case the code that calls g_atexit(),
15861 i.e. atexit(), is in a DLL, the function will be called when the
15862 DLL is detached from the program. This typically makes more sense
15863 than that the function is called when the GLib DLL is detached,
15864 which happened earlier when g_atexit() was a function in the GLib
15865 DLL.
15866
15867 The behaviour of atexit() in the context of dynamically loaded
15868 modules is not formally specified and varies wildly.
15869
15870 On POSIX systems, calling g_atexit() (or atexit()) in a dynamically
15871 loaded module which is unloaded before the program terminates might
15872 well cause a crash at program exit.
15873
15874 Some POSIX systems implement atexit() like Windows, and have each
15875 dynamically loaded module maintain an own atexit chain that is
15876 called when the module is unloaded.
15877
15878 On other POSIX systems, before a dynamically loaded module is
15879 unloaded, the registered atexit functions (if any) residing in that
15880 module are called, regardless where the code that registered them
15881 resided. This is presumably the most robust approach.
15882
15883 As can be seen from the above, for portability it&apos;s best to avoid
15884 calling g_atexit() (or atexit()) except in the main executable of a
15885 program.
15886
15887 </description>
15888 <parameters>
15889 <parameter name="func">
15890 <parameter_description> the function to call on normal program termination.
15891 </parameter_description>
15892 </parameter>
15893 </parameters>
15894 <return></return>
15895 </function>
15896
15897 <function name="g_utf8_collate">
15898 <description>
15899 Compares two strings for ordering using the linguistically
15900 correct rules for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;. 
15901 When sorting a large number of strings, it will be significantly 
15902 faster to obtain collation keys with g_utf8_collate_key() and 
15903 compare the keys with strcmp() when sorting instead of sorting 
15904 the original strings.
15905
15906
15907 </description>
15908 <parameters>
15909 <parameter name="str1">
15910 <parameter_description> a UTF-8 encoded string
15911 </parameter_description>
15912 </parameter>
15913 <parameter name="str2">
15914 <parameter_description> a UTF-8 encoded string
15915 </parameter_description>
15916 </parameter>
15917 </parameters>
15918 <return> &amp;lt; 0 if @str1 compares before @str2, 
15919 0 if they compare equal, &amp;gt; 0 if @str1 compares after @str2.
15920 </return>
15921 </function>
15922
15923 <function name="g_spawn_async">
15924 <description>
15925 See g_spawn_async_with_pipes() for a full description; this function
15926 simply calls the g_spawn_async_with_pipes() without any pipes.
15927
15928 &amp;lt;note&amp;gt;&amp;lt;para&amp;gt;
15929 If you are writing a GTK+ application, and the program you 
15930 are spawning is a graphical application, too, then you may
15931 want to use gdk_spawn_on_screen() instead to ensure that 
15932 the spawned program opens its windows on the right screen.
15933 &amp;lt;/para&amp;gt;&amp;lt;/note&amp;gt;
15934
15935
15936 </description>
15937 <parameters>
15938 <parameter name="working_directory">
15939 <parameter_description> child&apos;s current working directory, or %NULL to inherit parent&apos;s
15940 </parameter_description>
15941 </parameter>
15942 <parameter name="argv">
15943 <parameter_description> child&apos;s argument vector
15944 </parameter_description>
15945 </parameter>
15946 <parameter name="envp">
15947 <parameter_description> child&apos;s environment, or %NULL to inherit parent&apos;s
15948 </parameter_description>
15949 </parameter>
15950 <parameter name="flags">
15951 <parameter_description> flags from #GSpawnFlags
15952 </parameter_description>
15953 </parameter>
15954 <parameter name="child_setup">
15955 <parameter_description> function to run in the child just before exec()
15956 </parameter_description>
15957 </parameter>
15958 <parameter name="user_data">
15959 <parameter_description> user data for @child_setup
15960 </parameter_description>
15961 </parameter>
15962 <parameter name="child_pid">
15963 <parameter_description> return location for child process ID, or %NULL
15964 </parameter_description>
15965 </parameter>
15966 <parameter name="error">
15967 <parameter_description> return location for error
15968 </parameter_description>
15969 </parameter>
15970 </parameters>
15971 <return> %TRUE on success, %FALSE if error is set
15972 </return>
15973 </function>
15974
15975 <function name="g_async_queue_timed_pop">
15976 <description>
15977 Pops data from the @queue. If no data is received before @end_time,
15978 %NULL is returned.
15979
15980 To easily calculate @end_time a combination of g_get_current_time()
15981 and g_time_val_add() can be used.
15982
15983
15984 </description>
15985 <parameters>
15986 <parameter name="queue">
15987 <parameter_description> a #GAsyncQueue.
15988 </parameter_description>
15989 </parameter>
15990 <parameter name="end_time">
15991 <parameter_description> a #GTimeVal, determining the final time.
15992 </parameter_description>
15993 </parameter>
15994 </parameters>
15995 <return> data from the queue or %NULL, when no data is
15996 received before @end_time.
15997 </return>
15998 </function>
15999
16000 <function name="g_uri_list_extract_uris">
16001 <description>
16002 Splits an URI list conforming to the text/uri-list
16003 mime type defined in RFC 2483 into individual URIs,
16004 discarding any comments. The URIs are not validated.
16005
16006
16007 </description>
16008 <parameters>
16009 <parameter name="uri_list">
16010 <parameter_description> an URI list 
16011 </parameter_description>
16012 </parameter>
16013 </parameters>
16014 <return> a newly allocated %NULL-terminated list of
16015 strings holding the individual URIs. The array should
16016 be freed with g_strfreev().
16017
16018 Since: 2.6
16019 </return>
16020 </function>
16021
16022 <function name="g_hash_table_insert">
16023 <description>
16024 Inserts a new key and value into a #GHashTable.
16025
16026 If the key already exists in the #GHashTable its current value is replaced
16027 with the new value. If you supplied a @value_destroy_func when creating the 
16028 #GHashTable, the old value is freed using that function. If you supplied
16029 a @key_destroy_func when creating the #GHashTable, the passed key is freed 
16030 using that function.
16031
16032 </description>
16033 <parameters>
16034 <parameter name="hash_table">
16035 <parameter_description> a #GHashTable.
16036 </parameter_description>
16037 </parameter>
16038 <parameter name="key">
16039 <parameter_description> a key to insert.
16040 </parameter_description>
16041 </parameter>
16042 <parameter name="value">
16043 <parameter_description> the value to associate with the key.
16044 </parameter_description>
16045 </parameter>
16046 </parameters>
16047 <return></return>
16048 </function>
16049
16050 <function name="g_source_remove_by_user_data">
16051 <description>
16052 Removes a source from the default main loop context given the user
16053 data for the callback. If multiple sources exist with the same user
16054 data, only one will be destroyed.
16055
16056
16057 </description>
16058 <parameters>
16059 <parameter name="user_data">
16060 <parameter_description> the user_data for the callback.
16061 </parameter_description>
16062 </parameter>
16063 </parameters>
16064 <return> %TRUE if a source was found and removed. 
16065 </return>
16066 </function>
16067
16068 <function name="g_tree_steal">
16069 <description>
16070 Removes a key and its associated value from a #GTree without calling 
16071 the key and value destroy functions.
16072
16073 If the key does not exist in the #GTree, the function does nothing.
16074
16075
16076 </description>
16077 <parameters>
16078 <parameter name="tree">
16079 <parameter_description> a #GTree.
16080 </parameter_description>
16081 </parameter>
16082 <parameter name="key">
16083 <parameter_description> the key to remove.
16084 </parameter_description>
16085 </parameter>
16086 </parameters>
16087 <return> %TRUE if the key was found (prior to 2.8, this function returned 
16088 nothing)
16089 </return>
16090 </function>
16091
16092 <function name="g_tree_foreach">
16093 <description>
16094 Calls the given function for each of the key/value pairs in the #GTree.
16095 The function is passed the key and value of each pair, and the given
16096 @data parameter. The tree is traversed in sorted order.
16097
16098 The tree may not be modified while iterating over it (you can&apos;t 
16099 add/remove items). To remove all items matching a predicate, you need 
16100 to add each item to a list in your #GTraverseFunc as you walk over 
16101 the tree, then walk the list and remove each item.
16102
16103 </description>
16104 <parameters>
16105 <parameter name="tree">
16106 <parameter_description> a #GTree.
16107 </parameter_description>
16108 </parameter>
16109 <parameter name="func">
16110 <parameter_description> the function to call for each node visited. If this function
16111 returns %TRUE, the traversal is stopped.
16112 </parameter_description>
16113 </parameter>
16114 <parameter name="user_data">
16115 <parameter_description> user data to pass to the function.
16116 </parameter_description>
16117 </parameter>
16118 </parameters>
16119 <return></return>
16120 </function>
16121
16122 <function name="g_main_context_pending">
16123 <description>
16124 Checks if any sources have pending events for the given context.
16125
16126
16127 </description>
16128 <parameters>
16129 <parameter name="context">
16130 <parameter_description> a #GMainContext (if %NULL, the default context will be used)
16131 </parameter_description>
16132 </parameter>
16133 </parameters>
16134 <return> %TRUE if events are pending.
16135 </return>
16136 </function>
16137
16138 <function name="g_timeout_source_new">
16139 <description>
16140 Creates a new timeout source.
16141
16142 The source will not initially be associated with any #GMainContext
16143 and must be added to one with g_source_attach() before it will be
16144 executed.
16145
16146
16147 </description>
16148 <parameters>
16149 <parameter name="interval">
16150 <parameter_description> the timeout interval in milliseconds.
16151 </parameter_description>
16152 </parameter>
16153 </parameters>
16154 <return> the newly-created timeout source
16155 </return>
16156 </function>
16157
16158 <function name="g_tree_new_full">
16159 <description>
16160 Creates a new #GTree like g_tree_new() and allows to specify functions 
16161 to free the memory allocated for the key and value that get called when 
16162 removing the entry from the #GTree.
16163
16164
16165 </description>
16166 <parameters>
16167 <parameter name="key_compare_func">
16168 <parameter_description> qsort()-style comparison function.
16169 </parameter_description>
16170 </parameter>
16171 <parameter name="key_compare_data">
16172 <parameter_description> data to pass to comparison function.
16173 </parameter_description>
16174 </parameter>
16175 <parameter name="key_destroy_func">
16176 <parameter_description> a function to free the memory allocated for the key 
16177 used when removing the entry from the #GTree or %NULL if you don&apos;t
16178 want to supply such a function.
16179 </parameter_description>
16180 </parameter>
16181 <parameter name="value_destroy_func">
16182 <parameter_description> a function to free the memory allocated for the 
16183 value used when removing the entry from the #GTree or %NULL if you 
16184 don&apos;t want to supply such a function.
16185 </parameter_description>
16186 </parameter>
16187 </parameters>
16188 <return> a new #GTree.
16189 </return>
16190 </function>
16191
16192 <function name="g_main_context_get_poll_func">
16193 <description>
16194 Gets the poll function set by g_main_context_set_poll_func().
16195
16196
16197 </description>
16198 <parameters>
16199 <parameter name="context">
16200 <parameter_description> a #GMainContext
16201 </parameter_description>
16202 </parameter>
16203 </parameters>
16204 <return> the poll function
16205 </return>
16206 </function>
16207
16208 <function name="g_string_chunk_insert_const">
16209 <description>
16210 Adds a copy of @string to the #GStringChunk, unless the same 
16211 string has already been added to the #GStringChunk with 
16212 g_string_chunk_insert_const().
16213
16214 This function is useful if you need to copy a large number 
16215 of strings but do not want to waste space storing duplicates. 
16216 But you must remember that there may be several pointers to 
16217 the same string, and so any changes made to the strings 
16218 should be done very carefully.
16219
16220 Note that g_string_chunk_insert_const() will not return a 
16221 pointer to a string added with g_string_chunk_insert(), even 
16222 if they do match.
16223
16224
16225 </description>
16226 <parameters>
16227 <parameter name="chunk">
16228 <parameter_description> a #GStringChunk
16229 </parameter_description>
16230 </parameter>
16231 <parameter name="string">
16232 <parameter_description> the string to add
16233 </parameter_description>
16234 </parameter>
16235 </parameters>
16236 <return> a pointer to the new or existing copy of @string 
16237 within the #GStringChunk
16238 </return>
16239 </function>
16240
16241 <function name="g_string_free">
16242 <description>
16243 Frees the memory allocated for the #GString.
16244 If @free_segment is %TRUE it also frees the character data.
16245
16246
16247 </description>
16248 <parameters>
16249 <parameter name="string">
16250 <parameter_description> a #GString
16251 </parameter_description>
16252 </parameter>
16253 <parameter name="free_segment">
16254 <parameter_description> if %TRUE the actual character data is freed as well
16255 </parameter_description>
16256 </parameter>
16257 </parameters>
16258 <return> the character data of @string 
16259 (i.e. %NULL if @free_segment is %TRUE)
16260 </return>
16261 </function>
16262
16263 <function name="g_unichar_toupper">
16264 <description>
16265 Converts a character to uppercase.
16266
16267
16268 </description>
16269 <parameters>
16270 <parameter name="c">
16271 <parameter_description> a Unicode character
16272 </parameter_description>
16273 </parameter>
16274 </parameters>
16275 <return> the result of converting @c to uppercase.
16276 If @c is not an lowercase or titlecase character,
16277 or has no upper case equivalent @c is returned unchanged.
16278 </return>
16279 </function>
16280
16281 <function name="g_sequence_remove_range">
16282 <description>
16283 Removes all items in the (@begin, @end) range.
16284
16285 If the sequence has a data destroy function associated with it, this
16286 function is called on the data for the removed items.
16287
16288 Since: 2.14
16289
16290 </description>
16291 <parameters>
16292 <parameter name="begin">
16293 <parameter_description> a #GSequenceIter
16294 </parameter_description>
16295 </parameter>
16296 <parameter name="end">
16297 <parameter_description> a #GSequenceIter
16298 </parameter_description>
16299 </parameter>
16300 </parameters>
16301 <return></return>
16302 </function>
16303
16304 <function name="g_io_channel_set_line_term">
16305 <description>
16306 This sets the string that #GIOChannel uses to determine
16307 where in the file a line break occurs.
16308
16309 </description>
16310 <parameters>
16311 <parameter name="channel">
16312 <parameter_description> a #GIOChannel
16313 </parameter_description>
16314 </parameter>
16315 <parameter name="line_term">
16316 <parameter_description> The line termination string. Use %NULL for auto detect.
16317 Auto detection breaks on &quot;\n&quot;, &quot;\r\n&quot;, &quot;\r&quot;, &quot;\0&quot;, and
16318 the Unicode paragraph separator. Auto detection should
16319 not be used for anything other than file-based channels.
16320 </parameter_description>
16321 </parameter>
16322 <parameter name="length">
16323 <parameter_description> The length of the termination string. If -1 is passed, the
16324 string is assumed to be nul-terminated. This option allows
16325 termination strings with embeded nuls.
16326 </parameter_description>
16327 </parameter>
16328 </parameters>
16329 <return></return>
16330 </function>
16331
16332 <function name="g_sprintf">
16333 <description>
16334 An implementation of the standard sprintf() function which supports 
16335 positional parameters, as specified in the Single Unix Specification.
16336
16337
16338 </description>
16339 <parameters>
16340 <parameter name="string">
16341 <parameter_description> A pointer to a memory buffer to contain the resulting string. It 
16342 is up to the caller to ensure that the allocated buffer is large 
16343 enough to hold the formatted result
16344 </parameter_description>
16345 </parameter>
16346 <parameter name="format">
16347 <parameter_description> a standard printf() format string, but notice 
16348 &amp;lt;link linkend=&quot;string-precision&quot;&amp;gt;string precision pitfalls&amp;lt;/link&amp;gt;.
16349 </parameter_description>
16350 </parameter>
16351 <parameter name="Varargs">
16352 <parameter_description> the arguments to insert in the output.
16353 </parameter_description>
16354 </parameter>
16355 </parameters>
16356 <return> the number of characters printed.
16357
16358 Since: 2.2
16359 </return>
16360 </function>
16361
16362 <function name="g_strncasecmp">
16363 <description>
16364 A case-insensitive string comparison, corresponding to the standard
16365 strncasecmp() function on platforms which support it.
16366 It is similar to g_strcasecmp() except it only compares the first @n 
16367 characters of the strings.
16368
16369
16370 </description>
16371 <parameters>
16372 <parameter name="s1">
16373 <parameter_description> a string.
16374 </parameter_description>
16375 </parameter>
16376 <parameter name="s2">
16377 <parameter_description> a string to compare with @s1.
16378 </parameter_description>
16379 </parameter>
16380 <parameter name="n">
16381 <parameter_description> the maximum number of characters to compare.
16382 </parameter_description>
16383 </parameter>
16384 </parameters>
16385 <return> 0 if the strings match, a negative value if @s1 &amp;lt; @s2, 
16386 or a positive value if @s1 &amp;gt; @s2.
16387
16388 Deprecated:2.2: The problem with g_strncasecmp() is that it does the 
16389 comparison by calling toupper()/tolower(). These functions are
16390 locale-specific and operate on single bytes. However, it is impossible
16391 to handle things correctly from an I18N standpoint by operating on
16392 bytes, since characters may be multibyte. Thus g_strncasecmp() is
16393 broken if your string is guaranteed to be ASCII, since it&apos;s
16394 locale-sensitive, and it&apos;s broken if your string is localized, since
16395 it doesn&apos;t work on many encodings at all, including UTF-8, EUC-JP,
16396 etc.
16397
16398 There are therefore two replacement functions: g_ascii_strncasecmp(),
16399 which only works on ASCII and is not locale-sensitive, and
16400 g_utf8_casefold(), which is good for case-insensitive sorting of UTF-8.
16401 </return>
16402 </function>
16403
16404 <function name="g_unicode_canonical_decomposition">
16405 <description>
16406 Computes the canonical decomposition of a Unicode character.  
16407
16408
16409 </description>
16410 <parameters>
16411 <parameter name="ch">
16412 <parameter_description> a Unicode character.
16413 </parameter_description>
16414 </parameter>
16415 <parameter name="result_len">
16416 <parameter_description> location to store the length of the return value.
16417 </parameter_description>
16418 </parameter>
16419 </parameters>
16420 <return> a newly allocated string of Unicode characters.
16421 @result_len is set to the resulting length of the string.
16422 </return>
16423 </function>
16424
16425 <function name="g_sequence_get_begin_iter">
16426 <description>
16427 Return value: the begin iterator for @seq.
16428
16429 </description>
16430 <parameters>
16431 <parameter name="seq">
16432 <parameter_description> a #GSequence
16433 </parameter_description>
16434 </parameter>
16435 </parameters>
16436 <return> the begin iterator for @seq.
16437
16438 Since: 2.14
16439 </return>
16440 </function>
16441
16442 <function name="iconv_cache_bucket_expire">
16443 <description>
16444 Expires a single cache bucket @bucket. This should only ever be
16445 called on a bucket that currently has no used iconv descriptors
16446 open.
16447
16448 @node is not a required argument. If @node is not supplied, we
16449 search for it ourselves.
16450
16451 </description>
16452 <parameters>
16453 <parameter name="node">
16454 <parameter_description> cache bucket&apos;s node
16455 </parameter_description>
16456 </parameter>
16457 <parameter name="bucket">
16458 <parameter_description> cache bucket
16459 </parameter_description>
16460 </parameter>
16461 </parameters>
16462 <return></return>
16463 </function>
16464
16465 <function name="g_tree_new_with_data">
16466 <description>
16467 Creates a new #GTree with a comparison function that accepts user data.
16468 See g_tree_new() for more details.
16469
16470
16471 </description>
16472 <parameters>
16473 <parameter name="key_compare_func">
16474 <parameter_description> qsort()-style comparison function.
16475 </parameter_description>
16476 </parameter>
16477 <parameter name="key_compare_data">
16478 <parameter_description> data to pass to comparison function.
16479 </parameter_description>
16480 </parameter>
16481 </parameters>
16482 <return> a new #GTree.
16483 </return>
16484 </function>
16485
16486 <function name="g_key_file_remove_group">
16487 <description>
16488 Removes the specified group, @group_name, 
16489 from the key file. 
16490
16491 Since: 2.6
16492
16493 </description>
16494 <parameters>
16495 <parameter name="key_file">
16496 <parameter_description> a #GKeyFile
16497 </parameter_description>
16498 </parameter>
16499 <parameter name="group_name">
16500 <parameter_description> a group name
16501 </parameter_description>
16502 </parameter>
16503 <parameter name="error">
16504 <parameter_description> return location for a #GError or %NULL
16505 </parameter_description>
16506 </parameter>
16507 </parameters>
16508 <return></return>
16509 </function>
16510
16511 <function name="g_rand_int">
16512 <description>
16513 Return value: A random number.
16514
16515 </description>
16516 <parameters>
16517 <parameter name="rand_">
16518 <parameter_description> a #GRand.
16519 </parameter_description>
16520 </parameter>
16521 </parameters>
16522 <return> A random number.
16523 </return>
16524 </function>
16525
16526 <function name="g_unichar_iswide_cjk">
16527 <description>
16528 Determines if a character is typically rendered in a double-width
16529 cell under legacy East Asian locales.  If a character is wide according to
16530 g_unichar_iswide(), then it is also reported wide with this function, but
16531 the converse is not necessarily true.  See the
16532 &amp;lt;ulink url=&quot;http://www.unicode.org/reports/tr11/&quot;&amp;gt;Unicode Standard
16533 Annex #11&amp;lt;/ulink&amp;gt; for details.
16534
16535
16536 </description>
16537 <parameters>
16538 <parameter name="c">
16539 <parameter_description> a Unicode character
16540 </parameter_description>
16541 </parameter>
16542 </parameters>
16543 <return> %TRUE if the character is wide in legacy East Asian locales
16544
16545 Since: 2.12
16546 </return>
16547 </function>
16548
16549 <function name="g_option_context_set_translate_func">
16550 <description>
16551 Sets the function which is used to translate the contexts 
16552 user-visible strings, for &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output. 
16553 If @func is %NULL, strings are not translated.
16554
16555 Note that option groups have their own translation functions, 
16556 this function only affects the @parameter_string (see g_option_context_new()), 
16557 the summary (see g_option_context_set_summary()) and the description 
16558 (see g_option_context_set_description()).
16559
16560 If you are using gettext(), you only need to set the translation
16561 domain, see g_context_group_set_translation_domain().
16562
16563 Since: 2.12
16564
16565 </description>
16566 <parameters>
16567 <parameter name="context">
16568 <parameter_description> a #GOptionContext
16569 </parameter_description>
16570 </parameter>
16571 <parameter name="func">
16572 <parameter_description> the #GTranslateFunc, or %NULL 
16573 </parameter_description>
16574 </parameter>
16575 <parameter name="data">
16576 <parameter_description> user data to pass to @func, or %NULL
16577 </parameter_description>
16578 </parameter>
16579 <parameter name="destroy_notify">
16580 <parameter_description> a function which gets called to free @data, or %NULL
16581 </parameter_description>
16582 </parameter>
16583 </parameters>
16584 <return></return>
16585 </function>
16586
16587 <function name="g_io_channel_get_buffer_condition">
16588 <description>
16589 This function returns a #GIOCondition depending on whether there
16590 is data to be read/space to write data in the
16591 internal buffers in the #GIOChannel. Only the flags %G_IO_IN and
16592 %G_IO_OUT may be set.
16593
16594
16595 </description>
16596 <parameters>
16597 <parameter name="channel">
16598 <parameter_description> A #GIOChannel
16599 </parameter_description>
16600 </parameter>
16601 </parameters>
16602 <return> A #GIOCondition
16603 </return>
16604 </function>
16605
16606 <function name="g_hash_table_foreach">
16607 <description>
16608 Calls the given function for each of the key/value pairs in the
16609 #GHashTable.  The function is passed the key and value of each
16610 pair, and the given @user_data parameter.  The hash table may not
16611 be modified while iterating over it (you can&apos;t add/remove
16612 items). To remove all items matching a predicate, use
16613 g_hash_table_foreach_remove().
16614
16615 See g_hash_table_find() for performance caveats for linear
16616 order searches in contrast to g_hash_table_lookup().
16617
16618 </description>
16619 <parameters>
16620 <parameter name="hash_table">
16621 <parameter_description> a #GHashTable.
16622 </parameter_description>
16623 </parameter>
16624 <parameter name="func">
16625 <parameter_description> the function to call for each key/value pair.
16626 </parameter_description>
16627 </parameter>
16628 <parameter name="user_data">
16629 <parameter_description> user data to pass to the function.
16630 </parameter_description>
16631 </parameter>
16632 </parameters>
16633 <return></return>
16634 </function>
16635
16636 <function name="g_key_file_get_locale_string_list">
16637 <description>
16638 Return value: a newly allocated %NULL-terminated string array
16639
16640 </description>
16641 <parameters>
16642 <parameter name="key_file">
16643 <parameter_description> a #GKeyFile
16644 </parameter_description>
16645 </parameter>
16646 <parameter name="group_name">
16647 <parameter_description> a group name
16648 </parameter_description>
16649 </parameter>
16650 <parameter name="key">
16651 <parameter_description> a key
16652 </parameter_description>
16653 </parameter>
16654 <parameter name="locale">
16655 <parameter_description> a locale
16656 </parameter_description>
16657 </parameter>
16658 <parameter name="length">
16659 <parameter_description> return location for the number of returned strings or %NULL
16660 </parameter_description>
16661 </parameter>
16662 <parameter name="error">
16663 <parameter_description> return location for a #GError or %NULL
16664 </parameter_description>
16665 </parameter>
16666 </parameters>
16667 <return> a newly allocated %NULL-terminated string array
16668 or %NULL if the key isn&apos;t found. The string array should be freed
16669 with g_strfreev().
16670
16671 Since: 2.6
16672 </return>
16673 </function>
16674
16675 <function name="g_async_queue_sort_unlocked">
16676 <description>
16677 Sorts @queue using @func. 
16678
16679 This function is called while holding the @queue&apos;s lock.
16680
16681 Since: 2.10
16682
16683 </description>
16684 <parameters>
16685 <parameter name="queue">
16686 <parameter_description> a #GAsyncQueue
16687 </parameter_description>
16688 </parameter>
16689 <parameter name="func">
16690 <parameter_description> the #GCompareDataFunc is used to sort @queue. This
16691 function is passed two elements of the @queue. The function
16692 should return 0 if they are equal, a negative value if the
16693 first element should be higher in the @queue or a positive
16694 value if the first element should be lower in the @queue than
16695 the second element. 
16696 </parameter_description>
16697 </parameter>
16698 <parameter name="user_data">
16699 <parameter_description> user data passed to @func
16700 </parameter_description>
16701 </parameter>
16702 </parameters>
16703 <return></return>
16704 </function>
16705
16706 <function name="g_io_channel_read_line">
16707 <description>
16708 Reads a line, including the terminating character(s),
16709 from a #GIOChannel into a newly-allocated string.
16710 @str_return will contain allocated memory if the return
16711 is %G_IO_STATUS_NORMAL.
16712
16713
16714 </description>
16715 <parameters>
16716 <parameter name="channel">
16717 <parameter_description> a #GIOChannel
16718 </parameter_description>
16719 </parameter>
16720 <parameter name="str_return">
16721 <parameter_description> The line read from the #GIOChannel, including the
16722 line terminator. This data should be freed with g_free()
16723 when no longer needed. This is a nul-terminated string. 
16724 If a @length of zero is returned, this will be %NULL instead.
16725 </parameter_description>
16726 </parameter>
16727 <parameter name="length">
16728 <parameter_description> location to store length of the read data, or %NULL
16729 </parameter_description>
16730 </parameter>
16731 <parameter name="terminator_pos">
16732 <parameter_description> location to store position of line terminator, or %NULL
16733 </parameter_description>
16734 </parameter>
16735 <parameter name="error">
16736 <parameter_description> A location to return an error of type #GConvertError
16737 or #GIOChannelError
16738 </parameter_description>
16739 </parameter>
16740 </parameters>
16741 <return> the status of the operation.
16742 </return>
16743 </function>
16744
16745 <function name="g_sequence_iter_move">
16746 <description>
16747 Return value: a #GSequenceIter which is @delta positions away from @iter.
16748
16749 </description>
16750 <parameters>
16751 <parameter name="iter">
16752 <parameter_description> a #GSequenceIter
16753 </parameter_description>
16754 </parameter>
16755 <parameter name="delta">
16756 <parameter_description> A positive or negative number indicating how many positions away
16757 from @iter the returned #GSequenceIter will be.
16758 </parameter_description>
16759 </parameter>
16760 </parameters>
16761 <return> a #GSequenceIter which is @delta positions away from @iter.
16762
16763 Since: 2.14
16764 </return>
16765 </function>
16766
16767 <function name="g_key_file_set_locale_string">
16768 <description>
16769 Associates a string value for @key and @locale under
16770 @group_name.  If the translation for @key cannot be found 
16771 then it is created.
16772
16773 Since: 2.6
16774
16775 </description>
16776 <parameters>
16777 <parameter name="key_file">
16778 <parameter_description> a #GKeyFile
16779 </parameter_description>
16780 </parameter>
16781 <parameter name="group_name">
16782 <parameter_description> a group name
16783 </parameter_description>
16784 </parameter>
16785 <parameter name="key">
16786 <parameter_description> a key
16787 </parameter_description>
16788 </parameter>
16789 <parameter name="locale">
16790 <parameter_description> a locale
16791 </parameter_description>
16792 </parameter>
16793 <parameter name="string">
16794 <parameter_description> a string
16795 </parameter_description>
16796 </parameter>
16797 </parameters>
16798 <return></return>
16799 </function>
16800
16801 <function name="g_string_insert_unichar">
16802 <description>
16803 Converts a Unicode character into UTF-8, and insert it
16804 into the string at the given position.
16805
16806
16807 </description>
16808 <parameters>
16809 <parameter name="string">
16810 <parameter_description> a #GString
16811 </parameter_description>
16812 </parameter>
16813 <parameter name="pos">
16814 <parameter_description> the position at which to insert character, or -1 to
16815 append at the end of the string
16816 </parameter_description>
16817 </parameter>
16818 <parameter name="wc">
16819 <parameter_description> a Unicode character
16820 </parameter_description>
16821 </parameter>
16822 </parameters>
16823 <return> @string
16824 </return>
16825 </function>
16826
16827 <function name="g_bookmark_file_free">
16828 <description>
16829 Frees a #GBookmarkFile.
16830
16831 Since: 2.12
16832
16833 </description>
16834 <parameters>
16835 <parameter name="bookmark">
16836 <parameter_description> a #GBookmarkFile
16837 </parameter_description>
16838 </parameter>
16839 </parameters>
16840 <return></return>
16841 </function>
16842
16843 <function name="g_regex_match_full">
16844 <description>
16845 Scans for a match in string for the pattern in @regex. 
16846 The @match_options are combined with the match options specified 
16847 when the @regex structure was created, letting you have more 
16848 flexibility in reusing #GRegex structures.
16849
16850 Setting @start_position differs from just passing over a shortened 
16851 string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern 
16852 that begins with any kind of lookbehind assertion, such as &quot;\b&quot;.
16853
16854 A #GMatchInfo structure, used to get information on the match, is 
16855 stored in @match_info if not %NULL. Note that if @match_info is 
16856 not %NULL then it is created even if the function returns %FALSE, 
16857 i.e. you must free it regardless if regular expression actually 
16858 matched.
16859
16860 @string is not copied and is used in #GMatchInfo internally. If 
16861 you use any #GMatchInfo method (except g_match_info_free()) after 
16862 freeing or modifying @string then the behaviour is undefined.
16863
16864 To retrieve all the non-overlapping matches of the pattern in 
16865 string you can use g_match_info_next().
16866
16867 &amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
16868 static void
16869 print_uppercase_words (const gchar *string)
16870 {
16871 /&amp;ast; Print all uppercase-only words. &amp;ast;/
16872 GRegex *regex;
16873 GMatchInfo *match_info;
16874 GError *error = NULL;
16875 &amp;nbsp;
16876 regex = g_regex_new (&quot;[A-Z]+&quot;, 0, 0, NULL);
16877 g_regex_match_full (regex, string, -1, 0, 0, &amp;amp;match_info, &amp;amp;error);
16878 while (g_match_info_matches (match_info))
16879 {
16880 gchar *word = g_match_info_fetch (match_info, 0);
16881 g_print (&quot;Found: %s\n&quot;, word);
16882 g_free (word);
16883 g_match_info_next (match_info, &amp;amp;error);
16884 }
16885 g_match_info_free (match_info);
16886 g_regex_unref (regex);
16887 if (error != NULL)
16888 {
16889 g_printerr (&quot;Error while matching: %s\n&quot;, error-&amp;gt;message);
16890 g_error_free (error);
16891 }
16892 }
16893 &amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;
16894
16895
16896 </description>
16897 <parameters>
16898 <parameter name="regex">
16899 <parameter_description> a #GRegex structure from g_regex_new()
16900 </parameter_description>
16901 </parameter>
16902 <parameter name="string">
16903 <parameter_description> the string to scan for matches
16904 </parameter_description>
16905 </parameter>
16906 <parameter name="string_len">
16907 <parameter_description> the length of @string, or -1 if @string is nul-terminated
16908 </parameter_description>
16909 </parameter>
16910 <parameter name="start_position">
16911 <parameter_description> starting index of the string to match
16912 </parameter_description>
16913 </parameter>
16914 <parameter name="match_options">
16915 <parameter_description> match options
16916 </parameter_description>
16917 </parameter>
16918 <parameter name="match_info">
16919 <parameter_description> pointer to location where to store the #GMatchInfo, 
16920 or %NULL if you do not need it
16921 </parameter_description>
16922 </parameter>
16923 <parameter name="error">
16924 <parameter_description> location to store the error occuring, or %NULL to ignore errors
16925 </parameter_description>
16926 </parameter>
16927 </parameters>
16928 <return> %TRUE is the string matched, %FALSE otherwise
16929
16930 Since: 2.14
16931 </return>
16932 </function>
16933
16934 <function name="g_get_charset">
16935 <description>
16936 Obtains the character set for the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current 
16937 locale&amp;lt;/link&amp;gt;; you might use this character set as an argument to 
16938 g_convert(), to convert from the current locale&apos;s encoding to some 
16939 other encoding. (Frequently g_locale_to_utf8() and g_locale_from_utf8()
16940 are nice shortcuts, though.)
16941
16942 The return value is %TRUE if the locale&apos;s encoding is UTF-8, in that
16943 case you can perhaps avoid calling g_convert().
16944
16945 The string returned in @charset is not allocated, and should not be
16946 freed.
16947
16948
16949 </description>
16950 <parameters>
16951 <parameter name="charset">
16952 <parameter_description> return location for character set name
16953 </parameter_description>
16954 </parameter>
16955 </parameters>
16956 <return> %TRUE if the returned charset is UTF-8
16957 </return>
16958 </function>
16959
16960 <function name="g_key_file_set_string_list">
16961 <description>
16962 Associates a list of string values for @key under @group_name.
16963 If @key cannot be found then it is created.  If @group_name 
16964 cannot be found then it is created.
16965
16966 Since: 2.6
16967
16968 </description>
16969 <parameters>
16970 <parameter name="key_file">
16971 <parameter_description> a #GKeyFile
16972 </parameter_description>
16973 </parameter>
16974 <parameter name="group_name">
16975 <parameter_description> a group name
16976 </parameter_description>
16977 </parameter>
16978 <parameter name="key">
16979 <parameter_description> a key
16980 </parameter_description>
16981 </parameter>
16982 <parameter name="list">
16983 <parameter_description> an array of locale string values
16984 </parameter_description>
16985 </parameter>
16986 <parameter name="length">
16987 <parameter_description> number of locale string values in @list
16988 </parameter_description>
16989 </parameter>
16990 </parameters>
16991 <return></return>
16992 </function>
16993
16994 <function name="g_markup_escape_text">
16995 <description>
16996 Escapes text so that the markup parser will parse it verbatim.
16997 Less than, greater than, ampersand, etc. are replaced with the
16998 corresponding entities. This function would typically be used
16999 when writing out a file to be parsed with the markup parser.
17000
17001 Note that this function doesn&apos;t protect whitespace and line endings
17002 from being processed according to the XML rules for normalization
17003 of line endings and attribute values.
17004
17005
17006 </description>
17007 <parameters>
17008 <parameter name="text">
17009 <parameter_description> some valid UTF-8 text
17010 </parameter_description>
17011 </parameter>
17012 <parameter name="length">
17013 <parameter_description> length of @text in bytes, or -1 if the text is nul-terminated
17014 </parameter_description>
17015 </parameter>
17016 </parameters>
17017 <return> a newly allocated string with the escaped text
17018 </return>
17019 </function>
17020
17021 <function name="g_option_context_parse">
17022 <description>
17023 Parses the command line arguments, recognizing options
17024 which have been added to @context. A side-effect of 
17025 calling this function is that g_set_prgname() will be
17026 called.
17027
17028 If the parsing is successful, any parsed arguments are
17029 removed from the array and @argc and @argv are updated 
17030 accordingly. A &apos;--&apos; option is stripped from @argv
17031 unless there are unparsed options before and after it, 
17032 or some of the options after it start with &apos;-&apos;. In case 
17033 of an error, @argc and @argv are left unmodified. 
17034
17035 If automatic &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; support is enabled
17036 (see g_option_context_set_help_enabled()), and the 
17037 @argv array contains one of the recognized help options,
17038 this function will produce help output to stdout and
17039 call &amp;lt;literal&amp;gt;exit (0)&amp;lt;/literal&amp;gt;.
17040
17041 Note that function depends on the 
17042 &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt; for 
17043 automatic character set conversion of string and filename
17044 arguments.
17045
17046
17047 </description>
17048 <parameters>
17049 <parameter name="context">
17050 <parameter_description> a #GOptionContext
17051 </parameter_description>
17052 </parameter>
17053 <parameter name="argc">
17054 <parameter_description> a pointer to the number of command line arguments
17055 </parameter_description>
17056 </parameter>
17057 <parameter name="argv">
17058 <parameter_description> a pointer to the array of command line arguments
17059 </parameter_description>
17060 </parameter>
17061 <parameter name="error">
17062 <parameter_description> a return location for errors 
17063 </parameter_description>
17064 </parameter>
17065 </parameters>
17066 <return> %TRUE if the parsing was successful, 
17067 %FALSE if an error occurred
17068
17069 Since: 2.6
17070 </return>
17071 </function>
17072
17073 <function name="g_intern_static_string">
17074 <description>
17075 Returns: a canonical representation for the string
17076
17077 </description>
17078 <parameters>
17079 <parameter name="string">
17080 <parameter_description> a static string
17081 </parameter_description>
17082 </parameter>
17083 </parameters>
17084 <return> a canonical representation for the string
17085
17086 Since: 2.10
17087 </return>
17088 </function>
17089
17090 <function name="g_strsplit">
17091 <description>
17092 Splits a string into a maximum of @max_tokens pieces, using the given
17093 @delimiter. If @max_tokens is reached, the remainder of @string is appended
17094 to the last token. 
17095
17096 As a special case, the result of splitting the empty string &quot;&quot; is an empty
17097 vector, not a vector containing a single string. The reason for this
17098 special case is that being able to represent a empty vector is typically
17099 more useful than consistent handling of empty elements. If you do need
17100 to represent empty elements, you&apos;ll need to check for the empty string
17101 before calling g_strsplit().
17102
17103
17104 </description>
17105 <parameters>
17106 <parameter name="string">
17107 <parameter_description> a string to split.
17108 </parameter_description>
17109 </parameter>
17110 <parameter name="delimiter">
17111 <parameter_description> a string which specifies the places at which to split the string.
17112 The delimiter is not included in any of the resulting strings, unless
17113 @max_tokens is reached.
17114 </parameter_description>
17115 </parameter>
17116 <parameter name="max_tokens">
17117 <parameter_description> the maximum number of pieces to split @string into. If this is
17118 less than 1, the string is split completely.
17119 </parameter_description>
17120 </parameter>
17121 </parameters>
17122 <return> a newly-allocated %NULL-terminated array of strings. Use 
17123 g_strfreev() to free it.
17124 </return>
17125 </function>
17126
17127 <function name="g_queue_is_empty">
17128 <description>
17129 Returns: %TRUE if the queue is empty.
17130
17131 </description>
17132 <parameters>
17133 <parameter name="queue">
17134 <parameter_description> a #GQueue.
17135 </parameter_description>
17136 </parameter>
17137 </parameters>
17138 <return> %TRUE if the queue is empty.
17139 </return>
17140 </function>
17141
17142 <function name="g_hash_table_new_full">
17143 <description>
17144 Creates a new #GHashTable like g_hash_table_new() with a reference count
17145 of 1 and allows to specify functions to free the memory allocated for the
17146 key and value that get called when removing the entry from the #GHashTable.
17147
17148
17149 </description>
17150 <parameters>
17151 <parameter name="hash_func">
17152 <parameter_description> a function to create a hash value from a key.
17153 </parameter_description>
17154 </parameter>
17155 <parameter name="key_equal_func">
17156 <parameter_description> a function to check two keys for equality.
17157 </parameter_description>
17158 </parameter>
17159 <parameter name="key_destroy_func">
17160 <parameter_description> a function to free the memory allocated for the key 
17161 used when removing the entry from the #GHashTable or %NULL if you 
17162 don&apos;t want to supply such a function.
17163 </parameter_description>
17164 </parameter>
17165 <parameter name="value_destroy_func">
17166 <parameter_description> a function to free the memory allocated for the 
17167 value used when removing the entry from the #GHashTable or %NULL if 
17168 you don&apos;t want to supply such a function.
17169 </parameter_description>
17170 </parameter>
17171 </parameters>
17172 <return> a new #GHashTable.
17173 </return>
17174 </function>
17175
17176 <function name="g_remove">
17177 <description>
17178 A wrapper for the POSIX remove() function. The remove() function
17179 deletes a name from the filesystem.
17180
17181 See your C library manual for more details about how remove() works
17182 on your system. On Unix, remove() removes also directories, as it
17183 calls unlink() for files and rmdir() for directories. On Windows,
17184 although remove() in the C library only works for files, this
17185 function tries first remove() and then if that fails rmdir(), and
17186 thus works for both files and directories. Note however, that on
17187 Windows, it is in general not possible to remove a file that is
17188 open to some process, or mapped into memory.
17189
17190 If this function fails on Windows you can&apos;t infer too much from the
17191 errno value. rmdir() is tried regardless of what caused remove() to
17192 fail. Any errno value set by remove() will be overwritten by that
17193 set by rmdir().
17194
17195
17196 </description>
17197 <parameters>
17198 <parameter name="filename">
17199 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
17200 </parameter_description>
17201 </parameter>
17202 </parameters>
17203 <return> 0 if the file was successfully removed, -1 if an error 
17204 occurred
17205
17206 Since: 2.6
17207 </return>
17208 </function>
17209
17210 <function name="g_regex_get_string_number">
17211 <description>
17212 Retrieves the number of the subexpression named @name.
17213
17214
17215 </description>
17216 <parameters>
17217 <parameter name="regex">
17218 <parameter_description> #GRegex structure
17219 </parameter_description>
17220 </parameter>
17221 <parameter name="name">
17222 <parameter_description> name of the subexpression
17223 </parameter_description>
17224 </parameter>
17225 </parameters>
17226 <return> The number of the subexpression or -1 if @name 
17227 does not exists
17228
17229 Since: 2.14
17230 </return>
17231 </function>
17232
17233 <function name="g_main_context_check">
17234 <description>
17235 Passes the results of polling back to the main loop.
17236
17237
17238 </description>
17239 <parameters>
17240 <parameter name="context">
17241 <parameter_description> a #GMainContext
17242 </parameter_description>
17243 </parameter>
17244 <parameter name="max_priority">
17245 <parameter_description> the maximum numerical priority of sources to check
17246 </parameter_description>
17247 </parameter>
17248 <parameter name="fds">
17249 <parameter_description> array of #GPollFD&apos;s that was passed to the last call to
17250 g_main_context_query()
17251 </parameter_description>
17252 </parameter>
17253 <parameter name="n_fds">
17254 <parameter_description> return value of g_main_context_query()
17255 </parameter_description>
17256 </parameter>
17257 </parameters>
17258 <return> %TRUE if some sources are ready to be dispatched.
17259 </return>
17260 </function>
17261
17262 <function name="g_spawn_command_line_sync">
17263 <description>
17264 A simple version of g_spawn_sync() with little-used parameters
17265 removed, taking a command line instead of an argument vector.  See
17266 g_spawn_sync() for full details. @command_line will be parsed by
17267 g_shell_parse_argv(). Unlike g_spawn_sync(), the %G_SPAWN_SEARCH_PATH flag
17268 is enabled. Note that %G_SPAWN_SEARCH_PATH can have security
17269 implications, so consider using g_spawn_sync() directly if
17270 appropriate. Possible errors are those from g_spawn_sync() and those
17271 from g_shell_parse_argv().
17272
17273 If @exit_status is non-%NULL, the exit status of the child is stored there as
17274 it would be returned by waitpid(); standard UNIX macros such as WIFEXITED()
17275 and WEXITSTATUS() must be used to evaluate the exit status.
17276
17277 On Windows, please note the implications of g_shell_parse_argv()
17278 parsing @command_line. Parsing is done according to Unix shell rules, not 
17279 Windows command interpreter rules.
17280 Space is a separator, and backslashes are
17281 special. Thus you cannot simply pass a @command_line containing
17282 canonical Windows paths, like &quot;c:\\program files\\app\\app.exe&quot;, as
17283 the backslashes will be eaten, and the space will act as a
17284 separator. You need to enclose such paths with single quotes, like
17285 &quot;&apos;c:\\program files\\app\\app.exe&apos; &apos;e:\\folder\\argument.txt&apos;&quot;.
17286
17287
17288 </description>
17289 <parameters>
17290 <parameter name="command_line">
17291 <parameter_description> a command line 
17292 </parameter_description>
17293 </parameter>
17294 <parameter name="standard_output">
17295 <parameter_description> return location for child output
17296 </parameter_description>
17297 </parameter>
17298 <parameter name="standard_error">
17299 <parameter_description> return location for child errors
17300 </parameter_description>
17301 </parameter>
17302 <parameter name="exit_status">
17303 <parameter_description> return location for child exit status, as returned by waitpid()
17304 </parameter_description>
17305 </parameter>
17306 <parameter name="error">
17307 <parameter_description> return location for errors
17308 </parameter_description>
17309 </parameter>
17310 </parameters>
17311 <return> %TRUE on success, %FALSE if an error was set
17312 </return>
17313 </function>
17314
17315 <function name="g_sequence_sort">
17316 <description>
17317 Sorts @seq using @cmp_func.
17318
17319 Since: 2.14
17320
17321 </description>
17322 <parameters>
17323 <parameter name="seq">
17324 <parameter_description> a #GSequence
17325 </parameter_description>
17326 </parameter>
17327 <parameter name="cmp_func">
17328 <parameter_description> the #GCompareDataFunc used to sort @seq. This function is
17329 passed two items of @seq and should return 0 if they are equal,
17330 a negative value fi the first comes before the second, and a
17331 positive value if the second comes before the first.
17332 </parameter_description>
17333 </parameter>
17334 <parameter name="cmp_data">
17335 <parameter_description> user data passed to @cmp_func
17336 </parameter_description>
17337 </parameter>
17338 </parameters>
17339 <return></return>
17340 </function>
17341
17342 <function name="g_option_context_set_summary">
17343 <description>
17344 Adds a string to be displayed in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output
17345 before the list of options. This is typically a summary of the
17346 program functionality. 
17347
17348 Note that the summary is translated (see 
17349 g_option_context_set_translate_func(), g_option_context_set_translation_domain()).
17350
17351 Since: 2.12
17352
17353 </description>
17354 <parameters>
17355 <parameter name="context">
17356 <parameter_description> a #GOptionContext
17357 </parameter_description>
17358 </parameter>
17359 <parameter name="summary">
17360 <parameter_description> a string to be shown in &amp;lt;option&amp;gt;--help&amp;lt;/option&amp;gt; output 
17361 before the list of options, or %NULL
17362 </parameter_description>
17363 </parameter>
17364 </parameters>
17365 <return></return>
17366 </function>
17367
17368 <function name="g_build_filenamev">
17369 <description>
17370 Behaves exactly like g_build_filename(), but takes the path elements 
17371 as a string array, instead of varargs. This function is mainly
17372 meant for language bindings.
17373
17374
17375 </description>
17376 <parameters>
17377 <parameter name="args">
17378 <parameter_description> %NULL-terminated array of strings containing the path elements.
17379 </parameter_description>
17380 </parameter>
17381 </parameters>
17382 <return> a newly-allocated string that must be freed with g_free().
17383
17384 Since: 2.8
17385 </return>
17386 </function>
17387
17388 <function name="g_io_channel_write_chars">
17389 <description>
17390 Replacement for g_io_channel_write() with the new API.
17391
17392 On seekable channels with encodings other than %NULL or UTF-8, generic
17393 mixing of reading and writing is not allowed. A call to g_io_channel_write_chars ()
17394 may only be made on a channel from which data has been read in the
17395 cases described in the documentation for g_io_channel_set_encoding ().
17396
17397
17398 </description>
17399 <parameters>
17400 <parameter name="channel">
17401 <parameter_description> a #GIOChannel
17402 </parameter_description>
17403 </parameter>
17404 <parameter name="buf">
17405 <parameter_description> a buffer to write data from
17406 </parameter_description>
17407 </parameter>
17408 <parameter name="count">
17409 <parameter_description> the size of the buffer. If -1, the buffer
17410 is taken to be a nul-terminated string.
17411 </parameter_description>
17412 </parameter>
17413 <parameter name="bytes_written">
17414 <parameter_description> The number of bytes written. This can be nonzero
17415 even if the return value is not %G_IO_STATUS_NORMAL.
17416 If the return value is %G_IO_STATUS_NORMAL and the
17417 channel is blocking, this will always be equal
17418 to @count if @count &amp;gt;= 0.
17419 </parameter_description>
17420 </parameter>
17421 <parameter name="error">
17422 <parameter_description> A location to return an error of type #GConvertError
17423 or #GIOChannelError
17424 </parameter_description>
17425 </parameter>
17426 </parameters>
17427 <return> the status of the operation.
17428 </return>
17429 </function>
17430
17431 <function name="g_io_channel_get_flags">
17432 <description>
17433 Gets the current flags for a #GIOChannel, including read-only
17434 flags such as %G_IO_FLAG_IS_READABLE.
17435
17436 The values of the flags %G_IO_FLAG_IS_READABLE and %G_IO_FLAG_IS_WRITEABLE
17437 are cached for internal use by the channel when it is created.
17438 If they should change at some later point (e.g. partial shutdown
17439 of a socket with the UNIX shutdown() function), the user
17440 should immediately call g_io_channel_get_flags () to update
17441 the internal values of these flags.
17442
17443
17444 </description>
17445 <parameters>
17446 <parameter name="channel">
17447 <parameter_description> a #GIOChannel
17448 </parameter_description>
17449 </parameter>
17450 </parameters>
17451 <return> the flags which are set on the channel
17452 </return>
17453 </function>
17454
17455 <function name="g_locale_from_utf8">
17456 <description>
17457 Converts a string from UTF-8 to the encoding used for strings by
17458 the C runtime (usually the same as that used by the operating
17459 system) in the &amp;lt;link linkend=&quot;setlocale&quot;&amp;gt;current locale&amp;lt;/link&amp;gt;.
17460
17461
17462 </description>
17463 <parameters>
17464 <parameter name="utf8string">
17465 <parameter_description>    a UTF-8 encoded string 
17466 </parameter_description>
17467 </parameter>
17468 <parameter name="len">
17469 <parameter_description>           the length of the string, or -1 if the string is
17470 nul-terminated&amp;lt;footnoteref linkend=&quot;nul-unsafe&quot;/&amp;gt;. 
17471 </parameter_description>
17472 </parameter>
17473 <parameter name="bytes_read">
17474 <parameter_description>    location to store the number of bytes in the
17475 input string that were successfully converted, or %NULL.
17476 Even if the conversion was successful, this may be 
17477 less than @len if there were partial characters
17478 at the end of the input. If the error
17479 #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
17480 stored will the byte offset after the last valid
17481 input sequence.
17482 </parameter_description>
17483 </parameter>
17484 <parameter name="bytes_written">
17485 <parameter_description> the number of bytes stored in the output buffer (not 
17486 including the terminating nul).
17487 </parameter_description>
17488 </parameter>
17489 <parameter name="error">
17490 <parameter_description>         location to store the error occuring, or %NULL to ignore
17491 errors. Any of the errors in #GConvertError may occur.
17492 </parameter_description>
17493 </parameter>
17494 </parameters>
17495 <return> The converted string, or %NULL on an error.
17496 </return>
17497 </function>
17498
17499 <function name="g_key_file_set_list_separator">
17500 <description>
17501 Sets the character which is used to separate
17502 values in lists. Typically &apos;;&apos; or &apos;,&apos; are used
17503 as separators. The default list separator is &apos;;&apos;.
17504
17505 Since: 2.6
17506
17507 </description>
17508 <parameters>
17509 <parameter name="key_file">
17510 <parameter_description> a #GKeyFile 
17511 </parameter_description>
17512 </parameter>
17513 <parameter name="separator">
17514 <parameter_description> the separator
17515 </parameter_description>
17516 </parameter>
17517 </parameters>
17518 <return></return>
17519 </function>
17520
17521 <function name="g_tree_new">
17522 <description>
17523 Creates a new #GTree.
17524
17525
17526 </description>
17527 <parameters>
17528 <parameter name="key_compare_func">
17529 <parameter_description> the function used to order the nodes in the #GTree.
17530 It should return values similar to the standard strcmp() function -
17531 0 if the two arguments are equal, a negative value if the first argument 
17532 comes before the second, or a positive value if the first argument comes 
17533 after the second.
17534 </parameter_description>
17535 </parameter>
17536 </parameters>
17537 <return> a new #GTree.
17538 </return>
17539 </function>
17540
17541 <function name="g_timeout_add">
17542 <description>
17543 Sets a function to be called at regular intervals, with the default
17544 priority, #G_PRIORITY_DEFAULT.  The function is called repeatedly
17545 until it returns %FALSE, at which point the timeout is automatically
17546 destroyed and the function will not be called again.  The first call
17547 to the function will be at the end of the first @interval.
17548
17549 Note that timeout functions may be delayed, due to the processing of other
17550 event sources. Thus they should not be relied on for precise timing.
17551 After each call to the timeout function, the time of the next
17552 timeout is recalculated based on the current time and the given interval
17553 (it does not try to &apos;catch up&apos; time lost in delays).
17554
17555 If you want to have a timer in the &quot;seconds&quot; range and do not care
17556 about the exact time of the first call of the timer, use the
17557 g_timeout_add_seconds() function; this function allows for more
17558 optimizations and more efficient system power usage.
17559
17560
17561 </description>
17562 <parameters>
17563 <parameter name="interval">
17564 <parameter_description> the time between calls to the function, in milliseconds
17565 (1/1000ths of a second)
17566 </parameter_description>
17567 </parameter>
17568 <parameter name="function">
17569 <parameter_description> function to call
17570 </parameter_description>
17571 </parameter>
17572 <parameter name="data">
17573 <parameter_description>     data to pass to @function
17574 </parameter_description>
17575 </parameter>
17576 </parameters>
17577 <return> the ID (greater than 0) of the event source.
17578 </return>
17579 </function>
17580
17581 <function name="g_mapped_file_get_length">
17582 <description>
17583 Returns: the length of the contents of @file.
17584
17585 </description>
17586 <parameters>
17587 <parameter name="file">
17588 <parameter_description> a #GMappedFile
17589 </parameter_description>
17590 </parameter>
17591 </parameters>
17592 <return> the length of the contents of @file.
17593
17594 Since: 2.8
17595 </return>
17596 </function>
17597
17598 <function name="g_key_file_load_from_file">
17599 <description>
17600 Loads a key file into an empty #GKeyFile structure.
17601 If the file could not be loaded then %error is set to 
17602 either a #GFileError or #GKeyFileError.
17603
17604
17605 </description>
17606 <parameters>
17607 <parameter name="key_file">
17608 <parameter_description> an empty #GKeyFile struct
17609 </parameter_description>
17610 </parameter>
17611 <parameter name="file">
17612 <parameter_description> the path of a filename to load, in the GLib file name encoding
17613 </parameter_description>
17614 </parameter>
17615 <parameter name="flags">
17616 <parameter_description> flags from #GKeyFileFlags
17617 </parameter_description>
17618 </parameter>
17619 <parameter name="error">
17620 <parameter_description> return location for a #GError, or %NULL
17621 </parameter_description>
17622 </parameter>
17623 </parameters>
17624 <return> %TRUE if a key file could be loaded, %FALSE othewise
17625 Since: 2.6
17626 </return>
17627 </function>
17628
17629 <function name="g_queue_init">
17630 <description>
17631 A statically-allocated #GQueue must be initialized with this function
17632 before it can be used. Alternatively you can initialize it with
17633 #G_QUEUE_INIT. It is not necessary to initialize queues created with
17634 g_queue_new().
17635
17636 Since: 2.14
17637
17638 </description>
17639 <parameters>
17640 <parameter name="queue">
17641 <parameter_description> an uninitialized #GQueue
17642 </parameter_description>
17643 </parameter>
17644 </parameters>
17645 <return></return>
17646 </function>
17647
17648 <function name="g_queue_delete_link">
17649 <description>
17650 Removes @link_ from @queue and frees it.
17651
17652 @link_ must be part of @queue.
17653
17654 Since: 2.4
17655
17656 </description>
17657 <parameters>
17658 <parameter name="queue">
17659 <parameter_description> a #GQueue
17660 </parameter_description>
17661 </parameter>
17662 <parameter name="link_">
17663 <parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
17664 </parameter_description>
17665 </parameter>
17666 </parameters>
17667 <return></return>
17668 </function>
17669
17670 <function name="g_queue_reverse">
17671 <description>
17672 Reverses the order of the items in @queue.
17673
17674 Since: 2.4
17675
17676 </description>
17677 <parameters>
17678 <parameter name="queue">
17679 <parameter_description> a #GQueue
17680 </parameter_description>
17681 </parameter>
17682 </parameters>
17683 <return></return>
17684 </function>
17685
17686 <function name="g_async_queue_length">
17687 <description>
17688 Return value: the length of the @queue.
17689
17690 </description>
17691 <parameters>
17692 <parameter name="queue">
17693 <parameter_description> a #GAsyncQueue.
17694 </parameter_description>
17695 </parameter>
17696 </parameters>
17697 <return> the length of the @queue.
17698 </return>
17699 </function>
17700
17701 <function name="g_ascii_strtoll">
17702 <description>
17703 Converts a string to a #gint64 value.
17704 This function behaves like the standard strtoll() function
17705 does in the C locale. It does this without actually
17706 changing the current locale, since that would not be
17707 thread-safe.
17708
17709 This function is typically used when reading configuration
17710 files or other non-user input that should be locale independent.
17711 To handle input from the user you should normally use the
17712 locale-sensitive system strtoll() function.
17713
17714 If the correct value would cause overflow, %G_MAXINT64 or %G_MININT64
17715 is returned, and %ERANGE is stored in %errno.  If the base is
17716 outside the valid range, zero is returned, and %EINVAL is stored
17717 in %errno.  If the string conversion fails, zero is returned, and
17718 @endptr returns @nptr (if @endptr is non-%NULL).
17719
17720
17721 </description>
17722 <parameters>
17723 <parameter name="nptr">
17724 <parameter_description>    the string to convert to a numeric value.
17725 </parameter_description>
17726 </parameter>
17727 <parameter name="endptr">
17728 <parameter_description>  if non-%NULL, it returns the character after
17729 the last character used in the conversion.
17730 </parameter_description>
17731 </parameter>
17732 <parameter name="base">
17733 <parameter_description>    to be used for the conversion, 2..36 or 0
17734 </parameter_description>
17735 </parameter>
17736 </parameters>
17737 <return> the #gint64 value or zero on error.
17738
17739 Since: 2.12
17740 </return>
17741 </function>
17742
17743 <function name="g_regex_escape_string">
17744 <description>
17745 Escapes the special characters used for regular expressions 
17746 in @string, for instance &quot;a.b*c&quot; becomes &quot;a\.b\*c&quot;. This 
17747 function is useful to dynamically generate regular expressions.
17748
17749 @string can contain nul characters that are replaced with &quot;\0&quot;, 
17750 in this case remember to specify the correct length of @string 
17751 in @length.
17752
17753
17754 </description>
17755 <parameters>
17756 <parameter name="string">
17757 <parameter_description> the string to escape
17758 </parameter_description>
17759 </parameter>
17760 <parameter name="length">
17761 <parameter_description> the length of @string, or -1 if @string is nul-terminated
17762 </parameter_description>
17763 </parameter>
17764 </parameters>
17765 <return> a newly-allocated escaped string
17766
17767 Since: 2.14
17768 </return>
17769 </function>
17770
17771 <function name="g_io_channel_read_unichar">
17772 <description>
17773 This function cannot be called on a channel with %NULL encoding.
17774
17775
17776 </description>
17777 <parameters>
17778 <parameter name="channel">
17779 <parameter_description> a #GIOChannel
17780 </parameter_description>
17781 </parameter>
17782 <parameter name="thechar">
17783 <parameter_description> a location to return a character
17784 </parameter_description>
17785 </parameter>
17786 <parameter name="error">
17787 <parameter_description> A location to return an error of type #GConvertError
17788 or #GIOChannelError
17789 </parameter_description>
17790 </parameter>
17791 </parameters>
17792 <return> a #GIOStatus
17793 </return>
17794 </function>
17795
17796 <function name="g_mkdir">
17797 <description>
17798 A wrapper for the POSIX mkdir() function. The mkdir() function 
17799 attempts to create a directory with the given name and permissions.
17800 The mode argument is ignored on Windows.
17801
17802 See the C library manual for more details about mkdir().
17803
17804
17805 </description>
17806 <parameters>
17807 <parameter name="filename">
17808 <parameter_description> a pathname in the GLib file name encoding (UTF-8 on Windows)
17809 </parameter_description>
17810 </parameter>
17811 <parameter name="mode">
17812 <parameter_description> permissions to use for the newly created directory
17813 </parameter_description>
17814 </parameter>
17815 </parameters>
17816 <return> 0 if the directory was successfully created, -1 if an error 
17817 occurred
17818
17819 Since: 2.6
17820 </return>
17821 </function>
17822
17823 <function name="g_option_context_get_summary">
17824 <description>
17825 Returns: the summary
17826
17827 </description>
17828 <parameters>
17829 <parameter name="context">
17830 <parameter_description> a #GOptionContext
17831 </parameter_description>
17832 </parameter>
17833 </parameters>
17834 <return> the summary
17835
17836 Since: 2.12
17837 </return>
17838 </function>
17839
17840 <function name="g_time_val_to_iso8601">
17841 <description>
17842 Converts @time_ into a ISO 8601 encoded string, relative to the
17843 Coordinated Universal Time (UTC).
17844
17845
17846 </description>
17847 <parameters>
17848 <parameter name="time_">
17849 <parameter_description> a #GTimeVal
17850 </parameter_description>
17851 </parameter>
17852 </parameters>
17853 <return> a newly allocated string containing a ISO 8601 date
17854
17855 Since: 2.12
17856 </return>
17857 </function>
17858
17859 <function name="g_get_user_special_dir">
17860 <description>
17861 Return value: the path to the specified special directory, or %NULL
17862
17863 </description>
17864 <parameters>
17865 <parameter name="directory">
17866 <parameter_description> the logical id of special directory
17867 </parameter_description>
17868 </parameter>
17869 </parameters>
17870 <return> the path to the specified special directory, or %NULL
17871 if the logical id was not found. The returned string is owned by
17872 GLib and should not be modified or freed.
17873
17874 Since: 2.14
17875 </return>
17876 </function>
17877
17878 <function name="g_source_set_funcs">
17879 <description>
17880 Sets the source functions (can be used to override 
17881 default implementations) of an unattached source.
17882
17883 Since: 2.12
17884
17885 </description>
17886 <parameters>
17887 <parameter name="source">
17888 <parameter_description> a #GSource
17889 </parameter_description>
17890 </parameter>
17891 <parameter name="funcs">
17892 <parameter_description> the new #GSourceFuncs
17893 </parameter_description>
17894 </parameter>
17895 </parameters>
17896 <return></return>
17897 </function>
17898
17899 <function name="g_regex_match_all">
17900 <description>
17901 Using the standard algorithm for regular expression matching only 
17902 the longest match in the string is retrieved. This function uses 
17903 a different algorithm so it can retrieve all the possible matches.
17904 For more documentation see g_regex_match_all_full().
17905
17906 A #GMatchInfo structure, used to get information on the match, is 
17907 stored in @match_info if not %NULL. Note that if @match_info is 
17908 not %NULL then it is created even if the function returns %FALSE, 
17909 i.e. you must free it regardless if regular expression actually 
17910 matched.
17911
17912
17913 </description>
17914 <parameters>
17915 <parameter name="regex">
17916 <parameter_description> a #GRegex structure from g_regex_new()
17917 </parameter_description>
17918 </parameter>
17919 <parameter name="string">
17920 <parameter_description> the string to scan for matches
17921 </parameter_description>
17922 </parameter>
17923 <parameter name="match_options">
17924 <parameter_description> match options
17925 </parameter_description>
17926 </parameter>
17927 <parameter name="match_info">
17928 <parameter_description> pointer to location where to store the #GMatchInfo, 
17929 or %NULL if you do not need it
17930 </parameter_description>
17931 </parameter>
17932 </parameters>
17933 <return> %TRUE is the string matched, %FALSE otherwise
17934
17935 Since: 2.14
17936 </return>
17937 </function>
17938
17939 <function name="g_direct_hash">
17940 <description>
17941 Converts a gpointer to a hash value.
17942 It can be passed to g_hash_table_new() as the @hash_func parameter, 
17943 when using pointers as keys in a #GHashTable.
17944
17945
17946 </description>
17947 <parameters>
17948 <parameter name="v">
17949 <parameter_description> a #gpointer key
17950 </parameter_description>
17951 </parameter>
17952 </parameters>
17953 <return> a hash value corresponding to the key.
17954 </return>
17955 </function>
17956
17957 <function name="g_unichar_isalpha">
17958 <description>
17959 Determines whether a character is alphabetic (i.e. a letter).
17960 Given some UTF-8 text, obtain a character value with
17961 g_utf8_get_char().
17962
17963
17964 </description>
17965 <parameters>
17966 <parameter name="c">
17967 <parameter_description> a Unicode character
17968 </parameter_description>
17969 </parameter>
17970 </parameters>
17971 <return> %TRUE if @c is an alphabetic character
17972 </return>
17973 </function>
17974
17975 <function name="g_queue_unlink">
17976 <description>
17977 Unlinks @link_ so that it will no longer be part of @queue. The link is
17978 not freed.
17979
17980 @link_ must be part of @queue,
17981
17982 Since: 2.4
17983
17984 </description>
17985 <parameters>
17986 <parameter name="queue">
17987 <parameter_description> a #GQueue
17988 </parameter_description>
17989 </parameter>
17990 <parameter name="link_">
17991 <parameter_description> a #GList link that &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; be part of @queue
17992 </parameter_description>
17993 </parameter>
17994 </parameters>
17995 <return></return>
17996 </function>
17997
17998 <function name="g_bookmark_file_get_visited">
17999 <description>
18000 Gets the time the bookmark for @uri was last visited.
18001
18002 In the event the URI cannot be found, -1 is returned and
18003 @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
18004
18005
18006 </description>
18007 <parameters>
18008 <parameter name="bookmark">
18009 <parameter_description> a #GBookmarkFile
18010 </parameter_description>
18011 </parameter>
18012 <parameter name="uri">
18013 <parameter_description> a valid URI
18014 </parameter_description>
18015 </parameter>
18016 <parameter name="error">
18017 <parameter_description> return location for a #GError, or %NULL
18018 </parameter_description>
18019 </parameter>
18020 </parameters>
18021 <return> a timestamp.
18022
18023 Since: 2.12
18024 </return>
18025 </function>
18026
18027 <function name="g_io_channel_set_buffered">
18028 <description>
18029 The buffering state can only be set if the channel&apos;s encoding
18030 is %NULL. For any other encoding, the channel must be buffered.
18031
18032 A buffered channel can only be set unbuffered if the channel&apos;s
18033 internal buffers have been flushed. Newly created channels or
18034 channels which have returned %G_IO_STATUS_EOF
18035 not require such a flush. For write-only channels, a call to
18036 g_io_channel_flush () is sufficient. For all other channels,
18037 the buffers may be flushed by a call to g_io_channel_seek_position ().
18038 This includes the possibility of seeking with seek type %G_SEEK_CUR
18039 and an offset of zero. Note that this means that socket-based
18040 channels cannot be set unbuffered once they have had data
18041 read from them.
18042
18043 On unbuffered channels, it is safe to mix read and write
18044 calls from the new and old APIs, if this is necessary for
18045 maintaining old code.
18046
18047 The default state of the channel is buffered.
18048
18049 </description>
18050 <parameters>
18051 <parameter name="channel">
18052 <parameter_description> a #GIOChannel
18053 </parameter_description>
18054 </parameter>
18055 <parameter name="buffered">
18056 <parameter_description> whether to set the channel buffered or unbuffered
18057 </parameter_description>
18058 </parameter>
18059 </parameters>
18060 <return></return>
18061 </function>
18062
18063 <function name="g_key_file_new">
18064 <description>
18065 Creates a new empty #GKeyFile object. Use
18066 g_key_file_load_from_file(), g_key_file_load_from_data(),
18067 g_key_file_load_from_dirs() or g_key_file_load_from_data_dirs() to
18068 read an existing key file.
18069
18070
18071 </description>
18072 <parameters>
18073 </parameters>
18074 <return> an empty #GKeyFile.
18075
18076 Since: 2.6
18077 </return>
18078 </function>
18079
18080 </root>