X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgwin32.h;h=b466b63e6801873d0351766890dce05e438e78c2;hb=d0083f7e2dd621c6b78496bdb6ecf5d580c5e110;hp=b30ab15874c073500d03b1c8e57c62a6b2263e05;hpb=69dbd6eb03a0abe5d0f889c670a467e74e256ef7;p=platform%2Fupstream%2Fglib.git
diff --git a/glib/gwin32.h b/glib/gwin32.h
index b30ab15..b466b63 100644
--- a/glib/gwin32.h
+++ b/glib/gwin32.h
@@ -12,89 +12,61 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library; if not, see .
*/
/*
* Modified by the GLib Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GLib Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
+ * GLib at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __G_WIN32_H__
#define __G_WIN32_H__
-#include
+#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
+#error "Only can be included directly."
+#endif
-#ifdef G_OS_WIN32
+#include
-/* Windows emulation stubs for common Unix functions
- */
+#ifdef G_PLATFORM_WIN32
G_BEGIN_DECLS
+#ifndef MAXPATHLEN
#define MAXPATHLEN 1024
-
-#ifdef _MSC_VER
-typedef int pid_t;
#endif
+#ifdef G_OS_WIN32
+
/*
* To get prototypes for the following POSIXish functions, you have to
* include the indicated non-POSIX headers. The functions are defined
- * in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32).
+ * in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32). But note that
+ * for POSIX functions that take or return file names in the system
+ * codepage, in many cases you would want to use the GLib wrappers in
+ * gstdio.h and UTF-8 instead.
*
* getcwd: (MSVC), (mingw32)
* getpid:
* access:
* unlink: or
* open, read, write, lseek, close:
- * rmdir:
- * pipe:
+ * rmdir:
+ * pipe: (actually, _pipe())
*/
-/* pipe is not in OLDNAMES.LIB or -lmoldname-msvc. */
-#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
-
/* For some POSIX functions that are not provided by the MS runtime,
- * we provide emulators in glib, which are prefixed with g_win32_.
- */
-# define ftruncate(fd, size) g_win32_ftruncate (fd, size)
-
-/* -lmingw32 also has emulations for these, but we need our own
- * for MSVC anyhow, so we might aswell use them always.
+ * we provide emulation functions in glib, which are prefixed with
+ * g_win32_. Or that was the idea at some time, but there is just one
+ * of those:
*/
-# define opendir g_win32_opendir
-# define readdir g_win32_readdir
-# define rewinddir g_win32_rewinddir
-# define closedir g_win32_closedir
-# define NAME_MAX 255
-
-struct dirent
-{
- gchar d_name[NAME_MAX + 1];
-};
-
-struct DIR
-{
- gchar *dir_name;
- gboolean just_opened;
- guint find_file_handle;
- gpointer find_file_data;
- struct dirent readdir_result;
-};
-typedef struct DIR DIR;
-
-/* emulation functions */
-extern int g_win32_ftruncate (gint f,
+GLIB_AVAILABLE_IN_ALL
+gint g_win32_ftruncate (gint f,
guint size);
-DIR* g_win32_opendir (const gchar *dirname);
-struct dirent* g_win32_readdir (DIR *dir);
-void g_win32_rewinddir (DIR *dir);
-gint g_win32_closedir (DIR *dir);
+#endif /* G_OS_WIN32 */
/* The MS setlocale uses locale names of the form "English_United
* States.1252" etc. We want the Unixish standard form "en", "zh_TW"
@@ -102,23 +74,61 @@ gint g_win32_closedir (DIR *dir);
* returns it as a string of the above form for use in forming file
* names etc. The returned string should be deallocated with g_free().
*/
-gchar * g_win32_getlocale (void);
+GLIB_AVAILABLE_IN_ALL
+gchar* g_win32_getlocale (void);
/* Translate a Win32 error code (as returned by GetLastError()) into
* the corresponding message. The returned string should be deallocated
* with g_free().
*/
-gchar * g_win32_error_message (gint error);
+GLIB_AVAILABLE_IN_ALL
+gchar* g_win32_error_message (gint error);
+
+#ifndef _WIN64
+GLIB_DEPRECATED
+gchar* g_win32_get_package_installation_directory (const gchar *package,
+ const gchar *dll_name);
+
+GLIB_DEPRECATED
+gchar* g_win32_get_package_installation_subdirectory (const gchar *package,
+ const gchar *dll_name,
+ const gchar *subdir);
+#endif
+
+GLIB_AVAILABLE_IN_ALL
+gchar* g_win32_get_package_installation_directory_of_module (gpointer hmodule);
+
+GLIB_AVAILABLE_IN_ALL
+guint g_win32_get_windows_version (void);
-gchar * g_win32_get_package_installation_directory (gchar *package,
- gchar *dll_name);
+GLIB_AVAILABLE_IN_ALL
+gchar* g_win32_locale_filename_from_utf8 (const gchar *utf8filename);
-gchar * g_win32_get_package_installation_subdirectory (gchar *package,
- gchar *dll_name,
- gchar *subdir);
+GLIB_AVAILABLE_IN_2_40
+gchar ** g_win32_get_command_line (void);
+
+/* As of GLib 2.14 we only support NT-based Windows */
+#define G_WIN32_IS_NT_BASED() TRUE
+#define G_WIN32_HAVE_WIDECHAR_API() TRUE
G_END_DECLS
-#endif /* G_OS_WIN32 */
+#endif /* G_PLATFORM_WIN32 */
+
+#ifdef G_OS_WIN32
+#ifdef _WIN64
+#define g_win32_get_package_installation_directory g_win32_get_package_installation_directory_utf8
+#define g_win32_get_package_installation_subdirectory g_win32_get_package_installation_subdirectory_utf8
+#endif
+
+GLIB_AVAILABLE_IN_ALL
+gchar *g_win32_get_package_installation_directory_utf8 (const gchar *package,
+ const gchar *dll_name);
+GLIB_AVAILABLE_IN_ALL
+gchar *g_win32_get_package_installation_subdirectory_utf8 (const gchar *package,
+ const gchar *dll_name,
+ const gchar *subdir);
+
+#endif /* G_OS_WIN32 */
#endif /* __G_WIN32_H__ */