| <!-- ##### SECTION Title ##### --> |
| Miscellaneous Utility Functions |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| a selection of portable utility functions. |
| |
| <!-- ##### SECTION Long_Description ##### --> |
| <para> |
| These are portable utility functions. |
| </para> |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| |
| </para> |
| |
| <!-- ##### SECTION Stability_Level ##### --> |
| |
| |
| <!-- ##### FUNCTION g_get_application_name ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_set_application_name ##### --> |
| <para> |
| |
| </para> |
| |
| @application_name: |
| |
| |
| <!-- ##### FUNCTION g_get_prgname ##### --> |
| <para> |
| Gets the name of the program. This name should <emphasis>not</emphasis> be localized, |
| contrast with g_get_application_name(). |
| (If you are using GDK or GTK+ the program name is set in gdk_init(), which |
| is called by gtk_init(). The program name is found by taking the last |
| component of <literal>argv[0]</literal>.) |
| </para> |
| |
| @Returns: the name of the program. |
| The returned string belongs to GLib and must not be modified or freed. |
| |
| |
| <!-- ##### FUNCTION g_set_prgname ##### --> |
| <para> |
| Sets the name of the program. This name should <emphasis>not</emphasis> be localized, |
| contrast with g_set_application_name(). Note that for thread-safety |
| reasons this function can only be called once. |
| </para> |
| |
| @prgname: the name of the program. |
| |
| |
| <!-- ##### FUNCTION g_getenv ##### --> |
| <para> |
| |
| </para> |
| |
| @variable: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_setenv ##### --> |
| <para> |
| |
| </para> |
| |
| @variable: |
| @value: |
| @overwrite: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_unsetenv ##### --> |
| <para> |
| |
| </para> |
| |
| @variable: |
| |
| |
| <!-- ##### FUNCTION g_get_user_name ##### --> |
| <para> |
| Gets the user name of the current user. The encoding of the returned |
| string is system defined. On Unix, it might be the preferred file name |
| encoding, or something else, and there is no guarantee that it is even |
| consistent on a machine. On Windows, it is always UTF-8. |
| </para> |
| |
| @Returns: the user name of the current user. |
| |
| |
| <!-- ##### FUNCTION g_get_real_name ##### --> |
| <para> |
| Gets the real name of the user. This usually comes from the user's entry in the |
| <filename>passwd</filename> file. The encoding of the returned string is system |
| defined. (On Windows, it is, however, always UTF-8.) If the real user name |
| cannot be determined, the string "Unknown" is returned. |
| </para> |
| |
| @Returns: the user's real name. |
| |
| |
| <!-- ##### FUNCTION g_get_user_cache_dir ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_get_user_data_dir ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_get_user_config_dir ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_get_system_data_dirs ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_get_system_config_dirs ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_get_home_dir ##### --> |
| <para> |
| Gets the current user's home directory. |
| </para> |
| <para> |
| Note that in contrast to traditional Unix tools, this function |
| prefers <filename>passwd</filename> entries over the <envar>HOME</envar> |
| environment variable. |
| </para> |
| |
| @Returns: the current user's home directory. |
| |
| |
| <!-- ##### FUNCTION g_get_tmp_dir ##### --> |
| <para> |
| Gets the directory to use for temporary files. |
| This is found from inspecting the environment variables <envar>TMPDIR</envar>, |
| <envar>TMP</envar>, and <envar>TEMP</envar> |
| in that order. If none of those are defined "/tmp" is returned on UNIX and |
| "C:\" on Windows. The encoding of the returned string is system defined. On |
| Windows, it is always UTF-8. The return value is never NULL. |
| </para> |
| |
| @Returns: the directory to use for temporary files. |
| |
| |
| <!-- ##### FUNCTION g_get_current_dir ##### --> |
| <para> |
| Gets the current directory. |
| The returned string should be freed when no longer needed. The encoding of the |
| returned string is system defined. On Windows, it is always UTF-8. |
| </para> |
| |
| @Returns: the current directory. |
| |
| |
| <!-- ##### FUNCTION g_basename ##### --> |
| |
| |
| @file_name: |
| @Returns: |
| |
| |
| <!-- ##### MACRO g_dirname ##### --> |
| <para> |
| This function is deprecated and will be removed in the next major |
| release of GLib. Use g_path_get_dirname() instead. |
| </para> |
| |
| <para> |
| Gets the directory components of a file name. |
| If the file name has no directory components "." is returned. |
| The returned string should be freed when no longer needed. |
| </para> |
| |
| @Returns: the directory components of the file. |
| |
| |
| <!-- ##### FUNCTION g_path_is_absolute ##### --> |
| <para> |
| Returns %TRUE if the given @file_name is an absolute file name, |
| i.e. it contains a full path from the root directory such as '/usr/local' |
| on UNIX or 'C:\windows' on Windows systems. |
| </para> |
| |
| @file_name: a file name. |
| @Returns: %TRUE if @file_name is an absolute path. |
| |
| |
| <!-- ##### FUNCTION g_path_skip_root ##### --> |
| <para> |
| Returns a pointer into @file_name after the root component, i.e. after |
| the '/' in UNIX or 'C:\' under Windows. If @file_name is not an absolute |
| path it returns %NULL. |
| </para> |
| |
| @file_name: a file name. |
| @Returns: a pointer into @file_name after the root component. |
| |
| |
| <!-- ##### FUNCTION g_path_get_basename ##### --> |
| <para> |
| |
| </para> |
| |
| @file_name: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_path_get_dirname ##### --> |
| <para> |
| Gets the directory components of a file name. If the file name has no |
| directory components "." is returned. The returned string should be |
| freed when no longer needed. |
| </para> |
| |
| @file_name: the name of the file. |
| @Returns: the directory components of the file. |
| |
| |
| <!-- ##### FUNCTION g_build_filename ##### --> |
| <para> |
| |
| </para> |
| |
| @first_element: |
| @Varargs: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_build_path ##### --> |
| <para> |
| |
| </para> |
| |
| @separator: |
| @first_element: |
| @Varargs: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_find_program_in_path ##### --> |
| <para> |
| |
| </para> |
| |
| @program: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_bit_nth_lsf ##### --> |
| <para> |
| Find the position of the first bit set in @mask, searching from (but not |
| including) @nth_bit upwards. Bits are numbered from 0 (least significant) |
| to sizeof(#gulong) * 8 - 1 (31 or 63, usually). To start searching from the |
| 0th bit, set @nth_bit to -1. |
| </para> |
| |
| @mask: a #gulong containing flags. |
| @nth_bit: the index of the bit to start the search from. |
| @Returns: the index of the first bit set which is higher than @nth_bit. |
| |
| |
| <!-- ##### FUNCTION g_bit_nth_msf ##### --> |
| <para> |
| Find the position of the first bit set in @mask, searching from (but not |
| including) @nth_bit downwards. Bits are numbered from 0 (least significant) |
| to sizeof(#gulong) * 8 - 1 (31 or 63, usually). To start searching from the |
| last bit, set @nth_bit to -1 or GLIB_SIZEOF_LONG * 8. |
| </para> |
| |
| @mask: a #gulong containing flags. |
| @nth_bit: the index of the bit to start the search from. |
| @Returns: the index of the first bit set which is lower than @nth_bit. |
| |
| |
| <!-- ##### FUNCTION g_bit_storage ##### --> |
| <para> |
| Gets the number of bits used to hold @number, |
| e.g. if @number is 4, 3 bits are needed. |
| </para> |
| |
| @number: a guint. |
| @Returns: the number of bits used to hold @number. |
| |
| |
| <!-- ##### FUNCTION g_spaced_primes_closest ##### --> |
| <para> |
| Gets the smallest prime number from a built-in array of primes which |
| is larger than @num. This is used within GLib to calculate the optimum |
| size of a #GHashTable. |
| </para> |
| <para> |
| The built-in array of primes ranges from 11 to 13845163 such that |
| each prime is approximately 1.5-2 times the previous prime. |
| </para> |
| |
| @num: a #guint. |
| @Returns: the smallest prime number from a built-in array of primes which is |
| larger than @num. |
| |
| |
| <!-- ##### FUNCTION g_atexit ##### --> |
| <para> |
| Specifies a function to be called at normal program termination. |
| </para> |
| |
| @func: the function to call on normal program termination. |
| |
| |
| <!-- ##### FUNCTION g_parse_debug_string ##### --> |
| <para> |
| Parses a string containing debugging options separated by ':' into a guint |
| containing bit flags. |
| This is used within GDK and GTK+ to parse the debug options passed on the |
| command line or through environment variables. |
| </para> |
| |
| @string: a list of debug options separated by ':' or "all" to set all flags. |
| @keys: pointer to an array of #GDebugKey which associate strings with |
| bit flags. |
| @nkeys: the number of #GDebugKey in the array. |
| @Returns: the combined set of bit flags. |
| |
| |
| <!-- ##### STRUCT GDebugKey ##### --> |
| <para> |
| Associates a string with a bit flag. |
| Used in g_parse_debug_string(). |
| </para> |
| |
| @key: |
| @value: |
| |
| <!-- ##### USER_FUNCTION GVoidFunc ##### --> |
| <para> |
| Declares a type of function which takes no arguments and has no return value. |
| It is used to specify the type function passed to g_atexit(). |
| </para> |
| |
| |
| |
| <!-- ##### USER_FUNCTION GFreeFunc ##### --> |
| <para> |
| Declares a type of function which takes an arbitrary data pointer argument |
| and has no return value. It is not currently used in GLib or GTK+. |
| </para> |
| |
| @data: a data pointer. |
| |
| |
| <!-- ##### FUNCTION g_qsort_with_data ##### --> |
| <para> |
| |
| </para> |
| |
| @pbase: |
| @total_elems: |
| @size: |
| @compare_func: |
| @user_data: |
| |
| |
| <!-- ##### FUNCTION g_nullify_pointer ##### --> |
| <para> |
| |
| </para> |
| |
| @nullify_location: |
| |
| |