Compare commits
286 Commits
V_2_5_0
...
LIBGTOP_2_
Author | SHA1 | Date | |
---|---|---|---|
|
29d88e177b | ||
|
3fe19138de | ||
|
b3b674f7df | ||
|
3c029f5a28 | ||
|
fdf313cdf6 | ||
|
9a6bb02fb1 | ||
|
e6f0664c3b | ||
|
405f0602e0 | ||
|
b3dfc1d1d2 | ||
|
13025c6c5f | ||
|
bbcbe6b67d | ||
|
6c586e844f | ||
|
a1677aefa8 | ||
|
9f91b2ddb8 | ||
|
ca8d9657f0 | ||
|
5bd4c5feeb | ||
|
15a4ba35a9 | ||
|
f028bd79bf | ||
|
d809faba3e | ||
|
d0833edb66 | ||
|
9aae957919 | ||
|
6d24f84fd6 | ||
|
fe08779c6c | ||
|
804b82eff8 | ||
|
61889bc182 | ||
|
c29887d4b0 | ||
|
edb1e6a773 | ||
|
5d97c3fa5e | ||
|
e830a8eeb6 | ||
|
a6410588cd | ||
|
339b79b100 | ||
|
831f0e7d68 | ||
|
4882405885 | ||
|
5b15a2d1a5 | ||
|
6954b81396 | ||
|
35dd4cf1ca | ||
|
0b0b1ab43c | ||
|
a6311d88c3 | ||
|
f561120748 | ||
|
b35532dd6f | ||
|
c7d323749c | ||
|
3d1997ca94 | ||
|
b3fd15c190 | ||
|
601cfef32f | ||
|
86fd7f23c4 | ||
|
3668b5bb19 | ||
|
89f531cdbc | ||
|
35488aef90 | ||
|
dc31c8b8dd | ||
|
a205458dbe | ||
|
9ccd5cc4cb | ||
|
0fb5f3df88 | ||
|
c82734255b | ||
|
19ebd69b93 | ||
|
c93a83e78a | ||
|
c968c56913 | ||
|
8508785c67 | ||
|
9d142723a6 | ||
|
a0afc5616a | ||
|
423d0e353d | ||
|
a4307cb35d | ||
|
0bc628484c | ||
|
3bdad36198 | ||
|
7a4c9fb40f | ||
|
8c5093a395 | ||
|
5ccd5980c0 | ||
|
60c8aae6d9 | ||
|
28a5db91d2 | ||
|
770e39d2d2 | ||
|
8ca47ad9e0 | ||
|
49f1de8217 | ||
|
63cc547156 | ||
|
fcfd0bd852 | ||
|
4b6c206598 | ||
|
e81e7db939 | ||
|
91adde3f3d | ||
|
ef95ef85ff | ||
|
ff160fa9f3 | ||
|
11f37815a3 | ||
|
16d9eebd1b | ||
|
71c1792637 | ||
|
6fc4a48c6f | ||
|
550b9743c7 | ||
|
36fe063384 | ||
|
42c697c37e | ||
|
91c53d4f22 | ||
|
878826c871 | ||
|
f9b9b8dbd9 | ||
|
d20bbf57fe | ||
|
6bbc66417a | ||
|
336d234bce | ||
|
a6df633a6f | ||
|
8cd69ad3df | ||
|
ab2881a412 | ||
|
bce095739f | ||
|
d872544eb7 | ||
|
03e96ce487 | ||
|
95dfedd71d | ||
|
4cda07c19c | ||
|
182f069928 | ||
|
647f7c7be8 | ||
|
808a2d48ac | ||
|
5b39a4831d | ||
|
275d96b6c7 | ||
|
a6f5be63ce | ||
|
b818519801 | ||
|
7a3d548bb6 | ||
|
dff4386212 | ||
|
cb4a95bf02 | ||
|
3502306b83 | ||
|
69767956dc | ||
|
e8158ec1b1 | ||
|
995ca5afb9 | ||
|
40c2e53355 | ||
|
4c0a0244e5 | ||
|
e794406321 | ||
|
e0882a5c68 | ||
|
4a7fb7c8cf | ||
|
eca1b71b75 | ||
|
81f0ecdcbe | ||
|
d549b72975 | ||
|
9737ebe1c9 | ||
|
b91aceeccb | ||
|
2bad1b2cd1 | ||
|
16cda6232b | ||
|
ff4fe5e846 | ||
|
92c18d4e8a | ||
|
644b0ebcf5 | ||
|
e5a855db7c | ||
|
bfc14a1925 | ||
|
b1c611c7fc | ||
|
18abf86346 | ||
|
9e1b0a2814 | ||
|
35db2e7496 | ||
|
a8593d5b84 | ||
|
de7fd9e85b | ||
|
c30e6a0dd2 | ||
|
47b0db5ca9 | ||
|
2e6438e582 | ||
|
babe152ba2 | ||
|
7612022e83 | ||
|
24073c48c5 | ||
|
b55ecd65bc | ||
|
50f086cb68 | ||
|
8eae848c3f | ||
|
d8a9aebdf5 | ||
|
76c967224b | ||
|
a08c8d96bb | ||
|
b279819639 | ||
|
99723e15ba | ||
|
6b3d52ff0e | ||
|
bb01063e93 | ||
|
e12ac5f40c | ||
|
34e322e7c2 | ||
|
559f481354 | ||
|
bb4397aec8 | ||
|
7eeae24a4a | ||
|
7fe2ca8cd7 | ||
|
16bcad422c | ||
|
3881c09b51 | ||
|
cd8b43e1d1 | ||
|
6a10d1ada9 | ||
|
a415d909a2 | ||
|
09febbf67d | ||
|
d5b8a71e5b | ||
|
f03e2d3c11 | ||
|
ac2b8285ab | ||
|
4de267e394 | ||
|
10d56bd5fc | ||
|
70b0925a82 | ||
|
b0edf88ff7 | ||
|
4fe066a430 | ||
|
95d39a87c8 | ||
|
54fb1482ba | ||
|
2f87aa4479 | ||
|
31e8abe019 | ||
|
d8cb4ccdf7 | ||
|
45f2f19c3a | ||
|
fe494bc846 | ||
|
7de929d2d7 | ||
|
bc4a882c4a | ||
|
75291a665c | ||
|
5af13a2a6a | ||
|
0cdaaf1f62 | ||
|
0a761f37f2 | ||
|
dc3027c438 | ||
|
74453855aa | ||
|
b15f542bfc | ||
|
1faa40ce18 | ||
|
4e4a2bcbed | ||
|
0de7c96d2a | ||
|
f070fea744 | ||
|
f416087865 | ||
|
cc8b169a8e | ||
|
31eb5d64cc | ||
|
5670749242 | ||
|
892c59f8a8 | ||
|
07ec479243 | ||
|
45b69b3277 | ||
|
ea9147a717 | ||
|
dc0de7a8c0 | ||
|
5884e4c6d7 | ||
|
0ef0f65d95 | ||
|
355a8dd9b9 | ||
|
2b221cbb1f | ||
|
1cffda35ec | ||
|
64b86ef8e3 | ||
|
aa7d624aca | ||
|
bb174b24e9 | ||
|
1d00248f3d | ||
|
c2895a9aa0 | ||
|
576aed18ba | ||
|
a4ee15727c | ||
|
6cd93d82a0 | ||
|
1d73fbed99 | ||
|
89e79ee51f | ||
|
f3be4b50a9 | ||
|
ab1d1077d6 | ||
|
3c7c79944c | ||
|
897db07104 | ||
|
4bd9752d52 | ||
|
a795ff4847 | ||
|
58c15ceeda | ||
|
f3e89490d4 | ||
|
10e619439e | ||
|
05f3377934 | ||
|
2ae3495a87 | ||
|
bbea6f3e16 | ||
|
74afd1c1d1 | ||
|
1c57c82637 | ||
|
857b940e93 | ||
|
aac28131d8 | ||
|
a3c4323de4 | ||
|
6ae17d92b2 | ||
|
0fa183a762 | ||
|
567da04f9c | ||
|
a046e42f3f | ||
|
c881020dc3 | ||
|
116348de15 | ||
|
b48b12e12b | ||
|
1c61b27933 | ||
|
7b86568eb0 | ||
|
60ccb2ca26 | ||
|
1cc7293497 | ||
|
62ee900299 | ||
|
00f9d271f2 | ||
|
16073f4179 | ||
|
a3a2c8cf21 | ||
|
d9aca3dd2c | ||
|
a931b14a9b | ||
|
87f2a442d9 | ||
|
d06db7bd7a | ||
|
49aa40e524 | ||
|
955b2d5c82 | ||
|
e25dba32e2 | ||
|
bf20705511 | ||
|
53a7a2e40c | ||
|
e8d4ffed34 | ||
|
056a7e5cc5 | ||
|
c1fd4120c5 | ||
|
d076fa81cc | ||
|
79fdd6cd3b | ||
|
291d63f2b9 | ||
|
f93de2fd0b | ||
|
cea6b6292d | ||
|
9ea55a3f4d | ||
|
310a51dd8f | ||
|
0cd19c9db1 | ||
|
04290020ea | ||
|
315397219b | ||
|
b836fa0c60 | ||
|
765064dd80 | ||
|
02d7b4b3de | ||
|
fc130166dd | ||
|
1625b5304f | ||
|
3a3ac84cae | ||
|
db6de7b017 | ||
|
a544c1ddb0 | ||
|
31133cc3dc | ||
|
58b323cfab | ||
|
07d991f383 | ||
|
a50e5fdc9a | ||
|
10305e7fd0 | ||
|
33fb22edd3 | ||
|
b2283f7c79 | ||
|
adc9a55578 |
@@ -34,3 +34,8 @@ libgtop*.tar.gz
|
||||
*-debstamp
|
||||
libgtop*.pc
|
||||
autom4te.cache
|
||||
COPYING
|
||||
INSTALL
|
||||
install-sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
|
1
AUTHORS
1
AUTHORS
@@ -1,2 +1,3 @@
|
||||
Martin Baulig (martin@home-of-linux.org)
|
||||
Drazen Kacar (dave@srce.hr)
|
||||
Beno<EFBFBD>t Dejean (tazforever@dlfp.org)
|
||||
|
@@ -1,2 +1,3 @@
|
||||
Email: martin@home-of-linux.org
|
||||
Email: dave@srce.hr
|
||||
Beno<EFBFBD>t Dejean (tazforever@dlfp.org)
|
||||
|
13
Makefile.am
13
Makefile.am
@@ -1,13 +1,5 @@
|
||||
## Process this file with automake to produce Makefile.in.
|
||||
|
||||
if EXAMPLES
|
||||
examples_SUBDIRS = examples
|
||||
else
|
||||
examples_SUBDIRS =
|
||||
endif
|
||||
|
||||
SUBDIRS = . po misc include sysdeps lib src \
|
||||
$(examples_SUBDIRS) doc
|
||||
SUBDIRS = po misc include sysdeps lib src examples doc
|
||||
|
||||
libgtopinclude_HEADERS = glibtop.h
|
||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
@@ -20,9 +12,6 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
|
||||
release:
|
||||
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libgtop-2.0.pc
|
||||
|
||||
|
66
NEWS
66
NEWS
@@ -1,3 +1,69 @@
|
||||
December 4, 2004: Overview of Changes from 2.8.1 to 2.8.2
|
||||
=========================================================
|
||||
o linux:
|
||||
- fixed segfault when polling PPP devices with glibtop_get_proclist.
|
||||
- fixed process state in glibtop_get_proclist.
|
||||
|
||||
o updated translations:
|
||||
- da (Martin Willemoes Hansen)
|
||||
|
||||
|
||||
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
|
||||
=========================================================
|
||||
* Improved Solaris and AIX support.
|
||||
|
||||
|
||||
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
|
||||
=========================================================
|
||||
* No changes
|
||||
|
||||
|
||||
August 30, 2004:
|
||||
===============
|
||||
* Applied some *BSD patches.
|
||||
* Removed old files.
|
||||
|
||||
|
||||
August 15, 2004:
|
||||
===============
|
||||
* Fixed compilation with C89-only compilers and old libc.
|
||||
|
||||
|
||||
August 3, 2004:
|
||||
==============
|
||||
* Some cleanups.
|
||||
* Fixed the behaviour of some linux proc_*() functions.
|
||||
* Updated the documentation.
|
||||
|
||||
|
||||
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
|
||||
======================================================
|
||||
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
|
||||
reduction.
|
||||
* Glibify a bit more.
|
||||
* API changes:
|
||||
- glibtop_fsusage provides total read and writes since boot_time.
|
||||
- glibtop_netload provides hardware address. IPv6 enable.
|
||||
- Added glibtop_get_proc_argv.
|
||||
|
||||
Work in progress :
|
||||
* Finish glibtop_fsusage implementation for Linux.
|
||||
* Some fuctions don't conform to the documentation, e.g. proctime.
|
||||
|
||||
March 11, 2004:
|
||||
===============
|
||||
|
||||
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
|
||||
in the loos.
|
||||
|
||||
- plenty of code cleanups
|
||||
|
||||
- removed the dependency on libgnome, only glib required now
|
||||
|
||||
- Linux 2.6 support, NetBSD support and better FreeBSD support
|
||||
|
||||
- Make the block size available for filesystem statistics
|
||||
|
||||
February 27, 2001:
|
||||
=================
|
||||
|
||||
|
@@ -126,7 +126,7 @@
|
||||
#undef HAVE_GUILE
|
||||
|
||||
#undef ssize_t
|
||||
#undef u_int64_t
|
||||
#undef guint64
|
||||
#undef int64_t
|
||||
|
||||
#undef HAVE_GLIBTOP_MACHINE_H
|
||||
|
@@ -43,8 +43,6 @@ dnl
|
||||
AC_DEFUN([GNOME_LIBGTOP_TYPES],
|
||||
[
|
||||
AC_CHECK_HEADERS(sys/bitypes.h)
|
||||
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
|
||||
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
|
||||
])
|
||||
|
||||
dnl See whether we need a declaration for a function.
|
||||
|
@@ -1,3 +1,7 @@
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-common.c: (_open_common): s/u_int64_t/guint64/
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-common.h: fixed compilation
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include <backend-common.h>
|
||||
|
||||
static int
|
||||
_open_common (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
_open_common (glibtop_server *, glibtop_backend *, guint64, const char **);
|
||||
|
||||
static int
|
||||
_close_common (glibtop_server *, glibtop_backend *, void *closure);
|
||||
@@ -47,7 +47,7 @@ glibtop_backend_info LibGTopBackendInfo_Common = {
|
||||
|
||||
static int
|
||||
_open_common (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
guint64 features, const char **backend_args)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@@ -1,3 +1,22 @@
|
||||
2004-08-22 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* server.c: (handle_slave_connection): Replaced //comment by /*C89*/.
|
||||
|
||||
2004-03-09 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* command.c: (glibtop_call_i):
|
||||
* demarshal.pl:
|
||||
* marshal.pl:
|
||||
* read_data.c: (glibtop_read_data_i):
|
||||
* server.c: (handle_slave_connection): fix g_malloc usage on non-Linux
|
||||
platforms (patch by Benoît Dejean <bnet@ifrance.com>)
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-server.c: (_open_server):
|
||||
* backend-server.h:
|
||||
* command.h.in: s/u_int64_t/guint64/
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-server.h:
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include <backend-server.h>
|
||||
|
||||
static int
|
||||
_open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
_open_server (glibtop_server *, glibtop_backend *, guint64, const char **);
|
||||
|
||||
static int
|
||||
_close_server (glibtop_server *, glibtop_backend *, void *);
|
||||
@@ -47,7 +47,7 @@ glibtop_backend_info LibGTopBackendInfo_Server = {
|
||||
|
||||
static int
|
||||
_open_server (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
guint64 features, const char **backend_args)
|
||||
{
|
||||
backend_server_private *priv;
|
||||
|
||||
|
@@ -37,7 +37,7 @@ typedef struct _backend_server_private backend_server_private;
|
||||
|
||||
struct _backend_server_private
|
||||
{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
int input [2]; /* Pipe client <- server */
|
||||
int output [2]; /* Pipe client -> server */
|
||||
pid_t pid; /* PID of the server */
|
||||
|
@@ -34,14 +34,8 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
size_t recv_size, void *recv_ptr,
|
||||
int *retval_ptr)
|
||||
{
|
||||
glibtop_command cmnd;
|
||||
glibtop_response resp;
|
||||
#if 0
|
||||
int retval;
|
||||
#endif
|
||||
|
||||
memset (&cmnd, 0, sizeof (glibtop_command));
|
||||
memset (&resp, 0, sizeof (glibtop_response));
|
||||
glibtop_command cmnd = {0};
|
||||
glibtop_response resp = {0};
|
||||
|
||||
cmnd.command = command;
|
||||
|
||||
@@ -57,7 +51,7 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
}
|
||||
|
||||
cmnd.data_size = data_size;
|
||||
|
||||
|
||||
glibtop_write_i (priv, sizeof (glibtop_command), &cmnd);
|
||||
|
||||
if (data_size) {
|
||||
@@ -75,7 +69,7 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
(long) resp.recv_size, (long) resp.data_size,
|
||||
recv_ptr, (long) recv_size);
|
||||
#endif
|
||||
|
||||
|
||||
if (retval_ptr)
|
||||
*retval_ptr = resp.glibtop_errno;
|
||||
|
||||
@@ -89,7 +83,7 @@ glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
glibtop_read_i (priv, recv_size, recv_ptr);
|
||||
|
||||
if (resp.data_size) {
|
||||
void *ptr = g_malloc (server, resp.data_size);
|
||||
void *ptr = g_malloc (resp.data_size);
|
||||
|
||||
glibtop_read_i (priv, resp.data_size, ptr);
|
||||
|
||||
|
@@ -42,8 +42,8 @@ typedef struct _glibtop_response glibtop_response;
|
||||
|
||||
struct _glibtop_command
|
||||
{
|
||||
u_int64_t command;
|
||||
u_int64_t param_size, send_size, data_size;
|
||||
guint64 command;
|
||||
guint64 param_size, send_size, data_size;
|
||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
||||
};
|
||||
|
||||
@@ -51,7 +51,7 @@ struct _glibtop_response
|
||||
{
|
||||
int retval;
|
||||
int glibtop_errno;
|
||||
u_int64_t recv_size, data_size;
|
||||
guint64 recv_size, data_size;
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
@@ -246,7 +246,7 @@ sub output {
|
||||
if ($line_fields[3] eq '') {
|
||||
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
|
||||
} else {
|
||||
$size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (server, _LIBGTOP_RECV_len);\n";
|
||||
$size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (_LIBGTOP_RECV_len);\n";
|
||||
}
|
||||
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
|
||||
|
||||
@@ -298,7 +298,7 @@ sub output {
|
||||
$recv_buf_code .= "\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (server, _LIBGTOP_TEMP_len);";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (_LIBGTOP_TEMP_len);";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n";
|
||||
|
@@ -181,7 +181,7 @@ sub output {
|
||||
$send_buf_code = "\t/* send buffer */\n";
|
||||
$send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
|
||||
if ($need_temp_storage) {
|
||||
$send_buf_code .= "g_malloc (server, _LIBGTOP_SEND_len+1)";
|
||||
$send_buf_code .= "g_malloc (_LIBGTOP_SEND_len+1)";
|
||||
} else {
|
||||
$send_buf_code .= '(void *) &'.$first_param_name;
|
||||
}
|
||||
@@ -190,7 +190,7 @@ sub output {
|
||||
$send_buf_code .= "\t/* data buffer */\n";
|
||||
$send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
|
||||
if ($need_temp_storage) {
|
||||
$send_buf_code .= "g_malloc (server, _LIBGTOP_DATA_len+1)";
|
||||
$send_buf_code .= "g_malloc (_LIBGTOP_DATA_len+1)";
|
||||
} else {
|
||||
$send_buf_code .= 'NULL';
|
||||
}
|
||||
@@ -231,7 +231,7 @@ sub output {
|
||||
$local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n";
|
||||
$local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
|
||||
$local_var_code .= "\tint i;\n";
|
||||
$call_code .= "\tptrlist = g_malloc (server, array->number+1 * sizeof (char *));\n";
|
||||
$call_code .= "\tptrlist = g_malloc (array->number+1 * sizeof (char *));\n";
|
||||
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n";
|
||||
$call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n";
|
||||
$call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n";
|
||||
|
@@ -45,10 +45,10 @@ glibtop_read_data_i (backend_server_private *priv)
|
||||
fprintf (stderr, "LIBRARY: really reading %d data bytes (ret = %d).\n", size, ret);
|
||||
#endif
|
||||
|
||||
if (!size) return NULL;
|
||||
if (!size) return NULL;
|
||||
|
||||
ptr = g_malloc (size);
|
||||
|
||||
ptr = g_malloc (priv->server, size);
|
||||
|
||||
ret = read (priv->input [0], ptr, size);
|
||||
|
||||
if (ret < 0)
|
||||
|
@@ -86,7 +86,7 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
server = glibtop_global_server;
|
||||
|
||||
|
||||
if (!server->_priv)
|
||||
server->_priv = g_malloc (sizeof (glibtop_server_private));
|
||||
|
||||
@@ -109,7 +109,7 @@ handle_slave_connection (int input, int output)
|
||||
glibtop_command _cmnd, *cmnd = &_cmnd;
|
||||
glibtop *server = glibtop_global_server;
|
||||
|
||||
// glibtop_send_version_i (glibtop_global_server, output);
|
||||
/* glibtop_send_version_i (glibtop_global_server, output); */
|
||||
|
||||
while (do_read (input, cmnd, sizeof (glibtop_command))) {
|
||||
size_t recv_size = 0, send_size = 0, recv_data_size = 0;
|
||||
@@ -155,7 +155,7 @@ handle_slave_connection (int input, int output)
|
||||
cmnd->data_size);
|
||||
#endif
|
||||
|
||||
data_ptr = g_malloc (server, cmnd->data_size);
|
||||
data_ptr = g_malloc (cmnd->data_size);
|
||||
do_read (input, data_ptr, cmnd->data_size);
|
||||
}
|
||||
|
||||
@@ -185,5 +185,5 @@ handle_slave_connection (int input, int output)
|
||||
resp.data_size = recv_data_size;
|
||||
|
||||
do_output (output, &resp, recv_ptr, recv_data_ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ glibtop_send_version_i (glibtop *server, int fd)
|
||||
sizeof (glibtop_response),
|
||||
sizeof (glibtop_union),
|
||||
sizeof (glibtop_sysdeps));
|
||||
|
||||
|
||||
size = strlen (buffer) + 1;
|
||||
|
||||
#ifdef DEBUG
|
||||
|
@@ -1,3 +1,7 @@
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-sysdeps.c: (_open_sysdeps): s/u_int64_t/guint64/
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* backend-sysdeps.h: fixed compilation
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include <backend-sysdeps.h>
|
||||
|
||||
static int
|
||||
_open_sysdeps (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
_open_sysdeps (glibtop_server *, glibtop_backend *, guint64, const char **);
|
||||
|
||||
static int
|
||||
_close_sysdeps (glibtop_server *, glibtop_backend *, void *);
|
||||
@@ -47,7 +47,7 @@ glibtop_backend_info LibGTopBackendInfo_Sysdeps = {
|
||||
|
||||
static int
|
||||
_open_sysdeps (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
guint64 features, const char **backend_args)
|
||||
{
|
||||
glibtop_init_func_t *init_fkt;
|
||||
|
||||
@@ -60,7 +60,7 @@ _open_sysdeps (glibtop_server *server, glibtop_backend *backend,
|
||||
(*init_fkt) (server);
|
||||
|
||||
server->info->sysdeps.pointer_size = sizeof (void*)*8;
|
||||
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
|
||||
}
|
||||
|
||||
|
62
configure.in
62
configure.in
@@ -7,13 +7,21 @@ AM_CONFIG_HEADER(config.h)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
LIBGTOP_MAJOR_VERSION=2
|
||||
LIBGTOP_MINOR_VERSION=5
|
||||
LIBGTOP_MICRO_VERSION=0
|
||||
LIBGTOP_MINOR_VERSION=8
|
||||
LIBGTOP_MICRO_VERSION=2
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
||||
|
||||
LIBGTOP_CURRENT=1
|
||||
dnl increment if the interface has additions, changes, removals.
|
||||
LIBGTOP_CURRENT=4
|
||||
|
||||
dnl increment any time the source changes; set to
|
||||
dnl 0 if you increment CURRENT
|
||||
LIBGTOP_REVISION=0
|
||||
|
||||
dnl increment if any interfaces have been added; set to 0
|
||||
dnl if any interfaces have been removed. removal has
|
||||
dnl precedence over adding, so set to 0 if both happened.
|
||||
LIBGTOP_AGE=0
|
||||
|
||||
# you can set this to `-snap' for instance to create
|
||||
@@ -83,11 +91,6 @@ export cross_compiling
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl Let the user enable compiler warnings
|
||||
dnl GNOME_COMPILE_WARNINGS
|
||||
|
||||
dnl GNOME_INIT_HOOK(gnome_found=yes)
|
||||
|
||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
|
||||
GNOME_LIBGTOP_SYSDEPS
|
||||
@@ -120,7 +123,7 @@ else
|
||||
fi
|
||||
|
||||
if test "x$enable_static" != xno; then
|
||||
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples"
|
||||
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples pprint_static procargs_static df_static"
|
||||
else
|
||||
static_targets=""
|
||||
fi
|
||||
@@ -131,13 +134,24 @@ AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
||||
AC_SUBST(static_targets)
|
||||
AC_SUBST(smp_examples)
|
||||
|
||||
GLIB_REQUIRED=2.0.0
|
||||
GLIB_REQUIRED=2.4.0
|
||||
|
||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED libgnome-2.0)
|
||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
|
||||
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
|
||||
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
|
||||
AC_MSG_CHECKING(for popt.h)
|
||||
if test x$POPT = xyes ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_ERROR([libgtop requires the popt development libraries])
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
||||
fi
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
@@ -171,6 +185,12 @@ AC_CHECK_FUNCS(dlerror,,)
|
||||
LIBS="$oLIBS"
|
||||
AC_SUBST(DL_LIB)
|
||||
|
||||
dnl Linux
|
||||
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
|
||||
if test x$HAVE_ISDN_H = xyes ; then
|
||||
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
|
||||
fi
|
||||
|
||||
dnl AIX
|
||||
AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat])
|
||||
AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO))
|
||||
@@ -235,7 +255,7 @@ AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et fa fi fr ga gl he hi hu id it ja ko lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW"
|
||||
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko lt lv mi mk ml mn ms nb nl nn no or pa pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW"
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
@@ -317,8 +337,8 @@ fi
|
||||
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS"
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
|
||||
@@ -329,6 +349,18 @@ machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
||||
|
||||
AC_SUBST(machine_incs)
|
||||
|
||||
if test "$GCC" = "yes" ; then
|
||||
CFLAGS="\
|
||||
-Winline \
|
||||
-Wall \
|
||||
-std=gnu89 \
|
||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
||||
-Wnested-externs -Wpointer-arith \
|
||||
-Wcast-align -Wsign-compare \
|
||||
-fno-strict-aliasing \
|
||||
$CFLAGS"
|
||||
fi
|
||||
|
||||
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
|
@@ -8,3 +8,4 @@ auto-macros.texi
|
||||
version.texi
|
||||
stamp-vti
|
||||
*.html *.pdf
|
||||
mdate-sh
|
||||
|
@@ -1,3 +1,21 @@
|
||||
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* reference.texi: Updated.
|
||||
|
||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* reference.texi: updated.
|
||||
Added glibtop_get_proc_argv.
|
||||
Added glibtop_fsusage.block_size.
|
||||
|
||||
2004-03-05 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* reference.texi: update for new API
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* reference.texi: s/u_int64_t/guint64/
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
|
||||
|
@@ -50,7 +50,7 @@ typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
struct _glibtop_cpu
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total,
|
||||
user,
|
||||
nice,
|
||||
@@ -139,7 +139,7 @@ typedef struct _glibtop_mem glibtop_mem;
|
||||
|
||||
struct _glibtop_mem
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total,
|
||||
used,
|
||||
free,
|
||||
@@ -207,7 +207,7 @@ typedef struct _glibtop_swap glibtop_swap;
|
||||
|
||||
struct _glibtop_swap
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total,
|
||||
used,
|
||||
free,
|
||||
@@ -266,10 +266,10 @@ typedef struct _glibtop_uptime glibtop_uptime;
|
||||
|
||||
struct _glibtop_uptime
|
||||
@{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
double uptime,
|
||||
idletime;
|
||||
u_int64_t boot_time;
|
||||
guint64 boot_time;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
@@ -318,9 +318,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
|
||||
|
||||
struct _glibtop_loadavg
|
||||
@{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
double loadavg [3];
|
||||
u_int64_t nr_running,
|
||||
guint64 nr_running,
|
||||
nr_tasks,
|
||||
last_pid;
|
||||
@};
|
||||
@@ -359,11 +359,11 @@ Library function @code{glibtop_get_proclist}:
|
||||
@cartouche
|
||||
unsigned *
|
||||
glibtop_get_proclist (glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
gint64 which, gint64 arg);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
gint64 which, gint64 arg);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
@@ -395,7 +395,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
|
||||
|
||||
struct _glibtop_proclist
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number,
|
||||
total,
|
||||
size;
|
||||
@@ -492,7 +492,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
struct _glibtop_proc_state
|
||||
@{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
char cmd[40];
|
||||
@ifset LIBGTOP-1-1
|
||||
unsigned state;
|
||||
@@ -572,6 +572,7 @@ There are some constants for the @code{state} field:
|
||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
||||
#define GLIBTOP_PROCESS_STOPPED 16
|
||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
||||
#define GLIBTOP_PROCESS_DEAD 64
|
||||
@end cartouche
|
||||
@end example
|
||||
@end ifset
|
||||
@@ -618,7 +619,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
|
||||
struct _glibtop_proc_uid
|
||||
@{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
int uid,
|
||||
euid,
|
||||
gid,
|
||||
@@ -698,7 +699,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
||||
|
||||
struct _glibtop_proc_mem
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
size,
|
||||
vsize,
|
||||
resident,
|
||||
@@ -717,7 +718,7 @@ Number of pages of virtual memory.
|
||||
@item resident
|
||||
Number of residnet set (non-swapped) pages.
|
||||
@item share
|
||||
Number of pages of shared (mmap'd) memory.
|
||||
Number of pages of shared (mmap\'d) memory.
|
||||
@item rss
|
||||
Number of pages the process has in real memory, minus 3 for administrative
|
||||
purposes.
|
||||
@@ -813,7 +814,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
struct _glibtop_proc_time
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
start_time,
|
||||
rtime,
|
||||
utime,
|
||||
@@ -830,6 +831,7 @@ struct _glibtop_proc_time
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
|
||||
@table @code
|
||||
@item start_time
|
||||
Start time of process in seconds since the epoch
|
||||
@@ -856,6 +858,18 @@ SMP user-mode CPU time accumulated by process
|
||||
SMP kernel-mode CPU time accumulated by process
|
||||
@end table
|
||||
|
||||
|
||||
Please note that under Linux, @code{start_time} value may be strange.
|
||||
Linux kernel defines @code{INITIAL_JIFFIES} which implies a time
|
||||
shift. Because @code{INITIAL_JIFFIES} is not user-space defined, we
|
||||
cannot use it to compute accurate @code{start_time}. On Linux2.6,
|
||||
@code{INITIAL_JIFFIES} is 300 so @code{start_time} is always 3s
|
||||
different from real start time of the given process. You may also get
|
||||
shift results if your system clock is not synchronised with your
|
||||
hardware clock. See @samp{man hwclock}.
|
||||
|
||||
|
||||
|
||||
@page
|
||||
@node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent
|
||||
@subsection Process Signal information
|
||||
@@ -881,7 +895,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
||||
|
||||
struct _glibtop_proc_signal
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
signal [2],
|
||||
blocked [2],
|
||||
sigignore [2],
|
||||
@@ -902,7 +916,7 @@ Mask of caught signals
|
||||
@end table
|
||||
|
||||
All signal masks are interpreted as bit mask; it is an array of two
|
||||
@code{u_int64_t}'s so we can save 128 signals there.
|
||||
@code{guint64}'s so we can save 128 signals there.
|
||||
|
||||
@page
|
||||
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
|
||||
@@ -929,8 +943,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
struct _glibtop_proc_kernel
|
||||
@{
|
||||
u_int64_t flags;
|
||||
u_int64_t k_flags,
|
||||
guint64 flags;
|
||||
guint64 k_flags,
|
||||
min_flt,
|
||||
maj_flt,
|
||||
cmin_flt,
|
||||
@@ -1029,7 +1043,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
struct _glibtop_proc_segment
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
text_rss,
|
||||
shlib_rss,
|
||||
data_rss,
|
||||
@@ -1079,7 +1093,7 @@ Library function @code{glibtop_get_proc_args}:
|
||||
@example
|
||||
@cartouche
|
||||
char *
|
||||
glibtop_get_proc_args_l (glibtop_proc_args *buf, pid_t pid,
|
||||
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid,
|
||||
unsigned max_len);
|
||||
|
||||
char *
|
||||
@@ -1096,7 +1110,7 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
|
||||
|
||||
struct _glibtop_proc_args
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
size;
|
||||
@};
|
||||
@end cartouche
|
||||
@@ -1110,6 +1124,30 @@ the lenght of this string is returned in the @code{size} field.
|
||||
|
||||
Remember to @code{g_free} the returned string to avoid a memory leak.
|
||||
|
||||
@strong{New functions}
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
char **
|
||||
glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid,
|
||||
unsigned max_len);
|
||||
|
||||
char **
|
||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Returns a NULL-terminated array of strings with all arguments of
|
||||
process @code{pid} (up to @code{max_len} characters, use zero to get
|
||||
all arguments). @code{glibtop_get_proc_argv()} and
|
||||
@code{glibtop_get_proc_argv_l()} are wrappers to
|
||||
@code{glibtop_get_proc_args()} and @code{glibtop_get_proc_args_l()}
|
||||
that return process' arguments like the C @code{argv}.
|
||||
|
||||
Remember to @code{g_strfreev} the returned array to avoid a memory
|
||||
leak.
|
||||
|
||||
@page
|
||||
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
|
||||
@subsection Process Memory Maps
|
||||
@@ -1135,7 +1173,7 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
|
||||
|
||||
struct _glibtop_proc_map
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number,
|
||||
total,
|
||||
size;
|
||||
@@ -1164,7 +1202,7 @@ typedef struct _glibtop_map_entry glibtop_map_entry;
|
||||
|
||||
struct _glibtop_map_entry
|
||||
@{
|
||||
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||
guint64 flags, start, end, offset, perm, inode, device;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
@};
|
||||
@end cartouche
|
||||
@@ -1175,13 +1213,13 @@ fields are valid:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
#define GLIBTOP_MAP_ENTRY_START 1
|
||||
#define GLIBTOP_MAP_ENTRY_END 2
|
||||
#define GLIBTOP_MAP_ENTRY_OFFSET 3
|
||||
#define GLIBTOP_MAP_ENTRY_PERM 4
|
||||
#define GLIBTOP_MAP_ENTRY_INODE 5
|
||||
#define GLIBTOP_MAP_ENTRY_DEVICE 6
|
||||
#define GLIBTOP_MAP_ENTRY_FILENAME 7
|
||||
#define GLIBTOP_MAP_ENTRY_START 0
|
||||
#define GLIBTOP_MAP_ENTRY_END 1
|
||||
#define GLIBTOP_MAP_ENTRY_OFFSET 2
|
||||
#define GLIBTOP_MAP_ENTRY_PERM 3
|
||||
#define GLIBTOP_MAP_ENTRY_INODE 4
|
||||
#define GLIBTOP_MAP_ENTRY_DEVICE 5
|
||||
#define GLIBTOP_MAP_ENTRY_FILENAME 6
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
@@ -1222,7 +1260,7 @@ typedef struct _glibtop_netload glibtop_netload;
|
||||
|
||||
struct _glibtop_netload
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
if_flags,
|
||||
mtu,
|
||||
subnet,
|
||||
@@ -1329,7 +1367,7 @@ typedef struct _glibtop_ppp glibtop_ppp;
|
||||
|
||||
struct _glibtop_ppp
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
state,
|
||||
bytes_in,
|
||||
bytes_out;
|
||||
@@ -1409,7 +1447,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
|
||||
|
||||
struct _glibtop_mountlist
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number,
|
||||
total,
|
||||
size;
|
||||
@@ -1438,7 +1476,7 @@ typedef struct _glibtop_mountentry glibtop_mountentry;
|
||||
|
||||
struct _glibtop_mountentry
|
||||
@{
|
||||
u_int64_t dev;
|
||||
guint64 dev;
|
||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
@@ -1488,12 +1526,13 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
|
||||
|
||||
struct _glibtop_fsusage
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
blocks,
|
||||
bfree,
|
||||
bavail,
|
||||
files,
|
||||
ffree;
|
||||
guint32 block_size;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
@@ -1509,6 +1548,8 @@ Free blocks available to ordinary users.
|
||||
Total file nodes.
|
||||
@item ffree
|
||||
Free file nodes.
|
||||
@item block_size
|
||||
Block size in bytes.
|
||||
@end table
|
||||
|
||||
Blocks are usually 512 bytes.
|
||||
@@ -1639,7 +1680,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
||||
|
||||
struct _glibtop_sysdeps
|
||||
@{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
features,
|
||||
pointer_size,
|
||||
cpu,
|
||||
|
@@ -14,3 +14,10 @@ second_linux
|
||||
smp_static sysdeps_static netload_static procmap_static mountlist_static
|
||||
smp sysdeps netload procmap mountlist
|
||||
timings timings_static
|
||||
pprint
|
||||
pprint_static
|
||||
procargs
|
||||
procargs_static
|
||||
df
|
||||
df_static
|
||||
|
||||
|
@@ -1,3 +1,78 @@
|
||||
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* pprint.c: (main): Re-added pprint_get_msg_limits()
|
||||
|
||||
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* df.c: (main):
|
||||
* pprint.c: (main):
|
||||
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
|
||||
|
||||
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* .cvsignore:
|
||||
* Makefile.am:
|
||||
* ../configure.in
|
||||
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
|
||||
|
||||
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
|
||||
|
||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* pprint.c: (pprint_get_swap), (main): Updated.
|
||||
|
||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* procargs.c: (show_args), (main): Updated.
|
||||
|
||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
|
||||
(pprint_get_uptime), (main): Updated.
|
||||
|
||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* pprint.c: (pprint_get_mountlist): Updated.
|
||||
|
||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* procargs.c: (show_args), (main): Updated.
|
||||
|
||||
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* .cvsignore:
|
||||
* Makefile.am:
|
||||
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
|
||||
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
|
||||
(pprint_get_msg_limits), (main): Added new example : pretty prints
|
||||
the result of glibtop_*. Work in progress.
|
||||
|
||||
Now builds procargs.
|
||||
|
||||
* ../configure.in: Added to static list.
|
||||
|
||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
||||
|
||||
* procargs.c: Added glibtop_get_proc_argv demo.
|
||||
|
||||
2003-12-27 Ole Laursen <olau@hardworking.dk>
|
||||
|
||||
* mountlist.c: Updated to display block size too.
|
||||
|
||||
2004-03-04 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* smp.c: use libgtop-i18n.h
|
||||
|
||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* Makefile.am:
|
||||
* smp.c:
|
||||
* sysdeps.c: (main): install only one library, libgtop-2.0
|
||||
Fix build-time warnings due to the redefinition of guint64
|
||||
Fix building smp.c and sysdeps.c
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* first.c:
|
||||
@@ -34,7 +109,7 @@
|
||||
|
||||
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
|
||||
|
||||
* timings.c: Added timersub defenition, to make code compilable on
|
||||
* timings.c: Added timersub defenition, to make code compilable on
|
||||
BSDI.
|
||||
|
||||
1999-03-24 Martin Baulig <martin@home-of-linux.org>
|
||||
@@ -100,11 +175,11 @@ Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
|
||||
1998-06-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* test.scm: New file.
|
||||
|
||||
|
||||
1998-06-07 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am (CFLAGS): Disable optimize.
|
||||
|
||||
|
||||
* first.c (PROFILE_COUNT): Number of times each function
|
||||
should be called. Defaults to 1; to profile the code, you
|
||||
can increase this when compiling.
|
||||
|
@@ -6,12 +6,7 @@ INCLUDES = @INCLUDES@
|
||||
|
||||
DEFS = @DEFS@
|
||||
|
||||
# We install it in `libexec' since this will make it more easy
|
||||
# to put the examples into an extra RPM package.
|
||||
|
||||
libgtopdir = $(libexecdir)/libgtop
|
||||
|
||||
libgtop_PROGRAMS = first second\
|
||||
noinst_PROGRAMS = first second pprint procargs df \
|
||||
mountlist procmap netload sysdeps timings \
|
||||
@static_targets@ @smp_examples@
|
||||
|
||||
@@ -19,48 +14,39 @@ EXTRA_PROGRAMS = first_static second_static \
|
||||
mountlist_static procmap_static \
|
||||
third third_static smp smp_static \
|
||||
netload_static sysdeps_static \
|
||||
timings_static
|
||||
timings_static pprint_static procargs_static \
|
||||
df_static
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
first_static_SOURCES = $(first_SOURCES)
|
||||
first_static_LDADD = $(first_LDADD)
|
||||
first_static_LDFLAGS = -static
|
||||
|
||||
second_SOURCES = second.c
|
||||
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
||||
|
||||
second_static_SOURCES = $(second_SOURCES)
|
||||
second_static_LDADD = $(second_LDADD)
|
||||
second_static_LDFLAGS = -static
|
||||
|
||||
procmap_SOURCES = procmap.c
|
||||
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
procmap_static_SOURCES = $(procmap_SOURCES)
|
||||
procmap_static_LDADD = $(procmap_LDADD)
|
||||
procmap_static_LDFLAGS = -static
|
||||
|
||||
netload_SOURCES = netload.c
|
||||
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
netload_static_SOURCES = $(netload_SOURCES)
|
||||
netload_static_LDADD = $(netload_LDADD)
|
||||
netload_static_LDFLAGS = -static
|
||||
|
||||
sysdeps_SOURCES = sysdeps.c
|
||||
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
|
||||
sysdeps_static_LDADD = $(sysdeps_LDADD)
|
||||
@@ -71,8 +57,6 @@ third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
|
||||
third_SOURCES = third.c
|
||||
third_LDADD = $(third_names_LIBS) \
|
||||
$(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@INTLLIBS@
|
||||
|
||||
third_static_SOURCES = $(third_SOURCES)
|
||||
@@ -80,9 +64,7 @@ third_static_LDADD = $(third_LDADD)
|
||||
third_static_LDFLAGS = -static
|
||||
|
||||
mountlist_SOURCES = mountlist.c
|
||||
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
mountlist_static_SOURCES= $(mountlist_SOURCES)
|
||||
mountlist_static_LDADD = $(mountlist_LDADD)
|
||||
@@ -90,20 +72,40 @@ mountlist_static_LDFLAGS= -static
|
||||
|
||||
|
||||
smp_SOURCES = smp.c
|
||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
||||
|
||||
smp_static_SOURCES = $(smp_SOURCES)
|
||||
smp_static_LDADD = $(smp_LDADD)
|
||||
smp_static_LDFLAGS = -static
|
||||
|
||||
timings_SOURCES = timings.c
|
||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la
|
||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
timings_static_SOURCES = $(timings_SOURCES)
|
||||
timings_static_LDADD = $(timings_LDADD)
|
||||
timings_static_LDFLAGS = -static
|
||||
|
||||
|
||||
pprint_SOURCES = pprint.c
|
||||
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
pprint_static_SOURCES = $(pprint_SOURCES)
|
||||
pprint_static_LDADD = $(pprint_LDADD)
|
||||
pprint_static_LDFLAGS = -static
|
||||
|
||||
|
||||
procargs_SOURCES = procargs.c
|
||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
procargs_static_SOURCES = $(procargs_SOURCES)
|
||||
procargs_static_LDADD = $(procargs_LDADD)
|
||||
procargs_static_LDFLAGS = -static
|
||||
|
||||
|
||||
df_SOURCES = df.c
|
||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
df_static_SOURCES = $(df_SOURCES)
|
||||
df_static_LDADD = $(df_LDADD)
|
||||
df_static_LDFLAGS = -static
|
||||
|
||||
|
48
examples/df.c
Normal file
48
examples/df.c
Normal file
@@ -0,0 +1,48 @@
|
||||
#include <glibtop.h>
|
||||
|
||||
#include <glibtop/fsusage.h>
|
||||
#include <glibtop/mountlist.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
static void print_fsusage(const char *mountpoint)
|
||||
{
|
||||
glibtop_fsusage buf;
|
||||
|
||||
glibtop_get_fsusage(&buf, mountpoint);
|
||||
|
||||
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
||||
mountpoint,
|
||||
buf.blocks * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||
buf.bavail * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
glibtop_mountlist buf;
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
glibtop_init();
|
||||
|
||||
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
||||
"Filesystem", "Size", "Used", "Avail", "Use%");
|
||||
|
||||
entries = glibtop_get_mountlist(&buf, FALSE);
|
||||
|
||||
for(i = 0; i < buf.number; ++i)
|
||||
{
|
||||
print_fsusage(entries[i].mountdir);
|
||||
}
|
||||
|
||||
g_free(entries);
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -53,7 +55,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
@@ -133,7 +135,7 @@ main (int argc, char *argv [])
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_shm_limits (&data.shm_limits);
|
||||
|
||||
|
||||
printf ("Shm Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.shm_limits.flags,
|
||||
(unsigned long) data.shm_limits.shmmax,
|
||||
@@ -157,7 +159,7 @@ main (int argc, char *argv [])
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_sem_limits (&data.sem_limits);
|
||||
|
||||
|
||||
printf ("Sem Limits (0x%08lx): "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.sem_limits.flags,
|
||||
@@ -215,7 +217,7 @@ main (int argc, char *argv [])
|
||||
(unsigned long) sysdeps.ppp);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
|
||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
|
||||
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
|
||||
@@ -306,7 +308,7 @@ main (int argc, char *argv [])
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
|
||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_signal.flags,
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -48,11 +50,11 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
@@ -88,18 +90,18 @@ main (int argc, char *argv [])
|
||||
mount_entries [index].type,
|
||||
mount_entries [index].devname);
|
||||
|
||||
printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n",
|
||||
"", "Blocks", "Free", "Avail", "Files", "Free");
|
||||
printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n",
|
||||
"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz");
|
||||
|
||||
for (index = 0; index < mount_list.number; index++) {
|
||||
glibtop_get_fsusage (&fsusage,
|
||||
mount_entries [index].mountdir);
|
||||
|
||||
printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n",
|
||||
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
|
||||
mount_entries [index].mountdir,
|
||||
fsusage.blocks, fsusage.bfree,
|
||||
fsusage.bavail, fsusage.files,
|
||||
fsusage.ffree);
|
||||
fsusage.ffree, fsusage.block_size);
|
||||
}
|
||||
|
||||
g_free (mount_entries);
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -52,7 +54,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
@@ -75,7 +77,7 @@ main (int argc, char *argv [])
|
||||
|
||||
if (argc != 2)
|
||||
glibtop_error ("Usage: %s interface", argv [0]);
|
||||
|
||||
|
||||
glibtop_get_netload (&netload, argv [1]);
|
||||
|
||||
addr.s_addr = netload.address;
|
||||
|
246
examples/pprint.c
Normal file
246
examples/pprint.c
Normal file
@@ -0,0 +1,246 @@
|
||||
#include <glibtop.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
|
||||
|
||||
#define HEADER_PPRINT(FUNC) printf(#FUNC "\tsizeof = %lu B\n", \
|
||||
(unsigned long) sizeof buf)
|
||||
|
||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
|
||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
||||
|
||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
||||
size_t i; \
|
||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
||||
} while(0)
|
||||
|
||||
#define FOOTER_PPRINT() putchar('\n')
|
||||
|
||||
|
||||
|
||||
static void pprint_get_cpu()
|
||||
{
|
||||
glibtop_cpu buf;
|
||||
|
||||
glibtop_get_cpu(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_cpu);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(total, "%llu");
|
||||
PPRINT(user, "%llu");
|
||||
PPRINT(nice, "%llu");
|
||||
PPRINT(sys, "%llu");
|
||||
PPRINT(idle, "%llu");
|
||||
PPRINT(frequency, "%llu");
|
||||
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
|
||||
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
|
||||
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
|
||||
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
|
||||
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
|
||||
PPRINT(xcpu_flags, "%llx");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_fsusage(const char *mountpoint)
|
||||
{
|
||||
glibtop_fsusage buf;
|
||||
|
||||
glibtop_get_fsusage(&buf, mountpoint);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_fsusage);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(blocks, "%llu");
|
||||
PPRINT(bfree, "%llu");
|
||||
PPRINT(bavail, "%llu");
|
||||
PPRINT(files, "%llu");
|
||||
PPRINT(ffree, "%llu");
|
||||
PPRINT(block_size, "%u");
|
||||
PPRINT(read, "%llu");
|
||||
PPRINT(write, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_loadavg()
|
||||
{
|
||||
glibtop_loadavg buf;
|
||||
|
||||
glibtop_get_loadavg(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_loadavg);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT_ARRAY(loadavg, 3, "%f");
|
||||
PPRINT(nr_running, "%llu");
|
||||
PPRINT(nr_tasks, "%llu");
|
||||
PPRINT(last_pid, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_mem()
|
||||
{
|
||||
glibtop_mem buf;
|
||||
|
||||
glibtop_get_mem(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_mem);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(total, "%llu");
|
||||
PPRINT(used, "%llu");
|
||||
PPRINT(free, "%llu");
|
||||
PPRINT(shared, "%llu");
|
||||
PPRINT(buffer, "%llu");
|
||||
PPRINT(cached, "%llu");
|
||||
PPRINT(user, "%llu");
|
||||
PPRINT(locked, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_mountlist(gboolean allfs)
|
||||
{
|
||||
glibtop_mountlist buf;
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
entries = glibtop_get_mountlist(&buf, allfs);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_mountlist);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(number, "%llu");
|
||||
PPRINT(total, "%llu");
|
||||
PPRINT(size, "%llu");
|
||||
|
||||
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
|
||||
|
||||
for(i = 0; i < buf.number; ++i)
|
||||
{
|
||||
printf("\t\t .%lu = { .dev = %#llx,"
|
||||
" .devname = \"%s\","
|
||||
" .mountir = \"%s\","
|
||||
" .type = \"%s\" }\n",
|
||||
(unsigned long) i, entries[i].dev,
|
||||
entries[i].devname,
|
||||
entries[i].mountdir,
|
||||
entries[i].type);
|
||||
}
|
||||
|
||||
printf("\t\t}\n");
|
||||
FOOTER_PPRINT();
|
||||
|
||||
g_free(entries);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_msg_limits()
|
||||
{
|
||||
glibtop_msg_limits buf;
|
||||
|
||||
glibtop_get_msg_limits(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_msg_limits);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(msgpool, "%llu");
|
||||
PPRINT(msgmap, "%llu");
|
||||
PPRINT(msgmax, "%llu");
|
||||
PPRINT(msgmnb, "%llu");
|
||||
PPRINT(msgmni, "%llu");
|
||||
PPRINT(msgssz, "%llu");
|
||||
PPRINT(msgtql, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_netload(const char *iface)
|
||||
{
|
||||
glibtop_netload buf;
|
||||
|
||||
glibtop_get_netload(&buf, iface);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_netload);
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_swap()
|
||||
{
|
||||
glibtop_swap buf;
|
||||
|
||||
glibtop_get_swap(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_swap);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(total, "%llu");
|
||||
PPRINT(used, "%llu");
|
||||
PPRINT(free, "%llu");
|
||||
PPRINT(pagein, "%llu");
|
||||
PPRINT(pageout, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void pprint_get_uptime()
|
||||
{
|
||||
glibtop_uptime buf;
|
||||
|
||||
glibtop_get_uptime(&buf);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_uptime);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(uptime, "%f");
|
||||
PPRINT(idletime, "%f");
|
||||
PPRINT(boot_time, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
glibtop_init();
|
||||
|
||||
pprint_get_cpu();
|
||||
|
||||
pprint_get_fsusage("/");
|
||||
|
||||
pprint_get_loadavg();
|
||||
|
||||
pprint_get_mem();
|
||||
|
||||
pprint_get_mountlist(TRUE);
|
||||
pprint_get_mountlist(FALSE);
|
||||
|
||||
pprint_get_msg_limits();
|
||||
|
||||
/* pprint_get_netload("lo"); */
|
||||
|
||||
|
||||
pprint_get_swap();
|
||||
|
||||
/* pprint_get_sysinfo(); */
|
||||
|
||||
pprint_get_uptime();
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
47
examples/procargs.c
Normal file
47
examples/procargs.c
Normal file
@@ -0,0 +1,47 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procargs.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
static void show_args(pid_t pid, unsigned max_len)
|
||||
{
|
||||
glibtop_proc_args buf;
|
||||
char ** const pargv = glibtop_get_proc_argv(&buf, pid, max_len);
|
||||
|
||||
char **parg = pargv;
|
||||
|
||||
printf("<%ld>\t", (long)pid);
|
||||
|
||||
while(*parg)
|
||||
{
|
||||
printf("\"%s\" ", *parg);
|
||||
parg++;
|
||||
}
|
||||
|
||||
putchar('\n');
|
||||
|
||||
g_strfreev(pargv);
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
glibtop_init();
|
||||
|
||||
show_args(getpid(), 0);
|
||||
show_args(getpid(), 15);
|
||||
|
||||
while(*++argv)
|
||||
{
|
||||
pid_t pid = strtol(*argv, NULL, 10);
|
||||
show_args(pid, 0);
|
||||
show_args(pid, 15);
|
||||
}
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -59,7 +61,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
@@ -95,7 +97,7 @@ main (int argc, char *argv [])
|
||||
const char *filename = NULL;
|
||||
unsigned device, device_major, device_minor;
|
||||
char perm [5];
|
||||
|
||||
|
||||
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
|
||||
filename = maps [i].filename;
|
||||
|
||||
@@ -152,7 +154,7 @@ main (int argc, char *argv [])
|
||||
}
|
||||
|
||||
if (filename && (filename != maps [i].filename))
|
||||
g_free (filename);
|
||||
g_free ((void*)filename);
|
||||
}
|
||||
|
||||
g_free (maps);
|
||||
|
@@ -23,6 +23,8 @@
|
||||
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <libintl.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -44,11 +46,11 @@ output (pid_t pid)
|
||||
double b_total, b_utime, b_stime;
|
||||
double s_total, s_utime, s_stime;
|
||||
double my_utime, my_stime;
|
||||
int ncpu;
|
||||
unsigned int ncpu;
|
||||
#endif
|
||||
|
||||
printf ("\n");
|
||||
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
printf ("Proc_State PID %5d (0x%08lx): "
|
||||
@@ -57,9 +59,9 @@ output (pid_t pid)
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
(unsigned long) data.proc_state.uid,
|
||||
(unsigned long) data.proc_state.gid);
|
||||
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
|
||||
printf ("Proc_Uid PID %5d (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
|
||||
(unsigned long) data.proc_uid.flags,
|
||||
@@ -71,7 +73,7 @@ output (pid_t pid)
|
||||
data.proc_uid.priority, data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
|
||||
printf ("Proc_Mem PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_mem.flags,
|
||||
@@ -81,7 +83,7 @@ output (pid_t pid)
|
||||
(unsigned long) data.proc_mem.share,
|
||||
(unsigned long) data.proc_mem.rss,
|
||||
(unsigned long) data.proc_mem.rss_rlim);
|
||||
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
printf ("Proc_Segment PID %5d (0x%08lx): "
|
||||
@@ -97,7 +99,7 @@ output (pid_t pid)
|
||||
(unsigned long) data.proc_segment.start_stack);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
|
||||
printf ("Proc_Time PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_time.flags,
|
||||
@@ -112,7 +114,7 @@ output (pid_t pid)
|
||||
(unsigned long) data.proc_time.frequency);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
|
||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_signal.flags,
|
||||
@@ -158,7 +160,7 @@ output (pid_t pid)
|
||||
ncpu = glibtop_global_server->ncpu;
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
|
||||
total = (unsigned long) data.proc_time.utime +
|
||||
(unsigned long) data.proc_time.stime;
|
||||
|
||||
@@ -240,7 +242,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init ();
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
@@ -286,7 +288,7 @@ main (int argc, char *argv [])
|
||||
for (i = 0; i < proclist.number; i++) {
|
||||
|
||||
pid = ptr [i];
|
||||
|
||||
|
||||
output (pid);
|
||||
}
|
||||
|
||||
|
@@ -21,12 +21,18 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/cpu.h>
|
||||
|
||||
#include "libgtop-i18n.h"
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
@@ -41,7 +47,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init();
|
||||
|
||||
glibtop_get_cpu (&cpu);
|
||||
@@ -96,7 +102,7 @@ main (int argc, char *argv [])
|
||||
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", _("Percent:"),
|
||||
_("Total (%)"), _("User (%)"), _("Nice (%)"), _("Sys (%)"),
|
||||
_("Idle (%)"), separator);
|
||||
|
||||
|
||||
printf (_("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n"),
|
||||
(unsigned long) cpu.flags, (double) total * 100.0 / total,
|
||||
(double) user * 100.0 / total,
|
||||
|
@@ -22,10 +22,13 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
@@ -45,7 +48,7 @@ main (int argc, char *argv [])
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
@@ -68,7 +71,7 @@ main (int argc, char *argv [])
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
|
||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
|
||||
|
||||
printf ("Sysdeps (0x%08lx):\n\n"
|
||||
"\tfeatures:\t\t0x%08lx\n\n"
|
||||
|
@@ -22,9 +22,11 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
|
||||
@@ -33,7 +35,7 @@
|
||||
|
||||
void main_prog(int argc, char *argv[]);
|
||||
|
||||
int
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
setlocale (LC_ALL, "");
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <libintl.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
@@ -85,7 +87,7 @@ main (int argc, char *argv [])
|
||||
"Feature", "Flags", "Count", "utime", "stime");
|
||||
printf ("-------------------------------------------"
|
||||
"---------------\n");
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
getrusage (RUSAGE_SELF, &total_start);
|
||||
@@ -301,7 +303,7 @@ main (int argc, char *argv [])
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
@@ -332,7 +334,7 @@ main (int argc, char *argv [])
|
||||
(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
|
||||
getrusage (RUSAGE_SELF, &total_end);
|
||||
|
||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
||||
|
@@ -24,6 +24,9 @@
|
||||
#ifndef __GLIBTOP_H__
|
||||
#define __GLIBTOP_H__
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop_server.h>
|
||||
@@ -37,10 +40,11 @@
|
||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||
#endif
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
#include <glibtop/close.h>
|
||||
|
||||
struct _glibtop
|
||||
{
|
||||
unsigned flags;
|
||||
|
@@ -1,2 +1,4 @@
|
||||
SUBDIRS = glibtop
|
||||
|
||||
EXTRA_DIST = libgtop-i18n.h
|
||||
|
||||
|
@@ -1,50 +0,0 @@
|
||||
/* -*- 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_ARRAY_H__
|
||||
#define __GLIBTOP_ARRAY_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_ARRAY_NUMBER 0
|
||||
#define GLIBTOP_ARRAY_SIZE 1
|
||||
#define GLIBTOP_ARRAY_TOTAL 2
|
||||
|
||||
#define GLIBTOP_MAX_ARRAY 3
|
||||
|
||||
typedef struct _glibtop_array glibtop_array;
|
||||
|
||||
struct _glibtop_array
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_ARRAY_NUMBER */
|
||||
size, /* GLIBTOP_ARRAY_SIZE */
|
||||
total; /* GLIBTOP_ARRAY_TOTAL */
|
||||
};
|
||||
|
||||
#endif
|
@@ -69,8 +69,8 @@ typedef union _glibtop_response_union glibtop_response_union;
|
||||
|
||||
struct _glibtop_command
|
||||
{
|
||||
u_int64_t command;
|
||||
u_int64_t size, data_size;
|
||||
guint64 command;
|
||||
guint64 size, data_size;
|
||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
||||
};
|
||||
|
||||
@@ -82,8 +82,8 @@ union _glibtop_response_union
|
||||
|
||||
struct _glibtop_response
|
||||
{
|
||||
int64_t offset;
|
||||
u_int64_t size, data_size;
|
||||
gint64 offset;
|
||||
guint64 size, data_size;
|
||||
glibtop_response_union u;
|
||||
};
|
||||
|
||||
|
@@ -1,91 +0,0 @@
|
||||
/* -*- 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_COMPAT10_H__
|
||||
#define __GLIBTOP_COMPAT10_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* glibtop_cpu */
|
||||
|
||||
#define GLIBTOP_XCPU_TOTAL GLIBTOP_CPU_XCPU_TOTAL
|
||||
#define GLIBTOP_XCPU_USER GLIBTOP_CPU_XCPU_USER
|
||||
#define GLIBTOP_XCPU_NICE GLIBTOP_CPU_XCPU_NICE
|
||||
#define GLIBTOP_XCPU_SYS GLIBTOP_CPU_XCPU_SYS
|
||||
#define GLIBTOP_XCPU_IDLE GLIBTOP_CPU_XCPU_IDLE
|
||||
#define GLIBTOP_XCPU_FLAGS GLIBTOP_CPU_XCPU_FLAGS
|
||||
|
||||
/* glibtop_proclist */
|
||||
|
||||
#define GLIBTOP_PROCLIST_NUMBER GLIBTOP_ARRAY_NUMBER
|
||||
#define GLIBTOP_PROCLIST_SIZE GLIBTOP_ARRAY_SIZE
|
||||
#define GLIBTOP_PROCLIST_TOTAL GLIBTOP_ARRAY_TOTAL
|
||||
|
||||
#define GLIBTOP_MAX_PROCLIST GLIBTOP_MAX_ARRAY
|
||||
|
||||
typedef struct _glibtop_array glibtop_proclist;
|
||||
|
||||
/* glibtop_mountlist */
|
||||
|
||||
#define GLIBTOP_MOUNTLIST_NUMBER GLIBTOP_ARRAY_NUMBER
|
||||
#define GLIBTOP_MOUNTLIST_SIZE GLIBTOP_ARRAY_SIZE
|
||||
#define GLIBTOP_MOUNTLIST_TOTAL GLIBTOP_ARRAY_TOTAL
|
||||
|
||||
#define GLIBTOP_MAX_MOUNTLIST GLIBTOP_MAX_ARRAY
|
||||
|
||||
typedef struct _glibtop_array glibtop_mountlist;
|
||||
|
||||
/* glibtop_proc_args */
|
||||
|
||||
#define GLIBTOP_PROC_ARGS_SIZE 0
|
||||
|
||||
#define GLIBTOP_MAX_PROC_ARGS 1
|
||||
|
||||
typedef struct _glibtop_array glibtop_proc_args;
|
||||
|
||||
/* glibtop_proc_map */
|
||||
|
||||
#define GLIBTOP_PROC_MAP_NUMBER GLIBTOP_ARRAY_NUMBER
|
||||
#define GLIBTOP_PROC_MAP_SIZE GLIBTOP_ARRAY_SIZE
|
||||
#define GLIBTOP_PROC_MAP_TOTAL GLIBTOP_ARRAY_TOTAL
|
||||
|
||||
#define GLIBTOP_MAX_PROC_MAP GLIBTOP_MAX_ARRAY
|
||||
|
||||
typedef struct _glibtop_array glibtop_proc_map;
|
||||
|
||||
/* glibtop_interface_names */
|
||||
|
||||
#define GLIBTOP_INTERFACE_NAMES_NUMBER GLIBTOP_ARRAY_NUMBER
|
||||
#define GLIBTOP_INTERFACE_NAMES_SIZE GLIBTOP_ARRAY_SIZE
|
||||
#define GLIBTOP_INTERFACE_NAMES_TOTAL GLIBTOP_ARRAY_TOTAL
|
||||
|
||||
#define GLIBTOP_MAX_INTERFACE_NAMES GLIBTOP_MAX_ARRAY
|
||||
|
||||
typedef struct _glibtop_array glibtop_interface_names;
|
||||
|
||||
#endif
|
@@ -41,8 +41,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_XCPU_NICE 8
|
||||
#define GLIBTOP_XCPU_SYS 9
|
||||
#define GLIBTOP_XCPU_IDLE 10
|
||||
#define GLIBTOP_XCPU_FLAGS 11
|
||||
|
||||
#define GLIBTOP_MAX_CPU 11
|
||||
#define GLIBTOP_MAX_CPU 12
|
||||
|
||||
/* Nobody should really be using more than 4 processors. */
|
||||
#define GLIBTOP_NCPU 4
|
||||
@@ -51,7 +52,7 @@ typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
struct _glibtop_cpu
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_CPU_TOTAL */
|
||||
user, /* GLIBTOP_CPU_USER */
|
||||
nice, /* GLIBTOP_CPU_NICE */
|
||||
@@ -62,7 +63,8 @@ struct _glibtop_cpu
|
||||
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
|
||||
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
|
||||
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
|
||||
xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
|
||||
xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IDLE */
|
||||
xcpu_flags; /* GLIBTOP_XCPU_IDLE */
|
||||
};
|
||||
|
||||
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
|
||||
|
@@ -28,60 +28,17 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#ifndef G_GNUC_UNUSED
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||
#define G_GNUC_UNUSED \
|
||||
__attribute__((unused))
|
||||
#else /* !__GNUC__ */
|
||||
#define G_GNUC_UNUSED
|
||||
#endif /* !__GNUC__ */
|
||||
#endif /* defined G_GNUC_UNUSED */
|
||||
|
||||
void glibtop_error_vr (glibtop *server, char *format, va_list args);
|
||||
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
|
||||
|
||||
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
void G_GNUC_UNUSED glibtop_error_r (glibtop *server, char *format, ...);
|
||||
void G_GNUC_UNUSED glibtop_warn_r (glibtop *server, char *format, ...);
|
||||
void G_GNUC_UNUSED glibtop_error_io_r (glibtop *server, char *format, ...);
|
||||
void G_GNUC_UNUSED glibtop_warn_io_r (glibtop *server, char *format, ...);
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
@@ -91,43 +48,20 @@ glibtop_warn_io_r (glibtop *server, char *format, ...)
|
||||
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
|
||||
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
|
||||
|
||||
#else /* no __GNUC__ */
|
||||
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
||||
static void
|
||||
glibtop_error (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
#define glibtop_error(p1, ...) glibtop_error_r(glibtop_global_server , p1 , __VA_ARGS__)
|
||||
#define glibtop_warn(p1, ...) glibtop_warn_r(glibtop_global_server , p1 , __VA_ARGS__)
|
||||
|
||||
static void
|
||||
glibtop_warn (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
#define glibtop_error_io(p1, ...) glibtop_error_io_r(glibtop_global_server , p1 , __VA_ARGS__)
|
||||
#define glibtop_warn_io(p1, ...) glibtop_warn_io_r(glibtop_global_server , p1 , __VA_ARGS__)
|
||||
|
||||
static void
|
||||
glibtop_error_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
#else /* no __GNUC__, no C99*/
|
||||
|
||||
static void
|
||||
glibtop_warn_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
void glibtop_error (char *format, ...);
|
||||
void glibtop_warn (char *format, ...);
|
||||
void glibtop_error_io (char *format, ...);
|
||||
void glibtop_warn_io (char *format, ...);
|
||||
|
||||
#endif /* no __GNUC__ */
|
||||
|
||||
|
@@ -1,7 +1,6 @@
|
||||
/* $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.
|
||||
|
||||
@@ -34,19 +33,24 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_FSUSAGE_BAVAIL 2
|
||||
#define GLIBTOP_FSUSAGE_FILES 3
|
||||
#define GLIBTOP_FSUSAGE_FFREE 4
|
||||
#define GLIBTOP_FSUSAGE_BLOCK_SIZE 5
|
||||
#define GLIBTOP_FSUSAGE_READ 6
|
||||
#define GLIBTOP_FSUSAGE_WRITE 7
|
||||
#define GLIBTOP_MAX_FSUSAGE 8
|
||||
|
||||
#define GLIBTOP_MAX_FSUSAGE 5
|
||||
|
||||
typedef struct _glibtop_fsusage glibtop_fsusage;
|
||||
|
||||
struct _glibtop_fsusage
|
||||
{
|
||||
u_int64_t flags,
|
||||
blocks, /* Total blocks. */
|
||||
guint64 flags,
|
||||
blocks, /* Total number of blocks. */
|
||||
bfree, /* Free blocks available to superuser. */
|
||||
bavail, /* Free blocks available to non-superuser. */
|
||||
files, /* Total file nodes. */
|
||||
ffree; /* Free file nodes. */
|
||||
guint32 block_size; /* Size of a block in bytes. */
|
||||
guint64 read, write; /* Total blocks read and written */
|
||||
};
|
||||
|
||||
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
|
||||
|
@@ -1,50 +0,0 @@
|
||||
/* -*- 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_GLIB_ARRAYS_H__
|
||||
#define __GLIBTOP_GLIB_ARRAYS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/array.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid);
|
||||
|
||||
GArray *
|
||||
glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which, int64_t arg);
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid);
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs);
|
||||
|
||||
G_END_DECLS
|
||||
#endif
|
@@ -40,7 +40,7 @@ typedef struct _glibtop_backend_module glibtop_backend_module;
|
||||
typedef struct _glibtop_call_vector glibtop_call_vector;
|
||||
|
||||
typedef int (*glibtop_backend_open_func_t) (glibtop_server *, glibtop_backend *,
|
||||
u_int64_t, const char **);
|
||||
guint64, const char **);
|
||||
typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *,
|
||||
glibtop_closure *);
|
||||
|
||||
|
@@ -65,7 +65,7 @@ GType
|
||||
glibtop_backend_get_type (void);
|
||||
|
||||
glibtop_backend *
|
||||
glibtop_backend_get (const char *backend_name, u_int64_t features,
|
||||
glibtop_backend_get (const char *backend_name, guint64 features,
|
||||
const char **backend_args, GError **error);
|
||||
|
||||
void
|
||||
|
@@ -82,7 +82,7 @@ glibtop_client_propagate_warning (glibtop_client *client, GError *error);
|
||||
|
||||
void
|
||||
glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
|
||||
u_int64_t features, const char **backend_args);
|
||||
guint64 features, const char **backend_args);
|
||||
|
||||
void
|
||||
glibtop_client_add_backend (glibtop_client *client,
|
||||
|
@@ -9,15 +9,15 @@
|
||||
|
||||
Copyright (C) 1989 Free Software Foundation, Inc.
|
||||
|
||||
Author: Andy Norman (ange@hplb.hpl.hp.com), based on
|
||||
Author: Andy Norman (ange@hplb.hpl.hp.com), based on
|
||||
'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
|
||||
Emacs distribution.
|
||||
|
||||
Please mail bugs and suggestions to the author at the above address.
|
||||
*/
|
||||
|
||||
/* HISTORY
|
||||
* 11-Nov-1990 bristor@simba
|
||||
/* HISTORY
|
||||
* 11-Nov-1990 bristor@simba
|
||||
* Added EOT stuff.
|
||||
*/
|
||||
|
||||
@@ -76,7 +76,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
|
||||
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
|
||||
#endif
|
||||
#define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */
|
||||
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */
|
||||
@@ -106,7 +106,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
* since it limits the size of requests and responses. Don't make it bigger
|
||||
* than your system's max message size though (usually a couple of k) or else
|
||||
* msgsend will start failing. For sockets, using the system BUFSIZ is usually
|
||||
* what you want.
|
||||
* what you want.
|
||||
*/
|
||||
|
||||
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)
|
||||
|
@@ -39,7 +39,7 @@ typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
||||
|
||||
struct _glibtop_inodedb_key
|
||||
{
|
||||
u_int64_t device, inode;
|
||||
guint64 device, inode;
|
||||
};
|
||||
|
||||
struct _glibtop_inodedb
|
||||
@@ -57,7 +57,7 @@ glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache
|
||||
const char *
|
||||
glibtop_inodedb_lookup_s (glibtop *server,
|
||||
glibtop_inodedb *inodedb,
|
||||
u_int64_t device, u_int64_t inode);
|
||||
guint64 device, guint64 inode);
|
||||
|
||||
void
|
||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||
|
@@ -1,203 +0,0 @@
|
||||
/* -*- 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_INTERFACES_H__
|
||||
#define __GLIBTOP_INTERFACES_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/compat_10.h>
|
||||
#include <glibtop/array.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_INTERFACE_IF_FLAGS 0
|
||||
#define GLIBTOP_INTERFACE_TRANSPORT 1
|
||||
#define GLIBTOP_INTERFACE_TYPE 2
|
||||
#define GLIBTOP_INTERFACE_NUMBER 3
|
||||
#define GLIBTOP_INTERFACE_INSTANCE 4
|
||||
#define GLIBTOP_INTERFACE_NUM_LOGICAL 5
|
||||
#define GLIBTOP_INTERFACE_NAME 6
|
||||
|
||||
#define GLIBTOP_MAX_INTERFACE 7
|
||||
|
||||
#define GLIBTOP_IFADDR_TRANSPORT 0
|
||||
#define GLIBTOP_IFADDR_ADDR_LEN 1
|
||||
#define GLIBTOP_IFADDR_ADDRESS 2
|
||||
#define GLIBTOP_IFADDR_SUBNET 3
|
||||
#define GLIBTOP_IFADDR_SCOPE 4
|
||||
|
||||
#define GLIBTOP_MAX_IFADDR 5
|
||||
|
||||
typedef struct _glibtop_interface glibtop_interface;
|
||||
typedef struct _glibtop_ifaddr glibtop_ifaddr;
|
||||
|
||||
typedef enum _glibtop_interface_type glibtop_interface_type;
|
||||
typedef enum _glibtop_transport glibtop_transport;
|
||||
typedef enum _glibtop_protocol glibtop_protocol;
|
||||
|
||||
typedef enum _glibtop_ipv6_scope glibtop_ipv6_scope;
|
||||
|
||||
typedef enum _glibtop_strategy glibtop_strategy;
|
||||
typedef enum _glibtop_interface_flags glibtop_interface_flags;
|
||||
|
||||
enum _glibtop_protocol {
|
||||
GLIBTOP_PROTOCOL_OTHERS = 0,
|
||||
GLIBTOP_PROTOCOL_ICMP = 1 << 0,
|
||||
GLIBTOP_PROTOCOL_TCP = 1 << 1,
|
||||
GLIBTOP_PROTOCOL_UDP = 1 << 2,
|
||||
GLIBTOP_PROTOCOL_IGMP = 1 << 3,
|
||||
GLIBTOP_PROTOCOL_RAW = 1 << 4,
|
||||
GLIBTOP_PROTOCOL_ICMP6 = 1 << 5,
|
||||
GLIBTOP_PROTOCOL_TCP6 = 1 << 6,
|
||||
GLIBTOP_PROTOCOL_UDP6 = 1 << 7,
|
||||
GLIBTOP_PROTOCOL_IGMP6 = 1 << 8,
|
||||
GLIBTOP_PROTOCOL_RAW6 = 1 << 9
|
||||
};
|
||||
|
||||
enum _glibtop_transport {
|
||||
GLIBTOP_TRANSPORT_DEFAULT = 0,
|
||||
GLIBTOP_TRANSPORT_IPV4 = 1 << 0,
|
||||
GLIBTOP_TRANSPORT_IPV6 = 1 << 1,
|
||||
GLIBTOP_TRANSPORT_IPX = 1 << 2,
|
||||
GLIBTOP_TRANSPORT_X25 = 1 << 3,
|
||||
GLIBTOP_TRANSPORT_DECNET = 1 << 4,
|
||||
GLIBTOP_TRANSPORT_APPLETALK = 1 << 5,
|
||||
GLIBTOP_TRANSPORT_NETBEUI = 1 << 6
|
||||
};
|
||||
|
||||
#define GLIBTOP_TRANSPORT_ALL GLIBTOP_UNLIMITED
|
||||
#define GLIBTOP_PROTOCOL_ALL GLIBTOP_UNLIMITED
|
||||
|
||||
enum _glibtop_interface_type {
|
||||
GLIBTOP_INTERFACE_ALL = 0,
|
||||
GLIBTOP_INTERFACE_OTHER,
|
||||
/* Network interfaces */
|
||||
GLIBTOP_INTERFACE_ETHERNET = 101,
|
||||
GLIBTOP_INTERFACE_FDDI,
|
||||
GLIBTOP_INTERFACE_FRAME_RELAY,
|
||||
GLIBTOP_INTERFACE_TOKEN_RING,
|
||||
GLIBTOP_INTERFACE_ARCNET,
|
||||
GLIBTOP_INTERFACE_ATM,
|
||||
/* Dummy interfaces */
|
||||
GLIBTOP_INTERFACE_LOOPBACK = 501,
|
||||
GLIBTOP_INTERFACE_DUMMY,
|
||||
/* Dialup interfaces */
|
||||
GLIBTOP_INTERFACE_PARA = 801,
|
||||
GLIBTOP_INTERFACE_SLIP,
|
||||
GLIBTOP_INTERFACE_PPP,
|
||||
GLIBTOP_INTERFACE_ISDN
|
||||
};
|
||||
|
||||
enum _glibtop_ipv6_scope {
|
||||
GLIBTOP_IPV6_SCOPE_GLOBAL = 0,
|
||||
GLIBTOP_IPV6_SCOPE_LOOPBACK = 1 << 1,
|
||||
GLIBTOP_IPV6_SCOPE_LINKLOCAL = 1 << 2,
|
||||
GLIBTOP_IPV6_SCOPE_SITELOCAL = 1 << 3,
|
||||
GLIBTOP_IPV6_SCOPE_COMPATv4 = 1 << 4,
|
||||
GLIBTOP_IPV6_SCOPE_UNKNOWN = 1 << 5
|
||||
};
|
||||
|
||||
enum _glibtop_strategy {
|
||||
GLIBTOP_INTERFACES_ALL = 0,
|
||||
GLIBTOP_INTERFACES_BEST_MATCHING,
|
||||
GLIBTOP_INTERFACES_ONLY_THIS_ONE,
|
||||
GLIBTOP_INTERFACES_INCLUDE_LOGICAL = 1 << 7
|
||||
};
|
||||
|
||||
#define GLIBTOP_STRATEGY_FLAGS_MASK (1 << 7)
|
||||
|
||||
enum _glibtop_interface_flags {
|
||||
GLIBTOP_IF_FLAGS_UP = 1,
|
||||
GLIBTOP_IF_FLAGS_BROADCAST,
|
||||
GLIBTOP_IF_FLAGS_DEBUG,
|
||||
GLIBTOP_IF_FLAGS_LOOPBACK,
|
||||
GLIBTOP_IF_FLAGS_POINTOPOINT,
|
||||
GLIBTOP_IF_FLAGS_RUNNING,
|
||||
GLIBTOP_IF_FLAGS_NOARP,
|
||||
GLIBTOP_IF_FLAGS_PROMISC,
|
||||
GLIBTOP_IF_FLAGS_ALLMULTI,
|
||||
GLIBTOP_IF_FLAGS_OACTIVE,
|
||||
GLIBTOP_IF_FLAGS_SIMPLEX,
|
||||
GLIBTOP_IF_FLAGS_LINK0,
|
||||
GLIBTOP_IF_FLAGS_LINK1,
|
||||
GLIBTOP_IF_FLAGS_LINK2,
|
||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
};
|
||||
|
||||
struct _glibtop_ifaddr
|
||||
{
|
||||
u_int64_t flags,
|
||||
transport; /* GLIBTOP_IFADDR_TRANSPORT */
|
||||
u_int8_t addr_len, /* GLIBTOP_IFADDR_ADDR_LEN */
|
||||
address [GLIBTOP_IFADDR_LEN]; /* GLIBTOP_IFADDR_ADDRESS */
|
||||
u_int64_t subnet, /* GLIBTOP_IFADDR_SUBNET */
|
||||
scope; /* GLIBTOP_IFADDR_SCOPE */
|
||||
};
|
||||
|
||||
struct _glibtop_interface
|
||||
{
|
||||
u_int64_t flags,
|
||||
if_flags, /* GLIBTOP_INTERFACE_IF_FLAGS */
|
||||
transport, /* GLIBTOP_INTERFACE_TRANSPORT */
|
||||
type, /* GLIBTOP_INTERFACE_TYPE */
|
||||
number, /* GLIBTOP_INTERFACE_NUMBER */
|
||||
instance, /* GLIBTOP_INTERFACE_INSTANCE */
|
||||
num_logical; /* GLIBTOP_INTERFACE_NUM_LOGICAL */
|
||||
char name [GLIBTOP_INTERFACE_LEN];
|
||||
};
|
||||
|
||||
#if GLIBTOP_SUID_INTERFACE_NAMES
|
||||
#define glibtop_get_interface_names_r glibtop_get_interface_names_p
|
||||
#else
|
||||
#define glibtop_get_interface_names_r glibtop_get_interface_names_s
|
||||
#endif
|
||||
|
||||
glibtop_interface *glibtop_get_interface_names_l (glibtop_client *client, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
|
||||
|
||||
#if GLIBTOP_SUID_INTERFACE_NAMES
|
||||
int glibtop_init_interface_names_p (glibtop_server *server, glibtop_closure *closure);
|
||||
glibtop_interface *glibtop_get_interface_names_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
|
||||
#else
|
||||
int glibtop_init_interface_names_s (glibtop_server *server, glibtop_closure *closure);
|
||||
glibtop_interface *glibtop_get_interface_names_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_interface_names [];
|
||||
extern const unsigned glibtop_types_interface_names [];
|
||||
extern const char *glibtop_labels_interface_names [];
|
||||
extern const char *glibtop_descriptions_interface_names [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -45,8 +45,8 @@ G_BEGIN_DECLS
|
||||
/* Length of a network interface address in bytes. */
|
||||
#define GLIBTOP_IFADDR_LEN 16
|
||||
|
||||
/* This is ((u_int64_t)-1) */
|
||||
#define GLIBTOP_UNLIMITED (~(u_int64_t)0)
|
||||
/* This is ((guint64)-1) */
|
||||
#define GLIBTOP_UNLIMITED (~(guint64)0)
|
||||
|
||||
/* Maximum length of a backend name. */
|
||||
#define GLIBTOP_BACKEND_NAME_LEN 40
|
||||
|
@@ -40,9 +40,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
|
||||
|
||||
struct _glibtop_loadavg
|
||||
{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
||||
u_int64_t nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||
guint64 nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
|
||||
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||
};
|
||||
|
@@ -44,7 +44,7 @@ typedef struct _glibtop_mem glibtop_mem;
|
||||
|
||||
struct _glibtop_mem
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_MEM_TOTAL */
|
||||
used, /* GLIBTOP_MEM_USED */
|
||||
free, /* GLIBTOP_MEM_FREE */
|
||||
|
@@ -41,7 +41,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
|
||||
|
||||
struct _glibtop_mountentry
|
||||
{
|
||||
u_int64_t dev;
|
||||
guint64 dev;
|
||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
@@ -49,7 +49,7 @@ struct _glibtop_mountentry
|
||||
|
||||
struct _glibtop_mountlist
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||
|
@@ -43,7 +43,7 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
||||
|
||||
struct _glibtop_msg_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||
|
@@ -1,83 +0,0 @@
|
||||
/* -*- 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_NETINFO_H__
|
||||
#define __GLIBTOP_NETINFO_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_NETINFO_IF_FLAGS 0
|
||||
#define GLIBTOP_NETINFO_TRANSPORT 1
|
||||
#define GLIBTOP_NETINFO_MTU 2
|
||||
#define GLIBTOP_NETINFO_SUBNET 3
|
||||
#define GLIBTOP_NETINFO_ADDRESS 4
|
||||
|
||||
#define GLIBTOP_MAX_NETINFO 5
|
||||
|
||||
typedef struct _glibtop_netinfo glibtop_netinfo;
|
||||
|
||||
#include <glibtop/interfaces.h>
|
||||
|
||||
struct _glibtop_netinfo
|
||||
{
|
||||
u_int64_t flags,
|
||||
if_flags, /* GLIBTOP_NETINFO_IF_FLAGS */
|
||||
transport, /* GLIBTOP_NETINFO_TRANSPORT */
|
||||
mtu; /* GLIBTOP_NETINFO_MTU */
|
||||
};
|
||||
|
||||
#if GLIBTOP_SUID_NETINFO
|
||||
#define glibtop_get_netinfo_r glibtop_get_netinfo_p
|
||||
#else
|
||||
#define glibtop_get_netinfo_r glibtop_get_netinfo_s
|
||||
#endif
|
||||
|
||||
glibtop_ifaddr *glibtop_get_netinfo_l (glibtop_client *client, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
|
||||
|
||||
#if GLIBTOP_SUID_NETINFO
|
||||
int glibtop_init_netinfo_p (glibtop_server *server, glibtop_closure *closure);
|
||||
glibtop_ifaddr *glibtop_get_netinfo_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
|
||||
#else
|
||||
int glibtop_init_netinfo_s (glibtop_server *server, glibtop_closure *closure);
|
||||
glibtop_ifaddr *glibtop_get_netinfo_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_netinfo [];
|
||||
extern const unsigned glibtop_types_netinfo [];
|
||||
extern const char *glibtop_labels_netinfo [];
|
||||
extern const char *glibtop_descriptions_netinfo [];
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -43,8 +43,12 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
||||
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
||||
#define GLIBTOP_NETLOAD_ADDRESS6 14
|
||||
#define GLIBTOP_NETLOAD_PREFIX6 15
|
||||
#define GLIBTOP_NETLOAD_SCOPE6 16
|
||||
#define GLIBTOP_NETLOAD_HWADDRESS 17
|
||||
|
||||
#define GLIBTOP_MAX_NETLOAD 14
|
||||
#define GLIBTOP_MAX_NETLOAD 18
|
||||
|
||||
typedef struct _glibtop_netload glibtop_netload;
|
||||
|
||||
@@ -67,14 +71,25 @@ enum {
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
};
|
||||
|
||||
enum GLIBTOP_IF_IN6_SCOPE
|
||||
{
|
||||
GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
|
||||
GLIBTOP_IF_IN6_SCOPE_LINK = 1,
|
||||
GLIBTOP_IF_IN6_SCOPE_SITE = 2,
|
||||
GLIBTOP_IF_IN6_SCOPE_GLOBAL = 4,
|
||||
GLIBTOP_IF_IN6_SCOPE_HOST = 8
|
||||
};
|
||||
|
||||
struct _glibtop_netload
|
||||
{
|
||||
u_int64_t flags,
|
||||
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||
guint64 flags,
|
||||
if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
|
||||
guint32 mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
||||
address, /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||
address; /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
|
||||
guint64 packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
||||
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
||||
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
|
||||
@@ -84,6 +99,12 @@ struct _glibtop_netload
|
||||
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
||||
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
||||
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
||||
|
||||
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
|
||||
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
|
||||
guint8 scope6; /* GLIBTOP_NETLOAD_SCOPE6 */
|
||||
|
||||
guint8 hwaddress[8]; /* GLIBTOP_NETLOAD_HWADDRESS */
|
||||
};
|
||||
|
||||
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
|
||||
|
@@ -30,7 +30,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PPP_STATE 0
|
||||
#define GLIBTOP_PPP_BYTES_IN 1
|
||||
#define GLIBTOP_PPP_BYTES_IN 1
|
||||
#define GLIBTOP_PPP_BYTES_OUT 2
|
||||
|
||||
#define GLIBTOP_MAX_PPP 3
|
||||
@@ -45,7 +45,7 @@ enum {
|
||||
|
||||
struct _glibtop_ppp
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
state, /* GLIBTOP_PPP_STATE */
|
||||
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
|
||||
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||
|
@@ -37,35 +37,75 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
|
||||
|
||||
struct _glibtop_proc_args
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
#else
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
#endif
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
|
||||
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#else
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
|
||||
#else /* !GLIBTOP_SUID_PROC_ARGS */
|
||||
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#endif /* GLIBTOP_SUID_PROC_ARGS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* NEW functions
|
||||
*/
|
||||
|
||||
char **
|
||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#endif
|
||||
|
||||
#define glibtop_get_proc_argv(proc_args,pid,max_len) glibtop_get_proc_argv_l(glibtop_global_server, proc_args, pid, max_len)
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
|
||||
# define glibtop_get_proc_argv_r glibtop_get_proc_args_p
|
||||
# define glibtop_init_proc_argv_p glibtop_init_proc_args_p
|
||||
|
||||
char **
|
||||
glibtop_get_proc_argv_p (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
|
||||
#else /* !GLIBTOP_SUID_PROC_ARGS */
|
||||
|
||||
# define glibtop_get_proc_argv_r glibtop_get_proc_args_s
|
||||
# define glibtop_init_proc_argv_s glibtop_init_proc_args_s
|
||||
|
||||
char **
|
||||
glibtop_get_proc_argv_s (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#endif /* GLIBTOP_SUID_PROC_ARGS */
|
||||
|
||||
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
|
@@ -1,81 +0,0 @@
|
||||
/* -*- 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>
|
||||
|
||||
G_BEGIN_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;
|
||||
};
|
||||
|
||||
#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_client *client, glibtop_proc_cwd *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_CWD
|
||||
int glibtop_init_proc_cwd_p (glibtop_server *server, glibtop_closure *closure);
|
||||
char *glibtop_get_proc_cwd_p (glibtop_server *server, glibtop_closure *closure, glibtop_proc_cwd *buf, pid_t pid);
|
||||
#else
|
||||
int glibtop_init_proc_cwd_s (glibtop_server *server, glibtop_closure *closure);
|
||||
char *glibtop_get_proc_cwd_s (glibtop_server *server, glibtop_closure *closure, 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
|
@@ -47,8 +47,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
struct _glibtop_proc_kernel
|
||||
{
|
||||
u_int64_t flags;
|
||||
u_int64_t k_flags, /* kernel flags for the process */
|
||||
guint64 flags;
|
||||
guint64 k_flags, /* kernel flags for the process */
|
||||
min_flt, /* number of minor page faults since
|
||||
* process start */
|
||||
maj_flt, /* number of major page faults since
|
||||
|
@@ -56,7 +56,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
|
||||
|
||||
struct _glibtop_proclist
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
@@ -72,20 +72,20 @@ struct _glibtop_proclist
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
gint64 which, gint64 arg);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
void glibtop_init_proclist_p (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
gint64 which, gint64 arg);
|
||||
#else
|
||||
void glibtop_init_proclist_s (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
gint64 which, gint64 arg);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
@@ -35,15 +35,15 @@ G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_MAX_PROC_MAP 3
|
||||
|
||||
#define GLIBTOP_MAP_ENTRY_START 1
|
||||
#define GLIBTOP_MAP_ENTRY_END 2
|
||||
#define GLIBTOP_MAP_ENTRY_OFFSET 3
|
||||
#define GLIBTOP_MAP_ENTRY_PERM 4
|
||||
#define GLIBTOP_MAP_ENTRY_INODE 5
|
||||
#define GLIBTOP_MAP_ENTRY_DEVICE 6
|
||||
#define GLIBTOP_MAP_ENTRY_FILENAME 7
|
||||
#define GLIBTOP_MAP_ENTRY_START 0
|
||||
#define GLIBTOP_MAP_ENTRY_END 1
|
||||
#define GLIBTOP_MAP_ENTRY_OFFSET 2
|
||||
#define GLIBTOP_MAP_ENTRY_PERM 3
|
||||
#define GLIBTOP_MAP_ENTRY_INODE 4
|
||||
#define GLIBTOP_MAP_ENTRY_DEVICE 5
|
||||
#define GLIBTOP_MAP_ENTRY_FILENAME 6
|
||||
|
||||
#define GLIBTOP_MAX_MAP_ENTRY 8
|
||||
#define GLIBTOP_MAX_MAP_ENTRY 7
|
||||
|
||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
||||
|
||||
@@ -59,13 +59,13 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
|
||||
|
||||
struct _glibtop_map_entry
|
||||
{
|
||||
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||
guint64 flags, start, end, offset, perm, inode, device;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_proc_map
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
||||
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
||||
size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||
|
@@ -44,7 +44,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
||||
|
||||
struct _glibtop_proc_mem
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
size, /* total # of pages of memory */
|
||||
vsize, /* number of pages of virtual memory ... */
|
||||
resident, /* number of resident set
|
||||
|
@@ -46,7 +46,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
struct _glibtop_proc_segment
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
text_rss, /* text resident set size */
|
||||
shlib_rss, /* shared-lib resident set size */
|
||||
data_rss, /* data resident set size */
|
||||
|
@@ -42,7 +42,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
||||
|
||||
struct _glibtop_proc_signal
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
signal [2], /* mask of pending signals */
|
||||
blocked [2], /* mask of blocked signals */
|
||||
sigignore [2], /* mask of ignored signals */
|
||||
|
@@ -33,8 +33,21 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_STATE_STATE 1
|
||||
#define GLIBTOP_PROC_STATE_UID 2
|
||||
#define GLIBTOP_PROC_STATE_GID 3
|
||||
#define GLIBTOP_PROC_STATE_RUID 4
|
||||
#define GLIBTOP_PROC_STATE_RGID 5
|
||||
#define GLIBTOP_PROC_STATE_HAS_CPU 6
|
||||
#define GLIBTOP_PROC_STATE_PROCESSOR 7
|
||||
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
|
||||
|
||||
#define GLIBTOP_MAX_PROC_STATE 4
|
||||
#define GLIBTOP_MAX_PROC_STATE 9
|
||||
|
||||
#define GLIBTOP_PROCESS_RUNNING 1
|
||||
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
|
||||
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
|
||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
||||
#define GLIBTOP_PROCESS_STOPPED 16
|
||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
||||
#define GLIBTOP_PROCESS_DEAD 64
|
||||
|
||||
typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
@@ -42,10 +55,10 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
struct _glibtop_proc_state
|
||||
{
|
||||
u_int64_t flags;
|
||||
char cmd[40], /* basename of executable file in
|
||||
guint64 flags;
|
||||
char cmd[40]; /* basename of executable file in
|
||||
* call to exec(2) */
|
||||
state; /* single-char code for process state
|
||||
unsigned state; /* single-char code for process state
|
||||
* (S=sleeping) */
|
||||
/* NOTE: when porting the library, TRY HARD to implement the
|
||||
* following two fields. */
|
||||
@@ -53,7 +66,12 @@ struct _glibtop_proc_state
|
||||
* only to set the flags value for those two
|
||||
* fields if their values are corrent ! */
|
||||
int uid, /* UID of process */
|
||||
gid; /* GID of process */
|
||||
gid, /* GID of process */
|
||||
ruid,
|
||||
rgid;
|
||||
int has_cpu,
|
||||
processor,
|
||||
last_processor;
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
|
||||
@@ -73,7 +91,7 @@ void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t p
|
||||
void glibtop_init_proc_state_s (glibtop *server);
|
||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
@@ -50,15 +50,15 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
struct _glibtop_proc_time
|
||||
{
|
||||
u_int64_t flags,
|
||||
start_time, /* start time of process --
|
||||
guint64 flags,
|
||||
start_time, /* start time of process --
|
||||
* seconds since 1-1-70 */
|
||||
rtime, /* real time accumulated by process */
|
||||
utime, /* user-mode CPU time accumulated by process */
|
||||
stime, /* kernel-mode CPU time accumulated by process */
|
||||
cutime, /* cumulative utime of process and
|
||||
cutime, /* cumulative utime of process and
|
||||
* reaped children */
|
||||
cstime, /* cumulative stime of process and
|
||||
cstime, /* cumulative stime of process and
|
||||
* reaped children */
|
||||
timeout, /* The time (in jiffies) of the process's
|
||||
* next timeout */
|
||||
|
@@ -33,28 +33,40 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_UID_EUID 1
|
||||
#define GLIBTOP_PROC_UID_GID 2
|
||||
#define GLIBTOP_PROC_UID_EGID 3
|
||||
#define GLIBTOP_PROC_UID_PID 4
|
||||
#define GLIBTOP_PROC_UID_PPID 5
|
||||
#define GLIBTOP_PROC_UID_PGRP 6
|
||||
#define GLIBTOP_PROC_UID_SESSION 7
|
||||
#define GLIBTOP_PROC_UID_TTY 8
|
||||
#define GLIBTOP_PROC_UID_TPGID 9
|
||||
#define GLIBTOP_PROC_UID_PRIORITY 10
|
||||
#define GLIBTOP_PROC_UID_NICE 11
|
||||
#define GLIBTOP_PROC_UID_SUID 4
|
||||
#define GLIBTOP_PROC_UID_SGID 5
|
||||
#define GLIBTOP_PROC_UID_FSUID 6
|
||||
#define GLIBTOP_PROC_UID_FSGID 7
|
||||
#define GLIBTOP_PROC_UID_PID 8
|
||||
#define GLIBTOP_PROC_UID_PPID 9
|
||||
#define GLIBTOP_PROC_UID_PGRP 10
|
||||
#define GLIBTOP_PROC_UID_SESSION 11
|
||||
#define GLIBTOP_PROC_UID_TTY 12
|
||||
#define GLIBTOP_PROC_UID_TPGID 13
|
||||
#define GLIBTOP_PROC_UID_PRIORITY 14
|
||||
#define GLIBTOP_PROC_UID_NICE 15
|
||||
#define GLIBTOP_PROC_UID_NGROUPS 16
|
||||
#define GLIBTOP_PROC_UID_GROUPS 17
|
||||
|
||||
#define GLIBTOP_MAX_PROC_UID 12
|
||||
#define GLIBTOP_MAX_PROC_UID 18
|
||||
|
||||
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
|
||||
#define GLIBTOP_MAX_GROUPS 64
|
||||
|
||||
/* User, Group, Terminal and session */
|
||||
|
||||
struct _glibtop_proc_uid
|
||||
{
|
||||
u_int64_t flags;
|
||||
int uid, /* user id */
|
||||
guint64 flags;
|
||||
gint32 uid, /* user id */
|
||||
euid, /* effective user id */
|
||||
gid, /* group id */
|
||||
egid, /* effective group id */
|
||||
suid, /* set user id */
|
||||
sgid, /* set group id */
|
||||
fsuid, /* ??? user id */
|
||||
fsgid, /* ??? group id */
|
||||
pid, /* process id */
|
||||
ppid, /* pid of parent process */
|
||||
pgrp, /* process group id */
|
||||
@@ -62,7 +74,10 @@ struct _glibtop_proc_uid
|
||||
tty, /* full device number of controlling terminal */
|
||||
tpgid, /* terminal process group id */
|
||||
priority, /* kernel scheduling priority */
|
||||
nice; /* standard unix nice level of process */
|
||||
nice, /* standard unix nice level of process */
|
||||
ngroups,
|
||||
groups [GLIBTOP_MAX_GROUPS];
|
||||
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
|
||||
|
@@ -46,7 +46,7 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
||||
|
||||
struct _glibtop_sem_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||
|
@@ -41,7 +41,7 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||
|
@@ -41,7 +41,7 @@ typedef struct _glibtop_swap glibtop_swap;
|
||||
|
||||
struct _glibtop_swap
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_SWAP_TOTAL */
|
||||
used, /* GLIBTOP_SWAP_USED */
|
||||
free, /* GLIBTOP_SWAP_FREE */
|
||||
|
@@ -64,7 +64,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
||||
|
||||
struct _glibtop_sysdeps
|
||||
{
|
||||
u_int64_t flags,
|
||||
guint64 flags,
|
||||
features, /* server features */
|
||||
cpu, /* glibtop_cpu */
|
||||
mem, /* glibtop_mem */
|
||||
|
@@ -32,9 +32,10 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SYSINFO_CPUINFO 0
|
||||
#define GLIBTOP_SYSINFO_NCPU 0
|
||||
#define GLIBTOP_SYSINFO_CPUINFO 1
|
||||
|
||||
#define GLIBTOP_MAX_SYSINFO 1
|
||||
#define GLIBTOP_MAX_SYSINFO 2
|
||||
|
||||
typedef struct _glibtop_sysinfo glibtop_sysinfo;
|
||||
|
||||
@@ -43,21 +44,21 @@ typedef struct _glibtop_entry glibtop_entry;
|
||||
struct _glibtop_entry
|
||||
{
|
||||
GPtrArray *labels;
|
||||
GHashTable *values;
|
||||
GHashTable *descriptions;
|
||||
GHashTable *values; /* key -> description */
|
||||
GHashTable *descriptions; /* unused */
|
||||
};
|
||||
|
||||
struct _glibtop_sysinfo
|
||||
{
|
||||
u_int64_t flags, ncpu;
|
||||
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
||||
guint64 flags, ncpu;
|
||||
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
||||
};
|
||||
|
||||
#define glibtop_get_sysinfo() glibtop_get_sysinfo_s(glibtop_global_server)
|
||||
|
||||
#define glibtop_get_sysinfo_r glibtop_get_sysinfo_s
|
||||
|
||||
glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
|
||||
const glibtop_sysinfo *glibtop_get_sysinfo_s (glibtop *server);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -31,16 +31,18 @@ G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_UPTIME_UPTIME 0
|
||||
#define GLIBTOP_UPTIME_IDLETIME 1
|
||||
#define GLIBTOP_UPTIME_BOOT_TIME 2
|
||||
|
||||
#define GLIBTOP_MAX_UPTIME 2
|
||||
#define GLIBTOP_MAX_UPTIME 3
|
||||
|
||||
typedef struct _glibtop_uptime glibtop_uptime;
|
||||
|
||||
struct _glibtop_uptime
|
||||
{
|
||||
u_int64_t flags;
|
||||
guint64 flags;
|
||||
double uptime, /* GLIBTOP_UPTIME_UPTIME */
|
||||
idletime; /* GLIBTOP_UPTIME_IDLETIME */
|
||||
guint64 boot_time;
|
||||
};
|
||||
|
||||
#define glibtop_get_uptime(uptime) glibtop_get_uptime_l(glibtop_global_server, uptime)
|
||||
|
11
include/libgtop-i18n.h
Normal file
11
include/libgtop-i18n.h
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <libintl.h>
|
||||
#define _(String) gettext (String)
|
||||
#ifdef gettext_noop
|
||||
# define N_(String) gettext_noop (String)
|
||||
#else
|
||||
# define N_(String) (String)
|
||||
#endif
|
||||
|
@@ -212,7 +212,7 @@ get_wchan (struct task_struct *p)
|
||||
return ((unsigned long *)schedule_frame)[12];
|
||||
}
|
||||
return pc;
|
||||
}
|
||||
}
|
||||
#elif defined(__mc68000__)
|
||||
{
|
||||
unsigned long fp, pc;
|
||||
@@ -318,7 +318,7 @@ static inline void
|
||||
task_mem (struct task_struct *p, libgtop_proc_segment_t *proc_segment)
|
||||
{
|
||||
struct mm_struct * mm = p->mm;
|
||||
|
||||
|
||||
if (mm && mm != &init_mm) {
|
||||
struct vm_area_struct * vma = mm->mmap;
|
||||
unsigned long data = 0, stack = 0;
|
||||
@@ -486,7 +486,7 @@ get_statm (struct task_struct *tsk, libgtop_proc_mem_t *proc_mem)
|
||||
}
|
||||
}
|
||||
|
||||
proc_mem->segment.vsize = vsize;
|
||||
proc_mem->segment.vsize = vsize;
|
||||
proc_mem->segment.data = data;
|
||||
proc_mem->segment.stack = stack;
|
||||
proc_mem->segment.exec = exec;
|
||||
@@ -498,7 +498,7 @@ get_statm (struct task_struct *tsk, libgtop_proc_mem_t *proc_mem)
|
||||
proc_mem->trs = trs;
|
||||
proc_mem->lrs = lrs;
|
||||
proc_mem->drs = drs;
|
||||
proc_mem->dt = dt;
|
||||
proc_mem->dt = dt;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -522,7 +522,7 @@ collect_sigign_sigcatch (struct task_struct *p, sigset_t *ign,
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
task_sig (struct task_struct *p, libgtop_proc_signal_t *proc_signal)
|
||||
{
|
||||
sigset_t ignore, catch;
|
||||
@@ -670,7 +670,7 @@ libgtop_sysctl (ctl_table *table, int nlen, int *name)
|
||||
|
||||
if ((which & LIBGTOP_EXCLUDE_NOTTY) && (tsk->tty == NULL))
|
||||
continue;
|
||||
|
||||
|
||||
proclist->pids [tindex++] = tsk->pid;
|
||||
}
|
||||
|
||||
@@ -702,7 +702,7 @@ libgtop_sysctl_proc (ctl_table *table, int nlen, int *name,
|
||||
case LIBGTOP_PROC_STATE:
|
||||
proc_state = table->data;
|
||||
memset (proc_state, 0, sizeof (libgtop_proc_state_t));
|
||||
|
||||
|
||||
proc_state->uid = tsk->uid;
|
||||
proc_state->gid = tsk->gid;
|
||||
proc_state->flags = tsk->flags;
|
||||
@@ -711,12 +711,12 @@ libgtop_sysctl_proc (ctl_table *table, int nlen, int *name,
|
||||
proc_state->euid = tsk->euid;
|
||||
proc_state->suid = tsk->suid;
|
||||
proc_state->fsuid = tsk->fsuid;
|
||||
|
||||
|
||||
proc_state->gid = tsk->gid;
|
||||
proc_state->egid = tsk->egid;
|
||||
proc_state->sgid = tsk->sgid;
|
||||
proc_state->fsgid = tsk->fsgid;
|
||||
|
||||
|
||||
proc_state->pid = tsk->pid;
|
||||
proc_state->pgrp = tsk->pgrp;
|
||||
proc_state->ppid = tsk->p_pptr->pid;
|
||||
@@ -757,12 +757,12 @@ libgtop_sysctl_proc (ctl_table *table, int nlen, int *name,
|
||||
proc_state->it_real_incr = tsk->it_real_incr;
|
||||
proc_state->it_prof_incr = tsk->it_prof_incr;
|
||||
proc_state->it_virt_incr = tsk->it_virt_incr;
|
||||
|
||||
|
||||
proc_state->min_flt = tsk->min_flt;
|
||||
proc_state->cmin_flt = tsk->cmin_flt;
|
||||
proc_state->maj_flt = tsk->maj_flt;
|
||||
proc_state->cmaj_flt = tsk->cmaj_flt;
|
||||
|
||||
|
||||
proc_state->nswap = tsk->nswap;
|
||||
proc_state->cnswap = tsk->cnswap;
|
||||
|
||||
@@ -794,7 +794,7 @@ libgtop_sysctl_proc (ctl_table *table, int nlen, int *name,
|
||||
proc_state->ngroups = tsk->ngroups;
|
||||
for (i = 0; i < min (tsk->ngroups, LIBGTOP_MAX_GROUPS); i++)
|
||||
proc_state->groups [i] = tsk->groups [i];
|
||||
|
||||
|
||||
if (tsk->state & TASK_INTERRUPTIBLE)
|
||||
proc_state->state |= LIBGTOP_TASK_INTERRUPTIBLE;
|
||||
if (tsk->state & TASK_UNINTERRUPTIBLE)
|
||||
@@ -1023,7 +1023,7 @@ proc_args_ctl_handler (ctl_table *table, int *name, int nlen,
|
||||
|
||||
if (put_user (len, oldlenp))
|
||||
goto err_fault_free_page;
|
||||
|
||||
|
||||
if (copy_to_user (oldval, (void *) page, len))
|
||||
goto err_fault_free_page;
|
||||
|
||||
@@ -1113,7 +1113,7 @@ proc_maps_ctl_handler (ctl_table *table, int *name, int nlen,
|
||||
proc_maps->filename [LIBGTOP_MAP_PATH_LEN-1] = '\0';
|
||||
proc_maps->header.filename_offset = line - proc_maps->filename;
|
||||
|
||||
proc_maps->header.device =
|
||||
proc_maps->header.device =
|
||||
map->vm_file->f_dentry->d_inode->i_dev;
|
||||
proc_maps->header.inode =
|
||||
map->vm_file->f_dentry->d_inode->i_ino;
|
||||
@@ -1243,13 +1243,13 @@ proc_net_ctl_handler (ctl_table *table, int *name, int nlen,
|
||||
netload.rx_frame_errors = stats->rx_frame_errors;
|
||||
netload.rx_fifo_errors = stats->rx_fifo_errors;
|
||||
netload.rx_missed_errors = stats->rx_missed_errors;
|
||||
|
||||
|
||||
netload.tx_aborted_errors = stats->tx_aborted_errors;
|
||||
netload.tx_carrier_errors = stats->tx_carrier_errors;
|
||||
netload.tx_fifo_errors = stats->tx_fifo_errors;
|
||||
netload.tx_heartbeat_errors = stats->tx_heartbeat_errors;
|
||||
netload.tx_window_errors = stats->tx_window_errors;
|
||||
|
||||
|
||||
netload.rx_compressed = stats->rx_compressed;
|
||||
netload.tx_compressed = stats->tx_compressed;
|
||||
|
||||
|
@@ -218,7 +218,7 @@ struct libgtop_netload
|
||||
unsigned long tx_dropped; /* no space available in linux */
|
||||
unsigned long multicast; /* multicast packets received */
|
||||
unsigned long collisions;
|
||||
|
||||
|
||||
/* detailed rx_errors: */
|
||||
unsigned long rx_length_errors;
|
||||
unsigned long rx_over_errors; /* receiver ring buff overflow */
|
||||
@@ -226,14 +226,14 @@ struct libgtop_netload
|
||||
unsigned long rx_frame_errors; /* recv'd frame alignment error */
|
||||
unsigned long rx_fifo_errors; /* recv'r fifo overrun */
|
||||
unsigned long rx_missed_errors; /* receiver missed packet */
|
||||
|
||||
|
||||
/* detailed tx_errors */
|
||||
unsigned long tx_aborted_errors;
|
||||
unsigned long tx_carrier_errors;
|
||||
unsigned long tx_fifo_errors;
|
||||
unsigned long tx_heartbeat_errors;
|
||||
unsigned long tx_window_errors;
|
||||
|
||||
|
||||
/* for cslip etc */
|
||||
unsigned long rx_compressed;
|
||||
unsigned long tx_compressed;
|
||||
|
@@ -15,7 +15,7 @@
|
||||
#define TABLE_KERN_PROC_UID 5
|
||||
#define TABLE_KERN_PROC_RUID 6
|
||||
|
||||
#define TABLE_KERN_PROC_MASK 15
|
||||
#define TABLE_KERN_PROC_MASK 15
|
||||
|
||||
#define TABLE_EXCLUDE_IDLE 0x1000
|
||||
#define TABLE_EXCLUDE_SYSTEM 0x2000
|
||||
@@ -178,7 +178,7 @@ union table
|
||||
struct table_proc_mem proc_mem;
|
||||
struct table_proc_segment proc_segment;
|
||||
struct table_proc_time proc_time;
|
||||
struct table_proc_state proc_state;
|
||||
struct table_proc_state proc_state;
|
||||
struct table_proc_signal proc_signal;
|
||||
struct table_proc_kernel proc_kernel;
|
||||
};
|
||||
|
@@ -50,7 +50,7 @@ static struct task_struct *
|
||||
get_task (pid_t pid)
|
||||
{
|
||||
struct task_struct ** p;
|
||||
|
||||
|
||||
p = task;
|
||||
while (++p < task+NR_TASKS) {
|
||||
if (*p && (*p)->pid == pid)
|
||||
@@ -171,7 +171,7 @@ get_wchan (struct task_struct *p)
|
||||
{
|
||||
unsigned long schedule_frame;
|
||||
unsigned long pc;
|
||||
|
||||
|
||||
pc = thread_saved_pc(&p->tss);
|
||||
if (pc >= (unsigned long) interruptible_sleep_on && pc < (unsigned long) add_timer) {
|
||||
schedule_frame = ((unsigned long *)p->tss.ksp)[6];
|
||||
@@ -246,7 +246,7 @@ sys_table (int type, union table *buf, const void *param)
|
||||
tbl.proclist.last_pid = last_pid;
|
||||
break;
|
||||
case TABLE_CPU:
|
||||
tbl.cpu.total = jiffies;
|
||||
tbl.cpu.total = jiffies;
|
||||
tbl.cpu.user = kstat.cpu_user;
|
||||
tbl.cpu.nice = kstat.cpu_nice;
|
||||
tbl.cpu.sys = kstat.cpu_system;
|
||||
@@ -294,21 +294,21 @@ sys_table (int type, union table *buf, const void *param)
|
||||
tbl.proc_uid.euid = tsk->euid;
|
||||
tbl.proc_uid.suid = tsk->suid;
|
||||
tbl.proc_uid.fsuid = tsk->fsuid;
|
||||
|
||||
|
||||
tbl.proc_uid.gid = tsk->gid;
|
||||
tbl.proc_uid.egid = tsk->egid;
|
||||
tbl.proc_uid.sgid = tsk->sgid;
|
||||
tbl.proc_uid.fsgid = tsk->fsgid;
|
||||
|
||||
|
||||
tbl.proc_uid.pid = tsk->pid;
|
||||
tbl.proc_uid.pgrp = tsk->pgrp;
|
||||
tbl.proc_uid.ppid = tsk->p_pptr->pid;
|
||||
|
||||
|
||||
tbl.proc_uid.session = tsk->session;
|
||||
tbl.proc_uid.tty = tsk->tty ?
|
||||
kdev_t_to_nr (tsk->tty->device) : 0;
|
||||
tbl.proc_uid.tpgid = tsk->tty ? tsk->tty->pgrp : -1;
|
||||
|
||||
|
||||
tbl.proc_uid.priority = tsk->priority;
|
||||
tbl.proc_uid.counter = tsk->counter;
|
||||
tbl.proc_uid.def_priority = DEF_PRIORITY;
|
||||
@@ -322,7 +322,7 @@ sys_table (int type, union table *buf, const void *param)
|
||||
unsigned long sig_ign = 0, sig_caught = 0;
|
||||
unsigned long bit = 1;
|
||||
int i;
|
||||
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
switch((unsigned long) action->sa_handler) {
|
||||
case 0:
|
||||
@@ -376,7 +376,7 @@ sys_table (int type, union table *buf, const void *param)
|
||||
while (vma) {
|
||||
pgd_t *pgd = pgd_offset(tsk->mm, vma->vm_start);
|
||||
int pages = 0, shared = 0, dirty = 0, total = 0;
|
||||
|
||||
|
||||
vsize += vma->vm_end - vma->vm_start;
|
||||
|
||||
statm_pgd_range (pgd, vma->vm_start, vma->vm_end,
|
||||
@@ -428,10 +428,10 @@ sys_table (int type, union table *buf, const void *param)
|
||||
tbl.proc_kernel.cmin_flt = tsk->cmin_flt;
|
||||
tbl.proc_kernel.maj_flt = tsk->maj_flt;
|
||||
tbl.proc_kernel.cmaj_flt = tsk->cmaj_flt;
|
||||
|
||||
|
||||
tbl.proc_kernel.kesp = tsk->kernel_stack_page ? KSTK_EIP(tsk) : 0;
|
||||
tbl.proc_kernel.keip = tsk->kernel_stack_page ? KSTK_ESP(tsk) : 0;
|
||||
|
||||
|
||||
tbl.proc_kernel.nswap = tsk->nswap;
|
||||
tbl.proc_kernel.cnswap = tsk->cnswap;
|
||||
|
||||
@@ -442,10 +442,10 @@ sys_table (int type, union table *buf, const void *param)
|
||||
for (rule = chain->chain; rule; rule = rule->next) {
|
||||
const char *name = rule->ipfw.fw_vianame;
|
||||
int k;
|
||||
|
||||
|
||||
if (name [0] && !strncmp (param, name, 5))
|
||||
continue;
|
||||
|
||||
|
||||
for (k = 0; k < NUM_SLOTS; k++) {
|
||||
tbl.netacct.packets +=
|
||||
rule->counters[k].pcnt;
|
||||
|
@@ -237,7 +237,7 @@ if (__res>=0) \
|
||||
return (type) __res; \
|
||||
errno=-__res; \
|
||||
return -1; \
|
||||
}
|
||||
}
|
||||
|
||||
#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
|
||||
type5,arg5) \
|
||||
|
@@ -140,7 +140,7 @@ static unsigned long get_wchan(struct task_struct *p)
|
||||
return ((unsigned long *)schedule_frame)[12];
|
||||
}
|
||||
return pc;
|
||||
}
|
||||
}
|
||||
#elif defined(__mc68000__)
|
||||
{
|
||||
unsigned long fp, pc;
|
||||
@@ -388,7 +388,7 @@ table_fkt (int type, union table *buf, const void *param)
|
||||
if ((plistargs.which & TABLE_EXCLUDE_NOTTY) &&
|
||||
(tsk->tty == NULL))
|
||||
continue;
|
||||
|
||||
|
||||
tbl.proclist.pids [tindex++] = tsk->pid;
|
||||
}
|
||||
tbl.proclist.nr_running = nr_running;
|
||||
@@ -397,7 +397,7 @@ table_fkt (int type, union table *buf, const void *param)
|
||||
read_unlock(&tasklist_lock);
|
||||
break;
|
||||
case TABLE_CPU:
|
||||
tbl.cpu.total = jiffies;
|
||||
tbl.cpu.total = jiffies;
|
||||
tbl.cpu.user = kstat.cpu_user;
|
||||
tbl.cpu.nice = kstat.cpu_nice;
|
||||
tbl.cpu.sys = kstat.cpu_system;
|
||||
@@ -446,21 +446,21 @@ table_fkt (int type, union table *buf, const void *param)
|
||||
tbl.proc_uid.euid = tsk->euid;
|
||||
tbl.proc_uid.suid = tsk->suid;
|
||||
tbl.proc_uid.fsuid = tsk->fsuid;
|
||||
|
||||
|
||||
tbl.proc_uid.gid = tsk->gid;
|
||||
tbl.proc_uid.egid = tsk->egid;
|
||||
tbl.proc_uid.sgid = tsk->sgid;
|
||||
tbl.proc_uid.fsgid = tsk->fsgid;
|
||||
|
||||
|
||||
tbl.proc_uid.pid = tsk->pid;
|
||||
tbl.proc_uid.pgrp = tsk->pgrp;
|
||||
tbl.proc_uid.ppid = tsk->p_pptr->pid;
|
||||
|
||||
|
||||
tbl.proc_uid.session = tsk->session;
|
||||
tbl.proc_uid.tty = tsk->tty ?
|
||||
kdev_t_to_nr (tsk->tty->device) : 0;
|
||||
tbl.proc_uid.tpgid = tsk->tty ? tsk->tty->pgrp : -1;
|
||||
|
||||
|
||||
tbl.proc_uid.priority = tsk->priority;
|
||||
tbl.proc_uid.counter = tsk->counter;
|
||||
tbl.proc_uid.def_priority = DEF_PRIORITY;
|
||||
@@ -520,7 +520,7 @@ table_fkt (int type, union table *buf, const void *param)
|
||||
while (vma) {
|
||||
pgd_t *pgd = pgd_offset(tsk->mm, vma->vm_start);
|
||||
int pages = 0, shared = 0, dirty = 0, total = 0;
|
||||
|
||||
|
||||
vsize += vma->vm_end - vma->vm_start;
|
||||
|
||||
statm_pgd_range (pgd, vma->vm_start, vma->vm_end,
|
||||
@@ -584,10 +584,10 @@ table_fkt (int type, union table *buf, const void *param)
|
||||
tbl.proc_kernel.cmin_flt = tsk->cmin_flt;
|
||||
tbl.proc_kernel.maj_flt = tsk->maj_flt;
|
||||
tbl.proc_kernel.cmaj_flt = tsk->cmaj_flt;
|
||||
|
||||
|
||||
tbl.proc_kernel.kesp = KSTK_ESP(tsk);
|
||||
tbl.proc_kernel.keip = KSTK_EIP(tsk);
|
||||
|
||||
|
||||
tbl.proc_kernel.nswap = tsk->nswap;
|
||||
tbl.proc_kernel.cnswap = tsk->cnswap;
|
||||
|
||||
|
@@ -259,7 +259,7 @@ __asm__ volatile ("int $0x80" \
|
||||
: "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \
|
||||
"d" ((long)(arg3)),"S" ((long)(arg4))); \
|
||||
__syscall_return(type,__res); \
|
||||
}
|
||||
}
|
||||
|
||||
#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
|
||||
type5,arg5) \
|
||||
|
@@ -5,3 +5,4 @@ Makefile.in
|
||||
libgtop.la
|
||||
*.lo
|
||||
lib.c
|
||||
error.loT
|
||||
|
@@ -31,13 +31,11 @@ void *
|
||||
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
const void *send_buf, size_t recv_size, void *recv_buf)
|
||||
{
|
||||
glibtop_command cmnd;
|
||||
glibtop_response response;
|
||||
glibtop_command cmnd = {0};
|
||||
glibtop_response response = {0};
|
||||
|
||||
glibtop_init_r (&server, 0, 0);
|
||||
|
||||
memset (&cmnd, 0, sizeof (glibtop_command));
|
||||
|
||||
cmnd.command = command;
|
||||
|
||||
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
||||
@@ -50,7 +48,7 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
} else {
|
||||
cmnd.data_size = send_size;
|
||||
}
|
||||
|
||||
|
||||
glibtop_write_l (server, sizeof (glibtop_command), &cmnd);
|
||||
|
||||
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
||||
|
@@ -32,7 +32,7 @@
|
||||
static void
|
||||
print_server_name (glibtop_server *server)
|
||||
{
|
||||
fprintf (stderr, "%s: ", server ?
|
||||
fprintf (stderr, "%s: ", server ?
|
||||
(server->name ? server->name : DEFAULT_NAME)
|
||||
: DEFAULT_NAME);
|
||||
}
|
||||
@@ -40,7 +40,7 @@ print_server_name (glibtop_server *server)
|
||||
void
|
||||
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
|
@@ -32,7 +32,7 @@ GQuark
|
||||
glibtop_error_quark (void)
|
||||
{
|
||||
static GQuark q = 0;
|
||||
if (q == 0)
|
||||
if (G_UNLIKELY(q == 0))
|
||||
q = g_quark_from_static_string ("glibtop-error-quark");
|
||||
|
||||
return q;
|
||||
|
@@ -1,120 +0,0 @@
|
||||
/* -*- 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.
|
||||
*/
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/union.h>
|
||||
|
||||
#include <glibtop/glib-arrays.h>
|
||||
|
||||
GArray *
|
||||
glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which,
|
||||
int64_t arg)
|
||||
{
|
||||
glibtop_array array;
|
||||
GArray *retval;
|
||||
unsigned *ptr;
|
||||
int i;
|
||||
|
||||
ptr = glibtop_get_proclist_l (client, &array, which, arg);
|
||||
if (!ptr) return NULL;
|
||||
|
||||
retval = g_array_new (FALSE, TRUE, sizeof (guint));
|
||||
retval = g_array_set_size (retval, array.number);
|
||||
|
||||
for (i = 0; i < array.number; i++)
|
||||
g_array_index (retval, guint, i) = ptr [i];
|
||||
|
||||
g_free (ptr);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid)
|
||||
{
|
||||
glibtop_array array;
|
||||
GPtrArray *retval;
|
||||
char **ptr;
|
||||
int i;
|
||||
|
||||
ptr = glibtop_get_proc_args_l (client, &array, pid);
|
||||
if (!ptr) return NULL;
|
||||
|
||||
retval = g_ptr_array_new ();
|
||||
g_ptr_array_set_size (retval, array.number);
|
||||
|
||||
for (i = 0; i < array.number; i++) {
|
||||
retval->pdata [i] = g_strdup (ptr [i]);
|
||||
g_free (ptr [i]);
|
||||
}
|
||||
|
||||
g_free (ptr);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid)
|
||||
{
|
||||
glibtop_array array;
|
||||
GPtrArray *retval;
|
||||
glibtop_map_entry *ptr;
|
||||
int i;
|
||||
|
||||
ptr = glibtop_get_proc_map_l (client, &array, pid);
|
||||
if (!ptr) return NULL;
|
||||
|
||||
retval = g_ptr_array_new ();
|
||||
g_ptr_array_set_size (retval, array.number);
|
||||
|
||||
for (i = 0; i < array.number; i++)
|
||||
retval->pdata [i] = g_memdup (ptr+i, sizeof (glibtop_map_entry));
|
||||
|
||||
g_free (ptr);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
GPtrArray *
|
||||
glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs)
|
||||
{
|
||||
glibtop_array array;
|
||||
GPtrArray *retval;
|
||||
glibtop_mountentry *ptr;
|
||||
int i;
|
||||
|
||||
ptr = glibtop_get_mountlist_l (client, &array, all_fs);
|
||||
if (!ptr) return NULL;
|
||||
|
||||
retval = g_ptr_array_new ();
|
||||
g_ptr_array_set_size (retval, array.number);
|
||||
|
||||
for (i = 0; i < array.number; i++)
|
||||
retval->pdata [i] = g_memdup (ptr+i, sizeof (glibtop_mountentry));
|
||||
|
||||
g_free (ptr);
|
||||
|
||||
return retval;
|
||||
}
|
@@ -53,7 +53,7 @@ GType
|
||||
glibtop_backend_get_type (void)
|
||||
{
|
||||
static GType glibtop_backend_type = 0;
|
||||
|
||||
|
||||
if (!glibtop_backend_type) {
|
||||
static const GTypeInfo glibtop_backend_info = {
|
||||
sizeof (glibtop_backend_class),
|
||||
@@ -66,7 +66,7 @@ glibtop_backend_get_type (void)
|
||||
16, /* n_preallocs */
|
||||
(GInstanceInitFunc) glibtop_backend_init,
|
||||
};
|
||||
|
||||
|
||||
glibtop_backend_type = g_type_register_static
|
||||
(G_TYPE_OBJECT, "glibtop_backend", &glibtop_backend_info, 0);
|
||||
}
|
||||
@@ -80,7 +80,7 @@ glibtop_backend_class_init (glibtop_backend_class *class)
|
||||
GObjectClass *gobject_class;
|
||||
|
||||
gobject_class = (GObjectClass *) class;
|
||||
|
||||
|
||||
parent_class = g_type_class_ref (G_TYPE_OBJECT);
|
||||
|
||||
gobject_class->finalize = glibtop_backend_finalize;
|
||||
@@ -100,12 +100,12 @@ glibtop_backend_finalize (GObject *object)
|
||||
{
|
||||
glibtop_backend *glibtop;
|
||||
glibtop_backend_private *priv = NULL;
|
||||
|
||||
|
||||
glibtop = GLIBTOP_BACKEND (object);
|
||||
priv = glibtop->_priv;
|
||||
|
||||
g_free (priv);
|
||||
|
||||
|
||||
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
@@ -146,7 +146,7 @@ load_extra_libs (glibtop_backend_entry *entry, GError **error)
|
||||
}
|
||||
|
||||
glibtop_backend *
|
||||
glibtop_backend_get (const char *backend_name, u_int64_t features,
|
||||
glibtop_backend_get (const char *backend_name, guint64 features,
|
||||
const char **backend_args, GError **error)
|
||||
{
|
||||
const glibtop_backend_info *info;
|
||||
|
@@ -47,7 +47,7 @@ GType
|
||||
glibtop_client_get_type (void)
|
||||
{
|
||||
static GType glibtop_client_type = 0;
|
||||
|
||||
|
||||
if (!glibtop_client_type) {
|
||||
static const GTypeInfo glibtop_client_info = {
|
||||
sizeof (glibtop_client_class),
|
||||
@@ -60,7 +60,7 @@ glibtop_client_get_type (void)
|
||||
16, /* n_preallocs */
|
||||
(GInstanceInitFunc) glibtop_client_init,
|
||||
};
|
||||
|
||||
|
||||
glibtop_client_type = g_type_register_static
|
||||
(G_TYPE_OBJECT, "glibtop_client", &glibtop_client_info, 0);
|
||||
}
|
||||
@@ -99,7 +99,7 @@ glibtop_client_class_init (glibtop_client_class *klass)
|
||||
GObjectClass *gobject_class;
|
||||
|
||||
gobject_class = (GObjectClass *) klass;
|
||||
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_ERROR] =
|
||||
@@ -122,7 +122,7 @@ glibtop_client_class_init (glibtop_client_class *klass)
|
||||
|
||||
klass->error = glibtop_client_error_handler;
|
||||
klass->warning = glibtop_client_warning_handler;
|
||||
|
||||
|
||||
gobject_class->finalize = glibtop_client_finalize;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ static void
|
||||
glibtop_client_init (glibtop_client *glibtop)
|
||||
{
|
||||
glibtop_client_private *priv;
|
||||
|
||||
|
||||
priv = g_new0 (glibtop_client_private, 1);
|
||||
glibtop->_priv = priv;
|
||||
}
|
||||
@@ -141,16 +141,16 @@ glibtop_client_finalize (GObject *object)
|
||||
glibtop_client *glibtop;
|
||||
glibtop_client_private *priv = NULL;
|
||||
GSList *c;
|
||||
|
||||
|
||||
glibtop = GLIBTOP_CLIENT (object);
|
||||
priv = glibtop->_priv;
|
||||
|
||||
for (c = priv->backend_list; c; c = c->next)
|
||||
g_object_unref (G_OBJECT (c->data));
|
||||
g_slist_free (priv->backend_list);
|
||||
|
||||
|
||||
g_free (priv);
|
||||
|
||||
|
||||
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
@@ -180,7 +180,7 @@ glibtop_client_propagate_error (glibtop_client *client, GError *error)
|
||||
g_signal_emitv (params,
|
||||
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_ERROR],
|
||||
0, NULL);
|
||||
|
||||
|
||||
g_value_unset (params + 1);
|
||||
g_value_unset (params + 0);
|
||||
}
|
||||
@@ -204,14 +204,14 @@ glibtop_client_propagate_warning (glibtop_client *client, GError *error)
|
||||
g_signal_emitv (params,
|
||||
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_WARNING],
|
||||
0, NULL);
|
||||
|
||||
|
||||
g_value_unset (params + 1);
|
||||
g_value_unset (params + 0);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_client_open_backend (glibtop_client *client, const char *backend_name,
|
||||
u_int64_t features, const char **backend_args)
|
||||
guint64 features, const char **backend_args)
|
||||
{
|
||||
glibtop_backend *backend;
|
||||
GError *error = NULL;
|
||||
|
46
lib/init.c
46
lib/init.c
@@ -29,7 +29,7 @@
|
||||
#define DEFAULT_PORT 42800
|
||||
#endif
|
||||
|
||||
static glibtop _glibtop_global_server;
|
||||
static glibtop _glibtop_global_server = { 0 };
|
||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||
|
||||
static void
|
||||
@@ -50,7 +50,7 @@ _init_server (glibtop *server, const unsigned features)
|
||||
if (server->server_rsh == NULL) {
|
||||
const char *temp = getenv ("LIBGTOP_RSH") ?
|
||||
getenv ("LIBGTOP_RSH") : "/usr/bin/ssh";
|
||||
|
||||
|
||||
server->server_rsh = g_strdup (temp);
|
||||
}
|
||||
|
||||
@@ -78,15 +78,15 @@ _init_server (glibtop *server, const unsigned features)
|
||||
|
||||
/* If the first character of 'server_command' is a colon,
|
||||
* the first field is the method to connect to the server. */
|
||||
|
||||
|
||||
/* Everything up to the next colon is the method. */
|
||||
|
||||
|
||||
command = g_strdup (server->server_command+1);
|
||||
temp = strstr (command, ":");
|
||||
if (temp) *temp = 0;
|
||||
|
||||
|
||||
/* Dispatch method. */
|
||||
|
||||
|
||||
if (!strcmp (command, "direct")) {
|
||||
/* Use sysdeps dir instead of connecting to server
|
||||
* even if using the server would be required on
|
||||
@@ -106,16 +106,16 @@ _init_server (glibtop *server, const unsigned features)
|
||||
} else {
|
||||
char *temp2 = strstr (temp+1, ":");
|
||||
if (temp2) *temp2 = 0;
|
||||
|
||||
|
||||
/* Override default. */
|
||||
if (server->server_host)
|
||||
g_free ((char *) server->server_host);
|
||||
|
||||
server->server_host = g_strdup (temp+1);
|
||||
|
||||
|
||||
temp = temp2;
|
||||
}
|
||||
|
||||
|
||||
if (temp == NULL) {
|
||||
/* If no value was set, we use DEFAULT_PORT. */
|
||||
if (server->server_port == 0)
|
||||
@@ -123,10 +123,10 @@ _init_server (glibtop *server, const unsigned features)
|
||||
} else {
|
||||
char *temp2 = strstr (temp+1, ":");
|
||||
if (temp2) *temp2 = 0;
|
||||
|
||||
|
||||
if (sscanf (temp+1, "%ld", &server->server_port) != 1)
|
||||
server->server_port = DEFAULT_PORT;
|
||||
|
||||
|
||||
temp = temp2 ? temp2 + 1 : temp2;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ _init_server (glibtop *server, const unsigned features)
|
||||
server->server_command+1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
g_free (command);
|
||||
}
|
||||
|
||||
@@ -173,27 +173,27 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
||||
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
||||
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
||||
|
||||
|
||||
if (features == 0)
|
||||
features = GLIBTOP_SYSDEPS_ALL;
|
||||
|
||||
|
||||
if (flags & GLIBTOP_FEATURES_NO_SERVER) {
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
features = 0;
|
||||
}
|
||||
|
||||
|
||||
server->features = features;
|
||||
|
||||
|
||||
_init_server (server, features);
|
||||
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_INIT;
|
||||
|
||||
|
||||
switch (server->method) {
|
||||
case GLIBTOP_METHOD_PIPE:
|
||||
case GLIBTOP_METHOD_UNIX:
|
||||
if (glibtop_server_features & features)
|
||||
break;
|
||||
|
||||
|
||||
server->method = GLIBTOP_METHOD_DIRECT;
|
||||
break;
|
||||
}
|
||||
@@ -205,11 +205,11 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
return server;
|
||||
|
||||
/* Open server, but only if not already opened. */
|
||||
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
||||
glibtop_open_l (glibtop_global_server, "glibtop",
|
||||
features, flags);
|
||||
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
{
|
||||
glibtop *server;
|
||||
glibtop_init_func_t *init_fkt;
|
||||
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
||||
@@ -239,7 +239,7 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
|
||||
for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++)
|
||||
(*init_fkt) (server);
|
||||
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
|
||||
}
|
||||
|
||||
|
@@ -59,9 +59,9 @@ glibtop_inodedb_open_s (glibtop *server, unsigned databases,
|
||||
|
||||
pwd = getpwuid (getuid ());
|
||||
if (!pwd) glibtop_error_io_r (server, "getpwuid");
|
||||
|
||||
|
||||
sprintf (filename, "%s/var/libgtop/inodedb.db", pwd->pw_dir);
|
||||
|
||||
|
||||
if (stat (filename, &statb))
|
||||
databases &= ~GLIBTOP_INODEDB_USER;
|
||||
|
||||
@@ -79,7 +79,7 @@ glibtop_inodedb_open_s (glibtop *server, unsigned databases,
|
||||
const char *
|
||||
glibtop_inodedb_lookup_s (glibtop *server,
|
||||
glibtop_inodedb *inodedb,
|
||||
u_int64_t device, u_int64_t inode)
|
||||
guint64 device, guint64 inode)
|
||||
{
|
||||
glibtop_inodedb_key key;
|
||||
datum d_key, d_content;
|
||||
@@ -108,7 +108,7 @@ glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb)
|
||||
{
|
||||
if (inodedb->system_dbf)
|
||||
gdbm_close (inodedb->system_dbf);
|
||||
|
||||
|
||||
if (inodedb->user_dbf)
|
||||
gdbm_close (inodedb->user_dbf);
|
||||
|
||||
|
10
lib/lib.pl
10
lib/lib.pl
@@ -27,7 +27,7 @@ print '#include <glibtop/open.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '#include <libgnome/gnome-i18n.h>';
|
||||
print '#include "libgtop-i18n.h"';
|
||||
print '';
|
||||
print '#include <glibtop/command.h>';
|
||||
|
||||
@@ -37,9 +37,9 @@ print '';
|
||||
|
||||
print 'static void';
|
||||
print '_glibtop_missing_feature (glibtop *server, const char *feature,';
|
||||
print "\t\t\t const u_int64_t present, u_int64_t *required)";
|
||||
print "\t\t\t const guint64 present, guint64 *required)";
|
||||
print '{';
|
||||
print "\tu_int64_t old_required = *required;\n";
|
||||
print "\tguint64 old_required = *required;\n";
|
||||
print "\t/* Return if we have all required fields. */";
|
||||
print "\tif ((~present & old_required) == 0)";
|
||||
print "\t\treturn;\n";
|
||||
@@ -67,8 +67,8 @@ print '';
|
||||
print '/* Library functions. */';
|
||||
print '';
|
||||
|
||||
$convert{'long'} = 'int64_t';
|
||||
$convert{'ulong'} = 'u_int64_t';
|
||||
$convert{'long'} = 'gint64';
|
||||
$convert{'ulong'} = 'guint64';
|
||||
$convert{'pid_t'} = 'pid_t';
|
||||
$convert{'int'} = 'int';
|
||||
$convert{'ushort'} = 'unsigned short';
|
||||
|
26
lib/open.c
26
lib/open.c
@@ -62,17 +62,17 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
fprintf (stderr, "Connecting to '%s' port %ld.\n",
|
||||
server->server_host, server->server_port);
|
||||
#endif
|
||||
|
||||
|
||||
connect_type = glibtop_make_connection
|
||||
(server->server_host, server->server_port,
|
||||
&server->socket);
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||
#endif
|
||||
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||
|
||||
|
||||
server->features = -1;
|
||||
break;
|
||||
case GLIBTOP_METHOD_UNIX:
|
||||
@@ -83,7 +83,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
connect_type = glibtop_make_connection
|
||||
("unix", 0, &server->socket);
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||
#endif
|
||||
|
||||
@@ -101,7 +101,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
glibtop_error_io_r (server, "cannot make a pipe");
|
||||
|
||||
server->pid = fork ();
|
||||
|
||||
|
||||
if (server->pid < 0) {
|
||||
glibtop_error_io_r (server, "fork failed");
|
||||
} else if (server->pid == 0) {
|
||||
@@ -119,7 +119,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
close (server->output [0]);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||
|
||||
|
||||
server->features = -1;
|
||||
break;
|
||||
}
|
||||
@@ -141,25 +141,25 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
sizeof (glibtop_sysdeps));
|
||||
|
||||
size = strlen (version) + 1;
|
||||
|
||||
|
||||
glibtop_read_l (server, sizeof (nbytes), &nbytes);
|
||||
|
||||
if (nbytes != size)
|
||||
glibtop_error_r (server,
|
||||
"Requested %u bytes but got %u.",
|
||||
size, nbytes);
|
||||
|
||||
|
||||
glibtop_read_l (server, nbytes, buffer);
|
||||
|
||||
|
||||
if (memcmp (version, buffer, size))
|
||||
glibtop_error_r (server, "server version is not %s",
|
||||
LIBGTOP_VERSION);
|
||||
|
||||
/* Now ask it for its features. */
|
||||
|
||||
|
||||
glibtop_call_l (server, GLIBTOP_CMND_SYSDEPS, 0, NULL,
|
||||
sizeof (glibtop_sysdeps), &sysdeps);
|
||||
|
||||
|
||||
server->features = sysdeps.features;
|
||||
|
||||
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
||||
@@ -176,6 +176,6 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Calling sysdeps open function.\n");
|
||||
#endif
|
||||
|
||||
|
||||
glibtop_init_s (&server, features, flags);
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user