From: Javier Domingo Cansino <javier...@gmail.com> Signed-off-by: Javier Domingo Cansino <javier...@gmail.com> --- usock.c | 5 ++++- usock.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/usock.c b/usock.c index 6748ef3..58f16da 100644 --- a/usock.c +++ b/usock.c @@ -43,16 +43,19 @@ static void usock_set_flags(int sock, unsigned int type) static int usock_connect(int type, struct sockaddr *sa, int sa_len, int family, int socktype, bool server) { int sock; + int flags = SO_REUSEADDR; sock = socket(family, socktype, 0); if (sock < 0) return -1; usock_set_flags(sock, type); + if (flags & USOCK_BROADCAST) + flags |= SO_BROADCAST; if (server) { const int one = 1; - setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)); + setsockopt(sock, SOL_SOCKET, flags, &one, sizeof(one)); if (!bind(sock, sa, sa_len) && (socktype != SOCK_STREAM || !listen(sock, SOMAXCONN))) diff --git a/usock.h b/usock.h index b0b952b..3471f2a 100644 --- a/usock.h +++ b/usock.h @@ -26,6 +26,7 @@ #define USOCK_NOCLOEXEC 0x0200 #define USOCK_NONBLOCK 0x0400 #define USOCK_NUMERIC 0x0800 +#define USOCK_BROADCAST 0x1000 #define USOCK_IPV6ONLY 0x2000 #define USOCK_IPV4ONLY 0x4000 #define USOCK_UNIX 0x8000 -- 2.6.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel