diff options
| -rw-r--r-- | configure.in | 2 | ||||
| -rw-r--r-- | include/osmocom/core/socket.h | 5 | ||||
| -rw-r--r-- | src/gsmtap_util.c | 14 | ||||
| -rw-r--r-- | src/socket.c | 6 | 
4 files changed, 17 insertions, 10 deletions
| diff --git a/configure.in b/configure.in index ead18f07..2e22bb24 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_MACRO_DIR([m4])  dnl checks for header files  AC_HEADER_STDC -AC_CHECK_HEADERS(execinfo.h sys/select.h syslog.h ctype.h) +AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h)  # The following test is taken from WebKit's webkit.m4  saved_CFLAGS="$CFLAGS" diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h index 3ede524b..a3baa9d5 100644 --- a/include/osmocom/core/socket.h +++ b/include/osmocom/core/socket.h @@ -2,7 +2,8 @@  #define _OSMOCORE_SOCKET_H  #include <stdint.h> -#include <sys/socket.h> + +struct sockaddr;  int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto,  		   const char *host, uint16_t port, int connect0_bind1); @@ -11,6 +12,6 @@ int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,  		      uint8_t proto, int connect0_bind1);  /* determine if the given address is a local address */ -int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen); +int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen);  #endif /* _OSMOCORE_SOCKET_H */ diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 15426358..5c68b6a0 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -32,10 +32,9 @@  #include <osmocom/gsm/protocol/gsm_04_08.h>  #include <osmocom/gsm/rsl.h> -#include <arpa/inet.h> -#include <sys/socket.h>  #include <sys/types.h> -#include <netinet/in.h> + +#include <arpa/inet.h>  #include <stdio.h>  #include <unistd.h> @@ -111,6 +110,11 @@ struct msgb *gsmtap_makemsg(uint16_t arfcn, uint8_t ts, uint8_t chan_type,  	return msg;  } +#ifdef HAVE_SYS_SOCKET_H + +#include <sys/socket.h> +#include <netinet/in.h> +  /* Open a GSMTAP source (sending) socket, conncet it to host/port and   * return resulting fd */  int gsmtap_source_init_fd(const char *host, uint16_t port) @@ -142,8 +146,6 @@ int gsmtap_source_add_sink_fd(int gsmtap_fd)  	return -ENODEV;  } -#ifdef HAVE_SYS_SELECT_H -  int gsmtap_sendmsg(struct gsmtap_inst *gti, struct msgb *msg)  {  	if (gti->ofd_wq_mode) @@ -270,4 +272,4 @@ struct gsmtap_inst *gsmtap_source_init(const char *host, uint16_t port,  	return gti;  } -#endif /* HAVE_SYS_SELECT_H */ +#endif /* HAVE_SYS_SOCKET_H */ diff --git a/src/socket.c b/src/socket.c index bd4914fd..e053c24d 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1,5 +1,7 @@  #include "../config.h" +#ifdef HAVE_SYS_SOCKET_H +  #include <osmocom/core/logging.h>  #include <osmocom/core/select.h>  #include <osmocom/core/socket.h> @@ -97,7 +99,7 @@ int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,  }  static int sockaddr_equal(const struct sockaddr *a, -			  const struct sockaddr *b, socklen_t len) +			  const struct sockaddr *b, unsigned int len)  {  	struct sockaddr_in *sin_a, *sin_b;  	struct sockaddr_in6 *sin6_a, *sin6_b; @@ -141,3 +143,5 @@ int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen)  	return 0;  } + +#endif /* HAVE_SYS_SOCKET_H */ | 
