From 02172bda73663f63b603956a180c6c6fc6a3d187 Mon Sep 17 00:00:00 2001 From: Gleb Popov <6yearold@gmail.com> Date: Tue, 29 Oct 2024 21:18:36 +0300 Subject: [PATCH] Enable GNetworkMonitorNetlink on FreeBSD https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4376 --- gio/gnetworkmonitornetlink.c | 8 ++++++++ meson.build | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/gnetworkmonitornetlink.c b/gio/gnetworkmonitornetlink.c index bf51d31f99..adaa77d38b 100644 --- a/gio/gnetworkmonitornetlink.c +++ ./gio/gnetworkmonitornetlink.c @@ -38,8 +38,14 @@ /* must come at the end to pick system includes from * gnetworkingprivate.h */ +#ifdef HAVE_LINUX_NETLINK_H #include #include +#endif +#ifdef HAVE_NETLINK_NETLINK_H +#include +#include +#endif static GInitableIface *initable_parent_iface; static void g_network_monitor_netlink_iface_init (GNetworkMonitorInterface *iface); @@ -124,6 +130,7 @@ g_network_monitor_netlink_initable_init (GInitable *initable, return FALSE; } +#ifdef SO_PASSCRED if (!g_socket_set_option (nl->priv->sock, SOL_SOCKET, SO_PASSCRED, TRUE, NULL)) { @@ -133,6 +140,7 @@ g_network_monitor_netlink_initable_init (GInitable *initable, g_strerror (errsv)); return FALSE; } +#endif /* Request the current state */ if (!request_dump (nl, error)) diff --git a/meson.build b/meson.build index 69e4b036ea..7da293881e 100644 --- a/meson.build +++ ./meson.build @@ -400,10 +400,12 @@ headers = [ 'inttypes.h', 'libproc.h', 'limits.h', + 'linux/netlink.h', 'locale.h', 'mach/mach_time.h', 'memory.h', 'mntent.h', + 'netlink/netlink.h', 'poll.h', 'pwd.h', 'sched.h', @@ -461,7 +463,7 @@ if cc.check_header('malloc.h') glib_conf_prefix = glib_conf_prefix + '#define HAVE_MALLOC_H 1\n' endif -if cc.check_header('linux/netlink.h') +if glib_conf.has('HAVE_LINUX_NETLINK_H') or glib_conf.has('HAVE_NETLINK_NETLINK_H') glib_conf.set('HAVE_NETLINK', 1) endif -- GitLab