1998-12-27 Roland McGrath <roland@baalperazim.frob.com>

* sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64):
	Remove __ from member names; rename __unused to f_spare.

1998-12-21  Mark Kettenis  <kettenis@phys.uva.nl>

	Implement fstatvfs and statvfs on the Hurd.
	* sysdeps/mach/hurd/bits/statfs.h: New file.
	* sysdeps/mach/hurd/bits/statvfs.h: New file.
	* sysdeps/mach/hurd/fstatvfs.c: New file.
	* sysdeps/mach/hurd/statvfs.c: New file.

	* sysdeps/generic/fstatfs64.c: Changed into stub.
	Moved previous contents to...
	* sysdeps/unix/sysv/linux/fstatfs64.c: ...here.
	* sysdeps/generic/fstatvfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
	* sysdeps/generic/statfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
	* sysdeps/generic/statvfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.

1998-12-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sunrpc/key_call.c (getkeyserv_handle): Use __fcntl instead of

1998-12-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* locale/weight.h (get_weight): Extract string elements as
	unsigned values.
This commit is contained in:
Roland McGrath 1998-12-27 01:40:53 +00:00
parent 3362d76442
commit 47b33891c4
12 changed files with 384 additions and 94 deletions

View File

@ -1,3 +1,26 @@
1998-12-27 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64):
Remove __ from member names; rename __unused to f_spare.
1998-12-21 Mark Kettenis <kettenis@phys.uva.nl>
Implement fstatvfs and statvfs on the Hurd.
* sysdeps/mach/hurd/bits/statfs.h: New file.
* sysdeps/mach/hurd/bits/statvfs.h: New file.
* sysdeps/mach/hurd/fstatvfs.c: New file.
* sysdeps/mach/hurd/statvfs.c: New file.
* sysdeps/generic/fstatfs64.c: Changed into stub.
Moved previous contents to...
* sysdeps/unix/sysv/linux/fstatfs64.c: ...here.
* sysdeps/generic/fstatvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
* sysdeps/generic/statfs64.c: Likewise.
* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
* sysdeps/generic/statvfs64.c: Likewise.
* sysdeps/unix/sysv/linux/statvfs64.c: Likewise.
1998-12-25 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-hash.h: Move to...

View File

@ -1,5 +1,4 @@
/* Return information about the filesystem on which FD resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -19,27 +18,14 @@
#include <errno.h>
#include <sys/statfs.h>
#include <stddef.h>
/* Return information about the filesystem on which FD resides. */
int
fstatfs64 (int fd, struct statfs64 *buf)
{
struct statfs buf32;
if (__fstatfs (fd, &buf32) < 0)
__set_errno (ENOSYS);
return -1;
buf->f_type = buf32.f_type;
buf->f_bsize = buf32.f_bsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_fsid = buf32.f_fsid;
buf->f_namelen = buf32.f_namelen;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}
stub_warning (fstatfs64)
#include <stub-tag.h>

View File

@ -1,5 +1,4 @@
/* Return information about the filesystem on which FD resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -19,29 +18,14 @@
#include <errno.h>
#include <sys/statvfs.h>
#include <string.h>
/* Return information about the filesystem on which FD resides. */
int
fstatvfs64 (int fd, struct statvfs64 *buf)
{
struct statvfs buf32;
if (fstatvfs (fd, &buf32) < 0)
__set_errno (ENOSYS);
return -1;
buf->f_bsize = buf32.f_bsize;
buf->f_frsize = buf32.f_frsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_favail = buf32.f_favail;
buf->f_fsid = buf32.f_fsid;
buf->f_flag = buf32.f_flag;
buf->f_namemax = buf32.f_namemax;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}
stub_warning (fstatvfs64)
#include <stub-tag.h>

View File

@ -1,5 +1,4 @@
/* Return information about the filesystem on which FILE resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -19,27 +18,14 @@
#include <errno.h>
#include <sys/statfs.h>
#include <stddef.h>
/* Return information about the filesystem on which FILE resides. */
int
statfs64 (const char *file, struct statfs64 *buf)
{
struct statfs buf32;
if (__statfs (file, &buf32) < 0)
__set_errno (ENOSYS);
return -1;
buf->f_type = buf32.f_type;
buf->f_bsize = buf32.f_bsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_fsid = buf32.f_fsid;
buf->f_namelen = buf32.f_namelen;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}
stub_warning (statfs64)
#include <stub-tag.h>

View File

@ -1,5 +1,4 @@
/* Return information about the filesystem on which FILE resides.
Copyright (C) 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -19,30 +18,14 @@
#include <errno.h>
#include <sys/statvfs.h>
#include <stddef.h>
#include <string.h>
/* Return information about the filesystem on which FILE resides. */
int
statvfs64 (const char *file, struct statvfs64 *buf)
{
struct statvfs buf32;
if (statvfs (file, &buf32) < 0)
__set_errno (ENOSYS);
return -1;
buf->f_bsize = buf32.f_bsize;
buf->f_frsize = buf32.f_frsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_favail = buf32.f_favail;
buf->f_fsid = buf32.f_fsid;
buf->f_flag = buf32.f_flag;
buf->f_namemax = buf32.f_namemax;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}
stub_warning (statvfs64)
#include <stub-tag.h>

