[glib: 2/12] gio: add fallback afunix.h header




commit 4339192b5391a37ecd55816c713537fb1990cd07
Author: Marc-André Lureau <marcandre lureau redhat com>
Date:   Tue Jan 18 23:59:47 2022 +0400

    gio: add fallback afunix.h header
    
    afunix.h is only recently distributed with Windows SDK & MinGW.
    
    Signed-off-by: Marc-André Lureau <marcandre lureau redhat com>

 docs/reference/gio/meson.build |  1 +
 gio/giowin32-afunix.h          | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)
---
diff --git a/docs/reference/gio/meson.build b/docs/reference/gio/meson.build
index 9aaafeed5..f63d1ac04 100644
--- a/docs/reference/gio/meson.build
+++ b/docs/reference/gio/meson.build
@@ -38,6 +38,7 @@ if get_option('gtk_doc')
     'ghttpproxy.h',
     'giomodule-priv.h',
     'gioprivate.h',
+    'giowin32-afunix.h',
     'giowin32-priv.h',
     'gio_probes.h',
     'gio_trace.h',
diff --git a/gio/giowin32-afunix.h b/gio/giowin32-afunix.h
new file mode 100644
index 000000000..0e8e27f08
--- /dev/null
+++ b/gio/giowin32-afunix.h
@@ -0,0 +1,40 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2022 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.1 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GIOWIN32_AFUNIX_H_
+#define GIOWIN32_AFUNIX_H_
+
+#ifdef HAVE_AFUNIX_H
+#include <afunix.h>
+#else
+
+/*
+ * Fallback definitions of things we need in afunix.h, if not available from the
+ * used Windows SDK or MinGW headers.
+ */
+#define UNIX_PATH_MAX 108
+
+typedef struct sockaddr_un {
+  ADDRESS_FAMILY sun_family;
+  char sun_path[UNIX_PATH_MAX];
+} SOCKADDR_UN, *PSOCKADDR_UN;
+
+#define SIO_AF_UNIX_GETPEERPID _WSAIOR(IOC_VENDOR, 256)
+#endif
+
+#endif /* GIOWIN32_AFUNIX_H_*/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]