From 9d9884325418a9298e6ed18383f0175ed885ffa3 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 7 Mar 2010 19:54:54 +0100 Subject: [PATCH] Use POSIX declarations for socket functions. --- ChangeLog | 16 ++++++++++++++++ lib/accept.c | 4 ++-- lib/bind.c | 4 ++-- lib/connect.c | 4 ++-- lib/getpeername.c | 4 ++-- lib/getsockname.c | 4 ++-- lib/recv.c | 6 +++--- lib/recvfrom.c | 6 +++--- lib/send.c | 6 +++--- lib/sendto.c | 8 ++++---- lib/sys_socket.in.h | 22 +++++++++++++--------- 11 files changed, 52 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 89ab2e701..25cc3e81f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2010-03-07 Bruno Haible + + Use POSIX declarations for socket functions. + * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind, + rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom, + rpl_sendto): Change declaration to match POSIX. + * lib/connect.c (rpl_connect): Likewise. + * lib/accept.c (rpl_accept): Likewise. + * lib/bind.c (rpl_bind): Likewise. + * lib/getpeername.c (rpl_getpeername): Likewise. + * lib/getsockname.c (rpl_getsockname): Likewise. + * lib/recv.c (rpl_recv): Likewise. + * lib/send.c (rpl_send): Likewise. + * lib/recvfrom.c (rpl_recvfrom): Likewise. + * lib/sendto.c (rpl_sendto): Likewise. + 2010-03-06 Bruno Haible Clarify access, euidaccess, faccessat. diff --git a/lib/accept.c b/lib/accept.c index 8a3079f57..a68f7dcfc 100644 --- a/lib/accept.c +++ b/lib/accept.c @@ -1,6 +1,6 @@ /* accept.c --- wrappers for Windows accept function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ #undef accept int -rpl_accept (int fd, struct sockaddr *addr, int *addrlen) +rpl_accept (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET fh = accept (FD_TO_SOCKET (fd), addr, addrlen); if (fh == INVALID_SOCKET) diff --git a/lib/bind.c b/lib/bind.c index fe88d03d8..b974d63c8 100644 --- a/lib/bind.c +++ b/lib/bind.c @@ -1,6 +1,6 @@ /* bind.c --- wrappers for Windows bind function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ #undef bind int -rpl_bind (int fd, struct sockaddr *sockaddr, int len) +rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); int r = bind (sock, sockaddr, len); diff --git a/lib/connect.c b/lib/connect.c index 5e7f95a2e..70a5ff6d0 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -1,6 +1,6 @@ /* connect.c --- wrappers for Windows connect function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ #undef connect int -rpl_connect (int fd, struct sockaddr *sockaddr, int len) +rpl_connect (int fd, const struct sockaddr *sockaddr, socklen_t len) { SOCKET sock = FD_TO_SOCKET (fd); int r = connect (sock, sockaddr, len); diff --git a/lib/getpeername.c b/lib/getpeername.c index b9da14c0e..902450311 100644 --- a/lib/getpeername.c +++ b/lib/getpeername.c @@ -1,6 +1,6 @@ /* getpeername.c --- wrappers for Windows getpeername function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ #undef getpeername int -rpl_getpeername (int fd, struct sockaddr *addr, int *addrlen) +rpl_getpeername (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET sock = FD_TO_SOCKET (fd); int r = getpeername (sock, addr, addrlen); diff --git a/lib/getsockname.c b/lib/getsockname.c index 247a5a9ed..21006c7aa 100644 --- a/lib/getsockname.c +++ b/lib/getsockname.c @@ -1,6 +1,6 @@ /* getsockname.c --- wrappers for Windows getsockname function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ #undef getsockname int -rpl_getsockname (int fd, struct sockaddr *addr, int *addrlen) +rpl_getsockname (int fd, struct sockaddr *addr, socklen_t *addrlen) { SOCKET sock = FD_TO_SOCKET (fd); int r = getsockname (sock, addr, addrlen); diff --git a/lib/recv.c b/lib/recv.c index 73e2a11d3..cd93cbc12 100644 --- a/lib/recv.c +++ b/lib/recv.c @@ -1,6 +1,6 @@ /* recv.c --- wrappers for Windows recv function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,8 +28,8 @@ #undef recv -int -rpl_recv (int fd, void *buf, int len, int flags) +ssize_t +rpl_recv (int fd, void *buf, size_t len, int flags) { SOCKET sock = FD_TO_SOCKET (fd); int r = recv (sock, buf, len, flags); diff --git a/lib/recvfrom.c b/lib/recvfrom.c index 5cdfcae6c..6968b160b 100644 --- a/lib/recvfrom.c +++ b/lib/recvfrom.c @@ -28,9 +28,9 @@ #undef recvfrom -int -rpl_recvfrom (int fd, void *buf, int len, int flags, struct sockaddr *from, - int *fromlen) +ssize_t +rpl_recvfrom (int fd, void *buf, size_t len, int flags, struct sockaddr *from, + socklen_t *fromlen) { int frombufsize = (from != NULL ? *fromlen : 0); SOCKET sock = FD_TO_SOCKET (fd); diff --git a/lib/send.c b/lib/send.c index 83e2e8e6e..6ab4b0126 100644 --- a/lib/send.c +++ b/lib/send.c @@ -1,6 +1,6 @@ /* send.c --- wrappers for Windows send function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,8 +28,8 @@ #undef send -int -rpl_send (int fd, const void *buf, int len, int flags) +ssize_t +rpl_send (int fd, const void *buf, size_t len, int flags) { SOCKET sock = FD_TO_SOCKET (fd); int r = send (sock, buf, len, flags); diff --git a/lib/sendto.c b/lib/sendto.c index 3acf45e0e..51704de3f 100644 --- a/lib/sendto.c +++ b/lib/sendto.c @@ -1,6 +1,6 @@ /* sendto.c --- wrappers for Windows sendto function - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,9 +28,9 @@ #undef sendto -int -rpl_sendto (int fd, const void *buf, int len, int flags, - struct sockaddr *to, int tolen) +ssize_t +rpl_sendto (int fd, const void *buf, size_t len, int flags, + const struct sockaddr *to, socklen_t tolen) { SOCKET sock = FD_TO_SOCKET (fd); int r = sendto (sock, buf, len, flags, to, tolen); diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h index 5fbf83df2..5d74469da 100644 --- a/lib/sys_socket.in.h +++ b/lib/sys_socket.in.h @@ -197,7 +197,8 @@ _GL_WARN_ON_USE (socket, "socket is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef connect # define connect rpl_connect -extern int rpl_connect (int, struct sockaddr *, int) _GL_ARG_NONNULL ((2)); +extern int rpl_connect (int, const struct sockaddr *, socklen_t) + _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ # undef connect @@ -214,7 +215,7 @@ _GL_WARN_ON_USE (connect, "connect is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef accept # define accept rpl_accept -extern int rpl_accept (int, struct sockaddr *, int *); +extern int rpl_accept (int, struct sockaddr *, socklen_t *); # endif # elif @HAVE_WINSOCK2_H@ # undef accept @@ -231,7 +232,8 @@ _GL_WARN_ON_USE (accept, "accept is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef bind # define bind rpl_bind -extern int rpl_bind (int, struct sockaddr *, int) _GL_ARG_NONNULL ((2)); +extern int rpl_bind (int, const struct sockaddr *, socklen_t) + _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ # undef bind @@ -248,7 +250,7 @@ _GL_WARN_ON_USE (bind, "bind is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef getpeername # define getpeername rpl_getpeername -extern int rpl_getpeername (int, struct sockaddr *, int *) +extern int rpl_getpeername (int, struct sockaddr *, socklen_t *) _GL_ARG_NONNULL ((2, 3)); # endif # elif @HAVE_WINSOCK2_H@ @@ -266,7 +268,7 @@ _GL_WARN_ON_USE (getpeername, "getpeername is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef getsockname # define getsockname rpl_getsockname -extern int rpl_getsockname (int, struct sockaddr *, int *) +extern int rpl_getsockname (int, struct sockaddr *, socklen_t *) _GL_ARG_NONNULL ((2, 3)); # endif # elif @HAVE_WINSOCK2_H@ @@ -319,7 +321,7 @@ _GL_WARN_ON_USE (listen, "listen is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef recv # define recv rpl_recv -extern int rpl_recv (int, void *, int, int) _GL_ARG_NONNULL ((2)); +extern ssize_t rpl_recv (int, void *, size_t, int) _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ # undef recv @@ -336,7 +338,7 @@ _GL_WARN_ON_USE (recv, "recv is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef send # define send rpl_send -extern int rpl_send (int, const void *, int, int) _GL_ARG_NONNULL ((2)); +extern ssize_t rpl_send (int, const void *, size_t, int) _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ # undef send @@ -353,7 +355,8 @@ _GL_WARN_ON_USE (send, "send is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef recvfrom # define recvfrom rpl_recvfrom -extern int rpl_recvfrom (int, void *, int, int, struct sockaddr *, int *) +extern ssize_t rpl_recvfrom (int, void *, size_t, int, + struct sockaddr *, socklen_t *) _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ @@ -371,7 +374,8 @@ _GL_WARN_ON_USE (recvfrom, "recvfrom is not always POSIX compliant - " # if @HAVE_WINSOCK2_H@ # undef sendto # define sendto rpl_sendto -extern int rpl_sendto (int, const void *, int, int, struct sockaddr *, int) +extern ssize_t rpl_sendto (int, const void *, size_t, int, + const struct sockaddr *, socklen_t) _GL_ARG_NONNULL ((2)); # endif # elif @HAVE_WINSOCK2_H@ -- 2.11.0