From 4b859e4e7a23e4aaa325770e891b6a73d44cc9fc Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Thu, 13 Dec 2012 23:45:04 +0800 Subject: [PATCH] Add a preconfigured gio/gnetworking.h for Windows Since Windows builds by Visual C++ do not make use of autotools during its build process, we need to dist a pre-configured gio/gnetworking.h(.win32) for such builds. The vs9/vs10 (and therefore vs11) property sheets are updated as well https://bugzilla.gnome.org/show_bug.cgi?id=690163 --- gio/Makefile.am | 1 + gio/gnetworking.h.win32 | 82 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 gio/gnetworking.h.win32 diff --git a/gio/Makefile.am b/gio/Makefile.am index 3ca53e4d8..cfeadab8b 100644 --- a/gio/Makefile.am +++ b/gio/Makefile.am @@ -658,6 +658,7 @@ EXTRA_DIST += \ gio.rc.in \ gschema.dtd \ gconstructor_as_data.h \ + gnetworking.h.win32 \ $(NULL) BUILT_EXTRA_DIST = \ diff --git a/gio/gnetworking.h.win32 b/gio/gnetworking.h.win32 new file mode 100644 index 000000000..c6e11a4a6 --- /dev/null +++ b/gio/gnetworking.h.win32 @@ -0,0 +1,82 @@ +/* GIO - GLib Input, Output and Streaming Library + * + * Copyright (C) 2008-2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * 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. + */ + +#ifndef __G_NETWORKING_H__ +#define __G_NETWORKING_H__ + +#include + +#ifdef G_OS_WIN32 + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0501 +#endif +#include +#undef interface +#include +#include +#include +#include + +#else /* !G_OS_WIN32 */ + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#ifndef T_SRV +#define T_SRV 33 +#endif + +#ifndef _PATH_RESCONF +#define _PATH_RESCONF "/etc/resolv.conf" +#endif + +#ifndef CMSG_LEN +/* CMSG_LEN and CMSG_SPACE are defined by RFC 2292, but missing on + * some older platforms. + */ +#define CMSG_LEN(len) ((size_t)CMSG_DATA((struct cmsghdr *)NULL) + (len)) + +/* CMSG_SPACE must add at least as much padding as CMSG_NXTHDR() + * adds. We overestimate here. + */ +#define GLIB_ALIGN_TO_SIZEOF(len, obj) (((len) + sizeof (obj) - 1) & ~(sizeof (obj) - 1)) +#define CMSG_SPACE(len) GLIB_ALIGN_TO_SIZEOF (CMSG_LEN (len), struct cmsghdr) +#endif +#endif + +G_BEGIN_DECLS + +GLIB_AVAILABLE_IN_2_36 +void g_networking_init (void); + +G_END_DECLS + +#endif /* __G_NETWORKING_H__ */