On Wed, 2013-01-16 at 20:19 +0100, Martin Carpenter wrote:
> I do not yet understand this.

Okay, I think I'm there. Please try this patch:

--- a/compat/getifaddrs.c
+++ b/compat/getifaddrs.c
@@ -36,7 +36,15 @@
 #include <stdlib.h>
 #include <net/if.h>
 #include <ifaddrs.h>
-#include <libsocket_priv.h>
+
+/* Normally this is defined in <net/if.h> but was new for Solaris 11 */
+#ifndef LIFC_ENABLED
+#define LIFC_ENABLED    0x20
+#endif
+
+int getallifaddrs(sa_family_t af, struct ifaddrs **ifap, int64_t
flags);
+int getallifs(int s, sa_family_t af, struct lifreq **lifr, int *numifs,
+    int64_t lifc_flags);
 
 /*
  * Create a linked list of `struct ifaddrs' structures, one for each


What happened:
1. In my testing getifaddrs.c was never being compiled (there was no
link from the top level makefile to build libcompat.la). The new header
was enough to ensure that the call to getifaddrs() could compile (the
weakly bound call would have failed at runtime).
2. Rainer added the necessary autoconf magic to actually build
libcompat.la but we apparently didn't subsequently test the build on
Solaris.

Before we commit that (assuming it works for you) would be good to find
a function test that actually hits getifaddrs(). I'll take a look at
that next.


_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to