From owner-freebsd-current Thu Jul 30 01:04:22 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA25924 for freebsd-current-outgoing; Thu, 30 Jul 1998 01:04:22 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA25914 for ; Thu, 30 Jul 1998 01:04:17 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from herring.nlsystems.com (herring.nlsystems.com [10.0.0.2]) by nlsystems.com (8.8.8/8.8.5) with SMTP id JAA23548; Thu, 30 Jul 1998 09:04:19 +0100 (BST) Date: Thu, 30 Jul 1998 09:04:19 +0100 (BST) From: Doug Rabson To: Bruce Evans cc: current@FreeBSD.ORG Subject: Re: Proposed syscall changes for 64bit platforms In-Reply-To: <199807300742.RAA02646@godzilla.zeta.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 30 Jul 1998, Bruce Evans wrote: > >-3 STD POSIX { int read(int fd, char *buf, u_int nbyte); } > >-4 STD POSIX { int write(int fd, char *buf, u_int nbyte); } > >+3 STD POSIX { int read(int fd, char *buf, size_t nbyte); } > >+4 STD POSIX { int write(int fd, char *buf, size_t nbyte); } > > See if you can change these to `ssize_t ... void *buf ...' so that they > actually match their application interface. Changing the return type > seems to be hard - it seems to require changing all syscalls to return > (signed) register_t. I'll try. The return type shouldn't be a problem due to the way that return values are handled for syscalls. > > >-63 COMPAT BSD { int getkerninfo(int op, char *where, int *size, \ > >+63 COMPAT BSD { int getkerninfo(int op, char *where, size_t *size, \ > > int arg); } getkerninfo getkerninfo_args int > > Probably shouldn't be supported on new arches. Ok. > > >-87 COMPAT BSD { int gethostname(char *hostname, u_int len); } \ > >+87 COMPAT BSD { int gethostname(char *hostname, size_t len); } \ > > gethostname gethostname_args int > >-88 COMPAT BSD { int sethostname(char *hostname, u_int len); } \ > >+88 COMPAT BSD { int sethostname(char *hostname, size_t len); } \ > > sethostname sethostname_args int > > Certainly shouldn't be supported on new arches (were superseded by sysctls). These last two ones don't matter practically. I will backout that part. Actually the only one which really needed to change was sysctl since that passes a pointer to a length variable. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891 Fax: +44 181 381 1039 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message