summaryrefslogtreecommitdiff
path: root/include/glibtop
diff options
context:
space:
mode:
authorMartin Baulig <baulig@suse.de>2000-04-24 13:08:48 +0000
committerMartin Baulig <martin@src.gnome.org>2000-04-24 13:08:48 +0000
commit718cd380980dceb579df8146a3ca3d788b9456eb (patch)
treeb59e4e34d0a34a78a12ea74a4854df26b87b2b17 /include/glibtop
parent6b88dcd4aa5da7ee5d65af061d67b18bb9d3e1b1 (diff)
downloadlibgtop-718cd380980dceb579df8146a3ca3d788b9456eb.tar.gz
Added `Process current working directory' feature (proc_cwd).
2000-04-24 Martin Baulig <baulig@suse.de> Added `Process current working directory' feature (proc_cwd). * include/glibtop/proc_cwd.h: New file. * features.def: Added `proc_cwd'. * include/glibtop/sysdeps.h (glibtop_sysdeps): Added `proc_cwd'. * include/glibtop/union.h (glibtop_union): Added `proc_cwd'. * sysdeps/stub/proc_cwd.c: New file. * sysdeps/names/proc_cwd.c: New file.
Diffstat (limited to 'include/glibtop')
-rw-r--r--include/glibtop/proccwd.h83
-rw-r--r--include/glibtop/sysdeps.h22
-rw-r--r--include/glibtop/union.h3
3 files changed, 98 insertions, 10 deletions
diff --git a/include/glibtop/proccwd.h b/include/glibtop/proccwd.h
new file mode 100644
index 00000000..991b1fab
--- /dev/null
+++ b/include/glibtop/proccwd.h
@@ -0,0 +1,83 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+
+/* $Id$ */
+
+/* Copyright (C) 1998-99 Martin Baulig
+ This file is part of LibGTop 1.0.
+
+ Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
+
+ LibGTop 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 of the License,
+ or (at your option) any later version.
+
+ LibGTop 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 LibGTop; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#ifndef __GLIBTOP_PROCCWD_H__
+#define __GLIBTOP_PROCCWD_H__
+
+#include <glibtop.h>
+#include <glibtop/global.h>
+
+#include <glibtop/array.h>
+
+BEGIN_LIBGTOP_DECLS
+
+#define GLIBTOP_PROC_CWD_SIZE 0
+#define GLIBTOP_PROC_CWD_DEVICE 1
+#define GLIBTOP_PROC_CWD_INODE 2
+
+#define GLIBTOP_MAX_PROC_CWD 3
+
+typedef struct _glibtop_proc_cwd glibtop_proc_cwd;
+
+/* Cwd stuff */
+
+struct _glibtop_proc_cwd
+{
+ u_int64_t flags,
+ size,
+ device,
+ inode;
+};
+
+#define glibtop_get_proc_cwd(p1, p2) glibtop_get_proc_cwd_l(glibtop_global_server, p1, p2)
+
+#if GLIBTOP_SUID_PROC_CWD
+#define glibtop_get_proc_cwd_r glibtop_get_proc_cwd_p
+#else
+#define glibtop_get_proc_cwd_r glibtop_get_proc_cwd_s
+#endif
+
+char *glibtop_get_proc_cwd_l (glibtop *server, glibtop_proc_cwd *buf, pid_t pid);
+
+#if GLIBTOP_SUID_PROC_CWD
+int glibtop_init_proc_cwd_p (glibtop *server);
+char *glibtop_get_proc_cwd_p (glibtop *server, glibtop_proc_cwd *buf, pid_t pid);
+#else
+int glibtop_init_proc_cwd_s (glibtop *server);
+char *glibtop_get_proc_cwd_s (glibtop *server, glibtop_proc_cwd *buf, pid_t pid);
+#endif
+
+#ifdef GLIBTOP_NAMES
+
+/* You need to link with -lgtop_names to get this stuff here. */
+
+extern const char *glibtop_names_proc_cwd [];
+extern const unsigned glibtop_types_proc_cwd [];
+extern const char *glibtop_labels_proc_cwd [];
+extern const char *glibtop_descriptions_proc_cwd [];
+
+#endif
+
+#endif
diff --git a/include/glibtop/sysdeps.h b/include/glibtop/sysdeps.h
index 7738d7c5..efe90c7a 100644
--- a/include/glibtop/sysdeps.h
+++ b/include/glibtop/sysdeps.h
@@ -46,16 +46,17 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_SYSDEPS_PROC_SIGNAL 13
#define GLIBTOP_SYSDEPS_PROC_KERNEL 14
#define GLIBTOP_SYSDEPS_PROC_SEGMENT 15
-#define GLIBTOP_SYSDEPS_PROC_ARGS 16
-#define GLIBTOP_SYSDEPS_PROC_MAP 17
-#define GLIBTOP_SYSDEPS_MOUNTLIST 18
-#define GLIBTOP_SYSDEPS_FSUSAGE 19
-#define GLIBTOP_SYSDEPS_INTERFACE_NAMES 20
-#define GLIBTOP_SYSDEPS_NETINFO 21
-#define GLIBTOP_SYSDEPS_NETLOAD 22
-#define GLIBTOP_SYSDEPS_PPP 23
-
-#define GLIBTOP_MAX_SYSDEPS 26
+#define GLIBTOP_SYSDEPS_PROC_CWD 16
+#define GLIBTOP_SYSDEPS_PROC_ARGS 17
+#define GLIBTOP_SYSDEPS_PROC_MAP 18
+#define GLIBTOP_SYSDEPS_MOUNTLIST 19
+#define GLIBTOP_SYSDEPS_FSUSAGE 20
+#define GLIBTOP_SYSDEPS_INTERFACE_NAMES 21
+#define GLIBTOP_SYSDEPS_NETINFO 22
+#define GLIBTOP_SYSDEPS_NETLOAD 23
+#define GLIBTOP_SYSDEPS_PPP 24
+
+#define GLIBTOP_MAX_SYSDEPS 27
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
@@ -86,6 +87,7 @@ struct _glibtop_sysdeps
proc_signal, /* glibtop_proc_signal */
proc_kernel, /* glibtop_proc_kernel */
proc_segment, /* glibtop_proc_segment */
+ proc_cwd, /* glibtop_proc_cwd */
proc_args, /* glibtop_proc_args */
proc_map, /* glibtop_proc_map */
mountlist, /* glibtop_mountlist */
diff --git a/include/glibtop/union.h b/include/glibtop/union.h
index 16ca9b5c..24b0d569 100644
--- a/include/glibtop/union.h
+++ b/include/glibtop/union.h
@@ -46,6 +46,8 @@
#include <glibtop/procargs.h>
#include <glibtop/procmap.h>
+#include <glibtop/proccwd.h>
+
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
@@ -76,6 +78,7 @@ union _glibtop_union
glibtop_proc_signal proc_signal;
glibtop_proc_kernel proc_kernel;
glibtop_proc_segment proc_segment;
+ glibtop_proc_cwd proc_cwd;
glibtop_array proc_args;
glibtop_array proc_map;
glibtop_array mountlist;