* GLib at ftp://ftp.gtk.org/pub/gtk/.
*/
-#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
+#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
#error "Only <glib.h> can be included directly."
#endif
G_BEGIN_DECLS
-#ifdef G_OS_WIN32
-
-/* On Win32, the canonical directory separator is the backslash, and
- * the search path separator is the semicolon. Note that also the
- * (forward) slash works as directory separator.
- */
-#define G_DIR_SEPARATOR '\\'
-#define G_DIR_SEPARATOR_S "\\"
-#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR || (c) == '/')
-#define G_SEARCHPATH_SEPARATOR ';'
-#define G_SEARCHPATH_SEPARATOR_S ";"
-
-#else /* !G_OS_WIN32 */
-
-/* Unix */
-
-#define G_DIR_SEPARATOR '/'
-#define G_DIR_SEPARATOR_S "/"
-#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR)
-#define G_SEARCHPATH_SEPARATOR ':'
-#define G_SEARCHPATH_SEPARATOR_S ":"
-
-#endif /* !G_OS_WIN32 */
-
/* Define G_VA_COPY() to do the right thing for copying va_list variables.
* glibconfig.h may have already defined G_VA_COPY as va_copy or __va_copy.
*/
const gchar * g_get_user_runtime_dir (void);
-const gchar * const * g_get_language_names (void);
-
-gchar **g_get_locale_variants (const gchar *locale);
-
/**
* GUserDirectory:
* @G_USER_DIRECTORY_DESKTOP: the user's Desktop directory
gchar const *format,
va_list args);
-/* Check if a file name is an absolute path */
-gboolean g_path_is_absolute (const gchar *file_name);
-
-/* In case of absolute paths, skip the root part */
-const gchar * g_path_skip_root (const gchar *file_name);
-
-#ifndef G_DISABLE_DEPRECATED
-
-const gchar * g_basename (const gchar *file_name);
-#define g_dirname g_path_get_dirname
-
-#endif /* G_DISABLE_DEPRECATED */
-
-#ifndef __GTK_DOC_IGNORE__
-#ifdef G_OS_WIN32
-#define g_get_current_dir g_get_current_dir_utf8
-#endif
-#endif
-
-/* The returned strings are newly allocated with g_malloc() */
-gchar* g_get_current_dir (void);
-gchar* g_path_get_basename (const gchar *file_name) G_GNUC_MALLOC;
-gchar* g_path_get_dirname (const gchar *file_name) G_GNUC_MALLOC;
-
-/* Set the pointer at the specified location to NULL */
void g_nullify_pointer (gpointer *nullify_location);
-/* return the environment string for the variable. The returned memory
- * must not be freed. */
-#ifndef __GTK_DOC_IGNORE__
-#ifdef G_OS_WIN32
-#define g_getenv g_getenv_utf8
-#define g_setenv g_setenv_utf8
-#define g_unsetenv g_unsetenv_utf8
-#define g_find_program_in_path g_find_program_in_path_utf8
-#endif
-#endif
+typedef enum
+{
+ G_FORMAT_SIZE_DEFAULT = 0,
+ G_FORMAT_SIZE_LONG_FORMAT = 1 << 0,
+ G_FORMAT_SIZE_IEC_UNITS = 1 << 1
+} GFormatSizeFlags;
-const gchar * g_getenv (const gchar *variable);
-gboolean g_setenv (const gchar *variable,
- const gchar *value,
- gboolean overwrite);
-void g_unsetenv (const gchar *variable);
-gchar** g_listenv (void);
-gchar** g_get_environ (void);
+gchar *g_format_size_full (guint64 size,
+ GFormatSizeFlags flags);
+gchar *g_format_size (guint64 size);
-/* private */
-const gchar* _g_getenv_nomalloc (const gchar *variable,
- gchar buffer[1024]);
+GLIB_DEPRECATED_FOR(g_format_size)
+gchar *g_format_size_for_display (goffset size);
+#ifndef G_DISABLE_DEPRECATED
/**
* GVoidFunc:
*
* (if there is any in the implementation) and doesn't encounter
* missing include files.
*/
+GLIB_DEPRECATED
void g_atexit (GVoidFunc func);
#ifdef G_OS_WIN32
#define g_atexit(func) atexit(func)
#endif
+#endif /* G_DISABLE_DEPRECATED */
+
+#ifndef __GTK_DOC_IGNORE__
+#ifdef G_OS_WIN32
+#define g_find_program_in_path g_find_program_in_path_utf8
+#endif
+#endif
+
/* Look for an executable in PATH, following execvp() rules */
gchar* g_find_program_in_path (const gchar *program);
gint nth_bit) G_GNUC_CONST;
G_INLINE_FUNC guint g_bit_storage (gulong number) G_GNUC_CONST;
-/* Trash Stacks
- * elements need to be >= sizeof (gpointer)
- */
-typedef struct _GTrashStack GTrashStack;
-struct _GTrashStack
-{
- GTrashStack *next;
-};
-
-G_INLINE_FUNC void g_trash_stack_push (GTrashStack **stack_p,
- gpointer data_p);
-G_INLINE_FUNC gpointer g_trash_stack_pop (GTrashStack **stack_p);
-G_INLINE_FUNC gpointer g_trash_stack_peek (GTrashStack **stack_p);
-G_INLINE_FUNC guint g_trash_stack_height (GTrashStack **stack_p);
-
/* inline function implementations
*/
#if defined (G_CAN_INLINE) || defined (__G_UTILS_C__)
return n_bits;
#endif
}
-G_INLINE_FUNC void
-g_trash_stack_push (GTrashStack **stack_p,
- gpointer data_p)
-{
- GTrashStack *data = (GTrashStack *) data_p;
-
- data->next = *stack_p;
- *stack_p = data;
-}
-G_INLINE_FUNC gpointer
-g_trash_stack_pop (GTrashStack **stack_p)
-{
- GTrashStack *data;
-
- data = *stack_p;
- if (data)
- {
- *stack_p = data->next;
- /* NULLify private pointer here, most platforms store NULL as
- * subsequent 0 bytes
- */
- data->next = NULL;
- }
-
- return data;
-}
-G_INLINE_FUNC gpointer
-g_trash_stack_peek (GTrashStack **stack_p)
-{
- GTrashStack *data;
-
- data = *stack_p;
-
- return data;
-}
-G_INLINE_FUNC guint
-g_trash_stack_height (GTrashStack **stack_p)
-{
- GTrashStack *data;
- guint i = 0;
-
- for (data = *stack_p; data; data = data->next)
- i++;
-
- return i;
-}
#endif /* G_CAN_INLINE || __G_UTILS_C__ */
-/* Glib version.
- * we prefix variable declarations so they can
- * properly get exported in windows dlls.
- */
-GLIB_VAR const guint glib_major_version;
-GLIB_VAR const guint glib_minor_version;
-GLIB_VAR const guint glib_micro_version;
-GLIB_VAR const guint glib_interface_age;
-GLIB_VAR const guint glib_binary_age;
-
-const gchar * glib_check_version (guint required_major,
- guint required_minor,
- guint required_micro);
-
-#define GLIB_CHECK_VERSION(major,minor,micro) \
- (GLIB_MAJOR_VERSION > (major) || \
- (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION > (minor)) || \
- (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION == (minor) && \
- GLIB_MICRO_VERSION >= (micro)))
-
G_END_DECLS
#ifndef G_DISABLE_DEPRECATED