summaryrefslogtreecommitdiff
path: root/include/glibtop
diff options
context:
space:
mode:
authorMartin Baulig <martin@home-of-linux.org>1998-08-07 10:01:55 +0000
committerMartin Baulig <martin@src.gnome.org>1998-08-07 10:01:55 +0000
commit4b3fcf149a7eed6f0fd544756ec3515c779da185 (patch)
tree1ccc8f008b152b972ea366acaf3cc0c01546a9f1 /include/glibtop
parent09e1353d0d2861f9e6cc911360d940d74cad3dfd (diff)
downloadlibgtop-4b3fcf149a7eed6f0fd544756ec3515c779da185.tar.gz
New fields `error_method', `sysdeps' and `required'. I added an improved
1998-08-07 Martin Baulig <martin@home-of-linux.org> * glibtop.h (_glibtop): New fields `error_method', `sysdeps' and `required'. I added an improved error handling: the client can tell the libraries which fields are absolutely required for each features and if it fails to set one of them, this will create an error which is handled depending upon the `error_method'. * include/glibtop/open.h: Define some constants for `error_method'. * lib/sysdeps.c (glibtop_get_sysdeps_r): No longer actually call any sysdeps function, it now simply copies `server->sysdeps'. (_glibtop_init_hook_s): Added. List of functions to be called during `glibtop_init_s' set to `glibtop_init_<no-suid-feature>_s'. * include/glibtop/sysdeps.h (<glibtop/union.h>): Removed. (glibtop_init_func_t): New typedef. (_glibtop_init_hook_s): Added. * sysdeps/linux/*.c (glibtop_init_<feature>_s): New functions. (glibtop_get_proc_*): Zero is now a valid pid. * sysdeps/kernel/*.c (glibtop_init_<feature>_s): New functions. (glibtop_get_proc_*): Zero is now a valid pid. 1998-08-06 Martin Baulig <martin@home-of-linux.org>
Diffstat (limited to 'include/glibtop')
-rw-r--r--include/glibtop/command.h1
-rw-r--r--include/glibtop/cpu.h2
-rw-r--r--include/glibtop/loadavg.h2
-rw-r--r--include/glibtop/mem.h2
-rw-r--r--include/glibtop/msg_limits.h2
-rw-r--r--include/glibtop/open.h7
-rw-r--r--include/glibtop/parameter.h11
-rw-r--r--include/glibtop/prockernel.h2
-rw-r--r--include/glibtop/proclist.h2
-rw-r--r--include/glibtop/procmem.h2
-rw-r--r--include/glibtop/procsegment.h2
-rw-r--r--include/glibtop/procsignal.h2
-rw-r--r--include/glibtop/procstate.h2
-rw-r--r--include/glibtop/proctime.h2
-rw-r--r--include/glibtop/procuid.h2
-rw-r--r--include/glibtop/sem_limits.h2
-rw-r--r--include/glibtop/shm_limits.h2
-rw-r--r--include/glibtop/swap.h2
-rw-r--r--include/glibtop/sysdeps.h4
-rw-r--r--include/glibtop/uptime.h2
20 files changed, 49 insertions, 6 deletions
diff --git a/include/glibtop/command.h b/include/glibtop/command.h
index d70a08bb..afbb0237 100644
--- a/include/glibtop/command.h
+++ b/include/glibtop/command.h
@@ -24,6 +24,7 @@
#include <glibtop.h>
#include <glibtop/sysdeps.h>
+#include <glibtop/union.h>
__BEGIN_DECLS
diff --git a/include/glibtop/cpu.h b/include/glibtop/cpu.h
index daec3187..7c1fcbbd 100644
--- a/include/glibtop/cpu.h
+++ b/include/glibtop/cpu.h
@@ -60,8 +60,10 @@ struct _glibtop_cpu
extern void glibtop_get_cpu_l __P((glibtop *, glibtop_cpu *));
#if GLIBTOP_SUID_CPU
+extern void glibtop_init_cpu_p __P((glibtop *));
extern void glibtop_get_cpu_p __P((glibtop *, glibtop_cpu *));
#else
+extern void glibtop_init_cpu_s __P((glibtop *));
extern void glibtop_get_cpu_s __P((glibtop *, glibtop_cpu *));
#endif
diff --git a/include/glibtop/loadavg.h b/include/glibtop/loadavg.h
index dedf0f16..f799fe40 100644
--- a/include/glibtop/loadavg.h
+++ b/include/glibtop/loadavg.h
@@ -50,8 +50,10 @@ struct _glibtop_loadavg
extern void glibtop_get_loadavg_l __P((glibtop *, glibtop_loadavg *));
#if GLIBTOP_SUID_LOADAVG
+extern void glibtop_init_loadavg_p __P((glibtop *));
extern void glibtop_get_loadavg_p __P((glibtop *, glibtop_loadavg *));
#else
+extern void glibtop_init_loadavg_s __P((glibtop *));
extern void glibtop_get_loadavg_s __P((glibtop *, glibtop_loadavg *));
#endif
diff --git a/include/glibtop/mem.h b/include/glibtop/mem.h
index 366c4f7c..74c936d8 100644
--- a/include/glibtop/mem.h
+++ b/include/glibtop/mem.h
@@ -64,8 +64,10 @@ struct _glibtop_mem
extern void glibtop_get_mem_l __P((glibtop *, glibtop_mem *));
#if GLIBTOP_SUID_MEM
+extern void glibtop_init_mem_p __P((glibtop *));
extern void glibtop_get_mem_p __P((glibtop *, glibtop_mem *));
#else
+extern void glibtop_init_mem_s __P((glibtop *));
extern void glibtop_get_mem_s __P((glibtop *, glibtop_mem *));
#endif
diff --git a/include/glibtop/msg_limits.h b/include/glibtop/msg_limits.h
index fb0f2561..5941b533 100644
--- a/include/glibtop/msg_limits.h
+++ b/include/glibtop/msg_limits.h
@@ -62,8 +62,10 @@ struct _glibtop_msg_limits
extern void glibtop_get_msg_limits_l __P((glibtop *, glibtop_msg_limits *));
#if GLIBTOP_SUID_MSG_LIMITS
+extern void glibtop_init_msg_limits_p __P((glibtop *));
extern void glibtop_get_msg_limits_p __P((glibtop *, glibtop_msg_limits *));
#else
+extern void glibtop_init_msg_limits_s __P((glibtop *));
extern void glibtop_get_msg_limits_s __P((glibtop *, glibtop_msg_limits *));
#endif
diff --git a/include/glibtop/open.h b/include/glibtop/open.h
index ff7b6125..013aa826 100644
--- a/include/glibtop/open.h
+++ b/include/glibtop/open.h
@@ -41,6 +41,13 @@ __BEGIN_DECLS
#define GLIBTOP_METHOD_INET 3
#define GLIBTOP_METHOD_UNIX 4
+#define GLIBTOP_ERROR_METHOD_IGNORE 0
+#define GLIBTOP_ERROR_METHOD_WARN_ONCE 1
+#define GLIBTOP_ERROR_METHOD_WARN 2
+#define GLIBTOP_ERROR_METHOD_ABORT 3
+
+#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
+
extern void glibtop_open_l __P((glibtop *, const char *, const unsigned long, const unsigned));
extern void glibtop_open_p __P((glibtop *, const char *, const unsigned long, const unsigned));
diff --git a/include/glibtop/parameter.h b/include/glibtop/parameter.h
index 7614d3e5..013deaf9 100644
--- a/include/glibtop/parameter.h
+++ b/include/glibtop/parameter.h
@@ -25,11 +25,12 @@
__BEGIN_DECLS
-#define GLIBTOP_PARAM_METHOD 1
-#define GLIBTOP_PARAM_FEATURES 2
-#define GLIBTOP_PARAM_COMMAND 3
-#define GLIBTOP_PARAM_HOST 4
-#define GLIBTOP_PARAM_PORT 5
+#define GLIBTOP_PARAM_METHOD 1
+#define GLIBTOP_PARAM_FEATURES 2
+#define GLIBTOP_PARAM_COMMAND 3
+#define GLIBTOP_PARAM_HOST 4
+#define GLIBTOP_PARAM_PORT 5
+#define GLIBTOP_PARAM_ERROR_METHOD 6
#define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
diff --git a/include/glibtop/prockernel.h b/include/glibtop/prockernel.h
index 15b68990..c589b2f0 100644
--- a/include/glibtop/prockernel.h
+++ b/include/glibtop/prockernel.h
@@ -71,8 +71,10 @@ struct _glibtop_proc_kernel
extern void glibtop_get_proc_kernel_l __P((glibtop *, glibtop_proc_kernel *, pid_t));
#if GLIBTOP_SUID_PROC_KERNEL
+extern void glibtop_init_proc_kernel_p __P((glibtop *));
extern void glibtop_get_proc_kernel_p __P((glibtop *, glibtop_proc_kernel *, pid_t));
#else
+extern void glibtop_init_proc_kernel_s __P((glibtop *));
extern void glibtop_get_proc_kernel_s __P((glibtop *, glibtop_proc_kernel *, pid_t));
#endif
diff --git a/include/glibtop/proclist.h b/include/glibtop/proclist.h
index 1d8d3c70..38132eb6 100644
--- a/include/glibtop/proclist.h
+++ b/include/glibtop/proclist.h
@@ -54,8 +54,10 @@ struct _glibtop_proclist
extern unsigned *glibtop_get_proclist_l __P((glibtop *, glibtop_proclist *));
#if GLIBTOP_SUID_PROCLIST
+extern void glibtop_init_proclist_p __P((glibtop *));
extern unsigned *glibtop_get_proclist_p __P((glibtop *, glibtop_proclist *));
#else
+extern void glibtop_init_proclist_s __P((glibtop *));
extern unsigned *glibtop_get_proclist_s __P((glibtop *, glibtop_proclist *));
#endif
diff --git a/include/glibtop/procmem.h b/include/glibtop/procmem.h
index 1cd9e9e4..b2ef2482 100644
--- a/include/glibtop/procmem.h
+++ b/include/glibtop/procmem.h
@@ -64,8 +64,10 @@ struct _glibtop_proc_mem
extern void glibtop_get_proc_mem_l __P((glibtop *, glibtop_proc_mem *, pid_t));
#if GLIBTOP_SUID_PROC_MEM
+extern void glibtop_init_proc_mem_p __P((glibtop *));
extern void glibtop_get_proc_mem_p __P((glibtop *, glibtop_proc_mem *, pid_t));
#else
+extern void glibtop_init_proc_mem_s __P((glibtop *));
extern void glibtop_get_proc_mem_s __P((glibtop *, glibtop_proc_mem *, pid_t));
#endif
diff --git a/include/glibtop/procsegment.h b/include/glibtop/procsegment.h
index b123c4e2..b140f63f 100644
--- a/include/glibtop/procsegment.h
+++ b/include/glibtop/procsegment.h
@@ -65,8 +65,10 @@ struct _glibtop_proc_segment
extern void glibtop_get_proc_segment_l __P((glibtop *, glibtop_proc_segment *, pid_t));
#if GLIBTOP_SUID_PROC_SEGMENT
+extern void glibtop_init_proc_segment_p __P((glibtop *));
extern void glibtop_get_proc_segment_p __P((glibtop *, glibtop_proc_segment *, pid_t));
#else
+extern void glibtop_init_proc_segment_s __P((glibtop *));
extern void glibtop_get_proc_segment_s __P((glibtop *, glibtop_proc_segment *, pid_t));
#endif
diff --git a/include/glibtop/procsignal.h b/include/glibtop/procsignal.h
index 8e919d89..0f8f62f5 100644
--- a/include/glibtop/procsignal.h
+++ b/include/glibtop/procsignal.h
@@ -58,8 +58,10 @@ struct _glibtop_proc_signal
extern void glibtop_get_proc_signal_l __P((glibtop *, glibtop_proc_signal *, pid_t));
#if GLIBTOP_SUID_PROC_SIGNAL
+extern void glibtop_init_proc_signal_p __P((glibtop *));
extern void glibtop_get_proc_signal_p __P((glibtop *, glibtop_proc_signal *, pid_t));
#else
+extern void glibtop_init_proc_signal_s __P((glibtop *));
extern void glibtop_get_proc_signal_s __P((glibtop *, glibtop_proc_signal *, pid_t));
#endif
diff --git a/include/glibtop/procstate.h b/include/glibtop/procstate.h
index 933b70c0..e5d2ae1a 100644
--- a/include/glibtop/procstate.h
+++ b/include/glibtop/procstate.h
@@ -65,8 +65,10 @@ struct _glibtop_proc_state
extern void glibtop_get_proc_state_l __P((glibtop *, glibtop_proc_state *, pid_t));
#if GLIBTOP_SUID_PROC_STATE
+extern void glibtop_init_proc_state_p __P((glibtop *));
extern void glibtop_get_proc_state_p __P((glibtop *, glibtop_proc_state *, pid_t));
#else
+extern void glibtop_init_proc_state_s __P((glibtop *));
extern void glibtop_get_proc_state_s __P((glibtop *, glibtop_proc_state *, pid_t));
#endif
diff --git a/include/glibtop/proctime.h b/include/glibtop/proctime.h
index 1a5fc7ab..c9dc3776 100644
--- a/include/glibtop/proctime.h
+++ b/include/glibtop/proctime.h
@@ -70,8 +70,10 @@ struct _glibtop_proc_time
extern void glibtop_get_proc_time_l __P((glibtop *, glibtop_proc_time *, pid_t));
#if GLIBTOP_SUID_PROC_TIME
+extern void glibtop_init_proc_time_p __P((glibtop *));
extern void glibtop_get_proc_time_p __P((glibtop *, glibtop_proc_time *, pid_t));
#else
+extern void glibtop_init_proc_time_s __P((glibtop *));
extern void glibtop_get_proc_time_s __P((glibtop *, glibtop_proc_time *, pid_t));
#endif
diff --git a/include/glibtop/procuid.h b/include/glibtop/procuid.h
index 15643923..e4315174 100644
--- a/include/glibtop/procuid.h
+++ b/include/glibtop/procuid.h
@@ -74,8 +74,10 @@ struct _glibtop_proc_uid
extern void glibtop_get_proc_uid_l __P((glibtop *, glibtop_proc_uid *, pid_t));
#if GLIBTOP_SUID_PROC_UID
+extern void glibtop_init_proc_uid_p __P((glibtop *));
extern void glibtop_get_proc_uid_p __P((glibtop *, glibtop_proc_uid *, pid_t));
#else
+extern void glibtop_init_proc_uid_s __P((glibtop *));
extern void glibtop_get_proc_uid_s __P((glibtop *, glibtop_proc_uid *, pid_t));
#endif
diff --git a/include/glibtop/sem_limits.h b/include/glibtop/sem_limits.h
index d4d69d40..4e868f09 100644
--- a/include/glibtop/sem_limits.h
+++ b/include/glibtop/sem_limits.h
@@ -68,8 +68,10 @@ struct _glibtop_sem_limits
extern void glibtop_get_sem_limits_l __P((glibtop *, glibtop_sem_limits *));
#if GLIBTOP_SUID_SEM_LIMITS
+extern void glibtop_init_sem_limits_p __P((glibtop *));
extern void glibtop_get_sem_limits_p __P((glibtop *, glibtop_sem_limits *));
#else
+extern void glibtop_init_sem_limits_s __P((glibtop *));
extern void glibtop_get_sem_limits_s __P((glibtop *, glibtop_sem_limits *));
#endif
diff --git a/include/glibtop/shm_limits.h b/include/glibtop/shm_limits.h
index 03858852..da74d894 100644
--- a/include/glibtop/shm_limits.h
+++ b/include/glibtop/shm_limits.h
@@ -58,8 +58,10 @@ struct _glibtop_shm_limits
extern void glibtop_get_shm_limits_l __P((glibtop *, glibtop_shm_limits *));
#if GLIBTOP_SUID_SHM_LIMITS
+extern void glibtop_init_shm_limits_p __P((glibtop *));
extern void glibtop_get_shm_limits_p __P((glibtop *, glibtop_shm_limits *));
#else
+extern void glibtop_init_shm_limits_s __P((glibtop *));
extern void glibtop_get_shm_limits_s __P((glibtop *, glibtop_shm_limits *));
#endif
diff --git a/include/glibtop/swap.h b/include/glibtop/swap.h
index ce620bf6..a6e67d43 100644
--- a/include/glibtop/swap.h
+++ b/include/glibtop/swap.h
@@ -58,8 +58,10 @@ struct _glibtop_swap
extern void glibtop_get_swap_l __P((glibtop *, glibtop_swap *));
#if GLIBTOP_SUID_SWAP
+extern void glibtop_init_swap_p __P((glibtop *));
extern void glibtop_get_swap_p __P((glibtop *, glibtop_swap *));
#else
+extern void glibtop_init_swap_s __P((glibtop *));
extern void glibtop_get_swap_s __P((glibtop *, glibtop_swap *));
#endif
diff --git a/include/glibtop/sysdeps.h b/include/glibtop/sysdeps.h
index dce97d7c..e3b9551b 100644
--- a/include/glibtop/sysdeps.h
+++ b/include/glibtop/sysdeps.h
@@ -23,7 +23,6 @@
#define __GLIBTOP_SYSDEPS_H__
#include <glibtop.h>
-#include <glibtop/union.h>
__BEGIN_DECLS
@@ -51,6 +50,9 @@ __BEGIN_DECLS
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
+typedef void (*glibtop_init_func_t) (glibtop *);
+extern glibtop_init_func_t _glibtop_init_hook_s [];
+
typedef struct _glibtop_sysdeps glibtop_sysdeps;
struct _glibtop_sysdeps
diff --git a/include/glibtop/uptime.h b/include/glibtop/uptime.h
index 63e828ce..0d2acd78 100644
--- a/include/glibtop/uptime.h
+++ b/include/glibtop/uptime.h
@@ -52,8 +52,10 @@ struct _glibtop_uptime
extern void glibtop_get_uptime_l __P((glibtop *, glibtop_uptime *));
#if GLIBTOP_SUID_UPTIME
+extern void glibtop_init_uptime_p __P((glibtop *));
extern void glibtop_get_uptime_p __P((glibtop *, glibtop_uptime *));
#else
+extern void glibtop_init_uptime_s __P((glibtop *));
extern void glibtop_get_uptime_s __P((glibtop *, glibtop_uptime *));
#endif