Compare commits
313 Commits
LIBGTOP_2_
...
LIBGTOP_2_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5516366d00 | ||
|
|
ca0915e32c | ||
|
|
594e4f0079 | ||
|
|
7163fa842b | ||
|
|
83bf982682 | ||
|
|
95fc1fb662 | ||
|
|
aafbeadcf0 | ||
|
|
5666bf9d33 | ||
|
|
3110b3d491 | ||
|
|
f80e0ea5d8 | ||
|
|
2679063df2 | ||
|
|
98b04a6165 | ||
|
|
173785bf09 | ||
|
|
bd721cf53d | ||
|
|
2b5bc90451 | ||
|
|
635eefba48 | ||
|
|
6da87f745d | ||
|
|
ed3e3212bb | ||
|
|
fb34b3bb6e | ||
|
|
fce31c179d | ||
|
|
9d43d5d272 | ||
|
|
f91299a487 | ||
|
|
1e3f2ba5d0 | ||
|
|
6066288d72 | ||
|
|
f53e526dec | ||
|
|
84b9a1e768 | ||
|
|
fcd114ff1b | ||
|
|
0fb561662e | ||
|
|
beff584d14 | ||
|
|
45a31cd564 | ||
|
|
bb0b77e0ae | ||
|
|
50e34421f7 | ||
|
|
ab60fc3dd1 | ||
|
|
2661891d6a | ||
|
|
ba096bfae2 | ||
|
|
9b56e502eb | ||
|
|
99ec1e3ff3 | ||
|
|
735102a5c1 | ||
|
|
72a46436d9 | ||
|
|
47cd681c0e | ||
|
|
1451a36a04 | ||
|
|
358b0610f5 | ||
|
|
1401fdd5bd | ||
|
|
16f6fab592 | ||
|
|
c140390f1d | ||
|
|
5a681b7bea | ||
|
|
cc2790545c | ||
|
|
a13877776b | ||
|
|
243ed7fdd0 | ||
|
|
dc8687227a | ||
|
|
d627a9a601 | ||
|
|
f84fe9edc7 | ||
|
|
6a53807bb8 | ||
|
|
2f2bbe236b | ||
|
|
8180a1936a | ||
|
|
b1b7355ea8 | ||
|
|
a105dbecdc | ||
|
|
060dd70e09 | ||
|
|
739db1b32d | ||
|
|
fd525d3fa3 | ||
|
|
78add589c6 | ||
|
|
c234586bfa | ||
|
|
8d25899dc6 | ||
|
|
b7def65c7a | ||
|
|
9939d070b9 | ||
|
|
206c620fd6 | ||
|
|
057b16ec01 | ||
|
|
ef899af6f3 | ||
|
|
730c36e1fd | ||
|
|
96f9b4f199 | ||
|
|
3dbb6f1eca | ||
|
|
52ea02ba87 | ||
|
|
1b5fe965df | ||
|
|
7b274d19e4 | ||
|
|
934c7dca93 | ||
|
|
5fe502317e | ||
|
|
0e5efea6f1 | ||
|
|
b1111e2b2a | ||
|
|
64af09a8a2 | ||
|
|
77ced38c16 | ||
|
|
8963e38a7c | ||
|
|
a8f4eec9e6 | ||
|
|
a9e9fe07ef | ||
|
|
85b34b98af | ||
|
|
ab8bd67cdf | ||
|
|
5650b49719 | ||
|
|
71426ed454 | ||
|
|
4458d6ba13 | ||
|
|
70210721e0 | ||
|
|
b81f82e9a2 | ||
|
|
4df359b9d3 | ||
|
|
1c248d7e93 | ||
|
|
b2368f46ca | ||
|
|
890398bbb5 | ||
|
|
84cc3242fc | ||
|
|
2456c458c2 | ||
|
|
a6710fbfad | ||
|
|
6dca1e55d8 | ||
|
|
1516e5e192 | ||
|
|
f659523856 | ||
|
|
6b81006d08 | ||
|
|
b70be80aca | ||
|
|
f8fb49a428 | ||
|
|
18356c6ae6 | ||
|
|
807d4bf6ae | ||
|
|
c0350d38ae | ||
|
|
d3a9e47ffb | ||
|
|
c8a3e46433 | ||
|
|
222706a0d4 | ||
|
|
2168cc5f71 | ||
|
|
08808384f4 | ||
|
|
0f1306a20f | ||
|
|
84b05c0219 | ||
|
|
6916ada308 | ||
|
|
5943c96d35 | ||
|
|
909a3e6512 | ||
|
|
ca94618e27 | ||
|
|
a478d380f4 | ||
|
|
af80d4d3d2 | ||
|
|
973dc2d37c | ||
|
|
97b32c7046 | ||
|
|
fb8184afba | ||
|
|
16643866cf | ||
|
|
aa9299f344 | ||
|
|
6f69cd863b | ||
|
|
7262bf39d8 | ||
|
|
9e773390cc | ||
|
|
54cbdb8158 | ||
|
|
c70b11ee00 | ||
|
|
965b26c926 | ||
|
|
384cd6b2db | ||
|
|
b055e3710b | ||
|
|
669c6fd670 | ||
|
|
617c4568d2 | ||
|
|
93c998cf7a | ||
|
|
46a0750736 | ||
|
|
e9227d1a2e | ||
|
|
41b7120527 | ||
|
|
0ad6ae0a12 | ||
|
|
6197e3ad47 | ||
|
|
e577717013 | ||
|
|
6b19a0090a | ||
|
|
a515242f17 | ||
|
|
a7b13c7d83 | ||
|
|
849d2da085 | ||
|
|
d4b195045a | ||
|
|
c269f0adb8 | ||
|
|
4f65ee018c | ||
|
|
8a8b975d08 | ||
|
|
64955004a0 | ||
|
|
4ef82847fe | ||
|
|
9da5658ba1 | ||
|
|
b300842f47 | ||
|
|
9a49872026 | ||
|
|
1aa7aae2f6 | ||
|
|
70ba9e2559 | ||
|
|
13323e55ee | ||
|
|
57d96878de | ||
|
|
10de82e256 | ||
|
|
29240a5a96 | ||
|
|
1baa2ef8ff | ||
|
|
0bd5a6c082 | ||
|
|
2698263164 | ||
|
|
85d53a69cf | ||
|
|
0a42a8d018 | ||
|
|
9d772e3c07 | ||
|
|
ddd9d11c71 | ||
|
|
b161b5bb72 | ||
|
|
5607fefe30 | ||
|
|
9d9aed4023 | ||
|
|
62edf91314 | ||
|
|
38e55efd2d | ||
|
|
67c9c8e3e3 | ||
|
|
013ab1841d | ||
|
|
88c5d4fd61 | ||
|
|
adbe42cda3 | ||
|
|
2e6e310a3e | ||
|
|
818e941413 | ||
|
|
dfa868ce82 | ||
|
|
dc353a4172 | ||
|
|
4da65d5d0b | ||
|
|
a2043e3aaf | ||
|
|
f03304a920 | ||
|
|
beedc57724 | ||
|
|
3049619931 | ||
|
|
ddb0c913c1 | ||
|
|
c7244ba1ba | ||
|
|
146ccb2511 | ||
|
|
91c35548e4 | ||
|
|
8705ef6b65 | ||
|
|
d5b27269d8 | ||
|
|
6915f098ca | ||
|
|
376613ddd4 | ||
|
|
6a9cd61fd9 | ||
|
|
18a3526ea7 | ||
|
|
333c85736c | ||
|
|
df5ec3c02a | ||
|
|
368e94c8e1 | ||
|
|
f5de8e4ead | ||
|
|
715975f7ed | ||
|
|
f13099194c | ||
|
|
1dd8a8e8fc | ||
|
|
d9fb27e57c | ||
|
|
dde1a2c1aa | ||
|
|
5bff21b7b4 | ||
|
|
e58c732f54 | ||
|
|
48404428a2 | ||
|
|
d009071e40 | ||
|
|
33b1fcf4f9 | ||
|
|
c0a9dedc4b | ||
|
|
7ab96d212d | ||
|
|
bd6e248adf | ||
|
|
9abfb85080 | ||
|
|
fdef2d5b38 | ||
|
|
641eb24a8b | ||
|
|
8754f434d1 | ||
|
|
f656208234 | ||
|
|
0df1594f31 | ||
|
|
1ab7936ced | ||
|
|
dcd43f8a15 | ||
|
|
7f7c5506f7 | ||
|
|
b0a4cb2379 | ||
|
|
8c06ed1516 | ||
|
|
56154e50f2 | ||
|
|
902670623f | ||
|
|
0e5d856065 | ||
|
|
35b6acfc22 | ||
|
|
0830a0b8a7 | ||
|
|
f4be080d63 | ||
|
|
a599e04eb6 | ||
|
|
0dec9a7b70 | ||
|
|
75958ce2ab | ||
|
|
20bbc17f6b | ||
|
|
19ffa1419a | ||
|
|
1e568f294e | ||
|
|
7752a312e9 | ||
|
|
23c7449898 | ||
|
|
64b3db2dc0 | ||
|
|
e94b4882b6 | ||
|
|
1e629c9a86 | ||
|
|
6b6e1261f1 | ||
|
|
bbc872138b | ||
|
|
3555a6ca0c | ||
|
|
e5928d0b13 | ||
|
|
5bb7e07e95 | ||
|
|
043f4a498f | ||
|
|
94297b8460 | ||
|
|
0f5b941b15 | ||
|
|
df6d645afd | ||
|
|
9ac47c7839 | ||
|
|
8d734d1296 | ||
|
|
7fa43bba5d | ||
|
|
e2e01a9405 | ||
|
|
5530697ab8 | ||
|
|
95f279d1a7 | ||
|
|
1904a463e2 | ||
|
|
7ce1f9e9d7 | ||
|
|
5221f6d4f8 | ||
|
|
ac175a4cbf | ||
|
|
f53d1a69bc | ||
|
|
adaa9cad97 | ||
|
|
7201ec7790 | ||
|
|
113525a7d7 | ||
|
|
d6e62e85d2 | ||
|
|
ee153445f0 | ||
|
|
50b43a0f41 | ||
|
|
25c26a6620 | ||
|
|
0438b9d69a | ||
|
|
90c01f24fe | ||
|
|
dc0f442247 | ||
|
|
017f4d20c7 | ||
|
|
c021ce7851 | ||
|
|
93ab9882c3 | ||
|
|
a0477c6212 | ||
|
|
6780e78a6b | ||
|
|
d8871029eb | ||
|
|
6799ce187b | ||
|
|
2b6b2578be | ||
|
|
1b0a9fd291 | ||
|
|
43e070dd8b | ||
|
|
b0d18119ff | ||
|
|
be05f8163a | ||
|
|
d6cdf95d83 | ||
|
|
2256a9127f | ||
|
|
e6507a80be | ||
|
|
8411e566b4 | ||
|
|
40854f4179 | ||
|
|
41062d0262 | ||
|
|
58c882a860 | ||
|
|
789d156972 | ||
|
|
19c24da036 | ||
|
|
929a025f53 | ||
|
|
6a7c289305 | ||
|
|
b65a4a7dcb | ||
|
|
39b2fffe83 | ||
|
|
efb913acff | ||
|
|
79e756a2f7 | ||
|
|
b08968e644 | ||
|
|
dff497d2fa | ||
|
|
38de742ca4 | ||
|
|
e0d3401bc4 | ||
|
|
aae2b5a94d | ||
|
|
a5bd38fc19 | ||
|
|
931b8f065e | ||
|
|
f7885e488f | ||
|
|
8122db69ee | ||
|
|
ab13d4919d | ||
|
|
1d955fbf1f | ||
|
|
8af25a2003 | ||
|
|
12eb6a25ec | ||
|
|
77ced087a1 | ||
|
|
983475d0c1 | ||
|
|
70b65c05e5 |
90
ChangeLog
90
ChangeLog
@@ -1,93 +1,3 @@
|
||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* lib/read.c: (glibtop_read_l):
|
||||
* lib/read_data.c: (glibtop_read_data_l):
|
||||
* lib/write.c: (glibtop_write_l):
|
||||
reverted string freeze breakage
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* lib/read.c: (glibtop_read_l):
|
||||
* lib/read_data.c: (glibtop_read_data_l):
|
||||
* lib/write.c: (glibtop_write_l): apply patch for ngettext support
|
||||
by Christian Neumair <chris@gnome-de.org>
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* src/inodedb/Makefile.am: link to libgtop_suid_common-2.0.la
|
||||
(Closes: #107990)
|
||||
|
||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* configure.in: make it compile
|
||||
|
||||
2003-10-19 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* support/*: Reverted libgtop changes. It's a common module
|
||||
and I should not modify it.
|
||||
* Added/removed files. Now the move should be done.
|
||||
|
||||
2003-10-19 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* libgtop-GNOME-2-0-branch moved to HEAD.
|
||||
|
||||
2003-09-30 Laurent Dhima <laurenti@alblinux.net>
|
||||
|
||||
* configure.in: Added "sq" to ALL_LINGUAS.
|
||||
|
||||
2003-09-17 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* configure.in: Added "ta" (Tamil) to the languages' list.
|
||||
|
||||
2003-09-13 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* configure.in (ALL_LINGUAS): Removed es_ES.
|
||||
|
||||
2003-09-08 Kevin Vandersloot
|
||||
|
||||
* configure.in: release 2.0.5
|
||||
|
||||
2003-09-06 Taneem Ahmed <taneem@bengalinux.org>
|
||||
|
||||
* configure.in: Added "bn" to ALL_LINGUAS.
|
||||
|
||||
2003-08-24 Kevin Vandersloot
|
||||
|
||||
* configure.in: release 2.0.4
|
||||
|
||||
2003-08-13 Guntupalli Karunakar <karunakar@freedomink.org>
|
||||
|
||||
* configure.in: Added "hi" (Hindi) in ALL_LINGUAS.
|
||||
|
||||
2003-08-13 Andrew Sobala <aes@gnome.org>
|
||||
|
||||
* configure.in: release 2.0.3
|
||||
|
||||
2003-08-09 Dafydd Harries <daf@parnassus.ath.cx>
|
||||
|
||||
* configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
|
||||
|
||||
2003-08-03 Malcolm Tredinnick <malcolm@commsecure.com.au>
|
||||
|
||||
* Makefile.am: Change subdirectory build order so that
|
||||
'distclean' target work (and other targets remain working).
|
||||
Fixes bug #84622.
|
||||
|
||||
2003-06-10 Kjartan Maraas <set EMAIL_ADDRESS environment variable>
|
||||
|
||||
* libgtop-2.0.pc.in: Fix missing build flags. Patch from
|
||||
Julio Merino. Fixes bug #103086.
|
||||
* sysdeps/linux/mem.c: (glibtop_get_mem_s): Fix memory calculation
|
||||
under Linux. Patch from <rwahl@gmx.de>. Fixes bug #68626.
|
||||
|
||||
2003-06-10 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* sysdeps/freebsd/glibtop_machine.h:
|
||||
* sysdeps/kernel/glibtop_private.h:
|
||||
* sysdeps/solaris/glibtop_machine.h:
|
||||
* sysdeps/solaris/glibtop_private.h: Comment out text after
|
||||
#endif to make some compilers happy.
|
||||
|
||||
2003-05-11 Andrew Sobala <aes@gnome.org>
|
||||
|
||||
* configure.in: release 2.0.2
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
Email: martin@home-of-linux.org
|
||||
Email: dave@srce.hr
|
||||
@@ -10,7 +10,7 @@ if BUILD_GNOME_SUPPORT
|
||||
support = support
|
||||
endif
|
||||
|
||||
SUBDIRS = . po $(support) misc include sysdeps lib src \
|
||||
SUBDIRS = po $(support) misc include sysdeps lib src \
|
||||
$(examples_SUBDIRS) doc
|
||||
|
||||
libgtopinclude_HEADERS = glibtop.h
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
RELEASE NOTES FOR LIBGTOP 1.1.2
|
||||
===============================
|
||||
|
||||
This is a snapshot release for Solaris users of October GNOME. It contains
|
||||
a first version of the Solaris port of LibGTop which works at least on
|
||||
Solaris 7.
|
||||
|
||||
Please use LibGTop 1.0.x if you're not on a Solaris system
|
||||
(look at the README file for details).
|
||||
|
||||
IMPORTANT CHANGES SINCE 1.0:
|
||||
----------------------------
|
||||
|
||||
* All `glibtop_get_<feature>_* ()' and all `glibtop_init_<feature>_* ()'
|
||||
functions now have an `int' return value and return 0 on success and -1
|
||||
on failure.
|
||||
|
||||
* glibtop_cpu: Added `xcpu_flags'
|
||||
|
||||
* glibtop_proc_state: Changed `state' from char to unsigned and added
|
||||
GLIBTOP_PROCESS_RUNNING, GLIBTOP_PROCESS_INTERRUPTIBLE,
|
||||
GLIBTOP_PROCESS_UNINTERRUPTIBLE, GLIBTOP_PROCESS_ZOMBIE,
|
||||
GLIBTOP_PROCESS_STOPPED, GLIBTOP_PROCESS_SWAPPING constants for it.
|
||||
|
||||
* `GLIBTOP_MOUNTENTRY_LEN' and `GLIBTOP_MAX_GROUPS' are now defined in
|
||||
<glibtop/limits.h>
|
||||
|
||||
* Removed the `GLIBTOP_SYSDEPS_FEATURES' and `GLIBTOP_SYSDEPS_POINTER_SIZE'
|
||||
constants from <glibtop/sysdeps.h> and let numbering start at zero for
|
||||
`GLIBTOP_SYSDEPS_CPU'.
|
||||
|
||||
OTHER CHANGES SINCE 1.0:
|
||||
-----------------------
|
||||
|
||||
* Use G_GNUC_UNUSED in <glibtop/error.h> to avoid compiler warnings.
|
||||
|
||||
* The `libgtop-config' script now accepts `--cflags', `--libs' and
|
||||
`--extra-libs' parameter.
|
||||
|
||||
* The libraries are now called -lgtop-1.1 etc. so you can use 1.0.x and
|
||||
1.1.x in parallel.
|
||||
|
||||
CHANGES SINCE 1.0 MAINLY INTERESTING FOR DEVELOPERS:
|
||||
---------------------------------------------------
|
||||
|
||||
* We create a `glibtop-config.h' now which gets included from <glibtop.h>
|
||||
when we're _IN_LIBGTOP. It contains things such as `u_int64_t' etc.
|
||||
|
||||
October 1999
|
||||
Martin Baulig
|
||||
@@ -1,5 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
*.lo
|
||||
@@ -1,15 +0,0 @@
|
||||
if NEED_LIBGTOP
|
||||
server_dir = server
|
||||
else
|
||||
server_dir =
|
||||
endif
|
||||
|
||||
if HAVE_SYSDEPS
|
||||
sysdeps_dir = sysdeps
|
||||
else
|
||||
sysdeps_dir =
|
||||
endif
|
||||
|
||||
SUBDIRS = $(server_dir) $(sysdeps_dir) common
|
||||
|
||||
DIST_SUBDIRS = server sysdeps common
|
||||
@@ -1,7 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
*.lo
|
||||
*.la
|
||||
marshal.c
|
||||
@@ -1,42 +0,0 @@
|
||||
2000-11-26 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* glibtop-backend-private.h: Removed.
|
||||
|
||||
* backend-common.h: New files.
|
||||
|
||||
* backend-common.c (_open_common): Don't overwrite
|
||||
`backend->_priv'.
|
||||
|
||||
2000-11-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Link libgtop_backend_common.la against
|
||||
$(top_builddir)/sysdeps/common/libgtop_common.la and
|
||||
$(top_builddir)/lib/libgtop_server.la.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* backend-sysdeps.c (LibGTopBackendInfo): Call this
|
||||
`LibGTopBackendInfo_Common' when we don't use gmodule.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
|
||||
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
|
||||
|
||||
2000-01-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).
|
||||
|
||||
* libgtop-common.backend: New file.
|
||||
|
||||
* backend-common.c (glibtop_backend_common): Renamed to
|
||||
`LibGTopBackendInfo'.
|
||||
|
||||
2000-01-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Initial version of the "glibtop-backend-common" backend.
|
||||
|
||||
* backend-common.c: New file.
|
||||
* glibtop-backend-private.h: New file.
|
||||
* marshal.pl: New file. Automatically creates `marshal.c'.
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
backenddir = @LIBGTOP_BACKEND_DIR@
|
||||
|
||||
if LIBGTOP_USE_GMODULE
|
||||
backendlibdir = $(backenddir)
|
||||
else
|
||||
backendlibdir = $(libdir)
|
||||
endif
|
||||
|
||||
dynamic_ldflags = @libgtop_dynamic_ldflags@
|
||||
|
||||
backend_DATA = \
|
||||
libgtop-common.backend
|
||||
|
||||
noinst_HEADERS = \
|
||||
backend-common.h
|
||||
|
||||
backendlib_LTLIBRARIES = \
|
||||
libgtop_backend_common.la
|
||||
|
||||
libgtop_backend_common_la_SOURCES = \
|
||||
backend-common.c \
|
||||
marshal.c
|
||||
|
||||
libgtop_backend_common_la_LDFLAGS = \
|
||||
$(LT_VERSION_INFO) $(dynamic_ldflags)
|
||||
|
||||
libgtop_backend_common_la_LIBADD = \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop_server.la
|
||||
|
||||
BUILT_SOURCES = \
|
||||
marshal.c
|
||||
|
||||
EXTRA_DIST = \
|
||||
marshal.pl \
|
||||
libgtop-common.backend
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
|
||||
mv tmp-t marshal.c
|
||||
|
||||
@@ -1,61 +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 <backend-common.h>
|
||||
|
||||
static int
|
||||
_open_common (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
|
||||
static int
|
||||
_close_common (glibtop_server *, glibtop_backend *, void *closure);
|
||||
|
||||
extern glibtop_call_vector glibtop_backend_common_call_vector;
|
||||
|
||||
#ifdef LIBGTOP_USE_GMODULE
|
||||
glibtop_backend_info LibGTopBackendInfo = {
|
||||
"glibtop-backend-common", _open_common, _close_common,
|
||||
&glibtop_backend_common_call_vector
|
||||
};
|
||||
#else
|
||||
glibtop_backend_info LibGTopBackendInfo_Common = {
|
||||
"glibtop-backend-common", _open_common, _close_common,
|
||||
&glibtop_backend_common_call_vector
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
_open_common (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_close_common (glibtop_server *server, glibtop_backend *backend,
|
||||
void *closure)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,37 +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_BACKEND_COMMON_H__
|
||||
#define __GLIBTOP_BACKEND_COMMON_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
#endif
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0"?> <!-- -*-xml-*- -->
|
||||
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
|
||||
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
|
||||
|
||||
<libgtop:Backend>
|
||||
<libgtop:Name>glibtop-backend-common</libgtop:Name>
|
||||
<libgtop:Location>
|
||||
<libgtop:LibtoolName>libgtop_backend_common.la</libgtop:LibtoolName>
|
||||
<libgtop:ShlibName>libgtop_backend_common.so</libgtop:ShlibName>
|
||||
</libgtop:Location>
|
||||
</libgtop:Backend>
|
||||
|
||||
</libgtop:Backends>
|
||||
@@ -1,175 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
$always_use_temp_storage = 1;
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
print '/* marshal.c */';
|
||||
print "/* This is a generated file. Please modify `marshal.pl' */";
|
||||
print '';
|
||||
|
||||
print '#include <backend-common.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '';
|
||||
print '#include <glibtop/call-vector.h>';
|
||||
print '';
|
||||
|
||||
$feature_count = 0;
|
||||
|
||||
while (<>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^#]/) {
|
||||
&output($_);
|
||||
}
|
||||
}
|
||||
|
||||
sub output {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
$features{++$feature_count} = $orig;
|
||||
|
||||
return unless $orig =~ /^@/;
|
||||
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$retval = 'int';
|
||||
}
|
||||
elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$call_prefix = 'retval = ';
|
||||
$call_prefix_space = ' ';
|
||||
}
|
||||
else {
|
||||
$retval_param = 'NULL';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = '';
|
||||
$prefix_space = '';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
}
|
||||
|
||||
$need_temp_storage = $always_use_temp_storage;
|
||||
$first_param_name = '';
|
||||
|
||||
$call_param = '';
|
||||
$param_decl = '';
|
||||
$need_temp_len = 0;
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
$type = $params[$param];
|
||||
$type =~ s/\(.*//;
|
||||
$list =~ s/^.*\(//;
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
if ($first_param_name eq '') {
|
||||
$first_param_name = $fields[$field];
|
||||
}
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$need_temp_storage = 1;
|
||||
}
|
||||
|
||||
if ($param_decl eq '') {
|
||||
$param_decl = ",\n " . $space . ' ';
|
||||
}
|
||||
else {
|
||||
$param_decl = $param_decl . ', ';
|
||||
}
|
||||
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
|
||||
$call_param = $call_param . ', ' . $fields[$field];
|
||||
}
|
||||
}
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param);
|
||||
} else {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param);
|
||||
}
|
||||
|
||||
$func_decl = 'static '.$retval."\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
} else {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
}
|
||||
|
||||
$total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code);
|
||||
|
||||
print $total_code;
|
||||
}
|
||||
|
||||
$call_vector_code = '';
|
||||
for ($nr = 1; $nr <= $feature_count; $nr++) {
|
||||
$feature = $features{$nr};
|
||||
|
||||
if ($feature =~ /^@/) {
|
||||
$feature =~ s/^@//;
|
||||
|
||||
$call_vector_code .= sprintf (qq[\t_glibtop_get_%s_c,\n], $feature);
|
||||
} else {
|
||||
$call_vector_code .= sprintf (qq[\tNULL,\n]);
|
||||
}
|
||||
}
|
||||
|
||||
print 'glibtop_call_vector glibtop_backend_common_call_vector = {';
|
||||
print $call_vector_code;
|
||||
print '};';
|
||||
print '';
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
*.lo
|
||||
*.la
|
||||
marshal.c
|
||||
demarshal.c
|
||||
libgtop_server
|
||||
command.h
|
||||
@@ -1,85 +0,0 @@
|
||||
2000-11-27 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* backend-server.c (backend_server_quark): New global variable.
|
||||
(_open_server, _close_server): Use the quark.
|
||||
* commands.c: Likewise.
|
||||
|
||||
2000-11-26 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* backend-server.h: New file.
|
||||
(backend_server_private): New struct, formerly known
|
||||
as glibtop_backend_private.
|
||||
|
||||
* glibtop-backend-private.h: Removed.
|
||||
|
||||
* backend-server.c: (_open_server): Use g_object_set_data()
|
||||
to set add the backend_server_private data to the glibtop_backend,
|
||||
don't override `backend->_priv'.
|
||||
(_close_server): Use g_object_get_data() to get the data.
|
||||
[FIXME: Use quarks directly.]
|
||||
|
||||
* read.c: (glibtop_read_i): Replaced the glibtop_server and
|
||||
glibtop_backend arguments with backend_server_private.
|
||||
* read_data.c: (glibtop_read_data_i): Likewise.
|
||||
* write.c: (glibtop_write_i): Likewise.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* backend-sysdeps.c (LibGTopBackendInfo): Call this
|
||||
`LibGTopBackendInfo_Server' when we don't use gmodule.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
|
||||
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
|
||||
|
||||
2000-01-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* demarshal.pl: Only emit code for functions which are
|
||||
really suid/sgid.
|
||||
|
||||
2000-01-13 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* write.c (glibtop_write_i): The buffer which we write is
|
||||
now a `const'.
|
||||
|
||||
2000-01-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Install everything except the server binary
|
||||
in $(LIBGTOP_BACKEND_DIR).
|
||||
|
||||
* libgtop-server.backend: New file.
|
||||
|
||||
* backend-server.c (glibtop_backend_server): Renamed to
|
||||
`LibGTopBackendInfo'.
|
||||
|
||||
2000-01-08 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* command.h.in (glibtop_response): New structure.
|
||||
|
||||
2000-01-02 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* command.pl: New file. Creates `command.h' from `command.h.in'.
|
||||
* command.h.in: New file. Template file for `command.h'.
|
||||
|
||||
* io.c, version.c: New files. Copied here from `src/daemon'.
|
||||
|
||||
* demarshal.pl: New file. Automatically creates `demarshal.c'.
|
||||
* demarshal.c: This automatically created file handles the
|
||||
demarshalling in the libgtop_server.
|
||||
|
||||
* Makefile.am: Build the `libgtop_server' here.
|
||||
* server.c, server.h: New files. Copied here from `src/daemon'.
|
||||
|
||||
2000-01-01 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Initial version of the "glibtop-backend-server" backend.
|
||||
|
||||
* command.c, read.c, read_data.c, write.c: New files. Moved here
|
||||
from the `lib' directory.
|
||||
|
||||
* backend-server.c: New file.
|
||||
* glibtop-backend-private.h: New file.
|
||||
|
||||
* marshal.pl: New file. Automatically creates `marshal.c'.
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @INCLUDES@ -D_BSD \
|
||||
-DLIBGTOP_COMPILE_SYSTEM=\"`uname -s`\" \
|
||||
-DLIBGTOP_COMPILE_RELEASE=\"`uname -r`\" \
|
||||
-DLIBGTOP_COMPILE_MACHINE=\"`uname -m`\"
|
||||
|
||||
backenddir = @LIBGTOP_BACKEND_DIR@
|
||||
|
||||
if LIBGTOP_USE_GMODULE
|
||||
backendlibdir = $(backenddir)
|
||||
else
|
||||
backendlibdir = $(libdir)
|
||||
endif
|
||||
|
||||
dynamic_ldflags = @libgtop_dynamic_ldflags@
|
||||
|
||||
backend_DATA = \
|
||||
libgtop-server.backend
|
||||
|
||||
noinst_HEADERS = \
|
||||
backend-server.h
|
||||
|
||||
backendlib_LTLIBRARIES = \
|
||||
libgtop_backend_server.la
|
||||
|
||||
bin_PROGRAMS = \
|
||||
@server_programs@
|
||||
|
||||
EXTRA_PROGRAMS = \
|
||||
libgtop_server
|
||||
|
||||
libgtop_backend_server_la_SOURCES = \
|
||||
backend-server.c \
|
||||
marshal.c \
|
||||
command.c \
|
||||
read.c \
|
||||
read_data.c \
|
||||
write.c
|
||||
|
||||
libgtop_backend_server_la_LDFLAGS = \
|
||||
$(LT_VERSION_INFO) $(dynamic_ldflags)
|
||||
|
||||
libgtop_server_SOURCES = \
|
||||
server.c \
|
||||
server.h \
|
||||
demarshal.c \
|
||||
version.c \
|
||||
io.c
|
||||
|
||||
libgtop_server_LDADD = \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_suid_common.la \
|
||||
@LIBSUPPORT@
|
||||
|
||||
if ENABLE_STATIC
|
||||
libgtop_server_LDFLAGS = -static
|
||||
endif
|
||||
|
||||
BUILT_SOURCES = \
|
||||
marshal.c \
|
||||
demarshal.c \
|
||||
command.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
marshal.pl \
|
||||
demarshal.pl \
|
||||
command.pl \
|
||||
command.h.in \
|
||||
libgtop-server.backend
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
|
||||
mv tmp-t marshal.c
|
||||
|
||||
demarshal.c: demarshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/demarshal.pl < $(top_srcdir)/features.def > tmp-t
|
||||
mv tmp-t demarshal.c
|
||||
|
||||
command.h: command.pl command.h.in $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/command.pl $(top_srcdir)/features.def $(srcdir)/command.h.in > tmp-t
|
||||
mv tmp-t command.h
|
||||
|
||||
@@ -1,113 +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 <backend-server.h>
|
||||
|
||||
static int
|
||||
_open_server (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
|
||||
static int
|
||||
_close_server (glibtop_server *, glibtop_backend *, void *);
|
||||
|
||||
extern glibtop_call_vector glibtop_backend_server_call_vector;
|
||||
|
||||
#ifdef LIBGTOP_USE_GMODULE
|
||||
glibtop_backend_info LibGTopBackendInfo = {
|
||||
"glibtop-backend-server", _open_server, _close_server,
|
||||
&glibtop_backend_server_call_vector
|
||||
};
|
||||
#else
|
||||
glibtop_backend_info LibGTopBackendInfo_Server = {
|
||||
"glibtop-backend-server", _open_server, _close_server,
|
||||
&glibtop_backend_server_call_vector
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
_open_server (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
{
|
||||
backend_server_private *priv;
|
||||
|
||||
priv = glibtop_calloc_r (server, 1, sizeof (backend_server_private));
|
||||
|
||||
glibtop_backend_set_closure_data (backend, priv);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "open_server - %p, %p, %p\n", server, backend, priv);
|
||||
|
||||
fprintf (stderr, "Opening pipe to server (%s).\n", LIBGTOP_SERVER);
|
||||
#endif
|
||||
|
||||
if (pipe (priv->input) || pipe (priv->output)) {
|
||||
glibtop_warn_io_r (server, "cannot make a pipe");
|
||||
return -1;
|
||||
}
|
||||
|
||||
priv->pid = fork ();
|
||||
|
||||
if (priv->pid < 0) {
|
||||
glibtop_warn_io_r (server, "fork failed");
|
||||
return -1;
|
||||
} else if (priv->pid == 0) {
|
||||
close (0); close (1);
|
||||
close (priv->input [0]);
|
||||
close (priv->output [1]);
|
||||
dup2 (priv->input [1], 1);
|
||||
dup2 (priv->output [0], 0);
|
||||
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
|
||||
glibtop_error_io_r (server, "execl (%s)",
|
||||
LIBGTOP_SERVER);
|
||||
_exit (2);
|
||||
}
|
||||
|
||||
close (priv->input [1]);
|
||||
close (priv->output [0]);
|
||||
|
||||
glibtop_server_ref (server);
|
||||
priv->server = server;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_close_server (glibtop_server *server, glibtop_backend *backend,
|
||||
void *closure)
|
||||
{
|
||||
backend_server_private *priv = closure;
|
||||
|
||||
kill (priv->pid, SIGKILL);
|
||||
close (priv->input [0]);
|
||||
close (priv->output [1]);
|
||||
|
||||
glibtop_server_unref (priv->server);
|
||||
|
||||
priv->pid = 0;
|
||||
|
||||
g_free (priv);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,66 +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_BACKEND_COMMON_H__
|
||||
#define __GLIBTOP_BACKEND_COMMON_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
typedef struct _backend_server_private backend_server_private;
|
||||
|
||||
struct _backend_server_private
|
||||
{
|
||||
u_int64_t flags;
|
||||
int input [2]; /* Pipe client <- server */
|
||||
int output [2]; /* Pipe client -> server */
|
||||
pid_t pid; /* PID of the server */
|
||||
|
||||
glibtop_server *server;
|
||||
};
|
||||
|
||||
void *
|
||||
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
unsigned command, size_t send_size, const void *send_ptr,
|
||||
size_t data_size, const void *data_ptr,
|
||||
size_t recv_size, void *recv_ptr,
|
||||
int *retval_ptr);
|
||||
|
||||
void
|
||||
glibtop_read_i (backend_server_private *priv, size_t size, void *buf);
|
||||
|
||||
void *
|
||||
glibtop_read_data_i (backend_server_private *priv);
|
||||
|
||||
void
|
||||
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,100 +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 <backend-server.h>
|
||||
|
||||
#include "command.h"
|
||||
|
||||
void *
|
||||
glibtop_call_i (glibtop_server *server, backend_server_private *priv,
|
||||
unsigned command, size_t send_size, const void *send_buf,
|
||||
size_t data_size, const void *data_buf,
|
||||
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));
|
||||
|
||||
cmnd.command = command;
|
||||
|
||||
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
||||
* send it together with command, so we only need one system call instead
|
||||
* of two. */
|
||||
|
||||
if (send_size <= _GLIBTOP_PARAM_SIZE) {
|
||||
memcpy (cmnd.parameter, send_buf, send_size);
|
||||
cmnd.param_size = send_size;
|
||||
} else {
|
||||
cmnd.send_size = send_size;
|
||||
}
|
||||
|
||||
cmnd.data_size = data_size;
|
||||
|
||||
glibtop_write_i (priv, sizeof (glibtop_command), &cmnd);
|
||||
|
||||
if (data_size) {
|
||||
#ifdef SLAVE_DEBUG
|
||||
fprintf (stderr, "SENDING %d bytes of DATA.\n", data_size);
|
||||
#endif
|
||||
glibtop_write_i (priv, data_size, data_buf);
|
||||
}
|
||||
|
||||
glibtop_read_i (priv, sizeof (glibtop_response), &resp);
|
||||
|
||||
#ifdef SLAVE_DEBUG
|
||||
fprintf (stderr, "RESPONSE: %d - %d - %ld - %ld - %p - %ld\n",
|
||||
resp.retval, resp.glibtop_errno,
|
||||
(long) resp.recv_size, (long) resp.data_size,
|
||||
recv_ptr, (long) recv_size);
|
||||
#endif
|
||||
|
||||
if (retval_ptr)
|
||||
*retval_ptr = resp.glibtop_errno;
|
||||
|
||||
if (resp.recv_size != recv_size) {
|
||||
glibtop_warn_r (server, "Expected %ld bytes, but got %ld.",
|
||||
(long) recv_size, (long) resp.recv_size);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (recv_ptr)
|
||||
glibtop_read_i (priv, recv_size, recv_ptr);
|
||||
|
||||
if (resp.data_size) {
|
||||
void *ptr = glibtop_malloc_r (server, resp.data_size);
|
||||
|
||||
glibtop_read_i (priv, resp.data_size, ptr);
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@@AUTOGEN_COMMENT@@
|
||||
|
||||
/* 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_COMMAND_H__
|
||||
#define __GLIBTOP_COMMAND_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/union.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
@@GLIBTOP_COMMAND_CONSTANTS@@
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
typedef struct _glibtop_command glibtop_command;
|
||||
typedef struct _glibtop_response glibtop_response;
|
||||
|
||||
struct _glibtop_command
|
||||
{
|
||||
u_int64_t command;
|
||||
u_int64_t param_size, send_size, data_size;
|
||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
||||
};
|
||||
|
||||
struct _glibtop_response
|
||||
{
|
||||
int retval;
|
||||
int glibtop_errno;
|
||||
u_int64_t recv_size, data_size;
|
||||
};
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
die "Usage: $0 features.def command.h.in" unless $#ARGV == 1;
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
$constants_decl_code = '';
|
||||
|
||||
open FEATURESDEF, $ARGV[1] or
|
||||
die "open ($ARGV[1]): $!";
|
||||
|
||||
while (<FEATURESDEF>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^\#]/) {
|
||||
&parse_features_def ($_);
|
||||
}
|
||||
}
|
||||
|
||||
close FEATURESDEF;
|
||||
|
||||
sub parse_features_def {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$element_def = $line_fields[3];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
$constants_decl_code .= sprintf
|
||||
(qq[\#define %-40s %d\n], 'GLIBTOP_CMND_'.&toupper($feature),
|
||||
++$feature_count);
|
||||
|
||||
$features{$feature_count} = $feature;
|
||||
}
|
||||
|
||||
chop $constants_decl_code;
|
||||
|
||||
$auto_gen_comment = sprintf
|
||||
(qq[/*\n * This file is automatically generated.\n * Please modify `command.pl' and `command.h.in'.\n */]);
|
||||
|
||||
open COMMAND, $ARGV[2] or
|
||||
die "open ($ARGV[2]): $!";
|
||||
|
||||
while (<COMMAND>) {
|
||||
chop;
|
||||
|
||||
s/^\s*\@\@GLIBTOP_COMMAND_CONSTANTS\@\@\s*$/$constants_decl_code/;
|
||||
|
||||
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
|
||||
} continue {
|
||||
print $_;
|
||||
}
|
||||
|
||||
close COMMAND;
|
||||
@@ -1,386 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
$always_use_temp_storage = 0;
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
print '/* demarshal.c */';
|
||||
print "/* This is a generated file. Please modify `demarshal.pl' */";
|
||||
print '';
|
||||
|
||||
print '#include <glibtop.h>';
|
||||
print '#include <glibtop/open.h>';
|
||||
print '#include <glibtop/xmalloc.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '';
|
||||
print '#include <glibtop/backend.h>';
|
||||
print '';
|
||||
print '#include <glibtop-backend-private.h>';
|
||||
print '#include "server.h"';
|
||||
print '';
|
||||
|
||||
$feature_count = 0;
|
||||
|
||||
while (<>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^\#]/) {
|
||||
&output($_);
|
||||
}
|
||||
}
|
||||
|
||||
sub output {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$element_def = $line_fields[3];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
return if $feature =~ /^@/;
|
||||
$name = 'glibtop_'.$feature;
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
$features{++$feature_count} = $feature;
|
||||
|
||||
$orig_retval = $retval;
|
||||
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$retval = 'int';
|
||||
} elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$call_prefix = 'retval = ';
|
||||
$call_prefix_space = ' ';
|
||||
} else {
|
||||
$retval_param = 'NULL';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = '';
|
||||
$prefix_space = '';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
}
|
||||
|
||||
$need_temp_storage = $always_use_temp_storage;
|
||||
$first_param_name = '';
|
||||
$size_code = "\t/* send size */\n";
|
||||
$size_code .= "\t_LIBGTOP_SEND_len = 0;\n";
|
||||
|
||||
$local_var_decl_code = '';
|
||||
$local_var_decl_code .= "\tsize_t _LIBGTOP_SEND_len, _LIBGTOP_RECV_len;\n";
|
||||
$local_var_decl_code .= "\toff_t _LIBGTOP_SEND_offset;\n";
|
||||
$local_var_decl_code .= "\tchar *_LIBGTOP_RECV_buf, *_LIBGTOP_RECV_ptr;\n";
|
||||
$local_var_decl_code .= "\tconst char *_LIBGTOP_SEND_ptr;\n";
|
||||
$local_var_decl_code .= sprintf
|
||||
(qq[\tglibtop_%s %s;\n], $feature, $feature);
|
||||
if ($retval !~ /^void$/) {
|
||||
$local_var_decl_code .= sprintf ("\t%s retval = (%s) 0;\n",
|
||||
$retval, $retval);
|
||||
}
|
||||
|
||||
$init_local_var_code = "\t/* variable initialization */\n";
|
||||
$init_local_var_code .= sprintf
|
||||
(qq[\tmemset (&%s, 0, sizeof (glibtop_%s));\n], $feature, $feature);
|
||||
$init_local_var_code .= "\t_LIBGTOP_SEND_offset = 0;\n";
|
||||
$init_local_var_code .= "\t_LIBGTOP_SEND_ptr = ".
|
||||
"(char *) send_ptr;\n";
|
||||
|
||||
$demarshal_code = '';
|
||||
|
||||
$call_param = '';
|
||||
$param_decl = '';
|
||||
$need_temp_len = 0;
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
$type = $params[$param];
|
||||
$type =~ s/\(.*//;
|
||||
$list =~ s/^.*\(//;
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
if ($first_param_name eq '') {
|
||||
$first_param_name = $fields[$field];
|
||||
}
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$need_temp_storage = 1;
|
||||
}
|
||||
|
||||
if ($param_decl eq '') {
|
||||
$param_decl = ",\n " . $space . ' ';
|
||||
} else {
|
||||
$param_decl = $param_decl . ', ';
|
||||
}
|
||||
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
|
||||
$call_param = $call_param . ', _LIBGTOP_demarshal_' . $fields[$field];
|
||||
|
||||
$size_code .= "\t_LIBGTOP_SEND_len += ";
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$size_code .= sprintf ("sizeof (size_t)");
|
||||
} else {
|
||||
$size_code .= sprintf ("sizeof (%s)", $c_type);
|
||||
}
|
||||
$size_code .= ";\n";
|
||||
|
||||
$local_var_decl_code .= sprintf
|
||||
(qq[\t%s _LIBGTOP_demarshal_%s;\n], $c_type, $fields[$field]);
|
||||
$init_local_var_code .= sprintf
|
||||
(qq[\tmemset (&_LIBGTOP_demarshal_%s, 0, sizeof (%s));\n],
|
||||
$fields[$field], $c_type);
|
||||
|
||||
$demarshal_code .= "\t_LIBGTOP_SEND_ptr = ".
|
||||
"(char *) send_ptr + _LIBGTOP_SEND_offset;\n";
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_TEMP_len, _LIBGTOP_SEND_ptr, sizeof (size_t));\n");
|
||||
$demarshal_code .= sprintf
|
||||
(qq[\t_LIBGTOP_DATA_len += _LIBGTOP_TEMP_len;\n]);
|
||||
$demarshal_code .= sprintf
|
||||
(qq[\tif (_LIBGTOP_DATA_len > data_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n]);
|
||||
$demarshal_code .= sprintf
|
||||
(qq[\t_LIBGTOP_DATA_offset += _LIBGTOP_TEMP_len;\n]);
|
||||
}
|
||||
|
||||
if (defined $demarshal_funcs->{$type}) {
|
||||
$demarshal_code .= $demarshal_funcs->{$type}->($c_type, $fields[$field], "\t");
|
||||
} else {
|
||||
$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_demarshal_%s, _LIBGTOP_SEND_ptr, %s);\n",
|
||||
$fields[$field], "sizeof ($c_type)");
|
||||
}
|
||||
|
||||
$demarshal_code .= "\t_LIBGTOP_SEND_offset += ";
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$demarshal_code .= sprintf ("sizeof (size_t)");
|
||||
} else {
|
||||
$demarshal_code .= sprintf ("sizeof (%s)", $c_type);
|
||||
}
|
||||
$demarshal_code .= ";\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (!($demarshal_code eq '')) {
|
||||
$demarshal_code = sprintf (qq[\t/* demarshal start */\n%s\n],
|
||||
$demarshal_code);
|
||||
}
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$call_code = sprintf
|
||||
("\tretval = glibtop_get_%s_p (server%s);\n",
|
||||
$feature, $call_param);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$call_code = sprintf
|
||||
("\tretval = glibtop_get_%s_p (server, &array%s);\n",
|
||||
$feature, $call_param);
|
||||
$local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$call_code = sprintf
|
||||
("\tretval = glibtop_get_%s_p (server, &array, &%s%s);\n",
|
||||
$feature, $feature, $call_param);
|
||||
$local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]);
|
||||
} else {
|
||||
$call_code = sprintf
|
||||
("\tretval = glibtop_get_%s_p (server, &%s%s);\n",
|
||||
$feature, $feature, $call_param);
|
||||
}
|
||||
|
||||
if ($orig_retval eq 'retval') {
|
||||
$call_code .= sprintf
|
||||
(qq[\tif (retval_ptr)\n\t\t*retval_ptr = retval;\n]);
|
||||
} else {
|
||||
$call_code .= sprintf
|
||||
(qq[\tif (retval_ptr)\n\t\t*retval_ptr = server->glibtop_errno;\n]);
|
||||
}
|
||||
|
||||
$size_code .= sprintf
|
||||
(qq[\tif (_LIBGTOP_SEND_len != send_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n\n]);
|
||||
|
||||
$size_code .= "\t/* recv size */\n";
|
||||
$size_code .= "\t_LIBGTOP_RECV_len = 0;\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n";
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n";
|
||||
$size_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature);
|
||||
} else {
|
||||
$size_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature);
|
||||
}
|
||||
$size_code .= "\n";
|
||||
|
||||
$size_code .= "\t/* recv buffer */\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
$size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n";
|
||||
} else {
|
||||
$size_code .= "\t_LIBGTOP_RECV_buf = glibtop_malloc_r (server, _LIBGTOP_RECV_len);\n";
|
||||
}
|
||||
$size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n";
|
||||
|
||||
$recv_buf_code = '';
|
||||
if ($line_fields[3] eq '') {
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$recv_buf_code = "\t/* write recv buffer */\n";
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]);
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$recv_buf_code = "\t/* write recv buffer */\n";
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]);
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]);
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n],
|
||||
$feature, $feature);
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature);
|
||||
} else {
|
||||
$recv_buf_code = "\t/* write recv buffer */\n";
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n],
|
||||
$feature, $feature);
|
||||
$recv_buf_code .= sprintf
|
||||
(qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature);
|
||||
}
|
||||
|
||||
$recv_buf_code .= "\n";
|
||||
$recv_buf_code .= "\t*recv_buf_ptr = _LIBGTOP_RECV_buf;\n";
|
||||
$recv_buf_code .= "\t*recv_size_ptr = _LIBGTOP_RECV_len;\n";
|
||||
|
||||
if ($orig_retval eq 'pointer(string)') {
|
||||
$need_temp_storage = 1;
|
||||
$local_var_decl_code .= "\tchar **_LIBGTOP_TEMP_ptr;\n";
|
||||
$local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_ptr;\n";
|
||||
$local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_base;\n";
|
||||
$local_var_decl_code .= "\toff_t _LIBGTOP_ARRAY_offset;\n";
|
||||
$local_var_decl_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n";
|
||||
|
||||
$recv_buf_code .= "\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_len = 0;\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_TEMP_ptr = retval;\n";
|
||||
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++)\n";
|
||||
$recv_buf_code .= "\t\t_LIBGTOP_TEMP_len += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
|
||||
$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 = glibtop_malloc_r (server, _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";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) _LIBGTOP_ARRAY_ptr;\n";
|
||||
$recv_buf_code .= "\n";
|
||||
$recv_buf_code .= "\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n";
|
||||
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n";
|
||||
$recv_buf_code .= "\t\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n";
|
||||
$recv_buf_code .= "\t\t_LIBGTOP_ARRAY_offset += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
|
||||
$recv_buf_code .= "\t}\n\n";
|
||||
$recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) _LIBGTOP_ARRAY_off_ptr;\n";
|
||||
$recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n";
|
||||
$recv_buf_code .= "\t\tstrcpy (_LIBGTOP_ARRAY_ptr, *_LIBGTOP_TEMP_ptr);\n";
|
||||
$recv_buf_code .= "\t\t_LIBGTOP_ARRAY_ptr += strlen (*_LIBGTOP_TEMP_ptr)+1;\n";
|
||||
$recv_buf_code .= "\t}\n\n";
|
||||
$recv_buf_code .= "\tif (recv_data_ptr) {\n";
|
||||
$recv_buf_code .= "\t\t*recv_data_ptr = _LIBGTOP_ARRAY_base;\n";
|
||||
$recv_buf_code .= "\t\t*recv_data_size_ptr = _LIBGTOP_TEMP_len;\n";
|
||||
$recv_buf_code .= "\t}\n";
|
||||
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$recv_buf_code .= "\n";
|
||||
$recv_buf_code .= "\tif (recv_data_ptr) {\n";
|
||||
$recv_buf_code .= "\t\t*recv_data_ptr = retval;\n";
|
||||
$recv_buf_code .= "\t\t*recv_data_size_ptr = array.total;\n";
|
||||
$recv_buf_code .= "\t}\n";
|
||||
}
|
||||
|
||||
if ($need_temp_storage) {
|
||||
$local_var_decl_code .= "\tsize_t _LIBGTOP_TEMP_len;\n";
|
||||
$local_var_decl_code .= "\tsize_t _LIBGTOP_DATA_len;\n";
|
||||
$local_var_decl_code .= "\toff_t _LIBGTOP_DATA_offset;\n";
|
||||
$local_var_decl_code .= "\tchar *_LIBGTOP_DATA_ptr;\n";
|
||||
|
||||
$init_local_var_code .= "\t_LIBGTOP_DATA_len = 0;\n";
|
||||
$init_local_var_code .= "\t_LIBGTOP_DATA_offset = 0;\n";
|
||||
$init_local_var_code .= "\t_LIBGTOP_DATA_ptr = ".
|
||||
"(char *) data_ptr;\n";
|
||||
}
|
||||
|
||||
$func_decl_code = sprintf
|
||||
(qq[static int\n_glibtop_demarshal_%s_i (glibtop *server, glibtop_backend *backend, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)\n], $feature);
|
||||
|
||||
if (!($call_code eq '')) {
|
||||
$call_code .= "\n";
|
||||
}
|
||||
|
||||
$func_body_code = sprintf
|
||||
(qq[%s%s%s%s], $size_code, $demarshal_code, $call_code, $recv_buf_code);
|
||||
|
||||
$total_code = sprintf
|
||||
(qq[%s{\n%s\n%s\n%s\n\treturn 0;\n}\n],
|
||||
$func_decl_code, $local_var_decl_code, $init_local_var_code,
|
||||
$func_body_code);
|
||||
|
||||
$total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n",
|
||||
&toupper($feature), $total_code,
|
||||
&toupper($feature));
|
||||
|
||||
print $total_code;
|
||||
}
|
||||
|
||||
$func_decl_code = sprintf
|
||||
(qq[int\nglibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)]);
|
||||
|
||||
$switch_body_code = '';
|
||||
|
||||
for ($nr = 1; $nr <= $feature_count; $nr++) {
|
||||
$feature = $features{$nr};
|
||||
|
||||
$switch_body_code .= sprintf
|
||||
(qq[#if GLIBTOP_SUID_%s\n\tcase GLIBTOP_CMND_%s:\n\t\treturn _glibtop_demarshal_%s_i\n\t\t\t(server, backend, send_ptr, send_size,\n\t\t\t data_ptr, data_size,\n\t\t\t recv_buf_ptr, recv_size_ptr,\n\t\t\t recv_data_ptr, recv_data_size_ptr, retval_ptr);\n#endif /* GLIBTOP_SUID_%s */\n],
|
||||
&toupper ($feature), &toupper ($feature), $feature, &toupper ($feature));
|
||||
}
|
||||
|
||||
$switch_code = sprintf
|
||||
(qq[\tswitch (command) {\n%s\tdefault:\n\t\treturn -GLIBTOP_ERROR_INVALID_ARGUMENT;\n\t}\n], $switch_body_code);
|
||||
|
||||
$total_code = sprintf
|
||||
(qq[%s\n{\n%s}\n\n], $func_decl_code, $switch_code);
|
||||
|
||||
print $total_code;
|
||||
|
||||
1;
|
||||
@@ -1,114 +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 "server.h"
|
||||
|
||||
void
|
||||
do_output (int s, glibtop_response *resp, const void *recv_ptr,
|
||||
const void *data_ptr)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Really writing %d bytes.\n",
|
||||
sizeof (glibtop_response));
|
||||
#endif
|
||||
|
||||
if (s == 0) {
|
||||
if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0)
|
||||
glibtop_warn_io ("write");
|
||||
} else {
|
||||
if (send (s, (const void *) resp, sizeof (glibtop_response), 0) < 0)
|
||||
glibtop_warn_io ("send");
|
||||
}
|
||||
|
||||
if (resp->recv_size) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Writing %ld bytes of data.\n",
|
||||
(long) resp->recv_size);
|
||||
#endif
|
||||
|
||||
if (s == 0) {
|
||||
if (write (1, recv_ptr, resp->recv_size) < 0)
|
||||
glibtop_warn_io ("write");
|
||||
} else {
|
||||
if (send (s, recv_ptr, resp->recv_size, 0) < 0)
|
||||
glibtop_warn_io ("send");
|
||||
}
|
||||
}
|
||||
|
||||
if (resp->data_size) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Writing %ld bytes of extra data.\n",
|
||||
(long) resp->data_size);
|
||||
#endif
|
||||
|
||||
if (s == 0) {
|
||||
if (write (1, data_ptr, resp->data_size) < 0)
|
||||
glibtop_warn_io ("write");
|
||||
} else {
|
||||
if (send (s, data_ptr, resp->data_size, 0) < 0)
|
||||
glibtop_warn_io ("send");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int
|
||||
do_read (int s, void *ptr, size_t total_size)
|
||||
{
|
||||
int nread;
|
||||
char *tmp_ptr;
|
||||
size_t already_read = 0, remaining = total_size;
|
||||
|
||||
while (already_read < total_size) {
|
||||
if (s)
|
||||
nread = recv (s, ptr, remaining, 0);
|
||||
else
|
||||
nread = read (0, ptr, remaining);
|
||||
|
||||
if ((already_read == 0) && (nread == 0)) {
|
||||
glibtop_warn ("pid %d received eof.", getpid ());
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (nread <= 0) {
|
||||
glibtop_warn_io ("recv");
|
||||
return 0;
|
||||
}
|
||||
|
||||
already_read += nread;
|
||||
remaining -= nread;
|
||||
/* (char *) ptr += nread; */
|
||||
tmp_ptr = ptr;
|
||||
tmp_ptr += nread;
|
||||
ptr = tmp_ptr;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "READ (%d): %d - %d - %d\n",
|
||||
nread, already_read, remaining, total_size);
|
||||
#endif
|
||||
}
|
||||
|
||||
return already_read;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0"?> <!-- -*-xml-*- -->
|
||||
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
|
||||
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
|
||||
|
||||
<libgtop:Backend>
|
||||
<libgtop:Name>glibtop-backend-server</libgtop:Name>
|
||||
<libgtop:Location>
|
||||
<libgtop:LibtoolName>libgtop_backend_server.la</libgtop:LibtoolName>
|
||||
<libgtop:ShlibName>libgtop_backend_server.so</libgtop:ShlibName>
|
||||
</libgtop:Location>
|
||||
</libgtop:Backend>
|
||||
|
||||
</libgtop:Backends>
|
||||
@@ -1,305 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
$always_use_temp_storage = 1;
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
print '/* marshal.c */';
|
||||
print "/* This is a generated file. Please modify `marshal.pl' */";
|
||||
print '';
|
||||
|
||||
print '#include <backend-server.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '';
|
||||
print '#include "command.h"';
|
||||
print '#include <glibtop/call-vector.h>';
|
||||
print '';
|
||||
|
||||
$feature_count = 0;
|
||||
|
||||
while (<>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^#]/) {
|
||||
&output($_);
|
||||
}
|
||||
}
|
||||
|
||||
sub output {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
$features{++$feature_count} = $orig;
|
||||
return if $orig =~ /^@/;
|
||||
|
||||
$orig_retval = $retval;
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$retval = 'int';
|
||||
}
|
||||
elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$call_prefix = 'retval = ';
|
||||
$call_prefix_space = ' ';
|
||||
}
|
||||
else {
|
||||
$retval_param = 'NULL';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = '';
|
||||
$prefix_space = '';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
}
|
||||
|
||||
$need_temp_storage = $always_use_temp_storage;
|
||||
$local_var_init_code = "\t/* variable initialization */\n";
|
||||
$local_var_init_code .= "\t_LIBGTOP_SEND_len = 0;\n";
|
||||
$local_var_init_code .= "\t_LIBGTOP_DATA_len = 0;\n";
|
||||
$local_var_init_code .= "\t_LIBGTOP_SEND_offset = 0;\n";
|
||||
$local_var_init_code .= "\t_LIBGTOP_SEND_ptr = ".
|
||||
"(char *) _LIBGTOP_SEND_buf;\n";
|
||||
$marshal_code = "\t/* marshal start */\n";
|
||||
$marshal_code .= "\tmemset (_LIBGTOP_SEND_buf, 0, _LIBGTOP_SEND_len);\n";
|
||||
$first_param_name = '';
|
||||
$size_code = '';
|
||||
|
||||
$call_param = '';
|
||||
$param_decl = '';
|
||||
$need_temp_len = 0;
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
$type = $params[$param];
|
||||
$type =~ s/\(.*//;
|
||||
$list =~ s/^.*\(//;
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
if ($first_param_name eq '') {
|
||||
$first_param_name = $fields[$field];
|
||||
}
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$need_temp_storage = 1;
|
||||
}
|
||||
|
||||
if ($param_decl eq '') {
|
||||
$param_decl = ",\n " . $space . ' ';
|
||||
}
|
||||
else {
|
||||
$param_decl = $param_decl . ', ';
|
||||
}
|
||||
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
|
||||
$call_param = $call_param . ', ' . $fields[$field];
|
||||
|
||||
$size_code .= "\t_LIBGTOP_SEND_len += ";
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$size_code .= sprintf ("sizeof (size_t)");
|
||||
} else {
|
||||
$size_code .= sprintf ("sizeof (%s)", $c_type);
|
||||
}
|
||||
$size_code .= ";\n";
|
||||
|
||||
if (defined $sizeof_funcs->{$type}) {
|
||||
$size_code .= "\t_LIBGTOP_DATA_len += ";
|
||||
$size_code .= $sizeof_funcs->{$type}->($fields[$field]);
|
||||
$size_code .= ";\n";
|
||||
}
|
||||
|
||||
$marshal_code .= "\t_LIBGTOP_SEND_ptr = ".
|
||||
"(char *) _LIBGTOP_SEND_buf + _LIBGTOP_SEND_offset;\n";
|
||||
|
||||
if (defined $marshal_funcs->{$type}) {
|
||||
$marshal_code .= $marshal_funcs->{$type}->($c_type, $fields[$field], "\t");
|
||||
} else {
|
||||
$marshal_code .= sprintf ("\tmemcpy (_LIBGTOP_SEND_ptr, %s, %s);\n",
|
||||
'&'.$fields[$field], "sizeof ($c_type)");
|
||||
}
|
||||
|
||||
$marshal_code .= "\t_LIBGTOP_SEND_offset += ";
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$marshal_code .= sprintf ("sizeof (size_t)");
|
||||
} else {
|
||||
$marshal_code .= sprintf ("sizeof (%s)", $c_type);
|
||||
}
|
||||
$marshal_code .= ";\n";
|
||||
}
|
||||
}
|
||||
|
||||
$local_var_code = "";
|
||||
$local_var_code .= "\tunsigned _LIBGTOP_SEND_offset, _LIBGTOP_SEND_len;\n";
|
||||
$local_var_code .= "\tunsigned _LIBGTOP_DATA_len;\n";
|
||||
if ($need_temp_len) {
|
||||
$local_var_code .= "\tunsigned _LIBGTOP_SEND_temp_len;\n";
|
||||
}
|
||||
$local_var_code .= "\tvoid *_LIBGTOP_SEND_buf, *_LIBGTOP_DATA_buf;\n";
|
||||
$local_var_code .= "\tchar *_LIBGTOP_SEND_ptr, *_LIBGTOP_DATA_ptr;\n";
|
||||
if ($retval !~ /^void$/) {
|
||||
$local_var_code .= sprintf ("\t%s retval = (%s) 0;\n",
|
||||
$retval, $retval);
|
||||
}
|
||||
|
||||
$total_code = '';
|
||||
|
||||
$send_buf_code = "\t/* send buffer */\n";
|
||||
$send_buf_code .= "\t_LIBGTOP_SEND_buf = ";
|
||||
if ($need_temp_storage) {
|
||||
$send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_SEND_len+1)";
|
||||
} else {
|
||||
$send_buf_code .= '(void *) &'.$first_param_name;
|
||||
}
|
||||
$send_buf_code .= ";\n\n";
|
||||
|
||||
$send_buf_code .= "\t/* data buffer */\n";
|
||||
$send_buf_code .= "\t_LIBGTOP_DATA_buf = ";
|
||||
if ($need_temp_storage) {
|
||||
$send_buf_code .= "glibtop_malloc_r (server, _LIBGTOP_DATA_len+1)";
|
||||
} else {
|
||||
$send_buf_code .= 'NULL';
|
||||
}
|
||||
$send_buf_code .= ";\n";
|
||||
$send_buf_code .= "\t_LIBGTOP_DATA_ptr = _LIBGTOP_DATA_buf;\n";
|
||||
|
||||
$call_code = '';
|
||||
$call_code .= sprintf ("\t%sglibtop_call_i (server, closure, GLIBTOP_CMND_%s,\n",
|
||||
$call_prefix, &toupper($feature));
|
||||
$call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space,
|
||||
"_LIBGTOP_SEND_len", "_LIBGTOP_SEND_buf");
|
||||
$call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space,
|
||||
"_LIBGTOP_DATA_len", "_LIBGTOP_DATA_buf");
|
||||
if ($line_fields[3] eq '') {
|
||||
$call_code .= sprintf ("\t\t\t%s0, NULL,\n", $call_prefix_space);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$call_code .= sprintf ("\t\t\t%ssizeof (glibtop_array), array,\n",
|
||||
$call_prefix_space);
|
||||
} else {
|
||||
$call_code .= sprintf ("\t\t\t%ssizeof (glibtop_%s), buf,\n",
|
||||
$call_prefix_space, $feature);
|
||||
}
|
||||
$call_code .= sprintf ("\t\t\t%s%s);\n", $call_prefix_space, $retval_param);
|
||||
|
||||
if ($need_temp_storage) {
|
||||
$send_buf_free_code = "\tglibtop_free_r (server, _LIBGTOP_SEND_buf);\n";
|
||||
$send_buf_free_code .= "\tglibtop_free_r (server, _LIBGTOP_DATA_buf);\n";
|
||||
} else {
|
||||
$send_buf_free_code = "";
|
||||
}
|
||||
|
||||
if (!($size_code eq '')) {
|
||||
$size_code = sprintf (qq[\t/* send size */\n%s\n], $size_code);
|
||||
}
|
||||
|
||||
if ($orig_retval eq 'pointer(string)') {
|
||||
$call_code .= "\n";
|
||||
$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 = glibtop_calloc_r (server, 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";
|
||||
$call_code .= "\tfor (i = 0; i < array->number; i++)\n";
|
||||
$call_code .= "\t\tptrlist [i] = glibtop_strdup_r (server, _LIBGTOP_ARRAY_ptr + *_LIBGTOP_ARRAY_off_ptr++);\n";
|
||||
$call_code .= "\tptrlist [array->number] = NULL;\n\n";
|
||||
$call_code .= "\tglibtop_free_r (server, retval);\n";
|
||||
$call_code .= "\tretval = ptrlist;\n";
|
||||
}
|
||||
|
||||
$total_code .= sprintf ("%s%s\n%s\n%s\n%s\n",
|
||||
$size_code, $send_buf_code, $marshal_code,
|
||||
$call_code, $send_buf_free_code);
|
||||
|
||||
$return_code = '';
|
||||
if ($retval !~ /^void$/) {
|
||||
$return_code .= "\treturn retval;\n";
|
||||
} else {
|
||||
$return_code .= "\treturn;\n";
|
||||
}
|
||||
|
||||
$total_code .= $return_code;
|
||||
|
||||
$func_decl = 'static '.$retval."\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
} else {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
}
|
||||
|
||||
$total_code = sprintf ("%s{\n%s\n%s\n%s\n%s}\n", $func_decl,
|
||||
$local_var_code, $local_var_init_code,
|
||||
$total_code);
|
||||
|
||||
|
||||
$total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n",
|
||||
&toupper($feature), $total_code,
|
||||
&toupper($feature));
|
||||
|
||||
print $total_code;
|
||||
}
|
||||
|
||||
$call_vector_code = '';
|
||||
for ($nr = 1; $nr <= $feature_count; $nr++) {
|
||||
$feature = $features{$nr};
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
|
||||
if ($orig =~ /^@/) {
|
||||
$call_vector_code .= sprintf (qq[\tNULL,\n]);
|
||||
} else {
|
||||
$call_vector_code .= sprintf
|
||||
(qq[\#if GLIBTOP_SUID_%s\n\t_glibtop_get_%s_c,\n\#else\n\tNULL,\n\#endif\n],
|
||||
&toupper($feature), $feature);
|
||||
}
|
||||
}
|
||||
|
||||
print 'glibtop_call_vector glibtop_backend_server_call_vector = {';
|
||||
print $call_vector_code;
|
||||
print '};';
|
||||
print '';
|
||||
|
||||
@@ -1,46 +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 <backend-server.h>
|
||||
|
||||
void
|
||||
glibtop_read_i (backend_server_private *priv, size_t size, void *buf)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really reading %d bytes from %d.\n",
|
||||
size, priv->input [0]);
|
||||
#endif
|
||||
|
||||
ret = read (priv->input [0], buf, size);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: read %d bytes.\n", ret);
|
||||
#endif
|
||||
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (priv->server, "read %d bytes", size);
|
||||
}
|
||||
@@ -1,58 +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 <backend-server.h>
|
||||
|
||||
void *
|
||||
glibtop_read_data_i (backend_server_private *priv)
|
||||
{
|
||||
size_t size;
|
||||
void *ptr;
|
||||
int ret;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: reading %d data bytes.\n", sizeof (size_t));
|
||||
#endif
|
||||
|
||||
ret = read (priv->input [0], (void *)&size, sizeof (size_t));
|
||||
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (priv->server, "read data size");
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really reading %d data bytes (ret = %d).\n", size, ret);
|
||||
#endif
|
||||
|
||||
if (!size) return NULL;
|
||||
|
||||
ptr = glibtop_malloc_r (priv->server, size);
|
||||
|
||||
ret = read (priv->input [0], ptr, size);
|
||||
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (priv->server, "read data %d bytes");
|
||||
|
||||
return ptr;
|
||||
}
|
||||
@@ -1,190 +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 "server.h"
|
||||
|
||||
static glibtop _glibtop_global_server;
|
||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
#include <sys/utsname.h>
|
||||
|
||||
const unsigned long glibtop_server_features =
|
||||
GLIBTOP_SUID_CPU +
|
||||
GLIBTOP_SUID_MEM +
|
||||
GLIBTOP_SUID_SWAP +
|
||||
GLIBTOP_SUID_UPTIME +
|
||||
GLIBTOP_SUID_LOADAVG +
|
||||
GLIBTOP_SUID_SHM_LIMITS +
|
||||
GLIBTOP_SUID_MSG_LIMITS +
|
||||
GLIBTOP_SUID_SEM_LIMITS +
|
||||
GLIBTOP_SUID_PROCLIST +
|
||||
GLIBTOP_SUID_PROC_STATE +
|
||||
GLIBTOP_SUID_PROC_UID +
|
||||
GLIBTOP_SUID_PROC_MEM +
|
||||
GLIBTOP_SUID_PROC_TIME +
|
||||
GLIBTOP_SUID_PROC_SIGNAL +
|
||||
GLIBTOP_SUID_PROC_KERNEL +
|
||||
GLIBTOP_SUID_PROC_SEGMENT +
|
||||
GLIBTOP_SUID_PROC_ARGS +
|
||||
GLIBTOP_SUID_PROC_MAP +
|
||||
GLIBTOP_SUID_NETINFO +
|
||||
GLIBTOP_SUID_NETLOAD +
|
||||
GLIBTOP_SUID_INTERFACE_NAMES +
|
||||
GLIBTOP_SUID_PPP;
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <locale.h>
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
struct utsname uts;
|
||||
int uid, euid, gid, egid;
|
||||
glibtop *server;
|
||||
|
||||
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
|
||||
|
||||
uid = getuid (); euid = geteuid ();
|
||||
gid = getgid (); egid = getegid ();
|
||||
|
||||
if (uname (&uts) < 0) _exit (1);
|
||||
|
||||
if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) ||
|
||||
strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) ||
|
||||
strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) {
|
||||
fprintf (stderr, "Can only run on %s %s %s\n",
|
||||
LIBGTOP_COMPILE_SYSTEM,
|
||||
LIBGTOP_COMPILE_RELEASE,
|
||||
LIBGTOP_COMPILE_MACHINE);
|
||||
_exit (1);
|
||||
}
|
||||
|
||||
server = glibtop_global_server;
|
||||
|
||||
if (!server->_priv)
|
||||
server->_priv = glibtop_calloc_r
|
||||
(server, 1, sizeof (glibtop_server_private));
|
||||
|
||||
glibtop_init_p (server, 0, 0);
|
||||
|
||||
if (setreuid (euid, uid)) _exit (1);
|
||||
|
||||
if (setregid (egid, gid)) _exit (1);
|
||||
|
||||
/* !!! END OF SUID ROOT PART !!! */
|
||||
|
||||
handle_slave_connection (0, 0);
|
||||
|
||||
_exit (0);
|
||||
}
|
||||
|
||||
void
|
||||
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);
|
||||
|
||||
while (do_read (input, cmnd, sizeof (glibtop_command))) {
|
||||
size_t recv_size = 0, send_size = 0, recv_data_size = 0;
|
||||
void *recv_ptr = NULL, *recv_data_ptr = NULL, *data_ptr = NULL;
|
||||
char parameter [BUFSIZ];
|
||||
int retval, func_retval;
|
||||
glibtop_response resp;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Slave %d received command "
|
||||
"%ld from client.\n", getpid (), (long) cmnd->command);
|
||||
#endif
|
||||
|
||||
if (cmnd->send_size >= BUFSIZ)
|
||||
glibtop_error ("Client sent %d bytes, but buffer is %d",
|
||||
cmnd->send_size, BUFSIZ);
|
||||
else if (cmnd->param_size >= BUFSIZ)
|
||||
glibtop_error ("Client sent %d bytes, but buffer is %d",
|
||||
cmnd->param_size, BUFSIZ);
|
||||
|
||||
memset (parameter, 0, sizeof (parameter));
|
||||
|
||||
if (cmnd->send_size) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Client has %d bytes of data.\n",
|
||||
cmnd->send_size);
|
||||
#endif
|
||||
|
||||
send_size = cmnd->send_size;
|
||||
do_read (input, parameter, send_size);
|
||||
} else if (cmnd->param_size) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Client has %d bytes of parameter data.\n",
|
||||
cmnd->param_size);
|
||||
#endif
|
||||
send_size = cmnd->param_size;
|
||||
memcpy (parameter, cmnd->parameter, send_size);
|
||||
}
|
||||
|
||||
if (cmnd->data_size) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "CLIENT has %d bytes of extra data for us.\n",
|
||||
cmnd->data_size);
|
||||
#endif
|
||||
|
||||
data_ptr = glibtop_malloc_r (server, cmnd->data_size);
|
||||
do_read (input, data_ptr, cmnd->data_size);
|
||||
}
|
||||
|
||||
retval = glibtop_demarshal_func_i (server, NULL,
|
||||
cmnd->command,
|
||||
parameter, send_size,
|
||||
data_ptr, cmnd->data_size,
|
||||
&recv_ptr, &recv_size,
|
||||
&recv_data_ptr, &recv_data_size,
|
||||
&func_retval);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Retval %d / %d - %p - %d\n",
|
||||
retval, func_retval, recv_ptr, recv_size);
|
||||
|
||||
if (recv_data_size) {
|
||||
fprintf (stderr, "Returning %d bytes of data from %p.\n",
|
||||
recv_data_size, recv_data_ptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
memset (&resp, 0, sizeof (glibtop_response));
|
||||
|
||||
resp.retval = retval;
|
||||
resp.glibtop_errno = func_retval;
|
||||
resp.recv_size = recv_size;
|
||||
resp.data_size = recv_data_size;
|
||||
|
||||
do_output (output, &resp, recv_ptr, recv_data_ptr);
|
||||
}
|
||||
}
|
||||
@@ -1,85 +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_DAEMON_H__
|
||||
#define __GLIBTOP_DAEMON_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/socket.h>
|
||||
#include <syslog.h>
|
||||
|
||||
#include <glibtop/backend.h>
|
||||
#include <glibtop-backend-private.h>
|
||||
|
||||
#include "command.h"
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
/* Some don't have LOG_PERROR */
|
||||
#ifndef LOG_PERROR
|
||||
#define LOG_PERROR 0
|
||||
#endif
|
||||
|
||||
#define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)."
|
||||
|
||||
#if defined(HAVE_GETDTABLESIZE)
|
||||
#define GET_MAX_FDS() getdtablesize()
|
||||
#else
|
||||
/* Fallthrough case - please add other #elif cases above
|
||||
for different OS's as necessary */
|
||||
#define GET_MAX_FDS() 256
|
||||
#endif
|
||||
|
||||
void
|
||||
do_output (int s, glibtop_response *resp, const void *recv_ptr,
|
||||
const void *data_ptr);
|
||||
|
||||
int
|
||||
do_read (int s, void *ptr, size_t total_size);
|
||||
|
||||
void
|
||||
handle_slave_connection (int input, int output);
|
||||
|
||||
int
|
||||
glibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr);
|
||||
|
||||
void
|
||||
glibtop_send_version_i (glibtop *server, int fd);
|
||||
|
||||
extern int enable_debug;
|
||||
extern int verbose_output;
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,62 +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 "server.h"
|
||||
|
||||
void
|
||||
glibtop_send_version_i (glibtop *server, int fd)
|
||||
{
|
||||
char buffer [BUFSIZ];
|
||||
size_t size;
|
||||
|
||||
sprintf (buffer, LIBGTOP_VERSION_STRING,
|
||||
LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION,
|
||||
sizeof (glibtop_command),
|
||||
sizeof (glibtop_response),
|
||||
sizeof (glibtop_union),
|
||||
sizeof (glibtop_sysdeps));
|
||||
|
||||
size = strlen (buffer) + 1;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "SERVER ID: |%s|\n", buffer);
|
||||
#endif
|
||||
|
||||
if (fd == 0) {
|
||||
if (write (1, (const void *) &size, sizeof (size)) < 0)
|
||||
glibtop_warn_io_r (server, "write");
|
||||
} else {
|
||||
if (send (fd, (const void *) &size, sizeof (size), 0) < 0)
|
||||
glibtop_warn_io_r (server, "send");
|
||||
}
|
||||
|
||||
if (fd == 0) {
|
||||
if (write (1, (const void *) buffer, size) < 0)
|
||||
glibtop_warn_io_r (server, "write");
|
||||
} else {
|
||||
if (send (fd, (const void *) buffer, size, 0) < 0)
|
||||
glibtop_warn_io_r (server, "send");
|
||||
}
|
||||
}
|
||||
@@ -1,43 +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 <backend-server.h>
|
||||
|
||||
void
|
||||
glibtop_write_i (backend_server_private *priv, size_t size, const void *buf)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (size == 0) return;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", size);
|
||||
#endif
|
||||
|
||||
ret = write (priv->output [1], buf, size);
|
||||
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (priv->server, "write %d bytes", size);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
*.lo
|
||||
*.la
|
||||
marshal.c
|
||||
@@ -1,60 +0,0 @@
|
||||
2000-11-26 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* glibtop-backend-private.h: Removed.
|
||||
|
||||
* backend-sysdeps.h: New files.
|
||||
|
||||
* backend-sysdeps.c (_open_sysdeps): Don't overwrite
|
||||
`backend->_priv'.
|
||||
|
||||
2000-11-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Link libgtop_backend_sysdeps.la against
|
||||
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la and
|
||||
$(top_builddir)/lib/libgtop_server.la.
|
||||
|
||||
* libgtop-sysdeps.backend: Removed the ExtraLibs section.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* backend-sysdeps.c (LibGTopBackendInfo): Call this
|
||||
`LibGTopBackendInfo_Sysdeps' when we don't use gmodule.
|
||||
|
||||
2000-02-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR)
|
||||
when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise.
|
||||
|
||||
2000-01-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* libgtop-sysdeps.backend: Added "ExtraLibs" section to
|
||||
load `-lgtop_sysdeps'.
|
||||
|
||||
2000-01-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR).
|
||||
|
||||
* libgtop-sysdeps.backend: New file.
|
||||
|
||||
* backend-sysdeps.c (glibtop_backend_sysdeps): Renamed to
|
||||
`LibGTopBackendInfo'.
|
||||
|
||||
2000-01-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* marshal.pl: Create the `_glibtop_init_hook_s' as well.
|
||||
|
||||
* marshal.pl: Don't create code for things which are now
|
||||
in the new `glibtop-backend-common' backend.
|
||||
|
||||
2000-01-02 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* marshal.pl: New file. Automatically creates `marshal.c'.
|
||||
* call-vector.c: Removed.
|
||||
|
||||
2000-01-01 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
Initial version of the "glibtop-backend-sysdeps" backend.
|
||||
|
||||
* backend-sysdeps.c: New file.
|
||||
* glibtop-backend-private.h: New file.
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
backenddir = @LIBGTOP_BACKEND_DIR@
|
||||
|
||||
if LIBGTOP_USE_GMODULE
|
||||
backendlibdir = $(backenddir)
|
||||
else
|
||||
backendlibdir = $(libdir)
|
||||
endif
|
||||
|
||||
dynamic_ldflags = @libgtop_dynamic_ldflags@
|
||||
|
||||
backend_DATA = \
|
||||
libgtop-sysdeps.backend
|
||||
|
||||
noinst_HEADERS = \
|
||||
backend-sysdeps.h
|
||||
|
||||
backendlib_LTLIBRARIES = \
|
||||
libgtop_backend_sysdeps.la
|
||||
|
||||
libgtop_backend_sysdeps_la_SOURCES = \
|
||||
backend-sysdeps.c \
|
||||
marshal.c
|
||||
|
||||
libgtop_backend_sysdeps_la_LDFLAGS = \
|
||||
$(LT_VERSION_INFO) $(dynamic_ldflags)
|
||||
|
||||
libgtop_backend_sysdeps_la_LIBADD = \
|
||||
$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la
|
||||
$(top_builddir)/lib/libgtop_server.la
|
||||
|
||||
BUILT_SOURCES = \
|
||||
marshal.c
|
||||
|
||||
EXTRA_DIST = \
|
||||
marshal.pl \
|
||||
libgtop-sysdeps.backend
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl
|
||||
$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t
|
||||
mv tmp-t marshal.c
|
||||
|
||||
@@ -1,76 +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 <backend-sysdeps.h>
|
||||
|
||||
static int
|
||||
_open_sysdeps (glibtop_server *, glibtop_backend *, u_int64_t, const char **);
|
||||
|
||||
static int
|
||||
_close_sysdeps (glibtop_server *, glibtop_backend *, void *);
|
||||
|
||||
extern glibtop_call_vector glibtop_backend_sysdeps_call_vector;
|
||||
|
||||
#ifdef LIBGTOP_USE_GMODULE
|
||||
glibtop_backend_info LibGTopBackendInfo = {
|
||||
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
|
||||
&glibtop_backend_sysdeps_call_vector
|
||||
};
|
||||
#else
|
||||
glibtop_backend_info LibGTopBackendInfo_Sysdeps = {
|
||||
"glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps,
|
||||
&glibtop_backend_sysdeps_call_vector
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
_open_sysdeps (glibtop_server *server, glibtop_backend *backend,
|
||||
u_int64_t features, const char **backend_args)
|
||||
{
|
||||
glibtop_init_func_t *init_fkt;
|
||||
|
||||
/* Do the initialization, but only if not already initialized. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
|
||||
glibtop_open_s (server, "glibtop", features, 0);
|
||||
|
||||
for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++)
|
||||
(*init_fkt) (server);
|
||||
|
||||
server->info->sysdeps.pointer_size = sizeof (void*)*8;
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_close_sysdeps (glibtop_server *server, glibtop_backend *backend,
|
||||
void *closure)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,37 +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_BACKEND_SYSDEPS_H__
|
||||
#define __GLIBTOP_BACKEND_SYSDEPS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
#endif
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0"?> <!-- -*-xml-*- -->
|
||||
<!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'>
|
||||
<libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1">
|
||||
|
||||
<libgtop:Backend>
|
||||
<libgtop:Name>glibtop-backend-sysdeps</libgtop:Name>
|
||||
<libgtop:Location>
|
||||
<libgtop:LibtoolName>libgtop_backend_sysdeps.la</libgtop:LibtoolName>
|
||||
<libgtop:ShlibName>libgtop_backend_sysdeps.so</libgtop:ShlibName>
|
||||
</libgtop:Location>
|
||||
</libgtop:Backend>
|
||||
|
||||
</libgtop:Backends>
|
||||
@@ -1,195 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
$always_use_temp_storage = 1;
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
print '/* marshal.c */';
|
||||
print "/* This is a generated file. Please modify `marshal.pl' */";
|
||||
print '';
|
||||
|
||||
print '#include <backend-sysdeps.h>';
|
||||
print '';
|
||||
print '#include <glibtop/sysdeps.h>';
|
||||
print '#include <glibtop/union.h>';
|
||||
print '';
|
||||
print '#include <glibtop/call-vector.h>';
|
||||
print '';
|
||||
|
||||
$feature_count = 0;
|
||||
|
||||
while (<>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^#]/) {
|
||||
&output($_);
|
||||
}
|
||||
}
|
||||
|
||||
sub output {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
$features{++$feature_count} = $orig;
|
||||
|
||||
return if $orig =~ /^@/;
|
||||
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$retval = 'int';
|
||||
}
|
||||
elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
$prefix = 'retval = ';
|
||||
$prefix_space = ' ';
|
||||
$call_prefix = 'retval = ';
|
||||
$call_prefix_space = ' ';
|
||||
}
|
||||
else {
|
||||
$retval_param = 'NULL';
|
||||
$call_prefix = '';
|
||||
$call_prefix_space = '';
|
||||
$prefix = '';
|
||||
$prefix_space = '';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
}
|
||||
|
||||
$need_temp_storage = $always_use_temp_storage;
|
||||
$first_param_name = '';
|
||||
|
||||
$call_param = '';
|
||||
$param_decl = '';
|
||||
$need_temp_len = 0;
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
$type = $params[$param];
|
||||
$type =~ s/\(.*//;
|
||||
$list =~ s/^.*\(//;
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
if ($first_param_name eq '') {
|
||||
$first_param_name = $fields[$field];
|
||||
}
|
||||
|
||||
if ($typeinfo->{$type}->[2]) {
|
||||
$need_temp_storage = 1;
|
||||
}
|
||||
|
||||
if ($param_decl eq '') {
|
||||
$param_decl = ",\n " . $space . ' ';
|
||||
}
|
||||
else {
|
||||
$param_decl = $param_decl . ', ';
|
||||
}
|
||||
$param_decl = $param_decl . $c_type . ' ' . $fields[$field];
|
||||
$call_param = $call_param . ', ' . $fields[$field];
|
||||
}
|
||||
}
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param);
|
||||
} else {
|
||||
$total_code = sprintf
|
||||
("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param);
|
||||
}
|
||||
|
||||
$func_decl = 'static '.$retval."\n";
|
||||
if ($line_fields[3] eq '') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n",
|
||||
$feature, $param_decl);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
} else {
|
||||
$func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n",
|
||||
$feature, 'glibtop_'.$feature, $param_decl);
|
||||
}
|
||||
|
||||
$total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code);
|
||||
|
||||
$total_code = sprintf ("#if (!GLIBTOP_SUID_%s)\n\n%s\n#endif /* not GLIBTOP_SUID_%s */\n\n",
|
||||
&toupper($feature), $total_code,
|
||||
&toupper($feature));
|
||||
|
||||
print $total_code;
|
||||
}
|
||||
|
||||
$init_hook_code = '';
|
||||
$call_vector_code = '';
|
||||
for ($nr = 1; $nr <= $feature_count; $nr++) {
|
||||
$feature = $features{$nr};
|
||||
|
||||
if ($feature =~ /^@/) {
|
||||
$call_vector_code .= sprintf (qq[\tNULL,\n]);
|
||||
} else {
|
||||
$call_vector_code .= sprintf
|
||||
(qq[\#if GLIBTOP_SUID_%s\n\tNULL,\n\#else\n\t_glibtop_get_%s_c,\n\#endif\n],
|
||||
&toupper($feature), $feature);
|
||||
}
|
||||
|
||||
if (!($feature =~ /^@/)) {
|
||||
$init_hook_code .= sprintf
|
||||
(qq[\#if !GLIBTOP_SUID_%s\n\tglibtop_init_%s_s,\n\#endif\n],
|
||||
&toupper($feature), $feature);
|
||||
}
|
||||
}
|
||||
$init_hook_code .= sprintf (qq[\tNULL\n]);
|
||||
|
||||
chop $init_hook_code;
|
||||
chop $call_vector_code;
|
||||
|
||||
print 'glibtop_call_vector glibtop_backend_sysdeps_call_vector = {';
|
||||
print $call_vector_code;
|
||||
print '};';
|
||||
print '';
|
||||
|
||||
print 'glibtop_init_func_t _glibtop_init_hook_s [] = {';
|
||||
print $init_hook_code;
|
||||
print '};';
|
||||
print '';
|
||||
|
||||
10
configure.in
10
configure.in
@@ -8,11 +8,11 @@ AC_CANONICAL_SYSTEM
|
||||
|
||||
LIBGTOP_MAJOR_VERSION=2
|
||||
LIBGTOP_MINOR_VERSION=0
|
||||
LIBGTOP_MICRO_VERSION=5
|
||||
LIBGTOP_MICRO_VERSION=2
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
||||
LIBGTOP_INTERFACE_AGE=5
|
||||
LIBGTOP_BINARY_AGE=5
|
||||
LIBGTOP_INTERFACE_AGE=1
|
||||
LIBGTOP_BINARY_AGE=1
|
||||
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
@@ -285,7 +285,8 @@ 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"
|
||||
dnl ## 'es_ES' is only needed for format numbers different of 'es'
|
||||
ALL_LINGUAS="am ar az be bg ca cs da de el es es_ES et fa fi fr ga gl he hu id it ja ko lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sr sr@Latn sv tr uk vi zh_CN zh_TW"
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
@@ -479,6 +480,5 @@ lib/Makefile
|
||||
examples/Makefile
|
||||
doc/Makefile
|
||||
support/Makefile
|
||||
support/gnome-support-2.0.pc
|
||||
libgtop-2.0.pc
|
||||
])
|
||||
|
||||
5
debian/libgtop2.README.Debian
vendored
5
debian/libgtop2.README.Debian
vendored
@@ -1,5 +0,0 @@
|
||||
|
||||
The Debian package of libgtop, a GNOME library.
|
||||
|
||||
--
|
||||
Ian Lynagh <ian@lynagh.demon.co.uk>
|
||||
12
debian/libgtop2.copyright
vendored
12
debian/libgtop2.copyright
vendored
@@ -1,12 +0,0 @@
|
||||
|
||||
libgtop is released under the GPL.
|
||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
||||
Public License can be found in /usr/share/common-licenses/GPL
|
||||
|
||||
Original authors: Martin Baulig <martin@home-of-linux.org>
|
||||
Drazen Kacar <dave@srce.hr>
|
||||
|
||||
Originally Debianised by Jim Pick <jim@jimpick.com>
|
||||
Then re-Debianised in October 1998 by Martin Schulze
|
||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
|
||||
<ian@lynagh.demon.co.uk> in November 1998.
|
||||
7
debian/libgtop2.docs
vendored
7
debian/libgtop2.docs
vendored
@@ -1,7 +0,0 @@
|
||||
RELNOTES-0.25
|
||||
RELNOTES-1.0
|
||||
RELNOTES-1.1.x
|
||||
NEWS
|
||||
AUTHORS
|
||||
TODO
|
||||
debian/changelog
|
||||
2
debian/libgtop2.files.in
vendored
2
debian/libgtop2.files.in
vendored
@@ -1,2 +0,0 @@
|
||||
@PREFIX@/lib/libgtop*-1.1.so.*.*
|
||||
@PREFIX@/lib/libgtop*-1.1.so.*
|
||||
@@ -1,107 +0,0 @@
|
||||
@node LibGTop Internals, , Reference Manual, Top
|
||||
@chapter LibGTop Internals
|
||||
|
||||
@menu
|
||||
* General Internals:: General Internals
|
||||
* Sysdeps Internals:: Sysdeps Internals
|
||||
@end menu
|
||||
|
||||
@node General Internals, Sysdeps Internals, LibGTop Internals, LibGTop Internals
|
||||
@section General Internals
|
||||
|
||||
@menu
|
||||
* glibtop:: The server structure
|
||||
@end menu
|
||||
|
||||
@node glibtop, , General Internals, General Internals
|
||||
@subsection The server structure - @code{glibtop}
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
struct _glibtop
|
||||
@{
|
||||
unsigned flags;
|
||||
unsigned method;
|
||||
unsigned error_method;
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
glibtop_machine machine;
|
||||
#endif
|
||||
int input [2];
|
||||
int output [2];
|
||||
int socket;
|
||||
int ncpu;
|
||||
unsigned long os_version_code;
|
||||
const char *name;
|
||||
const char *server_command;
|
||||
const char *server_host;
|
||||
const char *server_user;
|
||||
const char *server_rsh;
|
||||
unsigned long features;
|
||||
unsigned long server_port;
|
||||
glibtop_sysdeps sysdeps;
|
||||
glibtop_sysdeps required;
|
||||
glibtop_sysdeps wanted;
|
||||
pid_t pid;
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
@node Sysdeps Internals, , General Internals, LibGTop Internals
|
||||
@section Sysdeps Internals
|
||||
|
||||
@menu
|
||||
* glibtop_open_s:: Non-privileged initializations
|
||||
* glibtop_close_s:: Non-privileged cleanups
|
||||
@end menu
|
||||
|
||||
@node glibtop_open_s, glibtop_close_s, Sysdeps Internals, Sysdeps Internals
|
||||
@subsection glibtop_open_s
|
||||
|
||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
||||
initialize a server. It should do all initializations that do not need any
|
||||
privileges.
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
void
|
||||
glibtop_open_s (glibtop *server, const char *program_name,
|
||||
const unsigned long features,
|
||||
const unsigned flags);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
@table @code
|
||||
@item server
|
||||
Pointer to the @code{glibtop} server structure.
|
||||
@item program_name
|
||||
Name of the calling program; the implementation will usually
|
||||
set @samp{server->name} to this so it'll be used as the program
|
||||
name in error messages.
|
||||
@end table
|
||||
|
||||
Typically, this function will set @code{server->name}, @code{server->ncpu} and
|
||||
@code{server->os_version_code} and initialize any of the @code{server->machine}
|
||||
fields which do not need any privileges.
|
||||
|
||||
It is normally implemented in @file{open.c} in the sysdeps directory.
|
||||
|
||||
@node glibtop_close_s, , glibtop_open_s, Sysdeps Internals
|
||||
@subsection glibtop_close_s
|
||||
|
||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
||||
clean-up a server when it's no longer used.
|
||||
|
||||
It must free all resources that were allocated in @code{glibtop_open_s}.
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
void
|
||||
glibtop_close_s (glibtop *server);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
It is normally implemented in @file{close.c} in the sysdeps directory, but may
|
||||
be empty.
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile.in
|
||||
Makefile
|
||||
@@ -1,9 +0,0 @@
|
||||
backenddir = @LIBGTOP_BACKEND_DIR@
|
||||
|
||||
backend_DATA = \
|
||||
libgtop-backends.dtd \
|
||||
libgtop-backend-info.dtd
|
||||
|
||||
EXTRA_DIST = |
|
||||
$(backend_DATA)
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<!ELEMENT BackendInfo (name,description?,comments?,authors,legalnotice)>
|
||||
<!ELEMENT name (short_name,long_name?)>
|
||||
<!ELEMENT short_name (#PCDATA)>
|
||||
<!ELEMENT long_name (#PCDATA)>
|
||||
|
||||
<!ELEMENT description (#PCDATA)>
|
||||
|
||||
<!ELEMENT authors (author)+>
|
||||
<!ELEMENT author (author_name,author_email?)>
|
||||
<!ELEMENT author_name (#PCDATA)>
|
||||
<!ELEMENT author_email (#PCDATA)>
|
||||
|
||||
<!ELEMENT legalnotice (license,copyright?)>
|
||||
<!ELEMENT license (#PCDATA)>
|
||||
|
||||
<!ELEMENT copyright (holder)+>
|
||||
<!ELEMENT holder (holder_year?,holder_name,holder_email?)>
|
||||
<!ELEMENT holder_year (#PCDATA)>
|
||||
<!ELEMENT holder_name (#PCDATA)>
|
||||
<!ELEMENT holder_email (#PCDATA)>
|
||||
|
||||
<!ELEMENT comments (comment)+>
|
||||
<!ELEMENT comment (#PCDATA)>
|
||||
@@ -1,11 +0,0 @@
|
||||
<!ELEMENT Backends (Backend)+>
|
||||
|
||||
<!ELEMENT Backend (Name,Location)>
|
||||
<!ELEMENT Name (#PCDATA)>
|
||||
|
||||
<!ELEMENT Location (LibtoolName?,ShlibName,ExtraLibs?)>
|
||||
<!ELEMENT LibtoolName (#PCDATA)>
|
||||
<!ELEMENT ShlibName (#PCDATA)>
|
||||
|
||||
<!ELEMENT ExtraLibs (ExtraLib)+>
|
||||
<!ELEMENT ExtraLib (LibtoolName?,ShlibName)>
|
||||
@@ -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
|
||||
@@ -1,43 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@@AUTOGEN_COMMENT@@
|
||||
|
||||
/* 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_CALL_VECTOR_H__
|
||||
#define __GLIBTOP_CALL_VECTOR_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/union.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
struct _glibtop_call_vector
|
||||
{
|
||||
@@GLIBTOP_CALL_VECTOR@@
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,116 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
require 'c_types.pl';
|
||||
|
||||
die "Usage: $0 features.def call-vector.h.in" unless $#ARGV == 1;
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
$func_decl_code = '';
|
||||
|
||||
open FEATURESDEF, $ARGV[1] or
|
||||
die "open ($ARGV[1]): $!";
|
||||
|
||||
while (<FEATURESDEF>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^\#]/) {
|
||||
&parse_features_def ($_);
|
||||
}
|
||||
}
|
||||
|
||||
close FEATURESDEF;
|
||||
|
||||
sub parse_features_def {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$element_def = $line_fields[3];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
$space = $feature;
|
||||
$space =~ s/./ /g;
|
||||
|
||||
if ($retval eq 'retval') {
|
||||
$retval_param = '&retval';
|
||||
$retval = 'int';
|
||||
}
|
||||
elsif ($retval !~ /^void$/) {
|
||||
$retval_param = 'NULL';
|
||||
}
|
||||
else {
|
||||
$retval_param = 'NULL';
|
||||
}
|
||||
|
||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
||||
}
|
||||
|
||||
$param_decl = '';
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
$type = $params[$param];
|
||||
$type =~ s/\(.*//;
|
||||
$list =~ s/^.*\(//;
|
||||
$list =~ s/\)$//;
|
||||
$count = (@fields = split(/,/, $list, 9999));
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
my $c_type = $typeinfo->{$type}->[1];
|
||||
|
||||
$param_decl = $param_decl . ', ';
|
||||
$param_decl = $param_decl . $c_type;
|
||||
}
|
||||
}
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$func_decl_code .= sprintf
|
||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *%s);\n], $retval, $feature, $param_decl);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$func_decl_code .= sprintf
|
||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$func_decl_code .= sprintf
|
||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
||||
} else {
|
||||
$func_decl_code .= sprintf
|
||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
||||
}
|
||||
}
|
||||
|
||||
chop $func_decl_code;
|
||||
|
||||
$auto_gen_comment = sprintf
|
||||
(qq[/*\n * This file is automatically generated.\n * Please modify `call-vector.pl' and `call-vector.h.in'.\n */]);
|
||||
|
||||
open CALLVECTOR, $ARGV[2] or
|
||||
die "open ($ARGV[2]): $!";
|
||||
|
||||
while (<CALLVECTOR>) {
|
||||
chop;
|
||||
|
||||
s/^\s*\@\@GLIBTOP_CALL_VECTOR\@\@\s*$/$func_decl_code/;
|
||||
|
||||
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
|
||||
} continue {
|
||||
print $_;
|
||||
}
|
||||
|
||||
close CALLVECTOR;
|
||||
@@ -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
|
||||
@@ -1,95 +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_ERRORS_H__
|
||||
#define __GLIBTOP_ERRORS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
#include <glib/gerror.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_ERROR glibtop_error_quark ()
|
||||
|
||||
GQuark glibtop_error_quark (void) G_GNUC_CONST;
|
||||
|
||||
typedef enum {
|
||||
GLIBTOP_ERROR_NO_ERROR = 0,
|
||||
GLIBTOP_ERROR_UNKNOWN,
|
||||
GLIBTOP_ERROR_INVALID_ARGUMENT,
|
||||
GLIBTOP_ERROR_NO_SUCH_PARAMETER,
|
||||
GLIBTOP_ERROR_READONLY_VALUE,
|
||||
GLIBTOP_ERROR_SIZE_MISMATCH,
|
||||
|
||||
GLIBTOP_ERROR_SERVER_COMM_FAILURE,
|
||||
|
||||
GLIBTOP_ERROR_NO_SUCH_PROCESS,
|
||||
|
||||
GLIBTOP_ERROR_NO_KERNEL_SUPPORT,
|
||||
GLIBTOP_ERROR_INCOMPATIBLE_KERNEL,
|
||||
|
||||
GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
GLIBTOP_ERROR_NOT_IMPLEMENTED,
|
||||
GLIBTOP_ERROR_NO_BACKEND_OPENED,
|
||||
|
||||
GLIBTOP_ERROR_DEMARSHAL_ERROR
|
||||
} glibtop_error;
|
||||
|
||||
void
|
||||
glibtop_error_vl (glibtop_client *client, glibtop_error code,
|
||||
const char *format, va_list args);
|
||||
|
||||
void
|
||||
glibtop_error_io_vl (glibtop_client *client, glibtop_error code,
|
||||
int io_errno, const char *format, va_list args);
|
||||
|
||||
void
|
||||
glibtop_warn_vl (glibtop_client *client, glibtop_error code,
|
||||
const char *format, va_list args);
|
||||
|
||||
void
|
||||
glibtop_warn_io_vl (glibtop_client *client, glibtop_error code,
|
||||
int io_errno, const char *format, va_list args);
|
||||
|
||||
void
|
||||
glibtop_error_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...);
|
||||
|
||||
void
|
||||
glibtop_warn_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...);
|
||||
|
||||
void
|
||||
glibtop_error_io_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...);
|
||||
|
||||
void
|
||||
glibtop_warn_io_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -1,102 +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_BACKEND_INFO_H__
|
||||
#define __GLIBTOP_BACKEND_INFO_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
#include <glibtop/glibtop-server.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_backend_info glibtop_backend_info;
|
||||
typedef struct _glibtop_backend_entry glibtop_backend_entry;
|
||||
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 **);
|
||||
typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *,
|
||||
glibtop_closure *);
|
||||
|
||||
struct _glibtop_backend_info
|
||||
{
|
||||
const char *name;
|
||||
glibtop_backend_open_func_t open;
|
||||
glibtop_backend_close_func_t close;
|
||||
glibtop_call_vector *call_vector;
|
||||
};
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
#include <gmodule.h>
|
||||
|
||||
/* private structure */
|
||||
struct _glibtop_backend_module
|
||||
{
|
||||
int refcount;
|
||||
GModule *module;
|
||||
GSList *extra_modules;
|
||||
};
|
||||
|
||||
struct _glibtop_backend_entry
|
||||
{
|
||||
char *name;
|
||||
char *libtool_name;
|
||||
char *shlib_name;
|
||||
|
||||
GSList *extra_libs;
|
||||
|
||||
/* This is const since you must not attempt to
|
||||
* write into gmodule loaded memory. */
|
||||
const glibtop_backend_info *info;
|
||||
|
||||
/* private pointer */
|
||||
glibtop_backend_module *_priv;
|
||||
};
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
long
|
||||
glibtop_register_backend (glibtop_backend_entry *entry);
|
||||
|
||||
void
|
||||
glibtop_unregister_backend (long id);
|
||||
|
||||
glibtop_backend_entry *
|
||||
glibtop_backend_by_id (long id);
|
||||
|
||||
glibtop_backend_entry *
|
||||
glibtop_backend_by_name (const char *backend_name);
|
||||
|
||||
void
|
||||
glibtop_init_backends (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,85 +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 2.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_BACKEND_H__
|
||||
#define __GLIBTOP_BACKEND_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_TYPE_BACKEND (glibtop_backend_get_type ())
|
||||
#define GLIBTOP_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_CAST ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend))
|
||||
#define GLIBTOP_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
|
||||
#define GLIBTOP_IS_BACKEND(backend) (G_TYPE_CHECK_INSTANCE_TYPE ((backend), GLIBTOP_TYPE_BACKEND))
|
||||
#define GLIBTOP_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_BACKEND))
|
||||
#define GLIBTOP_BACKEND_GET_CLASS(backend)(G_TYPE_INSTANCE_GET_CLASS ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend_class))
|
||||
|
||||
#define GLIBTOP_BACKEND_TYPE(backend) (G_TYPE_FROM_INSTANCE (backend))
|
||||
#define GLIBTOP_BACKEND_TYPE_NAME(backend)(g_type_name (GLIBTOP_BACKEND_TYPE (backend)))
|
||||
|
||||
/* --- typedefs & structures --- */
|
||||
typedef struct _glibtop_backend glibtop_backend;
|
||||
typedef struct _glibtop_backend_class glibtop_backend_class;
|
||||
typedef struct _glibtop_backend_private glibtop_backend_private;
|
||||
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
struct _glibtop_backend
|
||||
{
|
||||
GObject object;
|
||||
|
||||
/* <private> */
|
||||
glibtop_backend_private *_priv;
|
||||
};
|
||||
|
||||
struct _glibtop_backend_class
|
||||
{
|
||||
GObjectClass parent_class;;
|
||||
};
|
||||
|
||||
GType
|
||||
glibtop_backend_get_type (void);
|
||||
|
||||
glibtop_backend *
|
||||
glibtop_backend_get (const char *backend_name, u_int64_t features,
|
||||
const char **backend_args, GError **error);
|
||||
|
||||
void
|
||||
glibtop_backend_set_closure_data (glibtop_backend *backend, glibtop_closure *closure);
|
||||
|
||||
glibtop_closure *
|
||||
glibtop_backend_get_closure_data (glibtop_backend *backend);
|
||||
|
||||
glibtop_call_vector *
|
||||
glibtop_backend_get_call_vector (glibtop_backend *backend);
|
||||
|
||||
glibtop_server *
|
||||
glibtop_backend_get_server (glibtop_backend *backend);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,97 +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 2.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_CLIENT_H__
|
||||
#define __GLIBTOP_CLIENT_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_TYPE_CLIENT (glibtop_client_get_type ())
|
||||
#define GLIBTOP_CLIENT(client) (G_TYPE_CHECK_INSTANCE_CAST ((client), GLIBTOP_TYPE_CLIENT, glibtop_client))
|
||||
#define GLIBTOP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
|
||||
#define GLIBTOP_IS_CLIENT(client) (G_TYPE_CHECK_INSTANCE_TYPE ((client), GLIBTOP_TYPE_CLIENT))
|
||||
#define GLIBTOP_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_CLIENT))
|
||||
#define GLIBTOP_CLIENT_GET_CLASS(client)(G_TYPE_INSTANCE_GET_CLASS ((client), GLIBTOP_TYPE_CLIENT, glibtop_client_class))
|
||||
|
||||
#define GLIBTOP_CLIENT_TYPE(client) (G_TYPE_FROM_INSTANCE (client))
|
||||
#define GLIBTOP_CLIENT_TYPE_NAME(client)(g_type_name (GLIBTOP_CLIENT_TYPE (client)))
|
||||
|
||||
/* --- typedefs & structures --- */
|
||||
typedef struct _glibtop_client glibtop_client;
|
||||
typedef struct _glibtop_client_class glibtop_client_class;
|
||||
typedef struct _glibtop_client_private glibtop_client_private;
|
||||
|
||||
struct _glibtop_client
|
||||
{
|
||||
GObject object;
|
||||
|
||||
/* <public> */
|
||||
GError *error;
|
||||
|
||||
/* <private> */
|
||||
glibtop_client_private *_priv;
|
||||
};
|
||||
|
||||
struct _glibtop_client_class
|
||||
{
|
||||
GObjectClass parent_class;;
|
||||
|
||||
void (*error) (glibtop_client *client, GError *error);
|
||||
void (*warning) (glibtop_client *client, GError *error);
|
||||
};
|
||||
|
||||
GType
|
||||
glibtop_client_get_type (void);
|
||||
|
||||
glibtop_client *
|
||||
glibtop_client_new (void);
|
||||
|
||||
void
|
||||
glibtop_client_propagate_error (glibtop_client *client, GError *error);
|
||||
|
||||
void
|
||||
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);
|
||||
|
||||
void
|
||||
glibtop_client_add_backend (glibtop_client *client,
|
||||
glibtop_backend *backend);
|
||||
|
||||
void
|
||||
glibtop_client_remove_backend (glibtop_client *client,
|
||||
glibtop_backend *backend);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -1,75 +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 2.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_SERVER_H__
|
||||
#define __GLIBTOP_SERVER_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_server glibtop_server;
|
||||
typedef struct _glibtop_server_info glibtop_server_info;
|
||||
|
||||
typedef struct _glibtop_closure glibtop_closure;
|
||||
|
||||
typedef int (*glibtop_init_func_t) (glibtop_server *, glibtop_closure *);
|
||||
|
||||
extern glibtop_init_func_t _glibtop_init_hook_s [];
|
||||
extern glibtop_init_func_t _glibtop_init_hook_p [];
|
||||
|
||||
struct _glibtop_server_info
|
||||
{
|
||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||
unsigned long features; /* Server is required for this features */
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
glibtop_sysdeps wanted; /* We only want this features */
|
||||
};
|
||||
|
||||
struct _glibtop_server
|
||||
{
|
||||
glibtop_server_info *info;
|
||||
|
||||
int refcount;
|
||||
unsigned flags;
|
||||
const char *name;
|
||||
|
||||
void *_priv;
|
||||
};
|
||||
|
||||
glibtop_server *
|
||||
glibtop_server_new (void);
|
||||
|
||||
void
|
||||
glibtop_server_ref (glibtop_server *server);
|
||||
|
||||
void
|
||||
glibtop_server_unref (glibtop_server *server);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -1,56 +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_LIMITS_H__
|
||||
#define __GLIBTOP_LIMITS_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* Nobody should really be using more than 64 processors. */
|
||||
#define GLIBTOP_NCPU 64
|
||||
|
||||
/* Maximum number of process groups in glibtop_proc_uid. */
|
||||
#define GLIBTOP_MAX_GROUPS 32
|
||||
|
||||
/* Maximum length of a mountpoint/device name in glibtop_mountlist. */
|
||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||
|
||||
/* Maximum length of a network interface name. */
|
||||
#define GLIBTOP_INTERFACE_LEN 32
|
||||
|
||||
/* 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)
|
||||
|
||||
/* Maximum length of a backend name. */
|
||||
#define GLIBTOP_BACKEND_NAME_LEN 40
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,93 +0,0 @@
|
||||
diff -ru kernel-source-2.2.12/Makefile hacker-2.2.12/Makefile
|
||||
--- kernel-source-2.2.12/Makefile Thu Aug 26 02:29:45 1999
|
||||
+++ hacker-2.2.12/Makefile Sat Dec 18 17:33:04 1999
|
||||
@@ -113,6 +113,7 @@
|
||||
DRIVERS =drivers/block/block.a \
|
||||
drivers/char/char.a \
|
||||
drivers/misc/misc.a
|
||||
+EXTRAS =
|
||||
LIBS =$(TOPDIR)/lib/lib.a
|
||||
SUBDIRS =kernel drivers mm fs net ipc lib
|
||||
|
||||
@@ -202,6 +203,11 @@
|
||||
DRIVERS := $(DRIVERS) drivers/net/irda/irda_drivers.a
|
||||
endif
|
||||
|
||||
+ifdef CONFIG_LIBGTOP
|
||||
+SUBDIRS := $(SUBDIRS) libgtop
|
||||
+EXTRAS := $(EXTRAS) libgtop/kernel.o
|
||||
+endif
|
||||
+
|
||||
include arch/$(ARCH)/Makefile
|
||||
|
||||
.S.s:
|
||||
@@ -222,6 +228,7 @@
|
||||
$(FILESYSTEMS) \
|
||||
$(NETWORKS) \
|
||||
$(DRIVERS) \
|
||||
+ $(EXTRAS) \
|
||||
$(LIBS) \
|
||||
--end-group \
|
||||
-o vmlinux
|
||||
diff -ru kernel-source-2.2.12/arch/i386/config.in hacker-2.2.12/arch/i386/config.in
|
||||
--- kernel-source-2.2.12/arch/i386/config.in Thu Oct 14 00:57:46 1999
|
||||
+++ hacker-2.2.12/arch/i386/config.in Sat Dec 18 17:33:04 1999
|
||||
@@ -88,6 +88,9 @@
|
||||
bool 'System V IPC' CONFIG_SYSVIPC
|
||||
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
|
||||
bool 'Sysctl support' CONFIG_SYSCTL
|
||||
+if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
|
||||
+ tristate 'LibGTop support' CONFIG_LIBGTOP
|
||||
+fi
|
||||
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
|
||||
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
|
||||
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
|
||||
diff -ru kernel-source-2.2.12/include/linux/autoconf.h hacker-2.2.12/include/linux/autoconf.h
|
||||
--- kernel-source-2.2.12/include/linux/autoconf.h Sat Dec 4 01:20:30 1999
|
||||
+++ hacker-2.2.12/include/linux/autoconf.h Sat Dec 18 17:41:44 1999
|
||||
@@ -53,6 +53,8 @@
|
||||
#define CONFIG_SYSVIPC 1
|
||||
#define CONFIG_BSD_PROCESS_ACCT 1
|
||||
#define CONFIG_SYSCTL 1
|
||||
+#undef CONFIG_LIBGTOP
|
||||
+#define CONFIG_LIBGTOP_MODULE 1
|
||||
#undef CONFIG_BINFMT_AOUT
|
||||
#define CONFIG_BINFMT_AOUT_MODULE 1
|
||||
#define CONFIG_BINFMT_ELF 1
|
||||
diff -ru kernel-source-2.2.12/include/linux/sysctl.h hacker-2.2.12/include/linux/sysctl.h
|
||||
--- kernel-source-2.2.12/include/linux/sysctl.h Mon Aug 9 21:05:13 1999
|
||||
+++ hacker-2.2.12/include/linux/sysctl.h Sat Dec 18 17:34:38 1999
|
||||
@@ -57,7 +57,8 @@
|
||||
CTL_FS=5, /* Filesystems */
|
||||
CTL_DEBUG=6, /* Debugging */
|
||||
CTL_DEV=7, /* Devices */
|
||||
- CTL_BUS=8 /* Buses */
|
||||
+ CTL_BUS=8, /* Buses */
|
||||
+ CTL_LIBGTOP=408 /* LibGTop */
|
||||
};
|
||||
|
||||
/* CTL_BUS names: */
|
||||
diff -ru kernel-source-2.2.12/kernel/sysctl.c hacker-2.2.12/kernel/sysctl.c
|
||||
--- kernel-source-2.2.12/kernel/sysctl.c Mon Aug 9 21:05:13 1999
|
||||
+++ hacker-2.2.12/kernel/sysctl.c Sat Dec 18 17:33:04 1999
|
||||
@@ -83,7 +83,9 @@
|
||||
static ctl_table fs_table[];
|
||||
static ctl_table debug_table[];
|
||||
static ctl_table dev_table[];
|
||||
-
|
||||
+#ifdef CONFIG_LIBGTOP
|
||||
+extern ctl_table libgtop_table[];
|
||||
+#endif
|
||||
|
||||
/* /proc declarations: */
|
||||
|
||||
@@ -149,6 +151,9 @@
|
||||
{CTL_FS, "fs", NULL, 0, 0555, fs_table},
|
||||
{CTL_DEBUG, "debug", NULL, 0, 0555, debug_table},
|
||||
{CTL_DEV, "dev", NULL, 0, 0555, dev_table},
|
||||
+#ifdef CONFIG_LIBGTOP
|
||||
+ {CTL_LIBGTOP, "libgtop", NULL, 0, 0555, libgtop_table},
|
||||
+#endif
|
||||
{0}
|
||||
};
|
||||
|
||||
170
lib/error.c
170
lib/error.c
@@ -1,170 +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/error.h>
|
||||
|
||||
#define DEFAULT_NAME "LibGTop-Server"
|
||||
|
||||
/* Prints error message and exits. */
|
||||
|
||||
static void
|
||||
print_server_name (glibtop_server *server)
|
||||
{
|
||||
fprintf (stderr, "%s: ", server ?
|
||||
(server->name ? server->name : DEFAULT_NAME)
|
||||
: DEFAULT_NAME);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||
abort ();
|
||||
#else
|
||||
exit (1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, ": %s\n", strerror (error));
|
||||
|
||||
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||
abort ();
|
||||
#else
|
||||
exit (1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, ": %s\n", strerror (error));
|
||||
|
||||
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#ifndef __GNUC__
|
||||
|
||||
static void
|
||||
glibtop_error (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (glibtop_global_server, format, args);
|
||||
va_end (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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
#endif /* no __GNUC__ */
|
||||
156
lib/errors.c
156
lib/errors.c
@@ -1,156 +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/global.h>
|
||||
#include <glibtop/errors.h>
|
||||
|
||||
/* Error quark */
|
||||
GQuark
|
||||
glibtop_error_quark (void)
|
||||
{
|
||||
static GQuark q = 0;
|
||||
if (q == 0)
|
||||
q = g_quark_from_static_string ("glibtop-error-quark");
|
||||
|
||||
return q;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_vl (glibtop_client *client, glibtop_error code,
|
||||
const char *format, va_list args)
|
||||
{
|
||||
gchar *message;
|
||||
GError *error;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
message = g_strdup_vprintf (format, args);
|
||||
|
||||
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
|
||||
glibtop_client_propagate_error (client, error);
|
||||
|
||||
g_error_free (error);
|
||||
g_free (message);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_vl (glibtop_client *client, glibtop_error code,
|
||||
int io_errno, const char *format, va_list args)
|
||||
{
|
||||
gchar *message, *fullmessage;
|
||||
GError *error;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
message = g_strdup_vprintf (format, args);
|
||||
fullmessage = g_strdup_printf ("%s: %s", message, strerror (io_errno));
|
||||
|
||||
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
|
||||
glibtop_client_propagate_error (client, error);
|
||||
|
||||
g_error_free (error);
|
||||
g_free (fullmessage);
|
||||
g_free (message);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_vl (glibtop_client *client, glibtop_error code,
|
||||
const char *format, va_list args)
|
||||
{
|
||||
gchar *message;
|
||||
GError *error;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
message = g_strdup_vprintf (format, args);
|
||||
|
||||
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
|
||||
glibtop_client_propagate_warning (client, error);
|
||||
|
||||
g_error_free (error);
|
||||
g_free (message);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_vl (glibtop_client *client, glibtop_error code,
|
||||
int io_errno, const char *format, va_list args)
|
||||
{
|
||||
gchar *message, *fullmessage;
|
||||
GError *error;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
message = g_strdup_vprintf (format, args);
|
||||
fullmessage = g_strdup_printf ("%s: %s", message, strerror (io_errno));
|
||||
|
||||
error = g_error_new_literal (GLIBTOP_ERROR, code, message);
|
||||
glibtop_client_propagate_warning (client, error);
|
||||
|
||||
g_error_free (error);
|
||||
g_free (fullmessage);
|
||||
g_free (message);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vl (client, code, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vl (client, code, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vl (client, code, errno, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_l (glibtop_client *client, glibtop_error code,
|
||||
char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vl (client, code, errno, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -1,280 +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/global.h>
|
||||
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
static GHashTable *_glibtop_backend_list = NULL;
|
||||
static long _glibtop_backend_nr = 0;
|
||||
|
||||
#define LIBGTOP_XML_NAMESPACE "http://www.home-of-linux.org/libgtop/1.1"
|
||||
|
||||
#include <libxml/parser.h>
|
||||
|
||||
#include <dirent.h>
|
||||
|
||||
static void _glibtop_init_gmodule_backends (const char *);
|
||||
|
||||
void
|
||||
glibtop_init_backends (void)
|
||||
{
|
||||
static int backends_initialized = 0;
|
||||
|
||||
if (backends_initialized)
|
||||
return;
|
||||
backends_initialized = 1;
|
||||
|
||||
LIBXML_TEST_VERSION;
|
||||
|
||||
_glibtop_init_gmodule_backends (LIBGTOP_BACKEND_DIR);
|
||||
}
|
||||
|
||||
static gchar *
|
||||
_get_library_filename (xmlDocPtr doc, xmlNodePtr cur, const char *directory)
|
||||
{
|
||||
char *filename = xmlNodeListGetString (doc, cur->xmlChildrenNode, 1);
|
||||
gchar *retval;
|
||||
|
||||
if (!filename)
|
||||
return NULL;
|
||||
|
||||
/* already absolute */
|
||||
if (filename [0] == '/')
|
||||
retval = g_strdup (filename);
|
||||
else
|
||||
retval = g_strdup_printf ("%s/%s", directory, filename);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
static GSList *
|
||||
_parse_extra_libs (xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, const char *dir)
|
||||
{
|
||||
GSList *list = NULL;
|
||||
|
||||
/* We don't care what the top level element name is */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
if ((!strcmp (cur->name, "ExtraLib")) && (cur->ns == ns)) {
|
||||
xmlNodePtr sub = cur->xmlChildrenNode;
|
||||
|
||||
while (sub != NULL) {
|
||||
if ((!strcmp (sub->name, "ShlibName")) && (sub->ns == ns))
|
||||
list = g_slist_append
|
||||
(list, _get_library_filename (doc, sub, dir));
|
||||
|
||||
sub = sub->next;
|
||||
}
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
static glibtop_backend_entry *
|
||||
_parseBackend (xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, const char *dir)
|
||||
{
|
||||
glibtop_backend_entry *ret = NULL;
|
||||
|
||||
/*
|
||||
* allocate the struct
|
||||
*/
|
||||
ret = g_new0 (glibtop_backend_entry, 1);
|
||||
|
||||
/* We don't care what the top level element name is */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
if ((!strcmp (cur->name, "Name")) && (cur->ns == ns))
|
||||
ret->name = xmlNodeListGetString
|
||||
(doc, cur->xmlChildrenNode, 1);
|
||||
|
||||
if ((!strcmp (cur->name, "Location")) && (cur->ns == ns)) {
|
||||
xmlNodePtr sub = cur->xmlChildrenNode;
|
||||
|
||||
while (sub != NULL) {
|
||||
if ((!strcmp (sub->name, "LibtoolName")) && (sub->ns == ns))
|
||||
ret->libtool_name = _get_library_filename (doc, sub, dir);
|
||||
if ((!strcmp (sub->name, "ShlibName")) && (sub->ns == ns))
|
||||
ret->shlib_name = _get_library_filename (doc, sub, dir);
|
||||
|
||||
if ((!strcmp (sub->name, "ExtraLibs")) && (sub->ns == ns))
|
||||
ret->extra_libs = _parse_extra_libs (doc, ns, sub, dir);
|
||||
|
||||
sub = sub->next;
|
||||
}
|
||||
}
|
||||
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
_glibtop_init_gmodule_backends (const char *directory)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
|
||||
dir = opendir (directory);
|
||||
if (!dir) return;
|
||||
|
||||
while ((entry = readdir (dir)) != NULL) {
|
||||
size_t len = strlen (entry->d_name);
|
||||
gchar *filename;
|
||||
xmlDocPtr doc;
|
||||
xmlNsPtr ns;
|
||||
xmlNodePtr cur;
|
||||
|
||||
if (len < 8)
|
||||
continue;
|
||||
|
||||
if (strcmp (entry->d_name+len-8, ".backend"))
|
||||
continue;
|
||||
|
||||
filename = g_strdup_printf ("%s/%s", directory, entry->d_name);
|
||||
|
||||
doc = xmlParseFile (filename);
|
||||
|
||||
if (!doc) {
|
||||
g_warning ("Cannot parse %s", filename);
|
||||
g_free (filename);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Make sure the document is of the right kind */
|
||||
|
||||
cur = xmlDocGetRootElement (doc);
|
||||
if (!cur) {
|
||||
xmlFreeDoc (doc);
|
||||
g_free (filename);
|
||||
continue;
|
||||
}
|
||||
|
||||
ns = xmlSearchNsByHref (doc, cur, LIBGTOP_XML_NAMESPACE);
|
||||
if (!ns) {
|
||||
g_warning ("File %s of wrong type; LibGTop Namespace not found",
|
||||
filename);
|
||||
g_free (filename);
|
||||
xmlFreeDoc (doc);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strcmp (cur->name, "Backends")) {
|
||||
g_warning ("File %s of the wrong type, root node != 'Backends'",
|
||||
filename);
|
||||
g_free (filename);
|
||||
xmlFreeDoc (doc);
|
||||
continue;
|
||||
}
|
||||
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
glibtop_backend_entry *backend;
|
||||
|
||||
if ((!strcmp(cur->name, "Backend")) && (cur->ns == ns)) {
|
||||
backend = _parseBackend (doc, ns, cur, directory);
|
||||
if (!backend) {
|
||||
g_warning ("File %s of wrong type; cannot parse",
|
||||
filename);
|
||||
continue;
|
||||
}
|
||||
|
||||
glibtop_register_backend (backend);
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
g_free (filename);
|
||||
xmlFreeDoc (doc);
|
||||
}
|
||||
|
||||
closedir (dir);
|
||||
}
|
||||
|
||||
long
|
||||
glibtop_register_backend (glibtop_backend_entry *entry)
|
||||
{
|
||||
long id;
|
||||
|
||||
if (!_glibtop_backend_list)
|
||||
_glibtop_backend_list = g_hash_table_new (NULL, NULL);
|
||||
|
||||
id = ++_glibtop_backend_nr;
|
||||
|
||||
g_hash_table_insert (_glibtop_backend_list,
|
||||
GINT_TO_POINTER (id),
|
||||
entry);
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_unregister_backend (long id)
|
||||
{
|
||||
g_hash_table_remove (_glibtop_backend_list,
|
||||
GINT_TO_POINTER (id));
|
||||
}
|
||||
|
||||
glibtop_backend_entry *
|
||||
glibtop_backend_by_id (long id)
|
||||
{
|
||||
return g_hash_table_lookup (_glibtop_backend_list,
|
||||
GINT_TO_POINTER (id));
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
const char *backend_name;
|
||||
glibtop_backend_entry *entry;
|
||||
} _find_by_name_param_t;
|
||||
|
||||
static void
|
||||
find_by_name (gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
_find_by_name_param_t *param = (_find_by_name_param_t *) user_data;
|
||||
glibtop_backend_entry *entry = (glibtop_backend_entry *) value;
|
||||
|
||||
if (!entry || !entry->name || param->entry)
|
||||
return;
|
||||
|
||||
if (!strcmp (entry->name, param->backend_name))
|
||||
param->entry = entry;
|
||||
}
|
||||
|
||||
glibtop_backend_entry *
|
||||
glibtop_backend_by_name (const char *backend_name)
|
||||
{
|
||||
_find_by_name_param_t param = { backend_name, NULL };
|
||||
|
||||
g_hash_table_foreach (_glibtop_backend_list,
|
||||
find_by_name, ¶m);
|
||||
|
||||
return param.entry;
|
||||
}
|
||||
@@ -1,271 +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 2.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 <glib-object.h>
|
||||
|
||||
#include <glibtop/glibtop-backend.h>
|
||||
#include <glibtop/glibtop-backend-info.h>
|
||||
|
||||
static void glibtop_backend_class_init (glibtop_backend_class *klass);
|
||||
static void glibtop_backend_init (glibtop_backend *backend);
|
||||
static void glibtop_backend_finalize (GObject *object);
|
||||
|
||||
static gpointer parent_class = NULL;
|
||||
|
||||
|
||||
/* Internal data */
|
||||
|
||||
struct _glibtop_backend_private
|
||||
{
|
||||
const glibtop_backend_info *info;
|
||||
|
||||
glibtop_closure *closure_data;
|
||||
|
||||
glibtop_server *server;
|
||||
glibtop_backend_module *module;
|
||||
};
|
||||
|
||||
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),
|
||||
NULL, /* base_class_init */
|
||||
NULL, /* base_class_finalize */
|
||||
(GClassInitFunc) glibtop_backend_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (glibtop_backend),
|
||||
16, /* n_preallocs */
|
||||
(GInstanceInitFunc) glibtop_backend_init,
|
||||
};
|
||||
|
||||
glibtop_backend_type = g_type_register_static
|
||||
(G_TYPE_OBJECT, "glibtop_backend", &glibtop_backend_info, 0);
|
||||
}
|
||||
|
||||
return glibtop_backend_type;
|
||||
}
|
||||
|
||||
static void
|
||||
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;
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_backend_init (glibtop_backend *backend)
|
||||
{
|
||||
glibtop_backend_private *priv;
|
||||
|
||||
priv = g_new0 (glibtop_backend_private, 1);
|
||||
backend->_priv = priv;
|
||||
}
|
||||
|
||||
static void
|
||||
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);
|
||||
}
|
||||
|
||||
static void
|
||||
unload_module (gpointer data, gpointer user_data)
|
||||
{
|
||||
g_module_close (data);
|
||||
}
|
||||
|
||||
static int
|
||||
load_extra_libs (glibtop_backend_entry *entry, GError **error)
|
||||
{
|
||||
GSList *list;
|
||||
GSList *loaded_here = NULL;
|
||||
|
||||
for (list = entry->extra_libs; list; list = list->next) {
|
||||
const gchar *filename = list->data;
|
||||
GModule *module;
|
||||
|
||||
module = g_module_open (filename, G_MODULE_BIND_LAZY);
|
||||
if (!module) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"Cannot open extra shared library `%s' "
|
||||
"for backend `%s' (%s)", filename, entry->name,
|
||||
g_module_error ());
|
||||
g_slist_foreach (loaded_here, unload_module, NULL);
|
||||
return -GLIBTOP_ERROR_NO_SUCH_BACKEND;
|
||||
}
|
||||
|
||||
loaded_here = g_slist_prepend (loaded_here, module);
|
||||
}
|
||||
|
||||
entry->_priv->extra_modules = g_slist_concat
|
||||
(loaded_here, entry->_priv->extra_modules);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
glibtop_backend *
|
||||
glibtop_backend_get (const char *backend_name, u_int64_t features,
|
||||
const char **backend_args, GError **error)
|
||||
{
|
||||
const glibtop_backend_info *info;
|
||||
glibtop_backend_entry *entry;
|
||||
glibtop_backend *backend;
|
||||
|
||||
glibtop_init_backends ();
|
||||
|
||||
entry = glibtop_backend_by_name (backend_name);
|
||||
if (!entry) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"No backend with this name");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!entry->_priv) {
|
||||
entry->_priv = g_new0 (glibtop_backend_module, 1);
|
||||
|
||||
if (entry->extra_libs) {
|
||||
int retval;
|
||||
|
||||
retval = load_extra_libs (entry, error);
|
||||
if (retval < 0)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
entry->_priv->module = g_module_open (entry->shlib_name,
|
||||
G_MODULE_BIND_LAZY);
|
||||
if (!entry->_priv->module) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"Cannot open shared library `%s' "
|
||||
"for backend `%s' (%s)", entry->shlib_name,
|
||||
entry->name, g_module_error ());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!g_module_symbol (entry->_priv->module,
|
||||
"LibGTopBackendInfo",
|
||||
(gpointer*) &entry->info)) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"Library `%s' is not a valid "
|
||||
"LibGTop Backend library (start symbol not found)",
|
||||
entry->shlib_name);
|
||||
|
||||
g_module_close (entry->_priv->module);
|
||||
g_free (entry->_priv);
|
||||
entry->_priv = NULL;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
info = entry->info;
|
||||
if (!info) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"Can't get backend info");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
backend = g_object_new (GLIBTOP_TYPE_BACKEND, NULL);
|
||||
|
||||
backend->_priv->module = entry->_priv;
|
||||
backend->_priv->info = info;
|
||||
|
||||
backend->_priv->server = glibtop_server_new ();
|
||||
|
||||
if (info->open) {
|
||||
int retval;
|
||||
|
||||
retval = info->open (backend->_priv->server, backend, features,
|
||||
backend_args);
|
||||
if (retval) {
|
||||
g_set_error (error, GLIBTOP_ERROR, GLIBTOP_ERROR_NO_SUCH_BACKEND,
|
||||
"Backend open function return error condition");
|
||||
|
||||
g_object_unref (G_OBJECT (backend));
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
entry->_priv->refcount++;
|
||||
|
||||
return backend;
|
||||
}
|
||||
|
||||
glibtop_call_vector *
|
||||
glibtop_backend_get_call_vector (glibtop_backend *backend)
|
||||
{
|
||||
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
|
||||
|
||||
g_assert (backend->_priv->info != NULL);
|
||||
|
||||
return backend->_priv->info->call_vector;
|
||||
}
|
||||
|
||||
glibtop_server *
|
||||
glibtop_backend_get_server (glibtop_backend *backend)
|
||||
{
|
||||
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
|
||||
|
||||
glibtop_server_ref (backend->_priv->server);
|
||||
|
||||
return backend->_priv->server;
|
||||
}
|
||||
|
||||
glibtop_closure *
|
||||
glibtop_backend_get_closure_data (glibtop_backend *backend)
|
||||
{
|
||||
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
|
||||
|
||||
return backend->_priv->closure_data;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_backend_set_closure_data (glibtop_backend *backend,
|
||||
glibtop_closure *closure)
|
||||
{
|
||||
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
|
||||
g_return_if_fail (backend->_priv->closure_data == NULL);
|
||||
|
||||
backend->_priv->closure_data = closure;
|
||||
}
|
||||
@@ -1,34 +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 2.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_CLIENT_PRIVATE_H__
|
||||
#define __GLIBTOP_CLIENT_PRIVATE_H__
|
||||
|
||||
struct _glibtop_client_private
|
||||
{
|
||||
GSList *backend_list;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,257 +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 2.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 <glib-object.h>
|
||||
|
||||
static void glibtop_client_class_init (glibtop_client_class *klass);
|
||||
static void glibtop_client_init (glibtop_client *client);
|
||||
static void glibtop_client_finalize (GObject *object);
|
||||
|
||||
static gpointer parent_class = NULL;
|
||||
|
||||
#include <glibtop-client-private.h>
|
||||
|
||||
enum {
|
||||
GLIBTOP_CLIENT_SIGNAL_ERROR,
|
||||
GLIBTOP_CLIENT_SIGNAL_WARNING,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
static guint glibtop_client_signals [LAST_SIGNAL] = { 0 };
|
||||
|
||||
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),
|
||||
NULL, /* base_class_init */
|
||||
NULL, /* base_class_finalize */
|
||||
(GClassInitFunc) glibtop_client_class_init,
|
||||
NULL, /* class_finalize */
|
||||
NULL, /* class_data */
|
||||
sizeof (glibtop_client),
|
||||
16, /* n_preallocs */
|
||||
(GInstanceInitFunc) glibtop_client_init,
|
||||
};
|
||||
|
||||
glibtop_client_type = g_type_register_static
|
||||
(G_TYPE_OBJECT, "glibtop_client", &glibtop_client_info, 0);
|
||||
}
|
||||
|
||||
return glibtop_client_type;
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_client_error_handler (glibtop_client *client, GError *error)
|
||||
{
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
|
||||
if (error == NULL)
|
||||
return;
|
||||
|
||||
g_error ("%s (%d): %s", g_quark_to_string (error->domain),
|
||||
error->code, error->message);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_client_warning_handler (glibtop_client *client, GError *error)
|
||||
{
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
|
||||
if (error == NULL)
|
||||
return;
|
||||
|
||||
g_warning ("%s (%d): %s", g_quark_to_string (error->domain),
|
||||
error->code, error->message);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
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] =
|
||||
g_signal_new ("error",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (glibtop_client_class, error),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__POINTER,
|
||||
G_TYPE_NONE, 1, G_TYPE_POINTER, NULL);
|
||||
|
||||
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_WARNING] =
|
||||
g_signal_new ("warning",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (glibtop_client_class, warning),
|
||||
NULL, NULL,
|
||||
g_cclosure_marshal_VOID__POINTER,
|
||||
G_TYPE_NONE, 1, G_TYPE_POINTER, NULL);
|
||||
|
||||
klass->error = glibtop_client_error_handler;
|
||||
klass->warning = glibtop_client_warning_handler;
|
||||
|
||||
gobject_class->finalize = glibtop_client_finalize;
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_client_init (glibtop_client *glibtop)
|
||||
{
|
||||
glibtop_client_private *priv;
|
||||
|
||||
priv = g_new0 (glibtop_client_private, 1);
|
||||
glibtop->_priv = priv;
|
||||
}
|
||||
|
||||
static void
|
||||
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);
|
||||
}
|
||||
|
||||
glibtop_client *
|
||||
glibtop_client_new (void)
|
||||
{
|
||||
return g_object_new (GLIBTOP_TYPE_CLIENT, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_client_propagate_error (glibtop_client *client, GError *error)
|
||||
{
|
||||
GValue params [2] = { { 0, }, { 0, } };
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
|
||||
if (error == NULL)
|
||||
return;
|
||||
|
||||
g_value_init (params, GLIBTOP_CLIENT_TYPE (client));
|
||||
g_value_set_object (params, G_OBJECT (client));
|
||||
|
||||
g_value_init (params + 1, G_TYPE_POINTER);
|
||||
g_value_set_pointer (params + 1, error);
|
||||
|
||||
g_signal_emitv (params,
|
||||
glibtop_client_signals [GLIBTOP_CLIENT_SIGNAL_ERROR],
|
||||
0, NULL);
|
||||
|
||||
g_value_unset (params + 1);
|
||||
g_value_unset (params + 0);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_client_propagate_warning (glibtop_client *client, GError *error)
|
||||
{
|
||||
GValue params [2] = { { 0, }, { 0, } };
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
|
||||
if (error == NULL)
|
||||
return;
|
||||
|
||||
g_value_init (params, GLIBTOP_CLIENT_TYPE (client));
|
||||
g_value_set_object (params, G_OBJECT (client));
|
||||
|
||||
g_value_init (params + 1, G_TYPE_POINTER);
|
||||
g_value_set_pointer (params + 1, 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)
|
||||
{
|
||||
glibtop_backend *backend;
|
||||
GError *error = NULL;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
|
||||
backend = glibtop_backend_get (backend_name, features, backend_args,
|
||||
&error);
|
||||
if (!backend) {
|
||||
glibtop_client_propagate_error (client, error);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
glibtop_client_add_backend (client, backend);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_client_add_backend (glibtop_client *client,
|
||||
glibtop_backend *backend)
|
||||
{
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
|
||||
|
||||
client->_priv->backend_list = g_slist_append
|
||||
(client->_priv->backend_list, backend);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_client_remove_backend (glibtop_client *client,
|
||||
glibtop_backend *backend)
|
||||
{
|
||||
GSList *c;
|
||||
|
||||
g_return_if_fail (GLIBTOP_IS_CLIENT (client));
|
||||
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
|
||||
|
||||
c = g_slist_find (client->_priv->backend_list, backend);
|
||||
if (!c) return;
|
||||
|
||||
g_slist_remove_link (client->_priv->backend_list, c);
|
||||
g_object_unref (G_OBJECT (backend));
|
||||
}
|
||||
@@ -1,38 +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_SERVER_PRIVATE_H__
|
||||
#define __GLIBTOP_SERVER_PRIVATE_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
typedef struct _glibtop_server_private glibtop_server_private;
|
||||
|
||||
struct _glibtop_server_private
|
||||
{
|
||||
GSList *backend_list;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,58 +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 2.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-server-private.h>
|
||||
|
||||
glibtop_server *
|
||||
glibtop_server_new (void)
|
||||
{
|
||||
glibtop_server *retval;
|
||||
|
||||
retval = g_new0 (glibtop_server, 1);
|
||||
retval->info = g_new0 (glibtop_server_info, 1);
|
||||
retval->_priv = g_new0 (glibtop_server_private, 1);
|
||||
retval->refcount = 1;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_server_ref (glibtop_server *server)
|
||||
{
|
||||
server->refcount++;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_server_unref (glibtop_server *server)
|
||||
{
|
||||
server->refcount--;
|
||||
|
||||
if (server->refcount <= 0) {
|
||||
g_free (server->_priv);
|
||||
g_free (server->info);
|
||||
g_free (server);
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
die "Usage: $0 features.def structures.def" unless $#ARGV == 2;
|
||||
|
||||
$[ = 1; # set array base to 1
|
||||
$, = ' '; # set output field separator
|
||||
$\ = "\n"; # set output record separator
|
||||
|
||||
sub toupper {
|
||||
local($_) = @_;
|
||||
tr/a-z/A-Z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub tolower {
|
||||
local($_) = @_;
|
||||
tr/A-Z/a-z/;
|
||||
return $_;
|
||||
}
|
||||
|
||||
$structures{$structure_count++} = 'glibtop';
|
||||
|
||||
open FEATURESDEF, $ARGV[1] or
|
||||
die "open ($ARGV[1]): $!";
|
||||
|
||||
while (<FEATURESDEF>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^\#]/) {
|
||||
&parse_features_def ($_);
|
||||
}
|
||||
}
|
||||
|
||||
close FEATURESDEF;
|
||||
|
||||
open STRUCTDEF, $ARGV[2] or
|
||||
die "open ($ARGV[2]): $!";
|
||||
|
||||
while (<STRUCTDEF>) {
|
||||
chop; # strip record separator
|
||||
|
||||
if (/^[^\#]/) {
|
||||
&parse_structure_def ($_);
|
||||
}
|
||||
}
|
||||
|
||||
close STRUCTDEF;
|
||||
|
||||
$init_structures_code = sprintf
|
||||
(qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_GLIBTOP] = scm_make_structure_type\n\t\t("glibtop", sizeof (glibtop));\n]);
|
||||
|
||||
for ($nr = 0; $nr < $structure_count; $nr++) {
|
||||
$structure = $structures{$nr};
|
||||
|
||||
$init_structures_code .= sprintf
|
||||
(qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_%s] = scm_make_structure_type\n\t\t("%s", sizeof (%s));\n],
|
||||
toupper($structure), $structure, $structure);
|
||||
}
|
||||
|
||||
print qq[/* structures.h */];
|
||||
print qq[/* This is a generated file. Please modify \`guile.pl\' */];
|
||||
print '';
|
||||
print qq[\#ifndef __GLIBTOP_STRUCTURES_H__];
|
||||
print qq[\#define __GLIBTOP_STRUCTURES_H__];
|
||||
print '';
|
||||
print qq[\#include <glibtop.h>];
|
||||
print '';
|
||||
print qq[BEGIN_LIBGTOP_DECLS];
|
||||
print '';
|
||||
|
||||
for ($nr = 0; $nr < $structure_count; $nr++) {
|
||||
$structure = $structures{$nr};
|
||||
|
||||
printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_STRUCTURE_'.&toupper($structure), $nr);
|
||||
}
|
||||
|
||||
print '';
|
||||
printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_MAX_STRUCTURES', $structure_count);
|
||||
print '';
|
||||
print qq[END_LIBGTOP_DECLS];
|
||||
print '';
|
||||
print qq[\#endif /* __GLIBTOP_STRUCTURES_H__ */];
|
||||
|
||||
sub parse_features_def {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$element_def = $line_fields[3];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
|
||||
$feature =~ s/^@//;
|
||||
$features{$feature} = $feature;
|
||||
|
||||
$structures{$structure_count++} = 'glibtop_'.$feature;
|
||||
}
|
||||
|
||||
sub parse_structure_def {
|
||||
local($line) = @_;
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$name = $line_fields[1];
|
||||
|
||||
$structures{$structure_count++} = $name;
|
||||
}
|
||||
@@ -1,74 +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/cpu.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_client *client;
|
||||
glibtop_backend *backend_common;
|
||||
glibtop_backend *backend_sysdeps;
|
||||
GError *error = NULL;
|
||||
glibtop_cpu cpu;
|
||||
|
||||
g_type_init ();
|
||||
|
||||
client = glibtop_client_new ();
|
||||
|
||||
backend_common = glibtop_backend_get ("glibtop-backend-common",
|
||||
0, NULL, &error);
|
||||
|
||||
if (error != NULL) {
|
||||
glibtop_client_propagate_warning (client, error);
|
||||
g_error_free (error);
|
||||
error = NULL;
|
||||
}
|
||||
|
||||
g_message (G_STRLOC ": backend = %p", backend_common);
|
||||
|
||||
if (backend_common != NULL)
|
||||
glibtop_client_add_backend (client, backend_common);
|
||||
|
||||
backend_sysdeps = glibtop_backend_get ("glibtop-backend-sysdeps-stub",
|
||||
0, NULL, &error);
|
||||
|
||||
if (error != NULL) {
|
||||
glibtop_client_propagate_warning (client, error);
|
||||
g_error_free (error);
|
||||
error = NULL;
|
||||
}
|
||||
|
||||
g_message (G_STRLOC ": backend = %p", backend_sysdeps);
|
||||
|
||||
if (backend_sysdeps != NULL)
|
||||
glibtop_client_add_backend (client, backend_sysdeps);
|
||||
|
||||
glibtop_get_cpu_l (client, &cpu);
|
||||
|
||||
exit (0);
|
||||
}
|
||||
@@ -1,98 +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/xmalloc.h>
|
||||
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
#include <glib.h>
|
||||
#endif
|
||||
|
||||
/* Wrappers to malloc, calloc, realloc ... */
|
||||
|
||||
void *
|
||||
glibtop_malloc_r (glibtop_server *server, size_t size)
|
||||
{
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
return g_malloc0 (size);
|
||||
#else
|
||||
void *buf = malloc (size);
|
||||
|
||||
if (!buf)
|
||||
glibtop_error_io_r (server, "malloc %d bytes", size);
|
||||
|
||||
return buf;
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
glibtop_calloc_r (glibtop_server *server, size_t nmemb, size_t size)
|
||||
{
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
return g_malloc0 (size * nmemb);
|
||||
#else
|
||||
void *buf = calloc (nmemb, size);
|
||||
|
||||
if (!buf)
|
||||
glibtop_error_io_r (server, "calloc %d blocks (%d bytes each)",
|
||||
nmemb, size);
|
||||
|
||||
return buf;
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
glibtop_realloc_r (glibtop_server *server, void *ptr, size_t size)
|
||||
{
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
return g_realloc (ptr, size);
|
||||
#else
|
||||
void *buf = realloc (ptr, size);
|
||||
|
||||
if (!buf)
|
||||
glibtop_error_io_r (server, "realloc %d bytes", size);
|
||||
|
||||
return buf;
|
||||
#endif
|
||||
}
|
||||
|
||||
char *
|
||||
glibtop_strdup_r (glibtop_server *server, const char *string)
|
||||
{
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
return g_strdup (string);
|
||||
#else
|
||||
return strcpy (glibtop_malloc_r (server, strlen (string) + 1), string);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_free_r (glibtop_server *server, void *ptr)
|
||||
{
|
||||
#ifdef LIBGTOP_USE_GLIB_MALLOC
|
||||
g_free (ptr);
|
||||
#else
|
||||
if (ptr) free ((void *) ptr);
|
||||
#endif
|
||||
}
|
||||
@@ -7,7 +7,7 @@ Name: libgtop
|
||||
Description: Portable System Access Library
|
||||
Requires: glib-2.0
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} @LIBGTOP_LIBS@ @LIBGTOP_EXTRA_LIBS@
|
||||
Libs: -L${libdir} @LIBGTOP_LIBS@
|
||||
Cflags: -I${includedir}/libgtop-2.0
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
The indentation in LibGTop was done with the following command:
|
||||
|
||||
find . -name \*.[ch] | xargs -i emacs -batch {} \
|
||||
-l /gnome/compile/libgtop/misc/format.el -f save-buffer
|
||||
|
||||
December 26, 1999
|
||||
Martin
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
(setq c-basic-offset 4)
|
||||
(if (not (word-search-forward "Mode: C" nil t))
|
||||
(insert-string "/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */\n\n"))
|
||||
(mark-whole-buffer)
|
||||
(indent-region (region-beginning) (region-end) nil)
|
||||
164
po/ChangeLog
164
po/ChangeLog
@@ -1,137 +1,3 @@
|
||||
2003-10-25 Christian Neumair <chris@gnome-de.org>
|
||||
|
||||
* de.po: Updated German translation.
|
||||
|
||||
2003-10-22 Vincent van Adrighem <adrighem@gnome.org>
|
||||
|
||||
* nl.po: Dutch translation updated by Vincent van Adrighem.
|
||||
|
||||
2003-10-22 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2003-10-21 Christian Neumair <chris@gnome-de.org>
|
||||
|
||||
* de.po: Updated German translation.
|
||||
|
||||
2003-10-21 Christian Rose <menthos@menthos.com>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2003-10-19 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* POTFILES.ignore: Removed, we use now POTFILES.skip
|
||||
|
||||
2003-10-01 Gustavo Maciel Dias Vieira <gdvieira@zaz.com.br>
|
||||
|
||||
* pt_BR.po: Applied revision by Augusta Marques da Silva
|
||||
<augusta.marques@gmx.net>.
|
||||
|
||||
2003-09-30 Laurent Dhima <laurenti@alblinux.net>
|
||||
|
||||
* sq.po: Added Albanian translation.
|
||||
|
||||
2003-09-17 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* ta.po: Committed new Tamil translation by Dinesh.
|
||||
|
||||
2003-09-13 Carlos Perelló Marín <carlos@gnome.org>
|
||||
|
||||
* es_ES.po, LEEME.es: Removed, it's only for one string that is a
|
||||
comment and procman is not using it. This modules is not maintained
|
||||
and all people tells that should die so I don't think that any other
|
||||
application will use it in the near future. This one is related with
|
||||
the bug #105676
|
||||
|
||||
2003-09-08 Mugurel Tudor <mugurelu@go.ro>
|
||||
|
||||
* ro.po: Updated Romanian translation by
|
||||
Mişu Moldovan <dumol@go.ro>
|
||||
|
||||
2003-09-06 Taneem Ahmed <taneem@bengalinux.org>
|
||||
|
||||
* bn.po: Added Bangla translation by Vat
|
||||
of Ankur group <gnome-translation@bengalinux.org>.
|
||||
|
||||
2003-08-28 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
|
||||
|
||||
* es.po: Revision of Spanish translation by
|
||||
Francisco Javier F. Serrador <serrador@arrakis.es>.
|
||||
|
||||
2003-08-28 Alessio Frusciante <algol@firenze.linux.it>
|
||||
|
||||
* it.po: Updated Italian translation.
|
||||
|
||||
2003-08-25 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* pt.po: Fixed typos in Portuguese translation.
|
||||
|
||||
2003-08-18 Metin Amiroff <metin@karegen.com>
|
||||
|
||||
* az.po: Updated Azerbaijani translation.
|
||||
|
||||
2003-08-13 Guntupalli Karunakar <karunakar@freedomink.org>
|
||||
|
||||
* hi.po: Added Hindi translation.
|
||||
|
||||
2003-08-09 Dafydd Harries <daf@parnassus.ath.cx>
|
||||
|
||||
* cy.po: Added Welsh translation.
|
||||
|
||||
2003-08-09 Wang Jian <lark@linux.net.cn>
|
||||
|
||||
* zh_CN.po: Updated Simplified Chinese translation by
|
||||
Funda Wang <fundawang@linux.net.cn>.
|
||||
|
||||
2003-08-08 Danilo Šegan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Updated Serbian translation.
|
||||
|
||||
2003-07-21 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-19 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-19 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-07-13 Metin Amiroff <metin@karegen.com>
|
||||
|
||||
* az.po: Updated Azerbaijani translation.
|
||||
|
||||
2003-06-25 Mohammad DAMT <mdamt@bisnisweb.com>
|
||||
|
||||
* id.po: Updated Indonesian translation
|
||||
|
||||
2003-06-23 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
|
||||
|
||||
* nl.po: Dutch translation updated by Kees van den Broek.
|
||||
|
||||
2003-06-14 Arafat Medini <lumina@silverpen.de>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2003-06-12 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* zh_TW.po: Updated traditional Chinese translation.
|
||||
|
||||
2003-06-04 Paul Duffy <dubhthach@frink.nuigalway.ie>
|
||||
|
||||
* ga.po: Updated Irish Translation.
|
||||
|
||||
2003-05-25 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* he.po: Mark wrong entry as fuzzy (msgfmt check failed).
|
||||
|
||||
2003-05-16 Danilo ©egan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Updated Serbian translation by Serbian
|
||||
team (Prevod.org).
|
||||
|
||||
2003-05-10 Danilo Segan <dsegan@gmx.net>
|
||||
|
||||
* sr.po, sr@Latn.po: Added Serbian translation by Serbian team
|
||||
@@ -162,7 +28,7 @@
|
||||
|
||||
* uk.po: Updated Ukrainian translation.
|
||||
|
||||
2003-02-25 T?µivo Leedj?€rv <toivo@linux.ee>
|
||||
2003-02-25 T?<EFBFBD>ivo Leedj?<EFBFBD>rv <toivo@linux.ee>
|
||||
|
||||
* et.po: Added Estonian translation.
|
||||
|
||||
@@ -196,7 +62,7 @@
|
||||
|
||||
2003-01-23 Marius Andreiana <marius galuna.ro>
|
||||
|
||||
* ro.po: added ( thanks to Mi?u Moldovan )
|
||||
* ro.po: added ( thanks to Mi?<EFBFBD>u Moldovan )
|
||||
|
||||
2003-01-22 Christian Rose <menthos@menthos.com>
|
||||
|
||||
@@ -251,7 +117,7 @@
|
||||
|
||||
2002-09-19 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Committed updated Turkish translation by ?mer.
|
||||
* tr.po: Committed updated Turkish translation by ?<EFBFBD>mer.
|
||||
|
||||
2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv>
|
||||
|
||||
@@ -294,17 +160,17 @@
|
||||
|
||||
* vi.po: Updated Vientamese file
|
||||
|
||||
2002-06-02 Germ??n Poo Caama?±o <gpoo@ubiobio.cl>
|
||||
2002-06-02 Germ??n Poo Caama?<EFBFBD>o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Updated Spanish translation from
|
||||
Juan Manuel Garc?a Molina <juanma_gm@wanadoo.es>
|
||||
Juan Manuel Garc?<EFBFBD>a Molina <juanma_gm@wanadoo.es>
|
||||
|
||||
2002-06-02 Zbigniew Chyla <cyba@gnome.pl>
|
||||
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2002-06-02 Carlos Perell?³ Mar?n <carlos@gnome-db.org>
|
||||
2002-06-02 Carlos Perell?<EFBFBD> Mar?<EFBFBD>n <carlos@gnome-db.org>
|
||||
|
||||
* es.po: Fixed.
|
||||
|
||||
@@ -357,7 +223,7 @@
|
||||
|
||||
2002-04-23 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
* no.po: Updated Norwegian (bokm?<EFBFBD>l) translation.
|
||||
|
||||
2002-04-19 Ole Laursen <olau@hardworking.dk>
|
||||
|
||||
@@ -394,13 +260,13 @@
|
||||
|
||||
2002-03-06 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
* no.po: Updated Norwegian (bokm?<EFBFBD>l) translation.
|
||||
|
||||
2002-03-06 Germ??n Poo-Caama?±o <gpoo@ubiobio.cl>
|
||||
2002-03-06 Germ??n Poo-Caama?<EFBFBD>o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Fixed spanish translation encoding.
|
||||
|
||||
2002-03-06 Germ??n Poo-Caama?±o <gpoo@ubiobio.cl>
|
||||
2002-03-06 Germ??n Poo-Caama?<EFBFBD>o <gpoo@ubiobio.cl>
|
||||
|
||||
* es.po: Update spanish translation.
|
||||
|
||||
@@ -415,7 +281,7 @@
|
||||
|
||||
2002-02-12 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* no.po: Updated Norwegian (bokm?¥l) translation.
|
||||
* no.po: Updated Norwegian (bokm?<EFBFBD>l) translation.
|
||||
|
||||
2002-02-09 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
@@ -448,7 +314,7 @@
|
||||
* pl.po: Updated Polish translation by
|
||||
GNOME PL Team <translators@gnome.pl>.
|
||||
|
||||
2001-10-17 Carlos Perell?³ Mar?n <carlos@gnome-db.org>
|
||||
2001-10-17 Carlos Perell?<EFBFBD> Mar?<EFBFBD>n <carlos@gnome-db.org>
|
||||
|
||||
* pt.po: Added by Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
@@ -466,7 +332,7 @@
|
||||
|
||||
2001-03-23 Fatih Demir <kabalak@gtranslator.org>
|
||||
|
||||
* tr.po: Updated Turkish translation by G?¶rkem.
|
||||
* tr.po: Updated Turkish translation by G?<EFBFBD>rkem.
|
||||
|
||||
2001-03-15 Valek Filippov <frob@df.ru>
|
||||
|
||||
@@ -576,7 +442,7 @@
|
||||
|
||||
* es.po: Updated Spanish translation.
|
||||
|
||||
2000-05-18 Martin Norb?€ck <d95mback@dtek.chalmers.se>
|
||||
2000-05-18 Martin Norb?<EFBFBD>ck <d95mback@dtek.chalmers.se>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
@@ -614,7 +480,7 @@
|
||||
|
||||
* gl.po: Added Galician translation.
|
||||
|
||||
1999-09-29 Kenneth ll?©phaane Christiansen <kenneth@ripen.dk>
|
||||
1999-09-29 Kenneth ll?<EFBFBD>phaane Christiansen <kenneth@ripen.dk>
|
||||
|
||||
* da.po: Updated.
|
||||
|
||||
|
||||
29
po/LEEME.es
Normal file
29
po/LEEME.es
Normal file
@@ -0,0 +1,29 @@
|
||||
[ This file explains why there is a incomplete es_ES.po in adition
|
||||
to the es.po; that is on purpose ]
|
||||
|
||||
El archivo para el locale es_ES solo existe porque en este paises se usa
|
||||
una representaci<EFBFBD>n de los n<EFBFBD>meros diferente de la que se usa en los dem<EFBFBD>s
|
||||
paises de habla espa<EFBFBD>ola, en el continente americano usan el sistema
|
||||
anglosaj<EFBFBD>n, esdecir 1,000 en vez de 1.000 para 'mil' y como son m<EFBFBD>s los paises
|
||||
que usan el sistema anglosaj<EFBFBD>n se ha dejado esa representaci<EFBFBD>n en el es.po.
|
||||
|
||||
Por ello solo es necesario traducir aquellas ocurrencias donde aparezcan
|
||||
n<EFBFBD>meros; no hace falta perder el tiempo traduciendo en doble lo dem<EFBFBD>s;
|
||||
el sistema de internacionalizaci<EFBFBD>n de GNU gettext es lo suficientemente
|
||||
inteligente como para buscar las traducciones en la locale 'es' cuando no
|
||||
las encuentra en una 'es_ES' m<EFBFBD>s espec<EFBFBD>fica.
|
||||
|
||||
Tambi<EFBFBD>n podriase crear un es_ES para traducir aquellos terminos que difieren
|
||||
en Espa<EFBFBD>a y Am<EFBFBD>rica (ej: computadora/ordenador, archivo/fichero, <EFBFBD>cono/icono),
|
||||
si alg<EFBFBD>n espa<EFBFBD>ol tiene ganas de encargarse de ello, bienvenido.
|
||||
Notese que solo es necesario traducir aquellas cadenas de texto para las
|
||||
cuales se usan terminos diferentes en Espa<EFBFBD>a; no es necesario traducir las
|
||||
dem<EFBFBD>s, con que est<EFBFBD>n en la traducci<EFBFBD>n general 'es' ya basta.
|
||||
|
||||
Pablo Saratxaga
|
||||
<srtxg@chanae.alphanet.ch>
|
||||
|
||||
Actualizado por
|
||||
Carlos Perell<EFBFBD> Mar<EFBFBD>n
|
||||
<carlos@gnome-db.org>
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
PACKAGE = @LIBGTOP_PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = $(prefix)/@DATADIRNAME@
|
||||
localedir = $(datadir)/locale
|
||||
gnulocaledir = $(prefix)/share/locale
|
||||
gettextsrcdir = $(prefix)/share/gettext/po
|
||||
subdir = po
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@
|
||||
|
||||
CC = @CC@
|
||||
GENCAT = @GENCAT@
|
||||
GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
|
||||
MSGMERGE = PATH=../src:$$PATH msgmerge
|
||||
|
||||
DEFS = @DEFS@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
|
||||
INCLUDES = -I.. -I$(top_srcdir)/intl
|
||||
|
||||
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
|
||||
|
||||
SOURCES = cat-id-tbl.c
|
||||
POFILES = @POFILES@
|
||||
GMOFILES = @GMOFILES@
|
||||
DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
|
||||
stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
|
||||
|
||||
POTFILES = \
|
||||
|
||||
CATALOGS = @CATALOGS@
|
||||
CATOBJEXT = @CATOBJEXT@
|
||||
INSTOBJEXT = @INSTOBJEXT@
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) $<
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(PACKAGE).pot
|
||||
$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && $(GENCAT) $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: cat-id-tbl.c $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
|
||||
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
|
||||
--add-comments --keyword=_ --keyword=N_ \
|
||||
--files-from=$(srcdir)/POTFILES.in \
|
||||
&& test ! -f $(PACKAGE).po \
|
||||
|| ( rm -f $(srcdir)/$(PACKAGE).pot \
|
||||
&& mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
|
||||
|
||||
$(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
|
||||
$(srcdir)/stamp-cat-id: $(PACKAGE).pot
|
||||
rm -f cat-id-tbl.tmp
|
||||
sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
|
||||
| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
|
||||
if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
|
||||
rm cat-id-tbl.tmp; \
|
||||
else \
|
||||
echo cat-id-tbl.c changed; \
|
||||
rm -f $(srcdir)/cat-id-tbl.c; \
|
||||
mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
|
||||
fi
|
||||
cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
|
||||
|
||||
|
||||
install: install-exec install-data
|
||||
install-exec:
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $(datadir); \
|
||||
else \
|
||||
$(SHELL) $(top_srcdir)/mkinstalldirs $(datadir); \
|
||||
fi
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
case "$$cat" in \
|
||||
*.gmo) destdir=$(gnulocaledir);; \
|
||||
*) destdir=$(localedir);; \
|
||||
esac; \
|
||||
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
|
||||
dir=$$destdir/$$lang/LC_MESSAGES; \
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $$dir; \
|
||||
else \
|
||||
$(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
|
||||
fi; \
|
||||
if test -r $$cat; then \
|
||||
$(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
|
||||
echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
|
||||
echo "installing $(srcdir)/$$cat as" \
|
||||
"$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
|
||||
fi; \
|
||||
if test -r $$cat.m; then \
|
||||
$(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$cat.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$cat.m \
|
||||
$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
echo "installing $(srcdir)/$$cat as" \
|
||||
"$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
if test "$(PACKAGE)" = "gettext"; then \
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $(gettextsrcdir); \
|
||||
else \
|
||||
$(SHELL) $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
|
||||
fi; \
|
||||
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
|
||||
$(gettextsrcdir)/Makefile.in.in; \
|
||||
else \
|
||||
: ; \
|
||||
fi
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
installcheck:
|
||||
|
||||
uninstall:
|
||||
catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
|
||||
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
|
||||
rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
|
||||
rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
done
|
||||
rm -f $(gettextsrcdir)/po-Makefile.in.in
|
||||
|
||||
check: all
|
||||
|
||||
cat-id-tbl.o: ../intl/libgettext.h
|
||||
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
mostlyclean:
|
||||
rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
|
||||
rm -fr *.o
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f $(GMOFILES)
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: update-po $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
for file in $$dists; do \
|
||||
ln $(srcdir)/$$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $(srcdir)/$$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(PACKAGE).pot
|
||||
PATH=`pwd`/../src:$$PATH; \
|
||||
cd $(srcdir); \
|
||||
catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
|
||||
mv $$lang.po $$lang.old.po; \
|
||||
echo "$$lang:"; \
|
||||
if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
|
||||
rm -f $$lang.old.po; \
|
||||
else \
|
||||
echo "msgmerge for $$cat failed!"; \
|
||||
rm -f $$lang.po; \
|
||||
mv $$lang.old.po $$lang.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
POTFILES: POTFILES.in
|
||||
( if test 'x$(srcdir)' != 'x.'; then \
|
||||
posrcprefix='$(top_srcdir)/'; \
|
||||
else \
|
||||
posrcprefix="../"; \
|
||||
fi; \
|
||||
rm -f $@-t $@ \
|
||||
&& (sed -e '/^#/d' -e '/^[ ]*$$/d' \
|
||||
-e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
|
||||
| sed -e '$$s/\\$$//') > $@-t \
|
||||
&& chmod a-w $@-t \
|
||||
&& mv $@-t $@ )
|
||||
|
||||
Makefile: Makefile.in.in ../config.status POTFILES
|
||||
cd .. \
|
||||
&& CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
6
po/POTFILES.ignore
Normal file
6
po/POTFILES.ignore
Normal file
@@ -0,0 +1,6 @@
|
||||
#Please remember + in front of the files that should be ignored
|
||||
#Please keep these files in alphabetic order
|
||||
|
||||
#Shouldn't be translated according to Martin:
|
||||
+kernel/table20/unistd-i386.h
|
||||
+kernel/table21/unistd-i386.h
|
||||
@@ -1,4 +0,0 @@
|
||||
support/error.c
|
||||
support/getopt.c
|
||||
support/popt.c
|
||||
support/popthelp.c
|
||||
106
po/es.po
106
po/es.po
@@ -1,53 +1,50 @@
|
||||
# translation of libgtop.libgtop-GNOME-2-0-port.po to Spanish
|
||||
# Translation into spanish of glibtop
|
||||
# Pablo Saratxaga <srtxg@chanae.alphanet.ch>, 1998-2000
|
||||
# FIXME: the strings still left empty are the ones I've no idea how
|
||||
# to translate them; if anyone has a suggestion...
|
||||
# Pablo Saratxaga <srtxg@chanae.alphanet.ch>, 1998-2000.
|
||||
# Germán Poo Caamaño <gpoo@ubiobio.cl>, 2002.
|
||||
# Germán Poo Caamaño <gpoo@ubiobio.cl>, 2002
|
||||
# Pablo Saratxaga <srtxg@chanae.alphanet.ch>, 2002.
|
||||
# Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2002.
|
||||
# Francisco Javier F. Serrador <serrador@arrakis.es>, 2003.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop.libgtop-GNOME-2-0-port\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2003-08-28 04:41+0200\n"
|
||||
"PO-Revision-Date: 2003-08-28 11:48+0200\n"
|
||||
"Last-Translator: Francisco Javier F. Serrador <serrador@arrakis.es>\n"
|
||||
"Project-Id-Version: glibtop 1.1.1\n"
|
||||
"POT-Creation-Date: 2002-06-02 13:22+0200\n"
|
||||
"PO-Revision-Date: 2002-06-02 18:17+0100\n"
|
||||
"Last-Translator: Juan Manuel García Molina <juanma_gm@wanadoo.es>\n"
|
||||
"Language-Team: Spanish <traductores@es.gnome.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"First-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n"
|
||||
"X-Generator: KBabel 1.0.2\n"
|
||||
"X-Generator: KBabel 0.9.6\n"
|
||||
|
||||
#: examples/smp.c:71
|
||||
#: examples/smp.c:68
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr "Tics (%ld por segundo):"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/mem.c:47
|
||||
#: examples/smp.c:71 sysdeps/names/mem.c:47
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/procuid.c:58
|
||||
#: examples/smp.c:71 sysdeps/names/procuid.c:58
|
||||
msgid "Nice"
|
||||
msgstr "Nice"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Sys"
|
||||
msgstr "Sis"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Idle"
|
||||
msgstr "Inact"
|
||||
|
||||
#: examples/smp.c:76
|
||||
#: examples/smp.c:73
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
@@ -56,36 +53,36 @@ msgstr ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
"\n"
|
||||
|
||||
#: examples/smp.c:80
|
||||
#: examples/smp.c:77
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
|
||||
#: examples/smp.c:97
|
||||
#: examples/smp.c:94
|
||||
msgid "Percent:"
|
||||
msgstr "Porcentaje:"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Total (%)"
|
||||
msgstr "Total (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "User (%)"
|
||||
msgstr "Usuario (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Nice (%)"
|
||||
msgstr "Nice (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Sys (%)"
|
||||
msgstr "Sis (%)"
|
||||
|
||||
#: examples/smp.c:99
|
||||
#: examples/smp.c:96
|
||||
msgid "Idle (%)"
|
||||
msgstr "Inact (%)"
|
||||
|
||||
#: examples/smp.c:101
|
||||
#: examples/smp.c:98
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
@@ -94,12 +91,12 @@ msgstr ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
"\n"
|
||||
|
||||
#: examples/smp.c:117
|
||||
#: examples/smp.c:114
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
|
||||
#: examples/smp.c:123
|
||||
#: examples/smp.c:120
|
||||
msgid "Spin:"
|
||||
msgstr "Spin:"
|
||||
|
||||
@@ -122,47 +119,46 @@ msgstr "leídos %d bytes de datos"
|
||||
msgid "write %d bytes"
|
||||
msgstr "escritos %d bytes"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr "Activar depuración"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr "DEPURACIÓN"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Activa salida detallada"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr "DETALLADO"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr "No se pudo abrir un proceso en segundo plano"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DAEMON"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invocado desde inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
"Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr ""
|
||||
"Error con la opción %s: %s.\n"
|
||||
"Ejecute '%s --help' para ver una lista completa de las opciones "
|
||||
"disponibles.\n"
|
||||
"Ejecute '%s --help' para ver una lista completa de las opciones disponibles.\n"
|
||||
|
||||
#: support/error.c:109
|
||||
msgid "Unknown system error"
|
||||
@@ -350,7 +346,7 @@ msgstr "Último PID"
|
||||
#: sysdeps/names/loadavg.c:47
|
||||
msgid "Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
|
||||
msgstr ""
|
||||
"Cantidad de procesos ejecutándose simultáneamente, media de los últimos 1, 5 y "
|
||||
"Cantidad de procesos corriendo simultáneamente, media de los últimos 1, 5 y "
|
||||
"15 minutos"
|
||||
|
||||
#: sysdeps/names/loadavg.c:48
|
||||
@@ -379,7 +375,7 @@ msgstr "Memoria compartida"
|
||||
|
||||
#: sysdeps/names/mem.c:45
|
||||
msgid "Buffers"
|
||||
msgstr "Búferes"
|
||||
msgstr "Búfers"
|
||||
|
||||
#: sysdeps/names/mem.c:46
|
||||
msgid "Cached"
|
||||
@@ -407,7 +403,7 @@ msgstr "Memoria compartida (en KB)"
|
||||
|
||||
#: sysdeps/names/mem.c:57
|
||||
msgid "Size of buffers kB"
|
||||
msgstr "Tamaño de los búferes (en KB)"
|
||||
msgstr "Tamaño de los búfers (en KB)"
|
||||
|
||||
#: sysdeps/names/mem.c:58
|
||||
msgid "Size of cached memory in kB"
|
||||
@@ -485,7 +481,7 @@ msgstr "Dirección"
|
||||
|
||||
#: sysdeps/names/netload.c:49 sysdeps/names/netload.c:67
|
||||
msgid "Packets In"
|
||||
msgstr "Paquetes de entrada"
|
||||
msgstr "Páquetes de entrada"
|
||||
|
||||
#: sysdeps/names/netload.c:50 sysdeps/names/netload.c:68
|
||||
msgid "Packets Out"
|
||||
@@ -664,8 +660,8 @@ msgid ""
|
||||
"textual name. (If you have an up-to-date /etc/psdatabase, then try ps -l to "
|
||||
"see the WCHAN field in action)"
|
||||
msgstr ""
|
||||
"Este es el «canal» en el cual el proceso está esperando. Esta es la "
|
||||
"dirección de una llamada de sistema, y puede ser buscada en una lista de "
|
||||
"Este es el \"canal\" en el cual el proceso está esperando. Esta es la "
|
||||
"dirección de una llamada sistema, y puede ser buscada en una lista de "
|
||||
"nombres si necesita un nombre textual. (Si tiene un /etc/psdatabasa "
|
||||
"actualizado, entonces pruebe \"ps -l\" para ver el campo WCHAN en acción)"
|
||||
|
||||
@@ -704,7 +700,7 @@ msgstr "Cantidad de páginas de memoria virtual"
|
||||
|
||||
#: sysdeps/names/procmem.c:55
|
||||
msgid "Number of resident set (non-swapped) pages"
|
||||
msgstr "Cantidad de páginas de conjuntos residentes (que no están en intercambio)"
|
||||
msgstr "Cantidad de páginas de conjuntos residentes (que no están en swap)"
|
||||
|
||||
#: sysdeps/names/procmem.c:56
|
||||
msgid "Number of pages of shared (mmap'd) memory"
|
||||
@@ -720,7 +716,7 @@ msgstr ""
|
||||
"Cantidad de páginas del proceso en memoria real, menos 3 par administración. "
|
||||
"Esto es solo las páginas que se cuentan entre texto, datos, o espacio de "
|
||||
"pila. Esto no incluye páginas que no han sido cargadas a la demanda, o que "
|
||||
"se encuentran en el dispositivo de intercambio."
|
||||
"se encuentran en el dispositivo de swap."
|
||||
|
||||
# In México, Dominican Republic, Guatemala, Honduras, Panama, Peru
|
||||
# and El Salvador, Number formats are the same as in the US, so no
|
||||
@@ -1108,15 +1104,15 @@ msgstr "Total máximo de memoria compartida"
|
||||
|
||||
#: sysdeps/names/swap.c:39 sysdeps/names/swap.c:48
|
||||
msgid "Total Swap Space"
|
||||
msgstr "Espacio de intercambio total"
|
||||
msgstr "Espacio de swap total"
|
||||
|
||||
#: sysdeps/names/swap.c:40 sysdeps/names/swap.c:49
|
||||
msgid "Used Swap Space"
|
||||
msgstr "Espacio de intercambio usado"
|
||||
msgstr "Espacio de swap usado"
|
||||
|
||||
#: sysdeps/names/swap.c:41 sysdeps/names/swap.c:50
|
||||
msgid "Free Swap Space"
|
||||
msgstr "Espacio de intercambio libre"
|
||||
msgstr "Espacio de swap libre"
|
||||
|
||||
#: sysdeps/names/swap.c:42
|
||||
msgid "Page In"
|
||||
@@ -1129,18 +1125,18 @@ msgstr "Páginas salidas"
|
||||
#: sysdeps/names/swap.c:51
|
||||
msgid "Total number of swap pages that have been brought in since system boot"
|
||||
msgstr ""
|
||||
"Cantidad total de páginas que han sido entradas al intercambio, desde el inicio del "
|
||||
"Cantidad total de páginas que han sido entradas al swap, desde el inicio del "
|
||||
"sistema"
|
||||
|
||||
#: sysdeps/names/swap.c:53
|
||||
msgid "Total number of swap pages that have been brought out since system boot"
|
||||
msgstr ""
|
||||
"Cantidad total de páginas que han sido sacadas del intercambio, desde el inicio del "
|
||||
"Cantidad total de páginas que han sido sacadas del swap, desde el inicio del "
|
||||
"sistema"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:49 sysdeps/names/sysdeps.c:76
|
||||
msgid "Server Features"
|
||||
msgstr "Características del servidor"
|
||||
msgstr "Particularidades del Servidor"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:50 sysdeps/names/sysdeps.c:77
|
||||
msgid "CPU Usage"
|
||||
@@ -1152,7 +1148,7 @@ msgstr "Uso de la memoria"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:52 sysdeps/names/sysdeps.c:79
|
||||
msgid "Swap Usage"
|
||||
msgstr "Uso del intercambio"
|
||||
msgstr "Uso del swap"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:53 sysdeps/names/sysdeps.c:80
|
||||
msgid "System Uptime"
|
||||
@@ -1240,7 +1236,7 @@ msgstr "Lista de los sistemas de archivos actualmente montados"
|
||||
|
||||
#: sysdeps/names/uptime.c:38
|
||||
msgid "Uptime"
|
||||
msgstr "Tiempo activo"
|
||||
msgstr "Uptime"
|
||||
|
||||
#: sysdeps/names/uptime.c:39
|
||||
msgid "Idletime"
|
||||
@@ -1286,7 +1282,7 @@ msgstr "Error EMT"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Excepción de coma flotante"
|
||||
msgstr "Excepción de punto flotante"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Kill"
|
||||
|
||||
@@ -1,93 +1,92 @@
|
||||
# Tamil translation of Tamil Libgtop 2.4.
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
# Dinesh Nadarajah <n_dinesh@yahoo.com>, 2003.
|
||||
#
|
||||
#
|
||||
# Spain diffs with es.po for libgtop
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Carlos Perelló Marín <carlos@gnome-db.org>, 2002.
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: Tamil Libgtop 2.4"
|
||||
"POT-Creation-Date: 2003-09-16 17:19-0500\n"
|
||||
"PO-Revision-Date: 2003-09-16 17:19-0500\n"
|
||||
"Last-Translator: Dinesh Nadarajah <n_dinesh@yahoo.com>\n"
|
||||
"Language-Team: Tamil <tamilinix@yahoogroups.com>\n"
|
||||
msgstr ""
|
||||
"Project-Id-Version: glibtop 1.90.2\n"
|
||||
"POT-Creation-Date: 2002-05-28 15:54+0200\n"
|
||||
"PO-Revision-Date: 2002-05-28 15:50+0200\n"
|
||||
"Last-Translator: Carlos Perelló Marín <carlos@gnome-db.org>\n"
|
||||
"Language-Team: Spanish <traductores@es.gnome.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
""
|
||||
|
||||
#: examples/smp.c:71
|
||||
#: examples/smp.c:68
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/mem.c:47
|
||||
#: examples/smp.c:71 sysdeps/names/mem.c:47
|
||||
msgid "User"
|
||||
msgstr "பயனர்"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/procuid.c:58
|
||||
#: examples/smp.c:71 sysdeps/names/procuid.c:58
|
||||
msgid "Nice"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Sys"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Idle"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:76
|
||||
#: examples/smp.c:73
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:80
|
||||
#: examples/smp.c:77
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:97
|
||||
#: examples/smp.c:94
|
||||
msgid "Percent:"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Total (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "User (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Nice (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Sys (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:99
|
||||
#: examples/smp.c:96
|
||||
msgid "Idle (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:101
|
||||
#: examples/smp.c:98
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:117
|
||||
#: examples/smp.c:114
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:123
|
||||
#: examples/smp.c:120
|
||||
msgid "Spin:"
|
||||
msgstr ""
|
||||
|
||||
@@ -110,39 +109,39 @@ msgstr ""
|
||||
msgid "write %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
@@ -318,7 +317,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/loadavg.c:39
|
||||
msgid "Load Average"
|
||||
msgstr "சுமாராக ஏற்று"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/loadavg.c:40
|
||||
msgid "Running Tasks"
|
||||
@@ -464,7 +463,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:48 sysdeps/names/netload.c:66
|
||||
msgid "Address"
|
||||
msgstr "_முகவரி"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:49 sysdeps/names/netload.c:67
|
||||
msgid "Packets In"
|
||||
@@ -532,7 +531,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/procargs.c:38 sysdeps/names/procmem.c:47
|
||||
msgid "Size"
|
||||
msgstr "அளவு"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/procargs.c:43
|
||||
msgid "Length in bytes of the returned string."
|
||||
@@ -681,10 +680,21 @@ msgid ""
|
||||
"which are swapped out."
|
||||
msgstr ""
|
||||
|
||||
#
|
||||
# In México, Dominican Republic, Guatemala, Honduras, Panama, Peru
|
||||
# and El Salvador, Number formats are the same as in the US, so no
|
||||
# translation is required for them (the use es.po string).
|
||||
# Spain use "." chars instead of "," so the msgstr MUST be filled; otherwise
|
||||
# it will default to es.po which uses the US format for numbers.
|
||||
# On the other hand, strings that are the same here and in es.po can
|
||||
# be left out.
|
||||
#
|
||||
#: sysdeps/names/procmem.c:62
|
||||
msgid ""
|
||||
"Current limit in bytes on the rss of the process (usually 2,147,483,647)."
|
||||
msgstr ""
|
||||
"Límite actual en bytes de conjunto compartido (RSS) del proceso "
|
||||
"(habitualmente 2.147.483.647)."
|
||||
|
||||
#: sysdeps/names/procsegment.c:42
|
||||
msgid "Text_RSS"
|
||||
@@ -788,7 +798,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/procstate.c:40
|
||||
msgid "State"
|
||||
msgstr "நிலமை"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/procstate.c:40
|
||||
msgid "UID"
|
||||
@@ -1210,7 +1220,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Quit"
|
||||
msgstr "வெளிச்செல்"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Illegal instruction"
|
||||
@@ -1266,7 +1276,7 @@ msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Stop"
|
||||
msgstr "நிறுத்து"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Keyboard stop"
|
||||
@@ -1323,4 +1333,3 @@ msgstr ""
|
||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
||||
msgid "User defined signal 2"
|
||||
msgstr ""
|
||||
|
||||
176
po/ga.po
176
po/ga.po
@@ -1,98 +1,96 @@
|
||||
# Irish (gaeilge) translations for libgtop.pot (Gnome)
|
||||
# Copyright (C) 1998,2003 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
# Alastair McKinstry <mckinstry@computer.org>, 1998
|
||||
# Paul Duffy <dubhthach@frink.nuigalway.ie>, 2003
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop-GNOME-2-0-port \n"
|
||||
"POT-Creation-Date: 2003-06-04 14:31+0100\n"
|
||||
"PO-Revision-Date: 2003-06-04 14:39+000\n"
|
||||
"Last-Translator: Paul Duffy <dubhthach@frink.nuigalway.ie>\n"
|
||||
"Language-Team: Irish\n"
|
||||
"Project-Id-Version: libgtop CVS\n"
|
||||
"POT-Creation-Date: 2001-03-09 17:27+0100\n"
|
||||
"PO-Revision-Date: 2000-03-09 12:39+000\n"
|
||||
"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
|
||||
"Language-Team: Irish <ga@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: examples/smp.c:71
|
||||
#: examples/smp.c:68
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Total"
|
||||
msgstr "Iomlán"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/mem.c:47
|
||||
#: examples/smp.c:71 sysdeps/names/mem.c:47
|
||||
msgid "User"
|
||||
msgstr "Úsáidoeir"
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/procuid.c:58
|
||||
#: examples/smp.c:71 sysdeps/names/procuid.c:58
|
||||
msgid "Nice"
|
||||
msgstr "Deas"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Sys"
|
||||
msgstr "Sys"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Idle"
|
||||
msgstr "Diomhaoin"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:76
|
||||
#: examples/smp.c:73
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
"\n"
|
||||
|
||||
#: examples/smp.c:80
|
||||
#: examples/smp.c:77
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:97
|
||||
#: examples/smp.c:94
|
||||
msgid "Percent:"
|
||||
msgstr "Céatadán:"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Total (%)"
|
||||
msgstr "Iomlán (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
#, fuzzy
|
||||
msgid "User (%)"
|
||||
msgstr "Úsáidoeir (%)"
|
||||
msgstr "Úsáidoeir"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
#, fuzzy
|
||||
msgid "Nice (%)"
|
||||
msgstr "Deas (%)"
|
||||
msgstr "Deas"
|
||||
|
||||
#: examples/smp.c:95
|
||||
msgid "Sys (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:96
|
||||
msgid "Idle (%)"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:98
|
||||
msgid "Sys (%)"
|
||||
msgstr "Sys (%)"
|
||||
|
||||
#: examples/smp.c:99
|
||||
msgid "Idle (%)"
|
||||
msgstr "Diomhaoin (%)"
|
||||
|
||||
#: examples/smp.c:101
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
"\n"
|
||||
|
||||
#: examples/smp.c:117
|
||||
#: examples/smp.c:114
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:123
|
||||
#: examples/smp.c:120
|
||||
msgid "Spin:"
|
||||
msgstr "Sníomh:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/read.c:75
|
||||
#, c-format
|
||||
@@ -113,39 +111,39 @@ msgstr ""
|
||||
msgid "write %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
@@ -215,14 +213,6 @@ msgstr ""
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/popthelp.c:35
|
||||
msgid "Show this help message"
|
||||
msgstr ""
|
||||
|
||||
#: support/popthelp.c:36
|
||||
msgid "Display brief usage message"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:43
|
||||
msgid "Total CPU Time"
|
||||
msgstr "Am CPU Iomlán"
|
||||
@@ -1340,3 +1330,69 @@ msgstr ""
|
||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
||||
msgid "User defined signal 2"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "RUID"
|
||||
#~ msgstr "UID"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "RGID"
|
||||
#~ msgstr "GID"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Processor"
|
||||
#~ msgstr "ID Próiseas"
|
||||
|
||||
# NOTE:
|
||||
# Don't try translating the following; instead translate their
|
||||
# popup hints that explain them.
|
||||
#, fuzzy
|
||||
#~ msgid "XCPU_Flags"
|
||||
#~ msgstr "K_Flags"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "SUid"
|
||||
#~ msgstr "Uid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "SGid"
|
||||
#~ msgstr "Gid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "FsUid"
|
||||
#~ msgstr "FsUid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "FsGid"
|
||||
#~ msgstr "FsGid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "NGroups"
|
||||
#~ msgstr "ID Grupa"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Groups"
|
||||
#~ msgstr "ID Grupa"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Saved User ID"
|
||||
#~ msgstr "ID Úsáideoir Sábháid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Saved Group ID"
|
||||
#~ msgstr "ID Grupa Sábháid"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Filesystem User ID"
|
||||
#~ msgstr "ID Úsáideoir Coráschomad"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Filesystem Group ID"
|
||||
#~ msgstr "ID Grupa Coráschomad"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Unknown error"
|
||||
#~ msgstr "éarraid coráis anathnid"
|
||||
|
||||
#~ msgid "Invalid argument"
|
||||
#~ msgstr "Droch Argoint"
|
||||
|
||||
2
po/he.po
2
po/he.po
@@ -189,7 +189,7 @@ msgstr "%s: אפשרות לא מזוהה `--%s'\n"
|
||||
|
||||
#. +option or -option
|
||||
#: support/getopt.c:748
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: אפשרות לא מזוהה `%s%c'\n"
|
||||
|
||||
|
||||
30
po/hu.po
30
po/hu.po
@@ -5,8 +5,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 1.1.6\n"
|
||||
"POT-Creation-Date: 2003-07-11 10:31+0200\n"
|
||||
"PO-Revision-Date: 2003-07-14 00:44+0200\n"
|
||||
"POT-Creation-Date: 2003-01-03 19:53+0100\n"
|
||||
"PO-Revision-Date: 2003-01-03 21:15+0100\n"
|
||||
"Last-Translator: Andras Timar <timar@gnome.hu>\n"
|
||||
"Language-Team: Hungarian Gnome Project <hu@gnome.hu>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -22,7 +22,7 @@ msgstr "Órajel (%ld másodpercenként):"
|
||||
# examples/smp.c:71
|
||||
#: examples/smp.c:74
|
||||
msgid "Total"
|
||||
msgstr "Összesen"
|
||||
msgstr "Összes"
|
||||
|
||||
# examples/smp.c:71 sysdeps/names/mem.c:47
|
||||
#: examples/smp.c:74 sysdeps/names/mem.c:47
|
||||
@@ -134,45 +134,45 @@ msgid "write %d bytes"
|
||||
msgstr "%d byte írása"
|
||||
|
||||
# src/daemon/gnuserv.c:448
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr "Hibakeresés engedélyezése"
|
||||
|
||||
# src/daemon/gnuserv.c:448
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
# src/daemon/gnuserv.c:450
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Részletes üzenetek bekapcsolása"
|
||||
|
||||
# src/daemon/gnuserv.c:450
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Ne forkoljon a háttérbe"
|
||||
|
||||
# src/daemon/gnuserv.c:452
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DAEMON"
|
||||
|
||||
# src/daemon/gnuserv.c:454
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "inetd-ből indítva"
|
||||
|
||||
# src/daemon/gnuserv.c:454
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
@@ -1353,12 +1353,12 @@ msgstr "CPU használat"
|
||||
# sysdeps/names/sysdeps.c:51 sysdeps/names/sysdeps.c:78
|
||||
#: sysdeps/names/sysdeps.c:51 sysdeps/names/sysdeps.c:78
|
||||
msgid "Memory Usage"
|
||||
msgstr "Memóriahasználat"
|
||||
msgstr "Memória használat"
|
||||
|
||||
# sysdeps/names/sysdeps.c:52 sysdeps/names/sysdeps.c:79
|
||||
#: sysdeps/names/sysdeps.c:52 sysdeps/names/sysdeps.c:79
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swaphasználat"
|
||||
msgstr "Swap használat"
|
||||
|
||||
# sysdeps/names/sysdeps.c:53 sysdeps/names/sysdeps.c:80
|
||||
#: sysdeps/names/sysdeps.c:53 sysdeps/names/sysdeps.c:80
|
||||
@@ -1564,7 +1564,7 @@ msgstr "Sürgős állapot a foglalaton"
|
||||
# sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Stop"
|
||||
msgstr "Leállítás"
|
||||
msgstr "Stop"
|
||||
|
||||
# sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
|
||||
173
po/id.po
173
po/id.po
@@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop libgtop-GNOME-2-0-port\n"
|
||||
"POT-Creation-Date: 2003-06-25 12:07+0700\n"
|
||||
"POT-Creation-Date: 2003-02-16 19:31+0700\n"
|
||||
"PO-Revision-Date: 2003-02-10 18:01+0700\n"
|
||||
"Last-Translator: Mohammad DAMT <mdamt@bisnisweb.com>\n"
|
||||
"Language-Team: Indonesia <id@li.org>\n"
|
||||
@@ -114,39 +114,39 @@ msgstr "baca %d byte data"
|
||||
msgid "write %d bytes"
|
||||
msgstr "tulis %d byte"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr "Aktifkan debuging"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Aktifkan output yang lengkap"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Jangan fork ke background"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DAEMON"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Diaktifkan dari inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
@@ -163,69 +163,69 @@ msgstr "Error sistem yang tidak diketahui"
|
||||
#: support/getopt.c:669
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: pilihan `%s' meragukan\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:693
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: pilihan `--%s' tidak boleh disertai argumen\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:698
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: pilihan `%c%s' tidak boleh disertai argumen\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:715 support/getopt.c:888
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: pilihan `%s' harus disertai argumen\n"
|
||||
msgstr ""
|
||||
|
||||
#. --option
|
||||
#: support/getopt.c:744
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: pilihan tidak dikenali `--%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#. +option or -option
|
||||
#: support/getopt.c:748
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: pilihan tidak dikenali `%c%s'\n"
|
||||
msgstr ""
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: support/getopt.c:774
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: pilihan salah -- %c\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:777
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: pilihan salah -- %c\n"
|
||||
msgstr ""
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: support/getopt.c:807 support/getopt.c:937
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: pilihan harus disertai argumen -- %c\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:854
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: pilihan `-W %s' meragukan\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/getopt.c:872
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: pilihan `-W %s' tidak boleh disertai argumen\n"
|
||||
msgstr ""
|
||||
|
||||
#: support/popthelp.c:35
|
||||
msgid "Show this help message"
|
||||
msgstr "Tampilkan layar bantu ini"
|
||||
msgstr ""
|
||||
|
||||
#: support/popthelp.c:36
|
||||
msgid "Display brief usage message"
|
||||
msgstr "Tampilkan cara pakai secara singkat"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:43
|
||||
msgid "Total CPU Time"
|
||||
@@ -416,20 +416,22 @@ msgstr "Jumlah halaman terkunci dalam kB"
|
||||
#: sysdeps/names/mountlist.c:38 sysdeps/names/mountlist.c:45
|
||||
#: sysdeps/names/proclist.c:38 sysdeps/names/proclist.c:45
|
||||
#: sysdeps/names/procmap.c:38 sysdeps/names/procmap.c:45
|
||||
#, fuzzy
|
||||
msgid "Number of list elements"
|
||||
msgstr "Jumlah elemen daftar"
|
||||
msgstr "Maksimum jumlah segmen"
|
||||
|
||||
#: sysdeps/names/mountlist.c:39 sysdeps/names/mountlist.c:46
|
||||
#: sysdeps/names/proclist.c:39 sysdeps/names/proclist.c:46
|
||||
#: sysdeps/names/procmap.c:39 sysdeps/names/procmap.c:46
|
||||
#, fuzzy
|
||||
msgid "Total size of list"
|
||||
msgstr "Jumlah ukuran daftar"
|
||||
msgstr "Jumlah ukuran halaman kotor"
|
||||
|
||||
#: sysdeps/names/mountlist.c:40 sysdeps/names/mountlist.c:47
|
||||
#: sysdeps/names/proclist.c:40 sysdeps/names/proclist.c:47
|
||||
#: sysdeps/names/procmap.c:40 sysdeps/names/procmap.c:47
|
||||
msgid "Size of a single list element"
|
||||
msgstr "Ukuran elemen"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/msg_limits.c:40 sysdeps/names/msg_limits.c:51
|
||||
msgid "Size in kilobytes of message pool"
|
||||
@@ -460,84 +462,90 @@ msgid "Number of system message headers"
|
||||
msgstr "Jumlah header message sistem"
|
||||
|
||||
#: sysdeps/names/netload.c:45 sysdeps/names/netload.c:63
|
||||
#, fuzzy
|
||||
msgid "Interface Flags"
|
||||
msgstr "Tanda Interface"
|
||||
msgstr "Nama Interface"
|
||||
|
||||
#: sysdeps/names/netload.c:46
|
||||
msgid "MTU"
|
||||
msgstr "MTU"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:47 sysdeps/names/netload.c:65
|
||||
msgid "Subnet"
|
||||
msgstr "Subnet"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:48 sysdeps/names/netload.c:66
|
||||
msgid "Address"
|
||||
msgstr "Alamat"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:49 sysdeps/names/netload.c:67
|
||||
#, fuzzy
|
||||
msgid "Packets In"
|
||||
msgstr "Paket Masuk"
|
||||
msgstr "Halaman Masuk"
|
||||
|
||||
#: sysdeps/names/netload.c:50 sysdeps/names/netload.c:68
|
||||
#, fuzzy
|
||||
msgid "Packets Out"
|
||||
msgstr "Paket Keluar"
|
||||
msgstr "Halaman Keluar"
|
||||
|
||||
#: sysdeps/names/netload.c:51 sysdeps/names/netload.c:69
|
||||
msgid "Packets Total"
|
||||
msgstr "Total Paket"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:52 sysdeps/names/netload.c:70
|
||||
msgid "Bytes In"
|
||||
msgstr "Byte Masuk"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:53 sysdeps/names/netload.c:71
|
||||
msgid "Bytes Out"
|
||||
msgstr "Byte Keluar"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:54 sysdeps/names/netload.c:72
|
||||
msgid "Bytes Total"
|
||||
msgstr "Total Byte"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:55 sysdeps/names/netload.c:73
|
||||
msgid "Errors In"
|
||||
msgstr "Error Masuk"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:56 sysdeps/names/netload.c:74
|
||||
msgid "Errors Out"
|
||||
msgstr "Error Keluar"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:57 sysdeps/names/netload.c:75
|
||||
msgid "Errors Total"
|
||||
msgstr "Total Error"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:58 sysdeps/names/netload.c:76
|
||||
msgid "Collisions"
|
||||
msgstr "Tabrakan"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:64
|
||||
msgid "Maximum Transfer Unit"
|
||||
msgstr "Satuan Transfer Maksimum (MTU)"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/ppp.c:38 sysdeps/names/ppp.c:45
|
||||
#, fuzzy
|
||||
msgid "PPP State"
|
||||
msgstr "Kondisi PPP"
|
||||
msgstr "Kondisi"
|
||||
|
||||
#: sysdeps/names/ppp.c:39
|
||||
msgid "Input bytes"
|
||||
msgstr "Byte Input"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/ppp.c:40
|
||||
msgid "Output bytes"
|
||||
msgstr "Byte Output"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/ppp.c:46
|
||||
#, fuzzy
|
||||
msgid "Number of input bytes"
|
||||
msgstr "Jumlah byte masuk"
|
||||
msgstr "Jumlah proses"
|
||||
|
||||
#: sysdeps/names/ppp.c:47
|
||||
#, fuzzy
|
||||
msgid "Number of output bytes"
|
||||
msgstr "Jumlah byte keluar"
|
||||
msgstr "Jumlah struktur undo di sistem"
|
||||
|
||||
#: sysdeps/names/procargs.c:38 sysdeps/names/procmem.c:47
|
||||
msgid "Size"
|
||||
@@ -545,7 +553,7 @@ msgstr "Ukuran"
|
||||
|
||||
#: sysdeps/names/procargs.c:43
|
||||
msgid "Length in bytes of the returned string."
|
||||
msgstr "Panjang string yang kembali dalam ukuran byte"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/prockernel.c:42
|
||||
msgid "K_Flags"
|
||||
@@ -840,12 +848,14 @@ msgid "Single-Char code for process state (S=sleeping)"
|
||||
msgstr "Kode kondisi status (S=Tidur)"
|
||||
|
||||
#: sysdeps/names/procstate.c:47
|
||||
#, fuzzy
|
||||
msgid "UID of process"
|
||||
msgstr "UID proses"
|
||||
msgstr "UID asli proses"
|
||||
|
||||
#: sysdeps/names/procstate.c:48
|
||||
#, fuzzy
|
||||
msgid "GID of process"
|
||||
msgstr "GID proses"
|
||||
msgstr "GID asli proses"
|
||||
|
||||
#: sysdeps/names/proctime.c:44
|
||||
msgid "Start_Time"
|
||||
@@ -1241,127 +1251,130 @@ msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Hangup"
|
||||
msgstr "Hangup"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Interrupt"
|
||||
msgstr "Interupsi"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Quit"
|
||||
msgstr "Keluar"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Instruksi ilegal"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Trace trap"
|
||||
msgstr "Jebakan trace"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "Abort"
|
||||
msgstr "Batal"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "EMT error"
|
||||
msgstr "Error EMT"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Eksepsi Floating-point"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Kill"
|
||||
msgstr "Matikan"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Bus error"
|
||||
msgstr "Error bus"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
||||
#, fuzzy
|
||||
msgid "Segmentation violation"
|
||||
msgstr "Pelanggaran segmentasi"
|
||||
msgstr "Informasi Segmen Proses"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "Parameter ke sistem call salah"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
||||
msgid "Broken pipe"
|
||||
msgstr "Pipa rusak"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Alarm clock"
|
||||
msgstr "Jam alarm"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Termination"
|
||||
msgstr "Penghentian"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Kondisi gawat pada soket"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Keyboard stop"
|
||||
msgstr "Stop keyboard"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Continue"
|
||||
msgstr "Lanjutkan"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Child status has changed"
|
||||
msgstr "Status anak telah berubah"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background read from tty"
|
||||
msgstr "Baca diam-diam dari tty"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "Background write to tty"
|
||||
msgstr "Tulis diam-diam ke tty"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O dimungkinkan"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Batasan CPU terlampaui"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Batasan ukuran file terlampaui"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Jam alarm virtual"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Melakukan profil jam alarm"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
||||
msgid "Window size change"
|
||||
msgstr "Ukuran window berubah"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "Information request"
|
||||
msgstr "Permintaan informasi"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
#, fuzzy
|
||||
msgid "User defined signal 1"
|
||||
msgstr "Sinyal 1 milik user"
|
||||
msgstr "Mask sinyal yang diabaikan"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
||||
#, fuzzy
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Sinyal 2 milik user"
|
||||
msgstr "Mask sinyal yang diabaikan"
|
||||
|
||||
#~ msgid "SMP CPU Flags"
|
||||
#~ msgstr "Flag CPU SMP"
|
||||
|
||||
119
po/it.po
119
po/it.po
@@ -5,9 +5,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2003-08-28 13:59+0200\n"
|
||||
"PO-Revision-Date: 2003-08-28 14:23+0200\n"
|
||||
"POT-Creation-Date: 2003-01-25 08:30+0100\n"
|
||||
"PO-Revision-Date: 2003-01-25 15:51+0100\n"
|
||||
"Last-Translator: Alessio Frusciante <algol@firenze.linux.it>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -17,7 +16,7 @@ msgstr ""
|
||||
#: examples/smp.c:71
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr "Tick (%ld per secondo):"
|
||||
msgstr ""
|
||||
|
||||
#: examples/smp.c:74
|
||||
msgid "Total"
|
||||
@@ -93,68 +92,67 @@ msgstr "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
|
||||
#: examples/smp.c:123
|
||||
msgid "Spin:"
|
||||
msgstr "Spin:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/read.c:75
|
||||
#, c-format
|
||||
msgid "read %d bytes"
|
||||
msgstr "letti %d byte"
|
||||
msgstr ""
|
||||
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "dimensione dei dati letti"
|
||||
msgstr ""
|
||||
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read data %d bytes"
|
||||
msgstr "letti %d byte di dati"
|
||||
msgstr ""
|
||||
|
||||
#: lib/write.c:48
|
||||
#, c-format
|
||||
msgid "write %d bytes"
|
||||
msgstr "scrittura di %d byte"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr "Abilita debug"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Abilita output prolisso"
|
||||
msgstr ""
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Non fare fork in background"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DAEMON"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invocato da inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
"Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr ""
|
||||
"Errore nell'opzione %s: %s.\n"
|
||||
"Eseguire '%s --help' per vedere una lista completa delle opzioni per la "
|
||||
"linea di comando.\n"
|
||||
"Eseguire '%s --help' per vedere una lista completa delle opzioni per la linea di comando.\n"
|
||||
|
||||
#: support/error.c:109
|
||||
msgid "Unknown system error"
|
||||
@@ -249,51 +247,51 @@ msgstr "Tempo di CPU in idle"
|
||||
|
||||
#: sysdeps/names/cpu.c:48
|
||||
msgid "Tick Frequency"
|
||||
msgstr "Frequenza dei tick"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:49
|
||||
msgid "SMP Total CPU Time"
|
||||
msgstr "Tempo di CPU totale SMP"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:50
|
||||
msgid "SMP CPU Time in User Mode"
|
||||
msgstr "Tempo di CPU SMP in modalit? utente"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:51
|
||||
msgid "SMP CPU Time in User Mode (nice)"
|
||||
msgstr "Tempo di CPU SMP in modalit? utente (nice)"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:52
|
||||
msgid "SMP CPU Time in System Mode"
|
||||
msgstr "Tempo di CPU SMP in modalit? di sistema"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:53
|
||||
msgid "SMP CPU Time in the Idle Task"
|
||||
msgstr "Tempo di CPU SMP in idle"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:58 sysdeps/names/cpu.c:64
|
||||
msgid "Number of clock ticks since system boot"
|
||||
msgstr "Numero di tick dall'avvio del sistema"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:59 sysdeps/names/cpu.c:65
|
||||
msgid "Number of clock ticks the system spent in user mode"
|
||||
msgstr "Numero di tick trascorsi in modalit? utente"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:60 sysdeps/names/cpu.c:66
|
||||
msgid "Number of clock ticks the system spent in user mode (nice)"
|
||||
msgstr "Numero di tick trascorsi in modalit? utente (nice)"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:61 sysdeps/names/cpu.c:67
|
||||
msgid "Number of clock ticks the system spent in system mode"
|
||||
msgstr "Numero di tick trascorsi in modalit? di sistema"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:62 sysdeps/names/cpu.c:68
|
||||
msgid "Number of clock ticks the system spent in the idle task"
|
||||
msgstr "Numero di tick trascorsi in idle"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/cpu.c:63
|
||||
msgid "Tick frequency (default is 100)"
|
||||
msgstr "Frequenza dei tick (il valore predefinito è 100)"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/fsusage.c:39 sysdeps/names/fsusage.c:48
|
||||
msgid "Total blocks"
|
||||
@@ -308,10 +306,12 @@ msgid "Available blocks"
|
||||
msgstr "Blocchi disponibili"
|
||||
|
||||
#: sysdeps/names/fsusage.c:42 sysdeps/names/fsusage.c:51
|
||||
#, fuzzy
|
||||
msgid "Total file nodes"
|
||||
msgstr "Nodi file totali"
|
||||
|
||||
#: sysdeps/names/fsusage.c:43 sysdeps/names/fsusage.c:52
|
||||
#, fuzzy
|
||||
msgid "Free file nodes"
|
||||
msgstr "Nodi file liberi"
|
||||
|
||||
@@ -328,10 +328,12 @@ msgid "Load Average"
|
||||
msgstr "Media di carico"
|
||||
|
||||
#: sysdeps/names/loadavg.c:40
|
||||
#, fuzzy
|
||||
msgid "Running Tasks"
|
||||
msgstr "Processi in esecuzione"
|
||||
|
||||
#: sysdeps/names/loadavg.c:41
|
||||
#, fuzzy
|
||||
msgid "Number of Tasks"
|
||||
msgstr "Numero di processi"
|
||||
|
||||
@@ -344,6 +346,7 @@ msgid "Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
|
||||
msgstr "Numero di job eseguiti simultaneamente (media su 1, 5 e 15 minuti)"
|
||||
|
||||
#: sysdeps/names/loadavg.c:48
|
||||
#, fuzzy
|
||||
msgid "Number of tasks currently running"
|
||||
msgstr "Numero di processi attualmente in esecuzione"
|
||||
|
||||
@@ -373,11 +376,11 @@ msgstr "Buffer"
|
||||
|
||||
#: sysdeps/names/mem.c:46
|
||||
msgid "Cached"
|
||||
msgstr "In cache"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/mem.c:48
|
||||
msgid "Locked"
|
||||
msgstr "Bloccata"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/mem.c:53
|
||||
msgid "Total physical memory in kB"
|
||||
@@ -401,7 +404,7 @@ msgstr "Dimensione dei buffer in kB"
|
||||
|
||||
#: sysdeps/names/mem.c:58
|
||||
msgid "Size of cached memory in kB"
|
||||
msgstr "Dimensione della memoria in cache in kB"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/mem.c:59
|
||||
msgid "Memory used from user processes in kB"
|
||||
@@ -409,7 +412,7 @@ msgstr "Memoria usata nei processi utente in kB"
|
||||
|
||||
#: sysdeps/names/mem.c:60
|
||||
msgid "Memory in locked pages in kB"
|
||||
msgstr "Memoria in pagine bloccate in kB"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/mountlist.c:38 sysdeps/names/mountlist.c:45
|
||||
#: sysdeps/names/proclist.c:38 sysdeps/names/proclist.c:45
|
||||
@@ -455,11 +458,11 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/msg_limits.c:46 sysdeps/names/msg_limits.c:57
|
||||
msgid "Number of system message headers"
|
||||
msgstr "Numero di intestazioni dei messaggi di sistema"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:45 sysdeps/names/netload.c:63
|
||||
msgid "Interface Flags"
|
||||
msgstr "Flag delle interfacce"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/netload.c:46
|
||||
msgid "MTU"
|
||||
@@ -515,7 +518,7 @@ msgstr "Collisioni"
|
||||
|
||||
#: sysdeps/names/netload.c:64
|
||||
msgid "Maximum Transfer Unit"
|
||||
msgstr "Massima unit? di trasferimento"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/ppp.c:38 sysdeps/names/ppp.c:45
|
||||
msgid "PPP State"
|
||||
@@ -543,7 +546,7 @@ msgstr "Dimensioni"
|
||||
|
||||
#: sysdeps/names/procargs.c:43
|
||||
msgid "Length in bytes of the returned string."
|
||||
msgstr "Lunghezza in byte della stringa restituita."
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/prockernel.c:42
|
||||
msgid "K_Flags"
|
||||
@@ -620,12 +623,11 @@ msgstr ""
|
||||
|
||||
#. KStk_ESP
|
||||
#: sysdeps/names/prockernel.c:71
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"The current value of esp (32-bit stack pointer), as found in the kernel "
|
||||
"stack page for the process."
|
||||
msgstr ""
|
||||
"Il valore di ESP (stack pointer a 32 bit) come fornito dalla pagina dello "
|
||||
"stack per il processo."
|
||||
msgstr "Il valore di ESP (stack pointer a 32 bit)"
|
||||
|
||||
#. KStk_EIP
|
||||
#: sysdeps/names/prockernel.c:74
|
||||
@@ -656,7 +658,7 @@ msgstr "Residente"
|
||||
|
||||
#: sysdeps/names/procmem.c:47
|
||||
msgid "Share"
|
||||
msgstr "Condivisa"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/procmem.c:48
|
||||
msgid "Resident Set Size"
|
||||
@@ -790,7 +792,7 @@ msgstr "Maschera dei segnali ignorati"
|
||||
|
||||
#: sysdeps/names/procsignal.c:48
|
||||
msgid "Mask of caught signals"
|
||||
msgstr "Maschera dei segnali catturati"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/procstate.c:40
|
||||
msgid "Cmd"
|
||||
@@ -850,7 +852,7 @@ msgstr "CSTime"
|
||||
|
||||
#: sysdeps/names/proctime.c:45
|
||||
msgid "TimeOut"
|
||||
msgstr "TimeOut"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/proctime.c:45
|
||||
msgid "It_Real_Value"
|
||||
@@ -904,15 +906,15 @@ msgstr ""
|
||||
|
||||
#: sysdeps/names/proctime.c:60
|
||||
msgid "Tick frequency"
|
||||
msgstr "Frequenza dei tick"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/proctime.c:61
|
||||
msgid "SMP user-mode CPU time accumulated by process"
|
||||
msgstr "Tempo di CPU SMP modalit? utente accumulato dal processo"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/proctime.c:62
|
||||
msgid "SMP kernel-mode CPU time accumulated by process"
|
||||
msgstr "Tempo di CPU SMP modalit? kernel accumulato dal processo "
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/procuid.c:56
|
||||
msgid "Uid"
|
||||
@@ -1096,7 +1098,7 @@ msgstr "Totale di pagine di swap scaricate dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/names/sysdeps.c:49 sysdeps/names/sysdeps.c:76
|
||||
msgid "Server Features"
|
||||
msgstr "Funzionalit? del server"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/names/sysdeps.c:50 sysdeps/names/sysdeps.c:77
|
||||
msgid "CPU Usage"
|
||||
@@ -1208,8 +1210,7 @@ msgstr "Tempo in secondi dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/names/uptime.c:45
|
||||
msgid "Time in seconds the system spent in the idle task since system boot"
|
||||
msgstr ""
|
||||
"Tempo in secondi che il sistema ha passato in idle dall'avvio del sistema"
|
||||
msgstr "Tempo in secondi che il sistema ha passato in idle dall'avvio del sistema"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Hangup"
|
||||
@@ -1289,27 +1290,27 @@ msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Child status has changed"
|
||||
msgstr "Lo stato del figlio è cambiato"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background read from tty"
|
||||
msgstr "Lettura in background dalla tty"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "Background write to tty"
|
||||
msgstr "Scrittura in background sulla tty"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O adesso possibile"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Superato il limite della CPU"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Superato il limite nella dimensione dei file"
|
||||
msgstr ""
|
||||
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Virtual alarm clock"
|
||||
|
||||
263
po/nl.po
263
po/nl.po
@@ -5,99 +5,98 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop CVS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2003-10-21 19:07+0200\n"
|
||||
"POT-Creation-Date: 2002-10-29 05:10+0100\n"
|
||||
"PO-Revision-Date: 2002-10-29 13:14+0100\n"
|
||||
"Last-Translator: Jeroen van der Vegt <A.J.vanderVegt@ITS.TUDelft.nl>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: examples/smp.c:71
|
||||
#: examples/smp.c:68
|
||||
#, c-format
|
||||
msgid "Ticks (%ld per second):"
|
||||
msgstr "Ticks (%ld per seconde):"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Total"
|
||||
msgstr "Totaal"
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/mem.c:47
|
||||
#: examples/smp.c:71 sysdeps/names/mem.c:47
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
#: examples/smp.c:74 sysdeps/names/procuid.c:58
|
||||
#: examples/smp.c:71 sysdeps/names/procuid.c:58
|
||||
msgid "Nice"
|
||||
msgstr "'Nice'"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Sys"
|
||||
msgstr "Sys"
|
||||
|
||||
#: examples/smp.c:74
|
||||
#: examples/smp.c:71
|
||||
msgid "Idle"
|
||||
msgstr "Rust"
|
||||
|
||||
#: examples/smp.c:76
|
||||
#: examples/smp.c:73
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
"\n"
|
||||
msgstr "CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
msgstr ""
|
||||
"CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n"
|
||||
|
||||
#: examples/smp.c:80
|
||||
#: examples/smp.c:77
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"
|
||||
|
||||
#: examples/smp.c:97
|
||||
#: examples/smp.c:94
|
||||
msgid "Percent:"
|
||||
msgstr "Percentage:"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Total (%)"
|
||||
msgstr "Totaal (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "User (%)"
|
||||
msgstr "Gebruiker (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Nice (%)"
|
||||
msgstr "'Nice' (%)"
|
||||
|
||||
#: examples/smp.c:98
|
||||
#: examples/smp.c:95
|
||||
msgid "Sys (%)"
|
||||
msgstr "Sys (%)"
|
||||
|
||||
#: examples/smp.c:99
|
||||
#: examples/smp.c:96
|
||||
msgid "Idle (%)"
|
||||
msgstr "Rust (%)"
|
||||
|
||||
#: examples/smp.c:101
|
||||
#: examples/smp.c:98
|
||||
#, c-format
|
||||
msgid ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
"\n"
|
||||
msgstr "CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr ""
|
||||
"CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
|
||||
#: examples/smp.c:117
|
||||
#: examples/smp.c:114
|
||||
#, c-format
|
||||
msgid "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr "CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
msgstr ""
|
||||
"CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"
|
||||
|
||||
#: examples/smp.c:123
|
||||
#: examples/smp.c:120
|
||||
msgid "Spin:"
|
||||
msgstr "Draaiing:"
|
||||
|
||||
#: lib/read.c:75
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "%d byte gelezen"
|
||||
msgstr[1] "%d bytes gelezen"
|
||||
msgid "read %d bytes"
|
||||
msgstr "%d bytes gelezen"
|
||||
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
@@ -105,51 +104,47 @@ msgstr "grootte van de gelezen data"
|
||||
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read data %d byte"
|
||||
msgid_plural "read data %d bytes"
|
||||
msgstr[0] "lees %d byte"
|
||||
msgstr[1] "lees %d bytes"
|
||||
msgid "read data %d bytes"
|
||||
msgstr "lees %d bytes"
|
||||
|
||||
#: lib/write.c:48
|
||||
#, c-format
|
||||
msgid "write %d byte"
|
||||
msgid_plural "write %d bytes"
|
||||
msgstr[0] "schrijf %d byte"
|
||||
msgstr[1] "schrijf %d bytes"
|
||||
msgid "write %d bytes"
|
||||
msgstr "schrijf %d bytes"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "Enable debugging"
|
||||
msgstr "Schakel debuggen in"
|
||||
|
||||
#: src/daemon/gnuserv.c:453
|
||||
#: src/daemon/gnuserv.c:448
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Schakel overvloedige uitvoer in"
|
||||
|
||||
#: src/daemon/gnuserv.c:455
|
||||
#: src/daemon/gnuserv.c:450
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Splits niet naar de achtergrond"
|
||||
|
||||
#: src/daemon/gnuserv.c:457
|
||||
#: src/daemon/gnuserv.c:452
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "NO-DEAMON"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Aangeroepen vanuit inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:459
|
||||
#: src/daemon/gnuserv.c:454
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: src/daemon/gnuserv.c:493
|
||||
#: src/daemon/gnuserv.c:488
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
@@ -221,11 +216,11 @@ msgstr "%s: optie '-W %s' is dubbelzinnig\n"
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: optie '-W %s' staat geen argument toe\n"
|
||||
|
||||
#: support/popthelp.c:23
|
||||
#: support/popthelp.c:35
|
||||
msgid "Show this help message"
|
||||
msgstr "Laat deze uitleg zien"
|
||||
|
||||
#: support/popthelp.c:24
|
||||
#: support/popthelp.c:36
|
||||
msgid "Display brief usage message"
|
||||
msgstr "Toon een korte handleiding"
|
||||
|
||||
@@ -342,7 +337,8 @@ msgid "Last PID"
|
||||
msgstr "Laatste PID"
|
||||
|
||||
#: sysdeps/names/loadavg.c:47
|
||||
msgid "Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
|
||||
msgid ""
|
||||
"Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
|
||||
msgstr "Aantal simultaan lopende processen tijdens 1, 5 en 15 minuten"
|
||||
|
||||
#: sysdeps/names/loadavg.c:48
|
||||
@@ -600,8 +596,8 @@ msgstr ""
|
||||
"In Linux heeft op dit moment elke vlag de 'math bit' aan staan, omdat crt0.s "
|
||||
"op 'math-emulation' controleert. Dus dit komt niet in de uitvoer.\n"
|
||||
"\n"
|
||||
"Dit is waarschijnlijk een bug, omdat niet elk proces een gecompileerd C-"
|
||||
"programm is.\n"
|
||||
"Dit is waarschijnlijk een bug, omdat niet elk proces een gecompileerd "
|
||||
"C-programm is.\n"
|
||||
"\n"
|
||||
"De 'math-bit' zou decimaal 4 moeten zijn, en de gevolgde bit is decimaal 10."
|
||||
|
||||
@@ -611,8 +607,8 @@ msgid ""
|
||||
"The number of minor faults the process has made, those which have not "
|
||||
"required loading a memory page from disk."
|
||||
msgstr ""
|
||||
"Het aantal foutjes dat het programma heeft gemaakt (waarvoor geen geheugen-"
|
||||
"pagina van de schijf hoefde te worden gehaald)."
|
||||
"Het aantal foutjes dat het programma heeft gemaakt (waarvoor geen "
|
||||
"geheugen-pagina van de schijf hoefde te worden gehaald)."
|
||||
|
||||
#. Maj_Flt
|
||||
#: sysdeps/names/prockernel.c:62
|
||||
@@ -620,24 +616,26 @@ msgid ""
|
||||
"The number of major faults the process has made, those which have required "
|
||||
"loading a memory page from disk."
|
||||
msgstr ""
|
||||
"Het aantal fouten dat het proces heeft gemaakt (waarvoor wel een geheugen-"
|
||||
"pagina van de schijf moest worden gehaald)."
|
||||
"Het aantal fouten dat het proces heeft gemaakt (waarvoor wel een "
|
||||
"geheugen-pagina van de schijf moest worden gehaald)."
|
||||
|
||||
#. CMin_Flt
|
||||
#: sysdeps/names/prockernel.c:65
|
||||
msgid "The number of minor faults that the process and its children have made."
|
||||
msgid ""
|
||||
"The number of minor faults that the process and its children have made."
|
||||
msgstr "Het aantal foutjes dat het proces en zijn kinderen hebben gemaakt."
|
||||
|
||||
#. CMaj_Flt
|
||||
#: sysdeps/names/prockernel.c:68
|
||||
msgid "The number of major faults that the process and its children have made."
|
||||
msgid ""
|
||||
"The number of major faults that the process and its children have made."
|
||||
msgstr "Het aantal fouten dat het proces en zijn kinderen hebben gemaakt."
|
||||
|
||||
#. KStk_ESP
|
||||
#: sysdeps/names/prockernel.c:71
|
||||
msgid ""
|
||||
"The current value of esp (32-bit stack pointer), as found in the kernel "
|
||||
"stack page for the process."
|
||||
"The current value of esp (32-bit stack pointer), as found in the kernel stack "
|
||||
"page for the process."
|
||||
msgstr ""
|
||||
"De huidige waarde van 'esp' (32-bit stack pointer), zoals gevonden in de "
|
||||
"kernel stack-page van het proces."
|
||||
@@ -650,10 +648,10 @@ msgstr "De huidige EIP (32-bit instruction pointer)."
|
||||
#. NWChan
|
||||
#: sysdeps/names/prockernel.c:76
|
||||
msgid ""
|
||||
"This is the \"channel\" in which the process is waiting. This is the "
|
||||
"address of a system call, and can be looked up in a namelist if you need a "
|
||||
"textual name. (If you have an up-to-date /etc/psdatabase, then try ps -l to "
|
||||
"see the WCHAN field in action)"
|
||||
"This is the \"channel\" in which the process is waiting. This is the address "
|
||||
"of a system call, and can be looked up in a namelist if you need a textual "
|
||||
"name. (If you have an up-to-date /etc/psdatabase, then try ps -l to see the "
|
||||
"WCHAN field in action)"
|
||||
msgstr ""
|
||||
"Dit is de 'rij' waarin het proces wacht. Het is het adres van een 'system "
|
||||
"call', die opgezocht kan worden in de 'namelist' als je een echte naam nodig "
|
||||
@@ -710,8 +708,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Het aantal pagina's dat het proces in het echte geheugen heeft, min 3 for "
|
||||
"administratieve doeleinden. Dit zijn slechts pagina's die naar text, data of "
|
||||
"stack tellen. Het is exclusief de pagina's die niet op aanvraag zijn "
|
||||
"geladen, en die geswapped zijn."
|
||||
"stack tellen. Het is exclusief de pagina's die niet op aanvraag zijn geladen, "
|
||||
"en die geswapped zijn."
|
||||
|
||||
#: sysdeps/names/procmem.c:62
|
||||
msgid ""
|
||||
@@ -1117,7 +1115,8 @@ msgid "Total number of swap pages that have been brought in since system boot"
|
||||
msgstr "Totaal aantal swap-pagina's dat sinds de systeem-start is ingebracht"
|
||||
|
||||
#: sysdeps/names/swap.c:53
|
||||
msgid "Total number of swap pages that have been brought out since system boot"
|
||||
msgid ""
|
||||
"Total number of swap pages that have been brought out since system boot"
|
||||
msgstr ""
|
||||
"Totaal aantal swap-pagina's dat sinds de systeem-start naar buiten is "
|
||||
"ingebracht"
|
||||
@@ -1248,7 +1247,7 @@ msgstr "Interrupt"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Quit"
|
||||
msgstr "Afsluiten"
|
||||
msgstr "Einde"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Illegal instruction"
|
||||
@@ -1304,7 +1303,7 @@ msgstr "Dringende situatie bij de socket"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Stop"
|
||||
msgstr "Stoppen"
|
||||
msgstr "Stop"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Keyboard stop"
|
||||
@@ -1361,3 +1360,135 @@ msgstr "Gebruiker gedefinieerd signaal 1"
|
||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Gebruiker gedefinieerd signaal 2"
|
||||
|
||||
#~ msgid "SMP CPU Flags"
|
||||
#~ msgstr "SMP CPU vlaggen"
|
||||
|
||||
#~ msgid "Start_Data"
|
||||
#~ msgstr "Start_Data"
|
||||
|
||||
#~ msgid "End_Data"
|
||||
#~ msgstr "End_Data"
|
||||
|
||||
#~ msgid "Start_Brk"
|
||||
#~ msgstr "Start_Brk"
|
||||
|
||||
#~ msgid "Brk"
|
||||
#~ msgstr "Brk"
|
||||
|
||||
#~ msgid "Start_MMap"
|
||||
#~ msgstr "Start_MMAP"
|
||||
|
||||
#~ msgid "Arg_Start"
|
||||
#~ msgstr "Arg_Start"
|
||||
|
||||
#~ msgid "Arg_End"
|
||||
#~ msgstr "Arg_End"
|
||||
|
||||
#~ msgid "Env_Start"
|
||||
#~ msgstr "Env_Start"
|
||||
|
||||
#~ msgid "Env_End"
|
||||
#~ msgstr "Env_End"
|
||||
|
||||
#~ msgid "Address of beginning of data segment"
|
||||
#~ msgstr "Adres van het begin van het stuk data"
|
||||
|
||||
#~ msgid "Address of end of data segment"
|
||||
#~ msgstr "Adres van het eind van het stuk data"
|
||||
|
||||
#~ msgid "Brk_Start"
|
||||
#~ msgstr "Brk_Start"
|
||||
|
||||
#~ msgid "Brk_End"
|
||||
#~ msgstr "Brk_End"
|
||||
|
||||
#~ msgid "Start of mmap()ed areas"
|
||||
#~ msgstr "Begin van de ge-mmap()-de gebieden."
|
||||
|
||||
#~ msgid "RUID"
|
||||
#~ msgstr "RUID"
|
||||
|
||||
#~ msgid "RGID"
|
||||
#~ msgstr "RGID"
|
||||
|
||||
#~ msgid "Has CPU"
|
||||
#~ msgstr "Heeft CPU"
|
||||
|
||||
#~ msgid "Processor"
|
||||
#~ msgstr "Processor"
|
||||
|
||||
#~ msgid "Last Processor"
|
||||
#~ msgstr "Last Processor"
|
||||
|
||||
#~ msgid "effective UID of process"
|
||||
#~ msgstr "UID van het proces"
|
||||
|
||||
#~ msgid "effective GID of process"
|
||||
#~ msgstr "GID van het proces"
|
||||
|
||||
#~ msgid "has_cpu"
|
||||
#~ msgstr "has_cpu"
|
||||
|
||||
#~ msgid "processor"
|
||||
#~ msgstr "processor"
|
||||
|
||||
#~ msgid "last_processor"
|
||||
#~ msgstr "last_processor"
|
||||
|
||||
#~ msgid "XCPU_Flags"
|
||||
#~ msgstr "XCPU_Flags"
|
||||
|
||||
#~ msgid "SUid"
|
||||
#~ msgstr "SUid"
|
||||
|
||||
#~ msgid "SGid"
|
||||
#~ msgstr "SGid"
|
||||
|
||||
#~ msgid "FsUid"
|
||||
#~ msgstr "FsUid"
|
||||
|
||||
#~ msgid "FsGid"
|
||||
#~ msgstr "FsGid"
|
||||
|
||||
#~ msgid "NGroups"
|
||||
#~ msgstr "NGroups"
|
||||
|
||||
#~ msgid "Groups"
|
||||
#~ msgstr "Groepen"
|
||||
|
||||
#~ msgid "Saved User ID"
|
||||
#~ msgstr "Opgeslagen gebruikers ID"
|
||||
|
||||
#~ msgid "Saved Group ID"
|
||||
#~ msgstr "Opgeslagen groep ID"
|
||||
|
||||
#~ msgid "Filesystem User ID"
|
||||
#~ msgstr "Bestandssysteem gebruikers ID"
|
||||
|
||||
#~ msgid "Filesystem Group ID"
|
||||
#~ msgstr "Bestandssysteem Groep ID"
|
||||
|
||||
#~ msgid "Number of additional process groups"
|
||||
#~ msgstr "Aantal extra proces groepen."
|
||||
|
||||
#~ msgid "Additional process groups"
|
||||
#~ msgstr "Extra proces groepen."
|
||||
|
||||
#~ msgid "Pointer Size"
|
||||
#~ msgstr "Pointer grootte"
|
||||
|
||||
#~ msgid "Process CWD"
|
||||
#~ msgstr "Proces CWD"
|
||||
|
||||
#~ msgid "Pointer Size on the Server (in bits)"
|
||||
#~ msgstr "Pointer grootte op de server (in bits)"
|
||||
|
||||
#~ msgid "Current working directory of the process"
|
||||
#~ msgstr "Werk directory van het proces"
|
||||
|
||||
#~ msgid "Boot time"
|
||||
#~ msgstr "Opstarttijd"
|
||||
|
||||
#~ msgid "Boot time (seconds sice epoch)"
|
||||
#~ msgstr "Tijd in seconden dat het systeem aan staat"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user