From owner-freebsd-standards Tue Oct 22 15:20: 8 2002 Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3BE2E37B401 for ; Tue, 22 Oct 2002 15:20:03 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65EED43E75 for ; Tue, 22 Oct 2002 15:20:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g9MMK2x3036625 for ; Tue, 22 Oct 2002 15:20:02 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g9MMK20P036624; Tue, 22 Oct 2002 15:20:02 -0700 (PDT) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1B4637B401 for ; Tue, 22 Oct 2002 15:12:08 -0700 (PDT) Received: from dibbler.ne.client2.attbi.com (dibbler.ne.client2.attbi.com [24.61.41.247]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CC7343E4A for ; Tue, 22 Oct 2002 15:12:08 -0700 (PDT) (envelope-from rodrigc@attbi.com) Received: from dibbler.ne.client2.attbi.com (localhost.ne.attbi.com [127.0.0.1]) by dibbler.ne.client2.attbi.com (8.12.6/8.12.5) with ESMTP id g9MMCGRD023584 for ; Tue, 22 Oct 2002 18:12:16 -0400 (EDT) (envelope-from rodrigc@dibbler.ne.client2.attbi.com) Received: (from rodrigc@localhost) by dibbler.ne.client2.attbi.com (8.12.6/8.12.6/Submit) id g9MMCGR6023583; Tue, 22 Oct 2002 18:12:16 -0400 (EDT) Message-Id: <200210222212.g9MMCGR6023583@dibbler.ne.client2.attbi.com> Date: Tue, 22 Oct 2002 18:12:16 -0400 (EDT) From: Craig Rodrigues Reply-To: Craig Rodrigues To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: standards/44394: restrict qualifiers missing from sys/socket.h Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG >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 __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