Skip site navigation (1)Skip section navigation (2)
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>