X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftcpconns.c;h=6351c7b68853390905b35b327a101d4af58ee960;hb=51a4e62d7d0e73d8d5822efaef1e3218b5ad0373;hp=4d90c41a51ac8029baf4bdd34eadf767b6d1e01a;hpb=76a7816d2c066f2feff5c77e7da58df4dbc982c2;p=collectd.git diff --git a/src/tcpconns.c b/src/tcpconns.c index 4d90c41a..6351c7b6 100644 --- a/src/tcpconns.c +++ b/src/tcpconns.c @@ -74,7 +74,9 @@ /* sys/socket.h is necessary to compile when using netlink on older systems. */ # include # include +#if HAVE_LINUX_INET_DIAG_H # include +#endif # include # include /* #endif KERNEL_LINUX */ @@ -137,10 +139,12 @@ #endif /* KERNEL_AIX */ #if KERNEL_LINUX +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ struct nlreq { struct nlmsghdr nlh; struct inet_diag_req r; }; +#endif static const char *tcp_state[] = { @@ -275,9 +279,14 @@ static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); static int port_collect_listening = 0; static port_entry_t *port_list_head = NULL; +#if KERNEL_LINUX +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ +/* This depends on linux inet_diag_req because if this structure is missing, + * sequence_number is useless and we get a compilation warning. + */ static uint32_t sequence_number = 0; +#endif -#if KERNEL_LINUX enum { SRC_DUNNO, @@ -446,6 +455,7 @@ static int conn_handle_ports (uint16_t port_local, uint16_t port_remote, uint8_t * zero on other errors. */ static int conn_read_netlink (void) { +#if HAVE_STRUCT_LINUX_INET_DIAG_REQ int fd; struct sockaddr_nl nladdr; struct nlreq req; @@ -574,6 +584,9 @@ static int conn_read_netlink (void) /* Not reached because the while() loop above handles the exit condition. */ return (0); +#else + return (1); +#endif /* HAVE_STRUCT_LINUX_INET_DIAG_REQ */ } /* int conn_read_netlink */ static int conn_handle_line (char *buffer)