Date: Tue, 22 Oct 2002 18:12:16 -0400 (EDT) From: Craig Rodrigues <rodrigc@attbi.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: standards/44394: restrict qualifiers missing from sys/socket.h Message-ID: <200210222212.g9MMCGR6023583@dibbler.ne.client2.attbi.com>
next in thread | raw e-mail | index | archive | help
>Number: 44394
>Category: standards
>Synopsis: restrict qualifiers missing from sys/socket.h
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-standards
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Oct 22 15:20:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Craig Rodrigues
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD dibbler.ne.client2.attbi.com 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Sun Sep 8 09:39:46 EDT 2002 rodrigc@dibbler.ne.client2.attbi.com:/usr/obj/usr/src/sys/MYKERNEL1 i386
>Description:
sys/socket.h prototypes are missing restrict qualifiers
>How-To-Repeat:
>Fix:
This patch handles the prototypes and man pages. The actual implementations
of these functions are system calls and need to be changed in
sys/kern and also in sys/kern/syscalls.master.
--- sys/sys/socket.h.orig Sat Oct 12 21:47:34 2002
+++ sys/sys/socket.h Sat Oct 12 23:07:49 2002
@@ -445,15 +445,15 @@
#include <sys/cdefs.h>
__BEGIN_DECLS
-int accept(int, struct sockaddr *, socklen_t *);
+int accept(int, struct sockaddr * __restrict, socklen_t * __restrict);
int bind(int, const struct sockaddr *, socklen_t);
int connect(int, const struct sockaddr *, socklen_t);
-int getpeername(int, struct sockaddr *, socklen_t *);
-int getsockname(int, struct sockaddr *, socklen_t *);
-int getsockopt(int, int, int, void *, socklen_t *);
+int getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict);
+int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict);
+int getsockopt(int, int, int, void * __restrict, socklen_t * __restrict);
int listen(int, int);
ssize_t recv(int, void *, size_t, int);
-ssize_t recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);
+ssize_t recvfrom(int, void * __restrict, size_t, int, struct sockaddr * __restrict, socklen_t * __restrict);
ssize_t recvmsg(int, struct msghdr *, int);
ssize_t send(int, const void *, size_t, int);
ssize_t sendto(int, const void *,
--- lib/libc/sys/accept.2.orig Sat Oct 12 22:11:06 2002
+++ lib/libc/sys/accept.2 Sat Oct 12 22:11:40 2002
@@ -44,7 +44,7 @@
.In sys/types.h
.In sys/socket.h
.Ft int
-.Fn accept "int s" "struct sockaddr *addr" "socklen_t *addrlen"
+.Fn accept "int s" "struct sockaddr * restrict addr" "socklen_t * restrict addrlen"
.Sh DESCRIPTION
The argument
.Fa s
--- lib/libc/sys/getpeername.2.orig Sat Oct 12 22:12:38 2002
+++ lib/libc/sys/getpeername.2 Sat Oct 12 22:13:23 2002
@@ -44,7 +44,7 @@
.In sys/types.h
.In sys/socket.h
.Ft int
-.Fn getpeername "int s" "struct sockaddr *name" "socklen_t *namelen"
+.Fn getpeername "int s" "struct sockaddr * restrict name" "socklen_t * restrict namelen"
.Sh DESCRIPTION
.Fn Getpeername
returns the name of the peer connected to
--- lib/libc/sys/getsockname.2.orig Sat Oct 12 22:49:34 2002
+++ lib/libc/sys/getsockname.2 Sat Oct 12 22:50:10 2002
@@ -44,7 +44,7 @@
.In sys/types.h
.In sys/socket.h
.Ft int
-.Fn getsockname "int s" "struct sockaddr *name" "socklen_t *namelen"
+.Fn getsockname "int s" "struct sockaddr * restrict name" "socklen_t * restrict namelen"
.Sh DESCRIPTION
.Fn Getsockname
returns the current
--- lib/libc/sys/getsockopt.2.orig Sat Oct 12 22:52:49 2002
+++ lib/libc/sys/getsockopt.2 Sat Oct 12 22:53:02 2002
@@ -45,7 +45,7 @@
.In sys/types.h
.In sys/socket.h
.Ft int
-.Fn getsockopt "int s" "int level" "int optname" "void *optval" "socklen_t *optlen"
+.Fn getsockopt "int s" "int level" "int optname" "void * restrict optval" "socklen_t * restrict optlen"
.Ft int
.Fn setsockopt "int s" "int level" "int optname" "const void *optval" "socklen_t optlen"
.Sh DESCRIPTION
--- lib/libc/sys/recv.2.orig Sat Oct 12 22:55:59 2002
+++ lib/libc/sys/recv.2 Sat Oct 12 22:56:33 2002
@@ -48,7 +48,7 @@
.Ft ssize_t
.Fn recv "int s" "void *buf" "size_t len" "int flags"
.Ft ssize_t
-.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr *from" "socklen_t *fromlen"
+.Fn recvfrom "int s" "void * restrict buf" "size_t len" "int flags" "struct sockaddr * restrict from" "socklen_t * restrict fromlen"
.Ft ssize_t
.Fn recvmsg "int s" "struct msghdr *msg" "int flags"
.Sh DESCRIPTION
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-standards" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210222212.g9MMCGR6023583>
