summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoît Dejean <bdejean@src.gnome.org>2004-06-12 15:37:44 +0000
committerBenoît Dejean <bdejean@src.gnome.org>2004-06-12 15:37:44 +0000
commitf03e2d3c1118e85da90f98d99d694f56617f6590 (patch)
tree25f455915fb24bd31da8766e5b6bf4bca78b5225
parentac2b8285abcb10eee1e41b91929b25085563d32f (diff)
downloadlibgtop-f03e2d3c1118e85da90f98d99d694f56617f6590.tar.gz
Removed files.
* Makefile.am: * fsusage-frontend.c: * fsusage.h: Removed files. * fsusage.c: (glibtop_get_fsusage_s), (statfs): Merged and cleaned.
-rw-r--r--sysdeps/common/ChangeLog8
-rw-r--r--sysdeps/common/Makefile.am2
-rw-r--r--sysdeps/common/fsusage-frontend.c67
-rw-r--r--sysdeps/common/fsusage.c75
-rw-r--r--sysdeps/common/fsusage.h47
5 files changed, 54 insertions, 145 deletions
diff --git a/sysdeps/common/ChangeLog b/sysdeps/common/ChangeLog
index 85412352..bc3dcf39 100644
--- a/sysdeps/common/ChangeLog
+++ b/sysdeps/common/ChangeLog
@@ -1,5 +1,13 @@
2004-06-12 Benoît Dejean <tazforever@dlfp.org>
+ * Makefile.am:
+ * fsusage-frontend.c:
+ * fsusage.h: Removed files.
+
+ * fsusage.c: (glibtop_get_fsusage_s), (statfs): Merged and cleaned.
+
+2004-06-12 Benoît Dejean <tazforever@dlfp.org>
+
* mountlist.c: (xatoi) Removed, replaced by ISO strtoull.
(fstype_to_string): Cleaned.
(read_filesystem_list) : Changed prototype. Cleaned and secured.
diff --git a/sysdeps/common/Makefile.am b/sysdeps/common/Makefile.am
index 67980200..2ae549c3 100644
--- a/sysdeps/common/Makefile.am
+++ b/sysdeps/common/Makefile.am
@@ -14,7 +14,7 @@ CFLAGS = @CFLAGS@ $(inodedb_DEFS)
noinst_LTLIBRARIES = libgtop_common-2.0.la libgtop_suid_common-2.0.la
libgtop_common_2_0_la_SOURCES = error.c gnuslib.c \
- fsusage.c fsusage.h fsusage-frontend.c \
+ fsusage.c \
mountlist.c mountlist.h \
$(inodedb_SRCLIST)
diff --git a/sysdeps/common/fsusage-frontend.c b/sysdeps/common/fsusage-frontend.c
deleted file mode 100644
index 92aabbc0..00000000
--- a/sysdeps/common/fsusage-frontend.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* fsusage-frontend.c -- return space usage of mounted filesystems.
-
- Copyright (C) 2003 Ole Laursen.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This code is simply a front-end for the actual code in fsusage.[ch] which
- is stolen directly from the GNU Coreutils package. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#ifndef UINTMAX_MAX
-# define UINTMAX_MAX ((uintmax_t) -1)
-#endif
-
-#include "fsusage.h"
-
-#include <glibtop.h>
-#include <glibtop/error.h>
-#include <glibtop/fsusage.h>
-
-void
-glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf,
- const char *disk)
-{
- struct fs_usage fsp;
-
- glibtop_init_r (&server, 0, 0);
-
- memset (buf, 0, sizeof (glibtop_fsusage));
- memset (&fsp, 0, sizeof (struct fs_usage));
-
- if (glibtop_private_get_fs_usage (disk, disk, &fsp) != 0)
- return;
-
- buf->blocks = fsp.fsu_blocks;
- buf->bfree = fsp.fsu_bfree;
- buf->bavail = fsp.fsu_bavail;
- buf->files = fsp.fsu_files;
- buf->ffree = fsp.fsu_ffree;
- buf->block_size = fsp.fsu_blocksize;
-}
diff --git a/sysdeps/common/fsusage.c b/sysdeps/common/fsusage.c
index ca52b5f3..76bfffe3 100644
--- a/sysdeps/common/fsusage.c
+++ b/sysdeps/common/fsusage.c
@@ -20,9 +20,11 @@
# include <config.h>
#endif
+#include <glibtop.h>
+#include <glibtop/fsusage.h>
+
#include <sys/types.h>
#include <sys/stat.h>
-#include "fsusage.h"
#if HAVE_LIMITS_H
# include <limits.h>
@@ -99,17 +101,30 @@ int statvfs ();
Return 0 if successful, -1 if not. When returning -1, ensure that
ERRNO is either a system error value, or zero if DISK is NULL
on a system that requires a non-NULL value. */
-int
-glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
+
+
+static const unsigned long _glibtop_sysdeps_fsusage =
+(1L << GLIBTOP_FSUSAGE_BLOCKS) + (1L << GLIBTOP_FSUSAGE_BFREE)
++ (1L << GLIBTOP_FSUSAGE_BAVAIL) + (1L << GLIBTOP_FSUSAGE_FILES)
++ (1L << GLIBTOP_FSUSAGE_FFREE) + (1L << GLIBTOP_FSUSAGE_BLOCK_SIZE);
+
+
+void
+glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf,
+ const char *path)
{
+ glibtop_init_r (&server, 0, 0);
+
+ memset (buf, 0, sizeof (glibtop_fsusage));
+
#ifdef STAT_STATFS3_OSF1
struct statfs fsd;
if (statfs (path, &fsd, sizeof (struct statfs)) != 0)
- return -1;
+ return;
- fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize);
+ buf->block_size = PROPAGATE_ALL_ONES (fsd.f_fsize);
#endif /* STAT_STATFS3_OSF1 */
@@ -118,15 +133,15 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
struct fs_data fsd;
if (statfs (path, &fsd) != 1)
- return -1;
+ return;
- fsp->fsu_blocksize = 1024;
- fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.fd_req.btot);
- fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.fd_req.bfree);
- fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.fd_req.bfreen);
- fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0;
- fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot);
- fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree);
+ buf->block_size = 1024;
+ buf->blocks = PROPAGATE_ALL_ONES (fsd.fd_req.btot);
+ buf->bfree = PROPAGATE_ALL_ONES (fsd.fd_req.bfree);
+ buf->bavail = PROPAGATE_TOP_BIT (fsd.fd_req.bfreen);
+ // buf->bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0;
+ buf->files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot);
+ buf->ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree);
#endif /* STAT_STATFS2_FS_DATA */
@@ -135,9 +150,9 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
struct statfs fsd;
if (statfs (path, &fsd) < 0)
- return -1;
+ return;
- fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
+ buf->block_size = PROPAGATE_ALL_ONES (fsd.f_bsize);
# ifdef STATFS_TRUNCATES_BLOCK_COUNTS
@@ -161,9 +176,9 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
struct statfs fsd;
if (statfs (path, &fsd) < 0)
- return -1;
+ return;
- fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize);
+ buf->block_size = PROPAGATE_ALL_ONES (fsd.f_fsize);
#endif /* STAT_STATFS2_FSIZE */
@@ -176,15 +191,15 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
struct statfs fsd;
if (statfs (path, &fsd, sizeof fsd, 0) < 0)
- return -1;
+ return;
/* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
# if _AIX || defined _CRAY
- fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
+ buf->block_size = PROPAGATE_ALL_ONES (fsd.f_bsize);
# else
- fsp->fsu_blocksize = 512;
+ buf->block_size = 512;
# endif
#endif /* STAT_STATFS4 */
@@ -194,10 +209,10 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
struct statvfs fsd;
if (statvfs (path, &fsd) < 0)
- return -1;
+ return;
/* f_frsize isn't guaranteed to be supported. */
- fsp->fsu_blocksize = (fsd.f_frsize
+ buf->block_size = (fsd.f_frsize
? PROPAGATE_ALL_ONES (fsd.f_frsize)
: PROPAGATE_ALL_ONES (fsd.f_bsize));
@@ -206,23 +221,23 @@ glibtop_private_get_fs_usage (const char *path, const char *disk, struct fs_usag
#if !defined STAT_STATFS2_FS_DATA && !defined STAT_READ_FILSYS
/* !Ultrix && !SVR2 */
- fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
- fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.f_bfree);
- fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.f_bavail);
- fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0;
- fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files);
- fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree);
+ buf->blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
+ buf->bfree = PROPAGATE_ALL_ONES (fsd.f_bfree);
+ buf->bavail = PROPAGATE_TOP_BIT (fsd.f_bavail);
+ // buf->bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0;
+ buf->files = PROPAGATE_ALL_ONES (fsd.f_files);
+ buf->ffree = PROPAGATE_ALL_ONES (fsd.f_ffree);
#endif /* not STAT_STATFS2_FS_DATA && not STAT_READ_FILSYS */
- return 0;
+ buf->flags= _glibtop_sysdeps_fsusage;
}
#if defined _AIX && defined _I386
/* AIX PS/2 does not supply statfs. */
static int
-statfs (char *path, struct statfs *fsb)
+statfs (const char *path, struct statfs *fsb)
{
struct stat stats;
struct dustat fsd;
diff --git a/sysdeps/common/fsusage.h b/sysdeps/common/fsusage.h
deleted file mode 100644
index 845f60dd..00000000
--- a/sysdeps/common/fsusage.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* fsusage.h -- declarations for filesystem space usage info
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Space usage statistics for a filesystem. Blocks are 512-byte. */
-
-#include <glib.h>
-
-#if !defined FSUSAGE_H_
-# define FSUSAGE_H_
-
-struct fs_usage
-{
- int fsu_blocksize; /* Size of a block. */
- guint64 fsu_blocks; /* Total blocks. */
- guint64 fsu_bfree; /* Free blocks available to superuser. */
- guint64 fsu_bavail; /* Free blocks available to non-superuser. */
- int fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */
- guint64 fsu_files; /* Total file nodes. */
- guint64 fsu_ffree; /* Free file nodes. */
-};
-
-# ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
-
-int glibtop_private_get_fs_usage PARAMS ((const char *path, const char *disk,
- struct fs_usage *fsp));
-
-#endif