changeset 12921:64fcd5e219fe

Use POSIX declarations for socket functions.
author Bruno Haible <bruno@clisp.org>
date Sun, 07 Mar 2010 19:54:54 +0100
parents 663a8d80c00a
children 958a8b2b6f9e
files ChangeLog lib/accept.c lib/bind.c lib/connect.c lib/getpeername.c lib/getsockname.c lib/recv.c lib/recvfrom.c lib/send.c lib/sendto.c lib/sys_socket.in.h
diffstat 11 files changed, 52 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+	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  <bruno@clisp.org>
 
 	Clarify access, euidaccess, faccessat.
--- 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)
--- 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);
--- 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);
--- 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);
--- 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);
--- 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);
--- 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);
--- 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);
--- 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);
--- a/lib/sys_socket.in.h
+++ b/lib/sys_socket.in.h
@@ -197,7 +197,8 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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 @@
 #  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@