View File

@ -0,0 +1,91 @@
/* Definition of `struct statvfs', information about a filesystem.
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef _SYS_STATVFS_H
# error "Never include <bits/statvfs.h> directly; use <sys/statvfs.h> instead."
#endif
#include <bits/types.h>
/* GNU Hurd NOTE: This structure is carefully laid out such that we
can use the `file_statfs' RPC to implement `statvfs' and
`fstatvfs'. Please keep this file in sync with <bits/statfs.h>,
and pay attention to the note in that file. */
struct statvfs
{
unsigned int __f_type;
unsigned int f_bsize;
#ifndef __USE_FILE_OFFSET64
__fsblkcnt_t f_blocks;
__fsblkcnt_t f_bfree;
__fsblkcnt_t f_bavail;
__fsfilcnt_t f_files;
__fsfilcnt_t f_ffree;
#else
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
#endif
__fsid_t f_fsid;
unsigned int f_namemax; /* NOTE: f_namelen in `struct statfs'. */
#ifndef __USE_FILE_OFFSET64
__fsfilcnt_t f_favail;
#else
__fsfilcnt64_t f_favail;
#endif
unsigned int f_frsize;
unsigned int f_flag;
unsigned int f_spare[3];
};
#ifdef __USE_LARGEFILE64
struct statvfs64
{
unsigned int __f_type;
unsigned int f_bsize;
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
__fsid_t f_fsid;
unsigned int f_namemax;
__fsfilcnt64_t f_favail;
unsigned int f_frsize;
unsigned int f_flag;
unsigned int f_spare[3];
};
#endif
/* Definitions for the flag in `f_flag'.
The values for the non-standard flags come from Linux. */
enum
{
ST_RDONLY = 1,
#define ST_RDONLY ST_RDONLY
ST_NOSUID = 2,
#define ST_NOSUID ST_NOSUID
ST_NOEXEC = 8,
#define ST_NOEXEC ST_NOEXEC
ST_SYNCHRONOUS = 16
#define ST_SYNCHRONOUS ST_SYNCHRONOUS
};

View File

@ -0,0 +1,26 @@
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <sys/statfs.h>
#include <sys/statvfs.h>
int
fstatvfs (int fd, struct statvfs *buf)
{
return __fstatfs (fd, (struct statfs *)buf);
}

View File

@ -0,0 +1,26 @@
/* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <sys/statfs.h>
#include <sys/statvfs.h>
int
statvfs (const char *file, struct statvfs *buf)
{
return __statfs (file, (struct statfs *)buf);
}

View File

@ -0,0 +1,45 @@
/* Return information about the filesystem on which FD resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <sys/statfs.h>
#include <stddef.h>
/* Return information about the filesystem on which FD resides. */
int
fstatfs64 (int fd, struct statfs64 *buf)
{
struct statfs buf32;
if (__fstatfs (fd, &buf32) < 0)
return -1;
buf->f_type = buf32.f_type;
buf->f_bsize = buf32.f_bsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_fsid = buf32.f_fsid;
buf->f_namelen = buf32.f_namelen;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}

View File

@ -0,0 +1,47 @@
/* Return information about the filesystem on which FD resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <sys/statvfs.h>
#include <string.h>
/* Return information about the filesystem on which FD resides. */
int
fstatvfs64 (int fd, struct statvfs64 *buf)
{
struct statvfs buf32;
if (fstatvfs (fd, &buf32) < 0)
return -1;
buf->f_bsize = buf32.f_bsize;
buf->f_frsize = buf32.f_frsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_favail = buf32.f_favail;
buf->f_fsid = buf32.f_fsid;
buf->f_flag = buf32.f_flag;
buf->f_namemax = buf32.f_namemax;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}

View File

@ -0,0 +1,45 @@
/* Return information about the filesystem on which FILE resides.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <sys/statfs.h>
#include <stddef.h>
/* Return information about the filesystem on which FILE resides. */
int
statfs64 (const char *file, struct statfs64 *buf)
{
struct statfs buf32;
if (__statfs (file, &buf32) < 0)
return -1;
buf->f_type = buf32.f_type;
buf->f_bsize = buf32.f_bsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_fsid = buf32.f_fsid;
buf->f_namelen = buf32.f_namelen;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}

View File

@ -0,0 +1,48 @@
/* Return information about the filesystem on which FILE resides.
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <sys/statvfs.h>
#include <stddef.h>
#include <string.h>
/* Return information about the filesystem on which FILE resides. */
int
statvfs64 (const char *file, struct statvfs64 *buf)
{
struct statvfs buf32;
if (statvfs (file, &buf32) < 0)
return -1;
buf->f_bsize = buf32.f_bsize;
buf->f_frsize = buf32.f_frsize;
buf->f_blocks = buf32.f_blocks;
buf->f_bfree = buf32.f_bfree;
buf->f_bavail = buf32.f_bavail;
buf->f_files = buf32.f_files;
buf->f_ffree = buf32.f_ffree;
buf->f_favail = buf32.f_favail;
buf->f_fsid = buf32.f_fsid;
buf->f_flag = buf32.f_flag;
buf->f_namemax = buf32.f_namemax;
memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
return 0;
}