Compare commits

...

133 Commits

Author SHA1 Message Date
Robert Roth
ac2aef0f47 Prepared release 3.18.0 2015-09-21 20:10:23 +03:00
Robert Roth
9764518807 Prepare release 2.31.91 2015-09-14 19:56:24 +03:00
Piotr Drąg
13f08cf164 Updated Polish translation 2015-08-26 19:48:14 +02:00
Benoît Dejean
c8a4c3d2a1 Post-release version bump. 2015-08-25 22:33:47 +02:00
Benoît Dejean
52c35c1b81 Fix constant name for GLIBTOP_MAX_PROC_WD. 2015-08-25 22:32:57 +02:00
Benoît Dejean
e528a7280b Fix a bunch of doc tags for GI. 2015-08-25 22:32:06 +02:00
Benoît Dejean
99ff3d4dff Define missing GLIBTOP_MAX_PROC_AFFINITY. 2015-08-25 22:31:28 +02:00
Benoît Dejean
f865e95e20 Don't ship glibtop/version.h as this is private. 2015-08-23 12:50:43 +02:00
Benoît Dejean
eec96d8ae8 Fix Darwin build.
Patch by  David Evans.
Bug https://bugzilla.gnome.org/show_bug.cgi?id=753743 .
2015-08-18 16:43:00 +02:00
Robert Roth
d10a584e40 Prepared release 2.31.90 2015-08-17 22:52:24 +03:00
Benoît Dejean
a55eee5863 NEWS for 2.31.5. 2015-08-16 19:34:08 +02:00
Benoit Dejean
7437509412 Fix compilation because glibtop_machine definition has moved. 2015-08-15 10:57:25 +02:00
Benoit Dejean
c9e73e52ac glibtop_machine is defined in glibtop.h.
Don't duplicate the typedef (error unless C11).
2015-08-15 10:56:41 +02:00
Benoit Dejean
4c455ac8a0 Implement glibtop_map_entry Pss and Swap.
Regenerate hash function for fast parsing.
2015-08-15 10:39:39 +02:00
Benoit Dejean
56f03d0987 New API/ABI: add Pss (partial set size) and Swap in glibtop_map_entry. 2015-08-15 10:39:38 +02:00
Benoît Dejean
a3b502ec3f Don't include non-installed glibtop_machine.h in glibtop.h.
That would defeat its purpose.
2015-08-15 10:28:14 +02:00
Benoît Dejean
b74d6abf19 server->machine is now a pointer, so propagate the change from . to ->. 2015-08-08 14:36:47 +02:00
Benoît Dejean
ca42f1f3af Define glibtop_machine for Linux as empty because it's not used.
Fix compilation.
2015-08-08 11:11:30 +02:00
Benoit Dejean
106ee901bb Add missing file. 2015-08-08 11:08:50 +02:00
Benoit Dejean
0642c2d610 Turn glibtop::machine from a value to a pointer, allocated on init.
This hides the glibtop_machine implementation.
2015-08-08 11:00:57 +02:00
Benoit Dejean
42e860e5ad Add uid/euid/gid/egid members to struct glibtop. 2015-08-08 11:00:57 +02:00
Benoit Dejean
8f2f236404 No use for glibtop_machine for now, but who knows in the future. 2015-08-08 11:00:57 +02:00
Benoit Dejean
4e0d819264 Always define gligtop_machine.
There was an ABI mismatch because HAVE_GLIBTOP_MACHINE was only
defined when compiling the library itself. The library code would then
use a larger struct glibtop (with a machine member) than the
application code.

Everyone defines a glibtop_machine but linux (though it as a
glibtop_machine.h) and cygwin (code unchanged for 5 years) so this
should not break anything.
2015-08-08 11:00:57 +02:00
Benoit Dejean
5c6879baab Exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE. 2015-08-08 10:56:25 +02:00
Benoît Dejean
a0e97885c1 Post-release version bump. 2015-08-08 10:56:25 +02:00
Benoit Dejean
d817bee619 Remove useless/meaningless calls to glibtop_init_[prs]() with sysdeps/{freebsd,linux}. 2015-08-08 10:56:25 +02:00
Benoit Dejean
58d50d3546 Ignore *.bak files. 2015-08-08 10:56:24 +02:00
Benoit Dejean
d3a247a60f Don't include the ':' in smaps keys.
Regenerate the hashtable.
2015-08-08 10:56:24 +02:00
Benoit Dejean
45c8452140 More debug messages to trace euid/egid changes. 2015-08-08 10:56:24 +02:00
Benoit Dejean
72b4aed8f1 Display features in hex in debug message. 2015-08-08 10:56:24 +02:00
Benoit Dejean
0e8f911410 Add some debug code to trace effective GID changes. 2015-08-08 10:56:24 +02:00
Benoit Dejean
db8ad19eef Move _glibtop_global_server from .data to .bss. 2015-08-08 10:56:24 +02:00
Benoit Dejean
d30fbb22e0 Also display file/line/function in debug messages. 2015-08-08 10:56:24 +02:00
Robert Roth
6762719e43 Prepared release 2.31.4 2015-08-05 23:15:53 +03:00
Benoît Dejean
ad7dc16d89 Some NEWS for 2.31.4. 2015-07-19 15:34:06 +02:00
Benoit Dejean
f2e57d9fec Don't define twice glibtop_global_server and server_features.
I don't know how the linker was even able to cope with that.

This is somehow related with previous commit:
4808aac Make libgtop_server2 link against its libgtop.
2015-07-18 22:10:05 +02:00
Benoit Dejean
1481823085 Use the server parameter, not the global/default one. 2015-07-18 22:08:52 +02:00
Benoit Dejean
4e57a6222d Don't install glibtop_private.h. 2015-07-18 22:07:59 +02:00
Benoit Dejean
cf531d3faf Ignore the new examples/free binary. 2015-07-18 20:53:50 +02:00
Benoit Dejean
b447260691 Turn the proclist example into a minimal ps. 2015-07-18 20:52:10 +02:00
Benoit Dejean
1dbe133a24 Fix utime/stime/cutime/cstime computation. 2015-07-18 20:46:07 +02:00
Benoit Dejean
5ee8d4cb58 It's been 26 years since C89, let modern compilers do what they
want.
2015-07-18 15:56:42 +02:00
Benoit Dejean
3bd720ad81 Do the math correctly to avoid loss of precision for rtime.
I've noticed this with system-monitor where all processes got
a perfectly round CPU time to the second.
2015-07-18 15:46:26 +02:00
Benoit Dejean
6acebf416d Fix printf format/type mistmatch. 2015-07-18 15:46:07 +02:00
Benoit Dejean
51fd022bdd Fixed sprintf format/args type mismatch. 2015-07-15 18:47:51 +02:00
Benoit Dejean
6239438dce Check the command value even if !LIBGTOP_ENABLE_DEBUG. 2015-07-15 18:39:06 +02:00
Benoit Dejean
0099cbb6b4 Rework logic by turning two dark while into fors.
Also, if kvm_read fail, exit rather than looping forever.
2015-07-15 18:39:06 +02:00
Benoit Dejean
cd5649f326 Print message to stderr at once, to avoid mixups. 2015-07-15 18:39:06 +02:00
Benoit Dejean
d8a5e2162d Fix signedness issue when printing HW address. 2015-07-15 18:39:06 +02:00
Benoit Dejean
185396d674 Check getloadavg() return value and call the function directly
on the glibtop_loadavg buffer member.
2015-07-15 18:39:06 +02:00
Benoit Dejean
90f0e40395 More files to ignore. 2015-07-15 18:39:06 +02:00
Benoit Dejean
172f0a50ba Convert lots of fprintf(stderr, ...) to glibtop_debug*(). 2015-07-15 18:38:28 +02:00
Benoit Dejean
887092a05d Define glibtop_debug(_r) as macros, eventually calling real C function.
Keep these as macros so that if debug is not enable, although the
debug message is parsed, it's not run.
It's better this way because the debug message is always parsed and
checked instead of being deleted by the preprocessor.
2015-07-15 18:38:27 +02:00
Benoit Dejean
b2a2f6b5c2 Print client and server pids in messages. 2015-07-15 18:38:27 +02:00
Benoit Dejean
6bdb9a76eb Fixed glibtop_debug for calls without arguments. 2015-07-15 18:38:27 +02:00
Benoit Dejean
fd29dae933 Always define LIBGTOP_ENABLE_DEBUG (0|1) to be used in if() statements. 2015-07-15 18:38:27 +02:00
Benoit Dejean
65c5ca842f Add a level (DEBUG, WARNING, ERROR) to printing functions. 2015-07-15 18:38:27 +02:00
Benoit Dejean
edd08e6fd6 Fix macro definition. 2015-07-15 18:38:27 +02:00
Benoit Dejean
82ff91b74c Add proper (and private) debug functions glibtop_debug* 2015-07-15 18:38:27 +02:00
Benoit Dejean
ca6cabe41d For processes with threads, only reports the pid once.
On my system, this brings proclist's output from +300 to 72.
2015-07-15 18:38:27 +02:00
Benoit Dejean
4fb241097f Fix alignment issue with proclist arguments unpacking. 2015-07-15 18:38:26 +02:00
Benoit Dejean
214c3635da The perl generator for the *_l() functions does not need to know
about the glibtop_* struct layout, so drop this from the definitions.
2015-07-15 18:38:26 +02:00
Benoit Dejean
fba67da65d Reorder GI annotations and remove duplicate for _l(). 2015-07-15 18:34:49 +02:00
Benoit Dejean
119049b8c0 Fix autotools deprecation warning with s/INCLUDES/AM_CPPFLAGS/g. 2015-07-15 18:24:29 +02:00
Benoît Dejean
1908c00d32 Ignore the free example binary. 2015-07-14 11:21:45 +02:00
Benoît Dejean
70640d297e Implement a GNU free -m clone. 2015-07-14 11:17:59 +02:00
Benoît Dejean
c33623c097 Provide stats about shared memory and account Slab as cached.
This matches exactly `free`.
2015-07-14 11:11:38 +02:00
Benoît Dejean
6fe3b94f13 Make git ignore more files. 2015-07-14 10:31:13 +02:00
Benoît Dejean
f1a01a543c Define and initialize param_buf, send_{size,ptr} only when using
glibtop_call.
2015-07-10 20:36:12 +02:00
Benoît Dejean
758862e272 Add proc_affinity example. 2015-07-10 20:36:12 +02:00
Benoît Dejean
6941e7e22f Update and clean .gitignored files list. 2015-07-10 20:36:12 +02:00
Benoît Dejean
ee2ac6d563 Add glibtop_get_shm_limits gtk-doc/gi tags. 2015-07-10 20:36:12 +02:00
Benoît Dejean
4c0632ccbd Move gtk-doc/gi tag for glibtop_netlist_* to the correct place. 2015-07-10 20:36:12 +02:00
Benoît Dejean
71c7d65b1d Add gtk-doc/gi for glibtop_netlist. 2015-07-10 20:36:12 +02:00
Benoît Dejean
94aa63f796 Add an assertion to ensure that GLIBTOP_SYSDEPS_* fit in an unsigned long. 2015-07-10 20:36:12 +02:00
Benoît Dejean
931a8364ff Fix a few gtk-doc/gi function tags. 2015-07-10 20:36:12 +02:00
Benoît Dejean
598764c171 Add gtk-doc annotations for the glibtop_init functions.
Their return value should not be freed.
This fixes usage from gnome-instrospection (invalid free).
2015-07-10 20:36:12 +02:00
Benoît Dejean
aa7f9df00e Drop --with-libgtop-smp.
No code uses this switch.
2015-07-10 20:36:12 +02:00
Benoît Dejean
4c4466292e Fixed sscanf format string as arguments are unsigned ints. 2015-07-10 20:36:12 +02:00
Ionut Biru
fcc1d9d957 Add support for linux x.y versioning schema
Since linux 3.0, a valid version can have two digits

Signed-off-by: Ionut Biru <ibiru@archlinux.org>
2015-07-10 20:36:12 +02:00
Benoît Dejean
0580b2fb2c Linux >= 3.14 provides a "MemAvailable" field in /proc/meminfo which gives the
estimated amount of memory available for applications.
Use this to compute glibtop_mem::user.

https://bugzilla.gnome.org/show_bug.cgi?id=727543.
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/proc/meminfo.c?id=34e431b0ae398fc54ea69ff85ec700722c9da773
2015-07-10 20:36:12 +02:00
Ting-Wei Lan
a206cfc728 freebsd: rework system memory usage
Change the value of memory usage from:

  Used   = Wired
  Free   = Total - Wired
  Shared = 0
  Buffer = 0
  Cached = Cache
  User   = Wired - Cache
  Locked = Not Supported

To:

  Used   = Total - Free
  Free   = Free
  Shared = 0
  Buffer = Buf
  Cached = Cache
  User   = Active + Wired
  Locked = Not Supported

The left-hand side means fields in the glibtop_mem struct and the right-hand
side means the value showed by `top' command. This change should make the value
showed by gnome-system-monitor, which uses `User' field, become closer to
the real memory usage.

All sysctlbyname code in sysdeps/freebsd/mem.c has been moved to separate
functions to make the code cleaner.
2015-07-03 22:42:07 +08:00
Pedro Albuquerque
58ca70eaee Updated Portuguese translation 2015-07-01 22:01:19 +00:00
Robert Roth
421419fdbf Fixed build problem with procmap example 2015-06-26 03:10:51 +03:00
Benoit Dejean
ebb7f9d5e2 Better debug message. 2015-06-26 02:57:42 +03:00
Benoit Dejean
1f3b08e6dc Display self-timings using ps. 2015-06-26 02:57:42 +03:00
Benoit Dejean
a870dfc8f2 Print more fields about each filesystem. 2015-06-26 02:57:42 +03:00
Benoit Dejean
e0244ad3fc Don't try to print a NULL hash_table. 2015-06-26 02:57:41 +03:00
Benoit Dejean
1156794b33 Add command tracing in glibtop_call_l when debugging. 2015-06-26 02:57:41 +03:00
Benoit Dejean
874771ec1c Ignore more output files. 2015-06-26 02:57:41 +03:00
Benoit Dejean
16f262985d Use glibtop_warn_r instead of fprintf. 2015-06-26 02:57:41 +03:00
Benoit Dejean
0a94dc7992 Display inode number without zero padding. 2015-06-26 02:57:41 +03:00
Benoit Dejean
50b5dea402 Implement dev/inode for mapped files on ZFS. 2015-06-26 02:57:41 +03:00
Benoit Dejean
f4b23ef0c6 Split the code that works only with UFS inode. Will ease new code for ZFS. 2015-06-26 02:57:41 +03:00
Benoit Dejean
1f41349a7e Fix format for permissions. Display mappings' sizes. Avoid duplicating formatting code. 2015-06-26 02:57:41 +03:00
Benoit Dejean
548f104f35 If no argument is given, defaults to self. When self-testing, try to mmap some files as an example. 2015-06-26 02:57:41 +03:00
Benoit Dejean
4808aac8ef Make libgtop_server2 link against its libgtop. 2015-06-26 02:57:41 +03:00
Benoit Dejean
f04ce61b80 Run server_command instead of hardcoded LIBGTOP_SERVER. 2015-06-26 02:57:41 +03:00
Benoit Dejean
c7f7e5a1c6 Set the FSUSAGE_(READ|WRITE) flags only we managed to get something. Currently, it doesn't seem to work on ZFS. 2015-06-26 02:57:41 +03:00
Benoit Dejean
e2348c24a0 When pretty-printing an array, don't display 0 elements. 2015-06-26 02:57:41 +03:00
Benoit Dejean
f76b37be1b Rename NEED_LIBGTOP to LIBGTOP_NEED_SERVER. 2015-06-26 02:57:41 +03:00
Benoit Dejean
b2fee3e111 No special case for pid == 0. As of 2015, with FreeBSD 10.1-RELEASE #0 r274401 on amd64, this really works and sets the name to "kernel" for pid == 0. 2015-06-26 02:57:41 +03:00
Benoit Dejean
7b2416a8d1 Use LIBGTOP_ENABLE_DEBUG instead of undefined SLAVE_DEBUG. 2015-06-26 02:57:41 +03:00
Benoit Dejean
d006da7e54 Drop dead file, 2015-06-26 02:57:41 +03:00
Benoit Dejean
a93dc2526d The DEBUG macro enabled by --enable-debug is actually LIBGTOP_ENABLE_DEBUG. 2015-06-26 02:57:41 +03:00
Benoit Dejean
a3a16707b5 Enable silent build. 2015-06-26 02:57:41 +03:00
Robert Roth
fd53595189 Prepare 2.31.3 2015-06-22 22:43:35 +03:00
Benoit Dejean
0057bbbc47 Don't set GLIBTOP_PROC_MEM_SHARE because it's not implemented anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=744890
2015-06-21 10:57:11 +08:00
Benoit Dejean
e6d776ee61 It doesn't make any sense to count as shared each and every mmaped file. Disable that code while we figure how to really do it.
https://bugzilla.gnome.org/show_bug.cgi?id=744890
2015-06-21 10:56:39 +08:00
Juan RP
c68e077909 Implemented procaffinity for netBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=553713
2015-06-20 03:35:56 +03:00
Juan RP
72e46fc6b4 Define some GLIBTOP_SUID constants to build procaffinity on NetBSD
https://bugzilla.gnome.org/show_bug.cgi?id=553713
2015-06-20 03:33:42 +03:00
Juan RP
2ea8a156f3 Enable procaffinity.c on sysdeps/bsd/Makefile.am.
(Please also double check the author and subject.)

https://bugzilla.gnome.org/show_bug.cgi?id=553713
2015-06-20 03:33:42 +03:00
Ting-Wei Lan
40e1a86d52 freebsd: Add fdescfs to the ignored filesystem list
fdescfs is the filesystem mounted on /dev/fd to provide access to file
descriptors via filsystem paths. It is not a real filesystem used on disks.

https://bugzilla.gnome.org/show_bug.cgi?id=748790
2015-06-14 14:19:24 +08:00
Cédric Valmary
a101d6b27a Updated Occitan translation 2015-04-30 07:47:26 +00:00
Robert Roth
9770db12d2 Let's stick to the GNOME release process
To stick to the GNOME release train from now on, we start with an
unstable number and the next stable will be released along with
GNOME 3.18.0.
2015-04-02 06:50:28 +03:00
Robert Roth
a61052dc59 Version bump required to 2.32.0 2015-03-21 20:13:08 +02:00
Samir Ribic
8985e7e239 Updated Bosnian translation 2015-03-13 21:02:02 +00:00
Robert Roth
1c1449306b Added some more files to .gitignore 2015-01-03 15:36:57 +02:00
Jasper St. Pierre
3f8f65386e Make some APIs that return struct introspectable
In order to do this, we need to define some boxed types. So we need
to add a new dependency, GObject, to GTop.

https://bugzilla.gnome.org/show_bug.cgi?id=663265
2015-01-03 15:32:56 +02:00
Jasper St. Pierre
30d29e624b Warn on introspection errors
https://bugzilla.gnome.org/show_bug.cgi?id=663265
2015-01-03 15:32:55 +02:00
Ryan Lortie
bea8b6790a stub sysdep: add some missing files
https://bugzilla.gnome.org/show_bug.cgi?id=724196
2015-01-03 15:12:10 +02:00
Ryan Lortie
5e6c25d29d stub sysdep: add missing defines
https://bugzilla.gnome.org/show_bug.cgi?id=724196
2015-01-03 15:12:10 +02:00
Ryan Lortie
b7e1219e0a stub sysdep: fix mismatched function vs. prototype
https://bugzilla.gnome.org/show_bug.cgi?id=724196
2015-01-03 15:12:10 +02:00
Jasper Lievisse Adriaanse
057dcf77d6 Sync with OpenBSD's uvm_extern.h changes 2014-11-18 19:33:38 +01:00
Jasper Lievisse Adriaanse
b7edd1542e dkstat.h is going away on OpenBSD, so use sys/sched.h instead for CP_* 2014-09-08 09:36:07 +02:00
Jasper Lievisse Adriaanse
7326f8816d Add SMP support for OpenBSD 2014-09-01 15:21:31 +02:00
Robert Roth
ed1b3f5834 Use configure.ac instead of configure.in 2014-08-20 05:25:50 +03:00
Robert Roth
7a3414d002 Update old FSF address.
https://bugzilla.gnome.org/show_bug.cgi?id=721514
2014-08-20 04:44:27 +03:00
Märt Põder
564506bb0d Add annotations to get_proclist* to make Python bindings work.
https://bugzilla.gnome.org/show_bug.cgi?id=734170
2014-08-20 04:23:56 +03:00
Andre Klapper
9e0843064d doap: add <programming-language> 2014-07-31 21:05:19 +02:00
Olav Vitters
d8d8aac9d3 doap category core 2014-07-30 20:30:20 +02:00
Jasper Lievisse Adriaanse
9a887feed2 Unbreak build on OpenBSD after recent header changes. 2014-07-10 13:15:50 +02:00
Tom Tryfonidis
81dfeb526c Updated Greek translation 2014-07-09 23:20:20 +00:00
495 changed files with 2960 additions and 2354 deletions

69
.gitignore vendored
View File

@@ -1,46 +1,35 @@
sysdeps/Makefile *~
sysdeps/Makefile.in *.bak
sysdeps/*/Makefile *.o
sysdeps/*/Makefile.in *.out
sysdeps/*/.deps *.a
sysdeps/*/.libs *.gmo
sysdeps/*/*.o *.lo
sysdeps/*/*.lo *.la
sysdeps/*/*.la *.core
src/*/Makefile *.s
src/*/Makefile.in *.stamp
src/*/.deps .libs
src/Makefile .deps
src/Makefile.in Makefile
Makefile.in
src/daemon/libgtop_daemon2
src/daemon/libgtop_server2
stamp-h1 stamp-h1
po/*.gmo
po/stamp-it po/stamp-it
po/POTFILES po/POTFILES
po/Makefile.in.in po/Makefile.in.in
po/Makefile.in
po/Makefile
missing missing
misc/Makefile
misc/Makefile.in
m4/ m4/
ltmain.sh ltmain.sh
libtool libtool
libgtopconfig.h libgtopconfig.h
libgtop.spec libgtop.spec
libgtop-2.0.pc libgtop-2.0.pc
lib/Makefile
lib/Makefile.in
lib/.deps
lib/.libs
lib/*.o
lib/*.lo
lib/*.la
lib/lib.c lib/lib.c
lib/GTop-2.0.gir lib/GTop-2.0.gir
lib/GTop-2.0.typelib lib/GTop-2.0.typelib
INSTALL INSTALL
Makefile
Makefile.in
aclocal.m4 aclocal.m4
autom4te.cache/ autom4te.cache/
config.guess config.guess
@@ -50,31 +39,31 @@ config.log
config.status config.status
config.sub config.sub
configure configure
compile
depcomp depcomp
doc/Makefile
doc/Makefile.in
doc/libgtop2.info doc/libgtop2.info
doc/mdate-sh doc/mdate-sh
doc/reference/Makefile
doc/reference/Makefile.in
doc/reference/html/ doc/reference/html/
doc/reference/libgtop-decl-list.txt doc/reference/libgtop-decl-list.txt
doc/reference/libgtop-decl.txt doc/reference/libgtop-decl.txt
doc/reference/libgtop-undeclared.txt
doc/reference/libgtop-undocumented.txt
doc/reference/libgtop-unused.txt
doc/reference/libgtop.args
doc/reference/libgtop.hierarchy
doc/reference/libgtop.interfaces
doc/reference/libgtop.prerequisites
doc/reference/libgtop.signals
doc/reference/tmpl/ doc/reference/tmpl/
doc/reference/version.xml doc/reference/version.xml
doc/reference/xml/ doc/reference/xml/
doc/stamp-vti doc/stamp-vti
doc/texinfo.tex doc/texinfo.tex
doc/version.texi doc/version.texi
examples/.deps/
examples/.libs/
examples/*.o
examples/Makefile
examples/Makefile.in
examples/affinity examples/affinity
examples/df examples/df
examples/first examples/first
examples/mem examples/free
examples/mountlist examples/mountlist
examples/netlist examples/netlist
examples/netload examples/netload
@@ -89,10 +78,6 @@ examples/sysdeps
examples/timings examples/timings
examples/wd examples/wd
gtk-doc.make gtk-doc.make
include/Makefile
include/Makefile.in
include/glibtop/Makefile
include/glibtop/Makefile.in
install-sh install-sh
intltool-extract.in intltool-extract.in
intltool-merge.in intltool-merge.in

68
NEWS
View File

@@ -1,3 +1,71 @@
21 September 2015: Overview of changes in 2.32.0
* Stable release
14 September 2015: Overview of changes in 2.31.91
================================================
* Darwin:
- Fixed build.
* All
- GI docs fixes
- include fixes
- Updated translations
16 August 2015: Overview of changes in 2.31.90
=============================================
* ABI changes:
- ABI was inconsistent on platforms like FreeBSD which make use of
glibtop_machine. The ABI was actually different between the
library and the server. Fixed this by simply always defining
glibtop_machine in glibtop struct.
- Add Pss and Swap members in glibtop_proc_mem.
- This is the second ABI breakage in since 2.28 (the first one was
bumping NCPU), there were no release for 2.30.
* FreeBSD:
- proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE.
- Remove extraneous glibtop_init() calls.
* Linux:
- proc_mem: implement Pss and Swap.
- Remove extraneous glibtop_init() calls.
* All:
- Propagate the change that machine in struct glibtop is now a
pointer. Hope that change doesn't break build on other platforms,
I can only test Linux and FreeBSD.
5 August 2015: Overview of changes in 2.31.4
=============================================
* 71 commits !
* Implement a proper --enable-debug mode.
* FreeBSD:
- procstate: set process name for kernel (pid=0)
- procmap: get dev/inode for ZFS (no filename yet)
- mem: rework memory usage to something more meaningful
- proclist: don't report threads
- proctime: fix CPU times
* Linux:
- mem: use MemAvailable when available
- mem: match `free`, report Slab as Cached.
- support for x.y versionsmemory to match `free`
* Fix a lot of GI tags: it now works without crashing.
* Server and daemon binaries are now dynamically linked against their libgtop.
* Update a lot of examples/.
* Clean up some very old code.
* Updated translations.
Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD.
22 June 2015: Overview of changes in 2.31.3
=============================================
* Numerous OpenBSD backend fixes.
* Fixed FreeBSD build issues.
* Implemented procaffinity support for NetBSD.
* Updated translations
19 August 2013: Overview of changes in 2.28.5 19 August 2013: Overview of changes in 2.28.5
============================================= =============================================
* Fix numerous bugs in the OpenBSD backend. * Fix numerous bugs in the OpenBSD backend.

View File

@@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
PKG_NAME="Gnome Top Library" PKG_NAME="Gnome Top Library"
(test -f $srcdir/configure.in \ (test -f $srcdir/configure.ac \
&& test -f $srcdir/copyright.txt \ && test -f $srcdir/copyright.txt \
&& test -d $srcdir/sysdeps) || { && test -d $srcdir/sysdeps) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"

View File

@@ -3,8 +3,8 @@ dnl Configure script for the Gnome library
dnl dnl
m4_define([libgtop_major_version], [2]) m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [28]) m4_define([libgtop_minor_version], [32])
m4_define([libgtop_micro_version], [6]) m4_define([libgtop_micro_version], [0])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version]) m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals. dnl increment if the interface has additions, changes, removals.
@@ -34,6 +34,7 @@ AC_CONFIG_HEADERS(config.h)
AC_CANONICAL_HOST AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz]) AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
GOBJECT_INTROSPECTION_CHECK([0.6.7]) GOBJECT_INTROSPECTION_CHECK([0.6.7])
@@ -91,8 +92,9 @@ GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES GNOME_LIBGTOP_TYPES
GLIB_REQUIRED=2.6.0 GLIB_REQUIRED=2.6.0
GOBJECT_REQUIRED=2.26.0
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED) PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GOBJECT_REQUIRED)
AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS) AC_SUBST(GLIB_LIBS)
@@ -261,7 +263,8 @@ dnl Debugging
AC_ARG_ENABLE(debug, AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug], AS_HELP_STRING([--enable-debug],
[Turn on debugging @<:@default=no@:>@]), [Turn on debugging @<:@default=no@:>@]),
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging])) AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging]))
AC_ARG_ENABLE(fatal-warnings, AC_ARG_ENABLE(fatal-warnings,
AS_HELP_STRING([--enable-fatal-warnings], AS_HELP_STRING([--enable-fatal-warnings],
[Make all warnings fatal @<:@debug=no@:>@]), [Make all warnings fatal @<:@debug=no@:>@]),
@@ -272,14 +275,6 @@ dnl These definitions are expanded in make.
LIBGTOP_LIBS='-L$(libdir)' LIBGTOP_LIBS='-L$(libdir)'
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
if test x$libgtop_use_machine_h = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
fi
if test x$libgtop_smp = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
fi
if test x$libgtop_have_sysinfo = xyes ; then if test x$libgtop_have_sysinfo = xyes ; then
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
fi fi
@@ -308,24 +303,17 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS" LIBGTOP_LIBS="$LIBGTOP_LIBS"
LIBGTOP_LIBS="$LIBGTOP_LIBS"
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
AC_SUBST(machine_incs)
if test "$GCC" = "yes" ; then if test "$GCC" = "yes" ; then
CFLAGS="\ CFLAGS="\
-Winline \ -Winline \
-Wall \ -Wall \
-std=gnu89 \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \ -Wnested-externs -Wpointer-arith \
-Wcast-align -Wsign-compare \ -Wcast-align -Wsign-compare \
$CFLAGS" $CFLAGS"
fi fi
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS" AM_CPPFLAGS="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
# Add various defines to the config.h file ... # Add various defines to the config.h file ...
AH_VERBATIM([_GNU_SOURCE], AH_VERBATIM([_GNU_SOURCE],
@@ -344,7 +332,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"], AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
[The path to the libgtop server]) [The path to the libgtop server])
AC_SUBST(INCLUDES) AC_SUBST(AM_CPPFLAGS)
AC_SUBST(LIBGTOP_EXTRA_LIBS) AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(GLIB_LIBS) AC_SUBST(GLIB_LIBS)

View File

@@ -16,7 +16,7 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */

2
debian/rules.in vendored
View File

@@ -10,7 +10,7 @@
i=$(shell pwd)/debian/tmp i=$(shell pwd)/debian/tmp
b=$(shell pwd)/debian/build b=$(shell pwd)/debian/build
configure: configure.in configure: configure.ac
@echo "--- Making configure script and configuring" @echo "--- Making configure script and configuring"
chmod +x autogen.sh chmod +x autogen.sh
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \ ./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \

View File

@@ -46,9 +46,9 @@ HTML_IMAGES=
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget # Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties. # signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
INCLUDES= AM_CPPFLAGS=
GTKDOC_LIBS= GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize. # This includes the standard gtk-doc make rules, copied by gtkdocize.

View File

@@ -36,8 +36,8 @@
Documentation License</citetitle> from the Free Software Documentation License</citetitle> from the Free Software
Foundation by visiting <ulink type="http" Foundation by visiting <ulink type="http"
url="http://www.fsf.org">their Web site</ulink> or by writing url="http://www.fsf.org">their Web site</ulink> or by writing
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA.</para> Boston, MA 02110-1301, USA.</para>
<para>Many of the names used by companies to distinguish their <para>Many of the names used by companies to distinguish their
products and services are claimed as trademarks. Where those products and services are claimed as trademarks. Where those

View File

@@ -4,7 +4,7 @@ AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
noinst_PROGRAMS = first second pprint procargs df netlist \ noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \ mountlist procmap netload sysdeps timings \
openfiles smp proclist mem wd affinity openfiles smp proclist free wd affinity
first_SOURCES = first.c first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
@@ -51,8 +51,8 @@ proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
wd_SOURCES = wd.c wd_SOURCES = wd.c
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mem_SOURCE = mem.c free_SOURCE = mem.c
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la free_LDADD = $(top_builddir)/lib/libgtop-2.0.la
affinity_SOURCES = affinity.c affinity_SOURCES = affinity.c
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la

View File

@@ -13,19 +13,36 @@ static void print_fsusage(const char *mountpoint)
{ {
glibtop_fsusage buf; glibtop_fsusage buf;
enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
char **a = g_new0(char*, MAX);
glibtop_get_fsusage(&buf, mountpoint); glibtop_get_fsusage(&buf, mountpoint);
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
mountpoint,
buf.blocks * buf.block_size >> 20,
(buf.blocks - buf.bavail) * buf.block_size >> 20,
buf.bavail * buf.block_size >> 20,
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
buf.read,
buf.write
);
}
#define I(X) a[(X)]
I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
I(READ) = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
(unsigned)buf.flags,
I(SIZE),
I(USED),
I(FREE),
I(AVAIL),
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
I(READ),
I(WRITE),
(unsigned long)buf.files,
(unsigned long)buf.ffree,
mountpoint
);
g_strfreev(a);
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@@ -33,8 +50,8 @@ int main(int argc, char **argv)
glibtop_init(); glibtop_init();
printf("%-30s %10s %10s %10s %5s %10s %10s\n", printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write"); "(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
if (argc > 1) { if (argc > 1) {
while (*++argv) while (*++argv)

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H

44
examples/free.c Normal file
View File

@@ -0,0 +1,44 @@
#include <glibtop.h>
#include <glibtop/mem.h>
#include <glibtop/swap.h>
#include <glib.h>
#include <unistd.h>
static unsigned mb(guint64 n)
{
return n >> 20;
}
int main(int argc, char **argv)
{
glibtop_mem mem;
glibtop_swap swap;
glibtop_init();
glibtop_get_mem(&mem);
glibtop_get_swap(&swap);
printf(" total used free shared buff/cache available\n");
printf("%-7s %11u %11u %11u %11u %11u %11u\n",
"Mem:",
mb(mem.total),
mb(mem.used - mem.buffer - mem.cached),
mb(mem.free),
mb(mem.shared),
mb(mem.buffer + mem.cached),
mb(mem.total - mem.user));
printf("%-7s %11u %11u %11u\n",
"Swap:",
mb(swap.total),
mb(swap.used),
mb(swap.free));
glibtop_close();
return 0;
}

View File

@@ -1,21 +0,0 @@
#include <glibtop.h>
#include <glibtop/mem.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
glibtop_mem buf;
glibtop_init();
g_print("%lx\n", glibtop_global_server->features);
glibtop_get_mem(&buf);
glibtop_close();
return 0;
}

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H

View File

@@ -14,8 +14,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@@ -51,7 +51,7 @@ static char* hwaddress_format_for_display(glibtop_netload *buf)
for(i = 0; i < sizeof buf->hwaddress; ++i) for(i = 0; i < sizeof buf->hwaddress; ++i)
g_string_append_printf(repr, "%02X:", g_string_append_printf(repr, "%02X:",
(unsigned) ((char*)buf->hwaddress)[i]); ((unsigned char*)buf->hwaddress)[i]);
repr->str [ repr->len - 1] = ' '; repr->str [ repr->len - 1] = ' ';
str = g_string_free(repr, FALSE); str = g_string_free(repr, FALSE);

View File

@@ -21,14 +21,21 @@
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \ #define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA) (unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \ #define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \ size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \ printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\ (unsigned long) sizeof buf.ARRAY, \
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \ (unsigned long) buf_offsetof(ARRAY), \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \ (unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \ for (i = 0; i < (SIZE); ++i) { \
} while(0) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) { \
do { i++; } while (i < SIZE && !buf.ARRAY[i]); \
printf("..., "); \
} \
} \
printf("}\n"); \
} while(0)
#define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \ #define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \
size_t i; \ size_t i; \
@@ -36,9 +43,11 @@ printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf->ARRAY, 0,\ (unsigned long) sizeof buf->ARRAY, 0,\
(unsigned long) G_N_ELEMENTS(buf->ARRAY)); \ (unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
for(i = 0; i < SIZE; ++i) { \ for(i = 0; i < SIZE; ++i) { \
printf ("[ ");\ if (buf->ARRAY[i].values) { \
PPRINT_HASHTABLE(buf->ARRAY[i].values); \ printf ("[ "); \
printf ("]\n");\ PPRINT_HASHTABLE(buf->ARRAY[i].values); \
printf ("]\n"); \
} \
} \ } \
printf("} "); \ printf("} "); \
} while(0) } while(0)
@@ -319,6 +328,28 @@ static void pprint_get_proc_mem(pid_t pid)
} }
static void pprint_get_proc_affinity(pid_t pid)
{
glibtop_proc_affinity buf;
guint32 i;
guint16* cpus;
cpus = glibtop_get_proc_affinity(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_affinity);
PPRINT(flags, "%#llx");
PPRINT(number, "%u");
PPRINT(all, "%d");
printf("\taffinity=");
for (i = 0; i < buf.number; i++) {
printf("%d, ", cpus[i]);
}
putchar('\n');
FOOTER_PPRINT();
}
int main() int main()
{ {
@@ -351,6 +382,7 @@ int main()
pprint_get_proc_kernel(getpid()); pprint_get_proc_kernel(getpid());
pprint_get_proc_mem(getpid()); pprint_get_proc_mem(getpid());
pprint_get_proc_affinity(getpid());
glibtop_close(); glibtop_close();

View File

@@ -1,5 +1,8 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/proclist.h> #include <glibtop/proclist.h>
#include <glibtop/procstate.h>
#include <glibtop/proctime.h>
#include <glibtop/procuid.h>
#include <glib.h> #include <glib.h>
@@ -17,14 +20,28 @@ static void print_pids(guint64 which, guint64 arg)
pids = glibtop_get_proclist(&buf, which, arg); pids = glibtop_get_proclist(&buf, which, arg);
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n", for (i = 0; i < buf.number; ++i) {
which, arg, (unsigned long)buf.number); glibtop_proc_time ptime;
glibtop_proc_uid puid;
glibtop_proc_state pstate;
for (i = 0; i < buf.number; ++i) pid_t p = pids[i];
printf("%u ", pids[i]);
putchar('\n'); glibtop_get_proc_time(&ptime, p);
putchar('\n'); glibtop_get_proc_uid(&puid, p);
glibtop_get_proc_state(&pstate, p);
/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */
printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n",
puid.uid,
p,
(double)ptime.rtime / ptime.frequency,
(double)ptime.utime / ptime.frequency,
(double)ptime.stime / ptime.frequency,
(unsigned long)ptime.start_time,
pstate.cmd,
(long)ptime.flags);
}
g_free(pids); g_free(pids);
} }
@@ -34,7 +51,6 @@ int main()
{ {
glibtop_init(); glibtop_init();
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
print_pids(GLIBTOP_KERN_PROC_UID, getuid()); print_pids(GLIBTOP_KERN_PROC_UID, getuid());
glibtop_close(); glibtop_close();

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@@ -39,10 +39,36 @@
#include <sys/resource.h> #include <sys/resource.h>
#include <sys/mman.h> #include <sys/mman.h>
#include <fcntl.h>
#ifndef PROFILE_COUNT #ifndef PROFILE_COUNT
#define PROFILE_COUNT 1 #define PROFILE_COUNT 1
#endif #endif
static void
try_mmap(const char *path)
{
struct stat buf;
int fd;
if ((fd = open(path, O_RDONLY)) < 0)
goto out;
if (fstat(fd, &buf) < 0)
goto out;
if (mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0) == MAP_FAILED)
goto out;
close(fd);
return;
out:
fprintf(stderr, "Failed to test mmap with '%s'\n", path);
}
int int
main (int argc, char *argv []) main (int argc, char *argv [])
{ {
@@ -78,8 +104,18 @@ main (int argc, char *argv [])
glibtop_init_r (&glibtop_global_server, 0, 0); glibtop_init_r (&glibtop_global_server, 0, 0);
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1)) if (argc == 1) {
g_error ("Usage: %s pid", argv [0]); pid = getpid();
}
else if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
g_error ("Usage: %s [pid]", argv [0]);
if (pid == getpid()) {
/* let's map something for a try */
try_mmap("/etc/passwd");
try_mmap("/etc/resolv.conf");
try_mmap(argv[0]);
}
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid); fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
@@ -87,6 +123,7 @@ main (int argc, char *argv [])
for (i = 0; i < procmap.number; i++) { for (i = 0; i < procmap.number; i++) {
const char *filename = NULL; const char *filename = NULL;
char * format;
unsigned device, device_major, device_minor; unsigned device, device_major, device_minor;
char perm [5]; char perm [5];
@@ -103,42 +140,27 @@ main (int argc, char *argv [])
device_minor = (device & 255); device_minor = (device & 255);
device_major = ((device >> 8) & 255); device_major = ((device >> 8) & 255);
if (sizeof (void*) == 8)
format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - "
"%02x:%02x % 8lu - %.*s";
else
format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - "
"%02x:%02x % 8lu - %.*s";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
(unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)),
device_major, device_minor,
(unsigned long) maps [i].inode,
sizeof perm, perm);
if (filename) { if (filename) {
char *format; fprintf(stderr, " - %s", filename);
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %5.5s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %5.5s - %s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm, filename);
} else {
char * format;
if (sizeof (void*) == 8)
format = "%016lx-%016lx %016lx - "
"%02x:%02x %08lu - %4s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s\n";
fprintf (stderr, format,
(unsigned long) maps [i].start,
(unsigned long) maps [i].end,
(unsigned long) maps [i].offset,
device_major, device_minor,
(unsigned long) maps [i].inode,
perm);
} }
fputc('\n', stderr);
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB " g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
"shared_clean:%lluKib shared_dirty:%lluKiB " "shared_clean:%lluKib shared_dirty:%lluKiB "

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@@ -42,14 +42,12 @@ output (pid_t pid)
char *args; char *args;
unsigned i; unsigned i;
#if HAVE_LIBGTOP_SMP
unsigned long total; unsigned long total;
double p_total, p_utime, p_stime; double p_total, p_utime, p_stime;
double b_total, b_utime, b_stime; double b_total, b_utime, b_stime;
double s_total, s_utime, s_stime; double s_total, s_utime, s_stime;
double my_utime, my_stime; double my_utime, my_stime;
unsigned int ncpu; unsigned int ncpu;
#endif
printf ("\n"); printf ("\n");
@@ -158,7 +156,6 @@ output (pid_t pid)
printf ("\n"); printf ("\n");
#if HAVE_LIBGTOP_SMP
ncpu = glibtop_global_server->ncpu; ncpu = glibtop_global_server->ncpu;
glibtop_get_proc_time (&data.proc_time, pid); glibtop_get_proc_time (&data.proc_time, pid);
@@ -231,7 +228,6 @@ output (pid_t pid)
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime); s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
printf ("\n"); printf ("\n");
#endif
} }
int int

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@@ -69,6 +69,21 @@
} \ } \
} while (0) } while (0)
static void display_self_times(void)
{
printf("-- Overview using `ps` --------------------"
"---------------\n");
printf("-- this client is %8u ----------------"
"---------------\n", (unsigned)getpid());
printf("-- this server is %8u ----------------"
"---------------\n", (unsigned)glibtop_global_server->pid);
system("ps xjf | egrep 'timings|libgtop_server'");
printf("-------------------------------------------"
"---------------\n");
}
int int
main (int argc, char *argv []) main (int argc, char *argv [])
{ {
@@ -85,13 +100,16 @@ main (int argc, char *argv [])
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR); bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
textdomain (GETTEXT_PACKAGE); textdomain (GETTEXT_PACKAGE);
glibtop_init_r (&glibtop_global_server, 0, 0);
display_self_times();
printf ("%-12s (%-10s): %7s - %9s - %9s\n", printf ("%-12s (%-10s): %7s - %9s - %9s\n",
"Feature", "Flags", "Count", "utime", "stime"); "Feature", "Flags", "Count", "utime", "stime");
printf ("-------------------------------------------" printf ("-------------------------------------------"
"---------------\n"); "---------------\n");
glibtop_init_r (&glibtop_global_server, 0, 0);
getrusage (RUSAGE_SELF, &total_start); getrusage (RUSAGE_SELF, &total_start);
getrusage (RUSAGE_SELF, &rusage_start); getrusage (RUSAGE_SELF, &rusage_start);
@@ -411,6 +429,8 @@ main (int argc, char *argv [])
printf ("All timings are in clock ticks " printf ("All timings are in clock ticks "
"(1000000 ticks per second).\n\n"); "(1000000 ticks per second).\n\n");
display_self_times();
glibtop_close (); glibtop_close ();
exit (0); exit (0);

View File

@@ -1,27 +1,27 @@
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4]) void|cpu
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked) void|mem
void|swap|ulong(total,used,free,pagein,pageout) void|swap
void|uptime|double(uptime,idletime) void|uptime
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid) void|loadavg
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall) void|shm_limits
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql) void|msg_limits
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem) void|sem_limits
pid_t*|proclist|ulong(number,size,total)|long(which,arg) pid_t*|proclist|long(which,arg)
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid) void|proc_state|pid_t(pid)
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid) void|proc_uid|pid_t(pid)
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid) void|proc_mem|pid_t(pid)
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid) void|proc_time|pid_t(pid)
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid) void|proc_signal|pid_t(pid)
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid) void|proc_kernel|pid_t(pid)
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid) void|proc_segment|pid_t(pid)
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len) char *|proc_args|pid_t(pid):unsigned(max_len)
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid) glibtop_map_entry *|proc_map|pid_t(pid)
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid) glibtop_open_files_entry *|proc_open_files|pid_t(pid)
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs) glibtop_mountentry *|@mountlist|int(all_fs)
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir void|@fsusage|string|mount_dir
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface void|netload|string|interface
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device) void|ppp|ushort(device)
char **|netlist|unsigned(number) char **|netlist
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid) char **|proc_wd|pid_t(pid)
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid) guint16*|proc_affinity|pid_t(pid)

View File

@@ -15,18 +15,24 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_H__ #ifndef __GLIBTOP_H__
#define __GLIBTOP_H__ #define __GLIBTOP_H__
/* for pid_t, uid_t, gid_t */
#include <sys/types.h>
#include <glib.h> #include <glib.h>
#include <glib-object.h>
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _glibtop glibtop; typedef struct _glibtop glibtop;
typedef struct _glibtop_machine glibtop_machine;
/** /**
* LIBGTOP_CHECK_VERSION * LIBGTOP_CHECK_VERSION
@@ -54,10 +60,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
#include <glibtop_server.h> #include <glibtop_server.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
#include <glibtop_machine.h>
#endif
#ifndef GLIBTOP_MOUNTENTRY_LEN #ifndef GLIBTOP_MOUNTENTRY_LEN
#define GLIBTOP_MOUNTENTRY_LEN 79 #define GLIBTOP_MOUNTENTRY_LEN 79
#endif #endif
@@ -68,34 +70,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
#include <glibtop/close.h> #include <glibtop/close.h>
#ifdef HAVE_GLIBTOP_MACHINE_H
struct _glibtop
{
unsigned flags;
unsigned method; /* Server Method */
unsigned error_method; /* Error Method */
glibtop_machine machine; /* Machine dependent data */
int input [2]; /* Pipe client <- server */
int output [2]; /* Pipe client -> server */
int socket; /* Accepted connection of a socket */
int ncpu; /* Number of CPUs, zero if single-processor */
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
unsigned long os_version_code; /* Version code of the operating system */
const char *name; /* Program name for error messages */
const char *server_command; /* Command used to invoke server */
const char *server_host; /* Host the server should run on */
const char *server_user; /* Name of the user on the target host */
const char *server_rsh; /* Command used to connect to the target host */
unsigned long features; /* Server is required for this features */
unsigned long server_port; /* Port on which daemon is listening */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
pid_t pid; /* PID of the server */
};
#else /* !HAVE_GLIBTOP_MACHINE_H */
struct _glibtop struct _glibtop
{ {
unsigned flags; unsigned flags;
@@ -117,27 +91,57 @@ struct _glibtop
glibtop_sysdeps sysdeps; /* Detailed feature list */ glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */ glibtop_sysdeps required; /* Required feature list */
pid_t pid; /* PID of the server */ pid_t pid; /* PID of the server */
};
#endif /* HAVE_GLIBTOP_MACHINE_H */ uid_t uid;
uid_t euid;
gid_t gid;
gid_t egid;
glibtop_machine *machine; /* Machine dependent data */
};
extern glibtop *glibtop_global_server; extern glibtop *glibtop_global_server;
extern const unsigned long glibtop_server_features; extern const unsigned long glibtop_server_features;
/**
* glibtop_init:
*
* Returns: (transfer none):
*/
glibtop * glibtop *
glibtop_init (void); glibtop_init (void);
/**
* glibtop_init_r:
* @server_ptr: (out):
* @features:
* @flags:
*
* Returns: (transfer none):
*/
glibtop * glibtop *
glibtop_init_r (glibtop **server_ptr, glibtop_init_r (glibtop **server_ptr,
unsigned long features, unsigned long features,
unsigned flags); unsigned flags);
/**
* glibtop_init_s:
* @server_ptr: (out):
* @features:
* @flags:
*
* Returns: (transfer none):
*/
glibtop * glibtop *
glibtop_init_s (glibtop **server_ptr, glibtop_init_s (glibtop **server_ptr,
unsigned long features, unsigned long features,
unsigned flags); unsigned flags);
GType glibtop_get_type (void) G_GNUC_CONST;
G_END_DECLS G_END_DECLS
#endif #endif

View File

@@ -2,7 +2,7 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
sem_limits.h uptime.h command.h mem.h proclist.h \ sem_limits.h uptime.h command.h mem.h proclist.h \
proctime.h shm_limits.h version.h cpu.h msg_limits.h \ proctime.h shm_limits.h cpu.h msg_limits.h \
procmem.h procuid.h swap.h \ procmem.h procuid.h swap.h \
procsegment.h sysdeps.h global.h \ procsegment.h sysdeps.h global.h \
procsignal.h union.h gnuserv.h \ procsignal.h union.h gnuserv.h \
@@ -11,4 +11,6 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
procwd.h procaffinity.h \ procwd.h procaffinity.h \
netlist.h procopenfiles.h open.h netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h machine.h \
version.h

View File

@@ -19,8 +19,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_CALL_VECTOR_H__ #ifndef __GLIBTOP_CALL_VECTOR_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_CLOSE_H__ #ifndef __GLIBTOP_CLOSE_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_COMMAND_H__ #ifndef __GLIBTOP_COMMAND_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_CPU_H__ #ifndef __GLIBTOP_CPU_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
@@ -46,6 +46,18 @@ void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2); void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
/* FIXME: C99 */
#define glibtop_debug_r(server, fmt, ...) \
G_STMT_START { \
if (LIBGTOP_ENABLE_DEBUG) \
glibtop_debug_r_real(server, "%s:%d %s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
} G_STMT_END
#define glibtop_debug(...) glibtop_debug_r(glibtop_global_server, __VA_ARGS__)
void glibtop_debug_vr (glibtop *server, const char *format, va_list args);
void glibtop_debug_r_real (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
G_END_DECLS G_END_DECLS
#endif #endif

View File

@@ -14,8 +14,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_FSUSAGE_H__ #ifndef __GLIBTOP_FSUSAGE_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_GLOBAL_H__ #ifndef __GLIBTOP_GLOBAL_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_LOADAVG_H__ #ifndef __GLIBTOP_LOADAVG_H__

22
include/glibtop/machine.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
#define GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
#include <glib.h>
#include <glibtop_machine.h>
/* private */
static inline void
glibtop_machine_new(glibtop *server)
{
server->machine = g_new0(glibtop_machine, 1);
}
/* private */
static inline void
glibtop_machine_delete(glibtop *server)
{
g_free(server->machine);
server->machine = NULL;
}
#endif /* GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 */

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_MEM_H__ #ifndef __GLIBTOP_MEM_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_MOUNTLIST_H__ #ifndef __GLIBTOP_MOUNTLIST_H__
@@ -53,6 +53,38 @@ struct _glibtop_mountlist
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */ guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
}; };
/**
* glibtop_get_mountlist:
* @buf:
* @all_fs:
*
* Returns: (transfer full):
*/
/**
* glibtop_get_mountlist_r:
* @buf: (out):
* @all_fs:
*
* Returns: (transfer none):
*/
/**
* glibtop_get_mountlist_s:
* @buf: (out):
* @all_fs:
*
* Returns: (transfer none):
*/
/**
* glibtop_get_mountlist_l:
* @buf: (out):
* @all_fs:
*
* Returns: (transfer none):
*/
glibtop_mountentry * glibtop_mountentry *
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs); glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
@@ -64,6 +96,8 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
glibtop_mountentry * glibtop_mountentry *
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs); glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
GType glibtop_mountlist_get_type (void) G_GNUC_CONST;
GType glibtop_mountentry_get_type (void) G_GNUC_CONST;
G_END_DECLS G_END_DECLS

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_MSG_LIMITS_H__ #ifndef __GLIBTOP_MSG_LIMITS_H__

View File

@@ -13,8 +13,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_NETLIST_H__ #ifndef __GLIBTOP_NETLIST_H__
@@ -31,12 +31,23 @@ G_BEGIN_DECLS
typedef struct _glibtop_netlist glibtop_netlist; typedef struct _glibtop_netlist glibtop_netlist;
/**
* glibtop_netlist:
* @number: Number of entries in the returned list.
*/
struct _glibtop_netlist struct _glibtop_netlist
{ {
guint64 flags; guint64 flags;
guint32 number; guint32 number;
}; };
/**
* glibtop_get_netlist:
* @buf: a #glibtop_netlist
*
* Returns: (array zero-terminated=1) (transfer none): an array of network
* interface names.
*/
char** glibtop_get_netlist(glibtop_netlist *buf); char** glibtop_get_netlist(glibtop_netlist *buf);
#if GLIBTOP_SUID_NETLIST #if GLIBTOP_SUID_NETLIST
@@ -45,13 +56,39 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
#define glibtop_get_netlist_r glibtop_get_netlist_s #define glibtop_get_netlist_r glibtop_get_netlist_s
#endif #endif
/**
* glibtop_get_netlist_l:
* @server: a #glibtop server
* @buf: a #glibtop_netlist
*
* Returns: (array zero-terminated=1) (transfer none): an array of network
* interface names.
*/
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf); char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
#if GLIBTOP_SUID_NETLIST #if GLIBTOP_SUID_NETLIST
void _glibtop_init_netlist_p (glibtop *server); void _glibtop_init_netlist_p (glibtop *server);
/**
* glibtop_get_netlist_p:
* @server: a #glibtop server
* @buf: a #glibtop_netlist
*
* Returns: (array zero-terminated=1) (transfer none): an array of network
* interface names.
*/
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf); char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
#else #else
void _glibtop_init_netlist_s (glibtop *server); void _glibtop_init_netlist_s (glibtop *server);
/**
* glibtop_get_netlist_s:
* @server: a #glibtop server
* @buf: a #glibtop_netlist
*
* Returns: (array zero-terminated=1) (transfer none): an array of network
* interface names.
*/
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf); char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
#endif #endif

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_NETLOAD_H__ #ifndef __GLIBTOP_NETLOAD_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_OPEN_H__ #ifndef __GLIBTOP_OPEN_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PARAMETER_H__ #ifndef __GLIBTOP_PARAMETER_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PPP_H__ #ifndef __GLIBTOP_PPP_H__

View File

@@ -13,8 +13,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCAFFINITY_H__ #ifndef __GLIBTOP_PROCAFFINITY_H__
@@ -29,6 +29,7 @@ typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
#define GLIBTOP_PROC_AFFINITY_NUMBER 0 #define GLIBTOP_PROC_AFFINITY_NUMBER 0
#define GLIBTOP_PROC_AFFINITY_ALL 1 #define GLIBTOP_PROC_AFFINITY_ALL 1
#define GLIBTOP_MAX_PROC_AFFINITY 2
struct _glibtop_proc_affinity struct _glibtop_proc_affinity
{ {

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROC_ARGS_H__ #ifndef __GLIBTOP_PROC_ARGS_H__
@@ -79,6 +79,15 @@ char **
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf, glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len); pid_t pid, unsigned max_len);
/**
* glibtop_get_proc_argv:
* @buf:
* @pid:
* @max_len:
*
* Returns: (transfer full):
*/
char ** char **
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len); glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCKERNEL_H__ #ifndef __GLIBTOP_PROCKERNEL_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCLIST_H__ #ifndef __GLIBTOP_PROCLIST_H__
@@ -127,6 +127,15 @@ struct _glibtop_proclist
guint64 size; /* GLIBTOP_PROCLIST_SIZE */ guint64 size; /* GLIBTOP_PROCLIST_SIZE */
}; };
/**
* glibtop_get_proclist:
* @buf: a #glibtop_proclist
* @which: a #GLIBTOP_* constant specifying process type
* @arg: an argument specific for the process type
*
* Returns: (array zero-terminated=1) (transfer none): an array of process
* ids
*/
pid_t* pid_t*
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg); glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
@@ -136,6 +145,16 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
#define glibtop_get_proclist_r glibtop_get_proclist_s #define glibtop_get_proclist_r glibtop_get_proclist_s
#endif #endif
/**
* glibtop_get_proclist_l:
* @server: a #glibtop server
* @buf: a #glibtop_proclist
* @which: a #GLIBTOP_* constant specifying process type
* @arg: an argument specific for the process type
*
* Returns: (array zero-terminated=1) (transfer none): an array of process
* ids
*/
pid_t* pid_t*
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); gint64 which, gint64 arg);
@@ -143,12 +162,32 @@ glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
#if GLIBTOP_SUID_PROCLIST #if GLIBTOP_SUID_PROCLIST
void _glibtop_init_proclist_p (glibtop *server); void _glibtop_init_proclist_p (glibtop *server);
/**
* glibtop_get_proclist_p:
* @server: a #glibtop server
* @buf: a #glibtop_proclist
* @which: a #GLIBTOP_* constant specifying process type
* @arg: an argument specific for the process type
*
* Returns: (array zero-terminated=1) (transfer none): an array of process
* ids
*/
pid_t* pid_t*
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); gint64 which, gint64 arg);
#else #else
void _glibtop_init_proclist_s (glibtop *server); void _glibtop_init_proclist_s (glibtop *server);
/**
* glibtop_get_proclist_s:
* @server: a #glibtop server
* @buf: a #glibtop_proclist
* @which: a #GLIBTOP_* constant specifying process type
* @arg: an argument specific for the process type
*
* Returns: (array zero-terminated=1) (transfer none): an array of process
* ids
*/
pid_t* pid_t*
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg); gint64 which, gint64 arg);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROC_MAP_H__ #ifndef __GLIBTOP_PROC_MAP_H__
@@ -48,8 +48,10 @@ G_BEGIN_DECLS
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10 #define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11 #define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12 #define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
#define GLIBTOP_MAP_ENTRY_PSS 13
#define GLIBTOP_MAP_ENTRY_SWAP 14
#define GLIBTOP_MAX_MAP_ENTRY 13 #define GLIBTOP_MAX_MAP_ENTRY 15
#define GLIBTOP_MAP_FILENAME_LEN 215 #define GLIBTOP_MAP_FILENAME_LEN 215
@@ -78,6 +80,8 @@ struct _glibtop_map_entry
guint64 shared_dirty; guint64 shared_dirty;
guint64 private_clean; guint64 private_clean;
guint64 private_dirty; guint64 private_dirty;
guint64 pss;
guint64 swap;
char filename [GLIBTOP_MAP_FILENAME_LEN+1]; char filename [GLIBTOP_MAP_FILENAME_LEN+1];
}; };
@@ -88,10 +92,46 @@ struct _glibtop_proc_map
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */ guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */ guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
}; };
/**
* glibtop_get_proc_map:
* @buf:
* @pid:
*
* Returns: (transfer none):
*/
glibtop_map_entry * glibtop_map_entry *
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid); glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
/**
* glibtop_get_proc_map_l:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer none):
*/
/**
* glibtop_get_proc_map_p:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer none):
*/
/**
* glibtop_get_proc_map_s:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer none):
*/
#if GLIBTOP_SUID_PROC_MAP #if GLIBTOP_SUID_PROC_MAP
#define glibtop_get_proc_map_r glibtop_get_proc_map_p #define glibtop_get_proc_map_r glibtop_get_proc_map_p
#else #else
@@ -113,6 +153,8 @@ glibtop_map_entry *
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid); glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
#endif #endif
GType glibtop_map_entry_get_type (void) G_GNUC_CONST;
GType glibtop_proc_map_get_type (void) G_GNUC_CONST;
G_END_DECLS G_END_DECLS

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCMEM_H__ #ifndef __GLIBTOP_PROCMEM_H__
@@ -53,6 +53,12 @@ struct _glibtop_proc_mem
* of the process; usually 2,147,483,647 */ * of the process; usually 2,147,483,647 */
}; };
/**
* glibtop_get_proc_map:
* @buf:
* @pid:
*
*/
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid); void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_MEM #if GLIBTOP_SUID_PROC_MEM

View File

@@ -18,8 +18,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__ #ifndef __GLIBTOP_PROC_OPEN_FILES_H__
@@ -94,6 +94,14 @@ struct _glibtop_proc_open_files
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */ guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
}; };
/**
* glibtop_get_proc_open_files:
* @buf:
* @pid:
*
* Returns: (transfer none):
*/
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
@@ -103,12 +111,32 @@ glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s #define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
#endif #endif
/**
* glibtop_get_proc_open_files_l:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer none):
*/
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_FILE #if GLIBTOP_SUID_PROC_FILE
void _glibtop_init_proc_open_files_p (glibtop *server); void _glibtop_init_proc_open_files_p (glibtop *server);
/**
* glibtop_get_proc_open_files_p:
* @server:
* @buf: (out):
* @pid:
*
* Returns: (transfer none):
*/
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#else #else
@@ -118,6 +146,9 @@ glibtop_open_files_entry *
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#endif #endif
GType glibtop_open_files_entry_get_type (void) G_GNUC_CONST;
GType glibtop_proc_open_files_get_type (void) G_GNUC_CONST;
G_END_DECLS G_END_DECLS
#endif #endif

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCSEGMENT_H__ #ifndef __GLIBTOP_PROCSEGMENT_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCSIGNAL_H__ #ifndef __GLIBTOP_PROCSIGNAL_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCSTATE_H__ #ifndef __GLIBTOP_PROCSTATE_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCTIME_H__ #ifndef __GLIBTOP_PROCTIME_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCUID_H__ #ifndef __GLIBTOP_PROCUID_H__

View File

@@ -13,8 +13,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_PROCWD_H__ #ifndef __GLIBTOP_PROCWD_H__
@@ -30,7 +30,7 @@ typedef struct _glibtop_proc_wd glibtop_proc_wd;
#define GLIBTOP_PROC_WD_NUMBER 0 #define GLIBTOP_PROC_WD_NUMBER 0
#define GLIBTOP_PROC_WD_ROOT 1 #define GLIBTOP_PROC_WD_ROOT 1
#define GLIBTOP_PROC_WD_EXE 2 #define GLIBTOP_PROC_WD_EXE 2
#define GLIBTOP_PROC_WD_MAX 3 #define GLIBTOP_MAX_PROC_WD 3
#define GLIBTOP_PROC_WD_ROOT_LEN 215 #define GLIBTOP_PROC_WD_ROOT_LEN 215
#define GLIBTOP_PROC_WD_EXE_LEN 215 #define GLIBTOP_PROC_WD_EXE_LEN 215
@@ -44,6 +44,13 @@ struct _glibtop_proc_wd
}; };
/**
* glibtop_get_proc_wd:
* @buf:
* @pid:
*
* Returns: (transfer full):
*/
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid); char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid); char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_READ_H__ #ifndef __GLIBTOP_READ_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_READ_DATA_H__ #ifndef __GLIBTOP_READ_DATA_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SEM_LIMITS_H__ #ifndef __GLIBTOP_SEM_LIMITS_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SHM_LIMITS_H__ #ifndef __GLIBTOP_SHM_LIMITS_H__
@@ -37,6 +37,9 @@ G_BEGIN_DECLS
typedef struct _glibtop_shm_limits glibtop_shm_limits; typedef struct _glibtop_shm_limits glibtop_shm_limits;
/**
* glibtop_shm_limits:
*/
struct _glibtop_shm_limits struct _glibtop_shm_limits
{ {
guint64 flags; guint64 flags;
@@ -47,6 +50,10 @@ struct _glibtop_shm_limits
guint64 shmall; /* GLIBTOP_IPC_SHMALL */ guint64 shmall; /* GLIBTOP_IPC_SHMALL */
}; };
/**
* glibtop_get_shm_limits:
* @buf: a #glibtop_shm_limits
*/
void glibtop_get_shm_limits(glibtop_shm_limits *buf); void glibtop_get_shm_limits(glibtop_shm_limits *buf);
#if GLIBTOP_SUID_SHM_LIMITS #if GLIBTOP_SUID_SHM_LIMITS
@@ -55,13 +62,28 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s #define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
#endif #endif
/**
* glibtop_get_shm_limits_l:
* @server: a #glibtop server
* @buf: a #glibtop_shm_limits
*/
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf); void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
#if GLIBTOP_SUID_SHM_LIMITS #if GLIBTOP_SUID_SHM_LIMITS
void _glibtop_init_shm_limits_p (glibtop *server); void _glibtop_init_shm_limits_p (glibtop *server);
/**
* glibtop_get_shm_limits_p:
* @server: a #glibtop server
* @buf: a #glibtop_shm_limits
*/
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf); void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
#else #else
void _glibtop_init_shm_limits_s (glibtop *server); void _glibtop_init_shm_limits_s (glibtop *server);
/**
* glibtop_get_shm_limits_s:
* @server: a #glibtop server
* @buf: a #glibtop_shm_limits
*/
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf); void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
#endif #endif

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SIGNAL_H__ #ifndef __GLIBTOP_SIGNAL_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SWAP_H__ #ifndef __GLIBTOP_SWAP_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SYSDEPS_H__ #ifndef __GLIBTOP_SYSDEPS_H__
@@ -56,6 +56,9 @@ G_BEGIN_DECLS
#define GLIBTOP_MAX_SYSDEPS 27 #define GLIBTOP_MAX_SYSDEPS 27
/* The 'features' args to glibtop_init_* is an unsigned long */
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1) #define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
typedef struct _glibtop_sysdeps glibtop_sysdeps; typedef struct _glibtop_sysdeps glibtop_sysdeps;

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_SYSINFO_H__ #ifndef __GLIBTOP_SYSINFO_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_UNION_H__ #ifndef __GLIBTOP_UNION_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_UPTIME_H__ #ifndef __GLIBTOP_UPTIME_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_VERSION_H__ #ifndef __GLIBTOP_VERSION_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_WRITE_H__ #ifndef __GLIBTOP_WRITE_H__

View File

@@ -1,11 +1,11 @@
INCLUDES = @INCLUDES@ AM_CPPFLAGS = @AM_CPPFLAGS@
lib_LTLIBRARIES = libgtop-2.0.la lib_LTLIBRARIES = libgtop-2.0.la
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \ libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
read_data.c write.c lib.c parameter.c \ read_data.c write.c lib.c parameter.c \
sysdeps.c sysdeps.c boxed.c
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined
libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib) libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
@@ -22,14 +22,14 @@ CLEANFILES = lib.c
-include $(INTROSPECTION_MAKEFILE) -include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS = INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
INTROSPECTION_COMPILER_ARGS = INTROSPECTION_COMPILER_ARGS =
if HAVE_INTROSPECTION if HAVE_INTROSPECTION
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h \ introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \
../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \ ../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \
../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \ ../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/version.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \ ../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \
../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \ ../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \
../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \ ../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \
../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \ ../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
@@ -39,8 +39,8 @@ introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h \
../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h ../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
GTop-2.0.gir: libgtop-2.0.la GTop-2.0.gir: libgtop-2.0.la
GTop_2_0_gir_INCLUDES = GObject-2.0 GTop_2_0_gir_AM_CPPFLAGS = GObject-2.0
GTop_2_0_gir_CFLAGS = $(INCLUDES) GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
GTop_2_0_gir_LIBS = libgtop-2.0.la GTop_2_0_gir_LIBS = libgtop-2.0.la
GTop_2_0_gir_FILES = $(introspection_sources) GTop_2_0_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += GTop-2.0.gir INTROSPECTION_GIRS += GTop-2.0.gir

47
lib/boxed.c Normal file
View File

@@ -0,0 +1,47 @@
/* Copyright (C) 2011 Red Hat
This file is part of LibGTop 1.0.
Contributed by Jasper St. Pierre <jstpierre@mecheye.net>, November 2011
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/mountlist.h>
#include <glibtop/procmap.h>
#include <glibtop/procopenfiles.h>
#define DEFINE_BOXED(type) \
static type * \
type##_copy (type *p) \
{ \
type *n = g_new (type, 1); \
memcpy (n, p, sizeof (type)); \
return n; \
} \
\
G_DEFINE_BOXED_TYPE (type, \
type, \
type##_copy, \
g_free)
DEFINE_BOXED (glibtop);
DEFINE_BOXED (glibtop_map_entry);
DEFINE_BOXED (glibtop_proc_map);
DEFINE_BOXED (glibtop_open_files_entry);
DEFINE_BOXED (glibtop_proc_open_files);
DEFINE_BOXED (glibtop_mountentry);
DEFINE_BOXED (glibtop_mountlist);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>

View File

@@ -15,11 +15,12 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
#include <glibtop/error.h>
#include <glibtop/read.h> #include <glibtop/read.h>
#include <glibtop/write.h> #include <glibtop/write.h>
#include <glibtop/read_data.h> #include <glibtop/read_data.h>
@@ -35,6 +36,43 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
glibtop_init_r (&server, 0, 0); glibtop_init_r (&server, 0, 0);
g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND);
switch (command) {
#define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break
CHECK_CMND(GLIBTOP_CMND_QUIT);
CHECK_CMND(GLIBTOP_CMND_SYSDEPS);
CHECK_CMND(GLIBTOP_CMND_CPU);
CHECK_CMND(GLIBTOP_CMND_MEM);
CHECK_CMND(GLIBTOP_CMND_SWAP);
CHECK_CMND(GLIBTOP_CMND_UPTIME);
CHECK_CMND(GLIBTOP_CMND_LOADAVG);
CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS);
CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS);
CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS);
CHECK_CMND(GLIBTOP_CMND_PROCLIST);
CHECK_CMND(GLIBTOP_CMND_PROC_STATE);
CHECK_CMND(GLIBTOP_CMND_PROC_UID);
CHECK_CMND(GLIBTOP_CMND_PROC_MEM);
CHECK_CMND(GLIBTOP_CMND_PROC_TIME);
CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL);
CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL);
CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT);
CHECK_CMND(GLIBTOP_CMND_PROC_ARGS);
CHECK_CMND(GLIBTOP_CMND_PROC_MAP);
CHECK_CMND(GLIBTOP_CMND_MOUNTLIST);
CHECK_CMND(GLIBTOP_CMND_FSUSAGE);
CHECK_CMND(GLIBTOP_CMND_NETLOAD);
CHECK_CMND(GLIBTOP_CMND_PPP);
CHECK_CMND(GLIBTOP_CMND_NETLIST);
CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES);
CHECK_CMND(GLIBTOP_CMND_PROC_WD);
CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY);
default:
glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break;
}
#undef CHECK_CMND
cmnd.command = command; cmnd.command = command;
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we /* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
@@ -52,10 +90,8 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
glibtop_read_l (server, sizeof (glibtop_response), &response); glibtop_read_l (server, sizeof (glibtop_response), &response);
#ifdef DEBUG glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu",
fprintf (stderr, "RESPONSE: %lu - %d\n",
response.offset, response.data_size); response.offset, response.data_size);
#endif
if (recv_buf) if (recv_buf)
memcpy (recv_buf, ((char *) &response) + response.offset, memcpy (recv_buf, ((char *) &response) + response.offset,

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -26,12 +26,14 @@
#include <glibtop/open.h> #include <glibtop/open.h>
#include <glibtop/parameter.h> #include <glibtop/parameter.h>
#include <glibtop/init_hooks.h> #include <glibtop/init_hooks.h>
#include <glibtop/machine.h>
#ifndef DEFAULT_PORT #ifndef DEFAULT_PORT
#define DEFAULT_PORT 42800 #define DEFAULT_PORT 42800
#endif #endif
static glibtop _glibtop_global_server = { 0 }; static glibtop _glibtop_global_server;
glibtop *glibtop_global_server = &_glibtop_global_server; glibtop *glibtop_global_server = &_glibtop_global_server;
static void static void
@@ -141,7 +143,7 @@ _init_server (glibtop *server, const unsigned features)
/* Open pipe to server. */ /* Open pipe to server. */
server->method = GLIBTOP_METHOD_PIPE; server->method = GLIBTOP_METHOD_PIPE;
server->server_command = g_strdup(LIBGTOP_SERVER);
} else { } else {
glibtop_error_r (server, "Unknown server method '%s'", glibtop_error_r (server, "Unknown server method '%s'",
@@ -173,6 +175,9 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
/* Do the initialization, but only if not already initialized. */ /* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) { if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
glibtop_machine_new (server);
if (flags & GLIBTOP_FEATURES_EXCEPT) if (flags & GLIBTOP_FEATURES_EXCEPT)
features = ~features & GLIBTOP_SYSDEPS_ALL; features = ~features & GLIBTOP_SYSDEPS_ALL;
@@ -209,7 +214,7 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
/* Open server, but only if not already opened. */ /* Open server, but only if not already opened. */
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0) if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
glibtop_open_l (glibtop_global_server, "glibtop", glibtop_open_l (server, "glibtop",
features, flags); features, flags);
return server; return server;
@@ -221,6 +226,8 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
glibtop *server; glibtop *server;
const _glibtop_init_func_t *init_fkt; const _glibtop_init_func_t *init_fkt;
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
if (server_ptr == NULL) if (server_ptr == NULL)
return NULL; return NULL;

View File

@@ -88,7 +88,7 @@ sub output {
@line_fields = split(/\|/, $line, 9999); @line_fields = split(/\|/, $line, 9999);
$retval = $line_fields[1]; $retval = $line_fields[1];
$feature = $line_fields[2]; $feature = $line_fields[2];
$param_def = $line_fields[4]; $param_def = $line_fields[3];
$orig = $feature; $orig = $feature;
$feature =~ s/^@//; $feature =~ s/^@//;
@@ -106,16 +106,16 @@ sub output {
} }
if ($param_def eq 'string') { if ($param_def eq 'string') {
$call_param = ', ' . $line_fields[5]; $call_param = ', ' . $line_fields[4];
$param_buf = ''; $param_buf = '';
$buf_set = ''; $buf_set = '';
$param_decl = ",\n " . $space . ' const char *' . $param_decl = ",\n " . $space . ' const char *' .
$line_fields[5]; $line_fields[4];
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';'; $send_ptr = "\n\tconst void *send_ptr = " . $line_fields[4] . ';';
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" . $send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
$line_fields[5] . ') + 1;'; $line_fields[4] . ') + 1;';
} }
else { else {
$call_param = ''; $call_param = '';
@@ -126,7 +126,7 @@ sub output {
$buf_set = ''; $buf_set = '';
$nr_params = (@params = split(/:/, $param_def, 9999)); $nr_params = (@params = split(/:/, $param_def, 9999));
if ($nr_params) { if ($nr_params) {
$param_buf = "\n\tstruct {\n"; $param_buf = "\t\tstruct {\n";
} }
for ($param = 1; $param <= $nr_params; $param++) { for ($param = 1; $param <= $nr_params; $param++) {
$list = $params[$param]; $list = $params[$param];
@@ -138,8 +138,8 @@ sub output {
if ($count > 0) { if ($count > 0) {
for ($field = 1; $field <= $count; $field++) { for ($field = 1; $field <= $count; $field++) {
$param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n"; $param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
$buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n"; $buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
} }
} }
@@ -155,19 +155,19 @@ sub output {
$fields[$field]; $fields[$field];
$call_param = $call_param . ', ' . $fields[$field]; $call_param = $call_param . ', ' . $fields[$field];
if ($send_ptr eq '') { if ($send_ptr eq '') {
$send_ptr = "\n\tconst void *send_ptr = &param_buf;"; $send_ptr = "\t\tconst void *send_ptr = &param_buf;";
} }
} }
} }
if ($nr_params) { if ($nr_params) {
$param_buf .= "\t} param_buf;"; $param_buf .= "\t\t} param_buf;\n";
$send_size = "\n\tconst size_t send_size = sizeof param_buf;"; $send_size = "\t\tconst size_t send_size = sizeof param_buf;";
} }
else { else {
$send_size = "\n\tconst size_t send_size = 0;"; $send_size = "\t\tconst size_t send_size = 0;";
} }
if ($send_ptr eq '') { if ($send_ptr eq '') {
$send_ptr = "\n\tconst void *send_ptr = NULL;"; $send_ptr = "\t\tconst void *send_ptr = NULL;";
} }
} }
@@ -175,13 +175,11 @@ sub output {
$feature . ' *buf' . $param_decl . ')'; $feature . ' *buf' . $param_decl . ')';
print "{" . $param_buf; print "{";
print $send_ptr . '' . $send_size;
if ($retval !~ /^void$/) { if ($retval !~ /^void$/) {
print "\t" . $retval . ' retval = (' . $retval . ') 0;'; print "\t" . $retval . ' retval = (' . $retval . ') 0;';
} }
print $buf_set;
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" . print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
@@ -198,6 +196,15 @@ sub output {
&toupper($feature) . ')))'; &toupper($feature) . ')))';
print "\t{"; print "\t{";
if ($param_buf) {
print $param_buf;
print $buf_set;
}
print $send_ptr;
print $send_size;
print '';
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' . print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
&toupper($feature) . ','; &toupper($feature) . ',';

View File

@@ -68,3 +68,10 @@ glibtop_open_l
glibtop_server_features glibtop_server_features
glibtop_set_parameter_l glibtop_set_parameter_l
glibtop_sys_siglist glibtop_sys_siglist
glibtop_mountlist_get_type
glibtop_mountentry_get_type
glibtop_open_files_entry_get_type
glibtop_proc_open_files_get_type
glibtop_map_entry_get_type
glibtop_proc_map_get_type
glibtop_get_type

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -47,56 +47,44 @@ glibtop_open_l (glibtop *server, const char *program_name,
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT; server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
#ifdef DEBUG glibtop_debug ("SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
fprintf (stderr, "SIZEOF: %u - %u - %u - %u - %u - %u\n",
sizeof (glibtop_command), sizeof (glibtop_response), sizeof (glibtop_command), sizeof (glibtop_response),
sizeof (glibtop_mountentry), sizeof (glibtop_union), sizeof (glibtop_mountentry), sizeof (glibtop_union),
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union)); sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
#endif
switch (server->method) { switch (server->method) {
case GLIBTOP_METHOD_DIRECT: case GLIBTOP_METHOD_DIRECT:
server->features = 0; server->features = 0;
break; break;
case GLIBTOP_METHOD_INET: case GLIBTOP_METHOD_INET:
#ifdef DEBUG glibtop_debug ("Connecting to '%s' port %ld.",
fprintf (stderr, "Connecting to '%s' port %ld.\n",
server->server_host, server->server_port); server->server_host, server->server_port);
#endif
connect_type = glibtop_make_connection connect_type = glibtop_make_connection
(server->server_host, server->server_port, (server->server_host, server->server_port,
&server->socket); &server->socket);
#ifdef DEBUG glibtop_debug ("Connect Type is %d.", connect_type);
fprintf (stderr, "Connect Type is %d.\n", connect_type);
#endif
server->flags |= _GLIBTOP_INIT_STATE_SERVER; server->flags |= _GLIBTOP_INIT_STATE_SERVER;
server->features = -1; server->features = -1;
break; break;
case GLIBTOP_METHOD_UNIX: case GLIBTOP_METHOD_UNIX:
#ifdef DEBUG glibtop_debug ("Connecting to Unix Domain Socket.");
fprintf (stderr, "Connecting to Unix Domain Socket.\n");
#endif
connect_type = glibtop_make_connection connect_type = glibtop_make_connection
("unix", 0, &server->socket); ("unix", 0, &server->socket);
#ifdef DEBUG glibtop_debug ("Connect Type is %d.", connect_type);
fprintf (stderr, "Connect Type is %d.\n", connect_type);
#endif
server->flags |= _GLIBTOP_INIT_STATE_SERVER; server->flags |= _GLIBTOP_INIT_STATE_SERVER;
server->features = -1; server->features = -1;
break; break;
case GLIBTOP_METHOD_PIPE: case GLIBTOP_METHOD_PIPE:
#ifdef DEBUG glibtop_debug ("Opening pipe to server (%s).",
fprintf (stderr, "Opening pipe to server (%s).\n", server->server_command);
LIBGTOP_SERVER);
#endif
if (pipe (server->input) || pipe (server->output)) if (pipe (server->input) || pipe (server->output))
glibtop_error_io_r (server, "cannot make a pipe"); glibtop_error_io_r (server, "cannot make a pipe");
@@ -110,9 +98,9 @@ glibtop_open_l (glibtop *server, const char *program_name,
close (server->input [0]); close (server->output [1]); close (server->input [0]); close (server->output [1]);
dup2 (server->input [1], 1); dup2 (server->input [1], 1);
dup2 (server->output [0], 0); dup2 (server->output [0], 0);
execl (LIBGTOP_SERVER, "libgtop-server", NULL); execl (server->server_command, "libgtop-server", NULL);
glibtop_error_io_r (server, "execl (%s)", glibtop_error_io_r (server, "execl (%s)",
LIBGTOP_SERVER); server->server_command);
_exit (2); _exit (2);
} }
@@ -165,18 +153,14 @@ glibtop_open_l (glibtop *server, const char *program_name,
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps)); memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
#ifdef DEBUG glibtop_debug ("Server features are %#0lx.",
fprintf (stderr, "Server features are %lu.\n",
server->features); server->features);
#endif
} }
/* In any case, we call the open functions of our own sysdeps /* In any case, we call the open functions of our own sysdeps
* directory. */ * directory. */
#ifdef DEBUG glibtop_debug ("Calling sysdeps open function.");
fprintf (stderr, "Calling sysdeps open function.\n");
#endif
glibtop_init_s (&server, features, flags); glibtop_init_s (&server, features, flags);
} }

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -33,9 +33,7 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
int fd; int fd;
glibtop_init_r (&server, 0, 0); glibtop_init_r (&server, 0, 0);
#ifdef DEBUG glibtop_debug("LIBRARY: really reading %d bytes.", (int)size);
fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
#endif
fd = server->socket ? server->socket : server->input[0]; fd = server->socket ? server->socket : server->input[0];

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -36,10 +36,8 @@ glibtop_read_data_l (glibtop *server)
glibtop_init_r (&server, 0, 0); glibtop_init_r (&server, 0, 0);
#ifdef DEBUG glibtop_debug ("LIBRARY: reading %lu data bytes.",
fprintf (stderr, "LIBRARY: reading %lu data bytes.\n",
(unsigned long) sizeof (size_t)); (unsigned long) sizeof (size_t));
#endif
if (server->socket) { if (server->socket) {
ret = recv (server->socket, &size, sizeof (size_t), 0); ret = recv (server->socket, &size, sizeof (size_t), 0);
@@ -50,10 +48,8 @@ glibtop_read_data_l (glibtop *server)
if (ret < 0) if (ret < 0)
glibtop_error_io_r (server, _("read data size")); glibtop_error_io_r (server, _("read data size"));
#ifdef DEBUG glibtop_debug ("LIBRARY: really reading %lu data bytes (ret = %d).",
fprintf (stderr, "LIBRARY: really reading %lu data bytes (ret = %d).\n",
(unsigned long) size, ret); (unsigned long) size, ret);
#endif
if (!size) return NULL; if (!size) return NULL;

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -37,9 +37,7 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
if (size == 0) return; if (size == 0) return;
#ifdef DEBUG glibtop_debug("LIBRARY: really writing %d bytes.", (int)size);
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
#endif
fd = server->socket ? server->socket : server->output[1]; fd = server->socket ? server->socket : server->output[1];

View File

@@ -4,17 +4,13 @@ dnl
dnl It defines the following variables: dnl It defines the following variables:
dnl dnl
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop. dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide dnl * 'libgtop_need_server' - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
dnl their own header file. In this case we need to dnl if true; defines conditional 'LIBGTOP_NEED_SERVER'.
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
dnl if true; defines conditional 'NEED_LIBGTOP'.
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_CANONICAL_HOST])
AC_SUBST(libgtop_sysdeps_dir) AC_SUBST(libgtop_sysdeps_dir)
AC_SUBST(libgtop_use_machine_h)
AC_SUBST(libgtop_need_server) AC_SUBST(libgtop_need_server)
AC_ARG_WITH(libgtop-examples, AC_ARG_WITH(libgtop-examples,
@@ -31,39 +27,11 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes) AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
AC_ARG_WITH(libgtop-smp,
AS_HELP_STRING([--with-libgtop-smp],
[Enable SMP support @<:@default-auto@:>@]),[
libgtop_smp="$withval"],[libgtop_smp=auto])
if test $libgtop_smp = auto ; then
AC_MSG_CHECKING(whether to enable SMP support)
case "$host_os" in
linux*)
libgtop_smp=yes
;;
aix*)
libgtop_smp=yes
;;
*)
libgtop_smp=no
;;
esac
AC_MSG_RESULT($libgtop_smp)
fi
if test $libgtop_smp = yes ; then
AC_DEFINE(HAVE_LIBGTOP_SMP, 1, [Define if libgtop supports SMP])
fi
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
AC_MSG_CHECKING(for libgtop sysdeps directory) AC_MSG_CHECKING(for libgtop sysdeps directory)
case "$host_os" in case "$host_os" in
linux*) linux*)
libgtop_sysdeps_dir=linux libgtop_sysdeps_dir=linux
libgtop_use_machine_h=no
libgtop_have_sysinfo=yes libgtop_have_sysinfo=yes
libgtop_need_server=no libgtop_need_server=no
libgtop_sysdeps_private_mountlist=yes libgtop_sysdeps_private_mountlist=yes
@@ -71,13 +39,11 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
;; ;;
netbsd*|bsdi*) netbsd*|bsdi*)
libgtop_sysdeps_dir=bsd libgtop_sysdeps_dir=bsd
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2' libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
;; ;;
openbsd*) openbsd*)
libgtop_sysdeps_dir=openbsd libgtop_sysdeps_dir=openbsd
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes libgtop_sysdeps_private_fsusage=yes
@@ -85,7 +51,6 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
;; ;;
freebsd*|kfreebsd*) freebsd*|kfreebsd*)
libgtop_sysdeps_dir=freebsd libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes libgtop_sysdeps_private_fsusage=yes
@@ -93,27 +58,23 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
;; ;;
solaris*) solaris*)
libgtop_sysdeps_dir=solaris libgtop_sysdeps_dir=solaris
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server' libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
;; ;;
aix*) aix*)
libgtop_sysdeps_dir=aix libgtop_sysdeps_dir=aix
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_have_sysinfo=yes libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2' libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
;; ;;
darwin*) darwin*)
libgtop_sysdeps_dir=darwin libgtop_sysdeps_dir=darwin
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
libgtop_have_sysinfo=yes libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2' libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
;; ;;
cygwin*) cygwin*)
libgtop_sysdeps_dir=cygwin libgtop_sysdeps_dir=cygwin
libgtop_use_machine_h=no
libgtop_need_server=no libgtop_need_server=no
libgtop_have_sysinfo=yes libgtop_have_sysinfo=yes
libgtop_sysdeps_private_mountlist=yes libgtop_sysdeps_private_mountlist=yes
@@ -125,23 +86,19 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
#Please note that this port is obsolete and not working at #Please note that this port is obsolete and not working at
#all. It is only useful for people who want to fix it ... :-) #all. It is only useful for people who want to fix it ... :-)
libgtop_sysdeps_dir=sun4 libgtop_sysdeps_dir=sun4
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
;; ;;
osf*) osf*)
libgtop_sysdeps_dir=osf1 libgtop_sysdeps_dir=osf1
libgtop_use_machine_h=yes
libgtop_need_server=yes libgtop_need_server=yes
;; ;;
*) *)
libgtop_sysdeps_dir=stub libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no libgtop_need_server=no
;; ;;
esac esac
else else
libgtop_sysdeps_dir=stub libgtop_sysdeps_dir=stub
libgtop_use_machine_h=no
libgtop_need_server=no libgtop_need_server=no
fi fi
;; ;;
@@ -304,22 +261,14 @@ main (void)
;; ;;
esac esac
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
AC_MSG_RESULT($libgtop_use_machine_h)
AC_MSG_CHECKING(whether we need libgtop) AC_MSG_CHECKING(whether we need libgtop)
AC_MSG_RESULT($libgtop_need_server) AC_MSG_RESULT($libgtop_need_server)
if test x$libgtop_need_server = xyes ; then if test x$libgtop_need_server = xyes ; then
AC_DEFINE(NEED_LIBGTOP, 1, [Define if libgtop is required]) AC_DEFINE(LIBGTOP_NEED_SERVER, 1, [Define if libgtop server is required])
fi fi
if test x$libgtop_use_machine_h = xyes ; then AM_CONDITIONAL(LIBGTOP_NEED_SERVER, test x$libgtop_need_server = xyes)
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H, 1,
[Define if machine.h in libgtop sysdeps dir])
fi
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes) AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes) AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
]) ])

View File

@@ -8,7 +8,8 @@
<shortdesc xml:lang="en">LibGTop2</shortdesc> <shortdesc xml:lang="en">LibGTop2</shortdesc>
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" /> <download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" /> <bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" /> <category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<programming-language>C</programming-language>
<maintainer> <maintainer>
<foaf:Person> <foaf:Person>

View File

@@ -16,7 +16,7 @@
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@@ -2756,7 +2756,7 @@ case "$ltmain" in
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a

144
po/bs.po
View File

@@ -1,25 +1,22 @@
# translation of libgtop.HEAD.po to Bosnian
# This file is distributed under the same license as the libgtop package.
# Copyright (C) 2004 Free Software Foundation, Inc.
# Vedran Ljubovic <vljubovic@smartnet.ba>, 2004.
# Kemal Šanjta <gomez@lugzdk.ba>, 2004.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop.HEAD\n" "Project-Id-Version: libgtop.HEAD\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2005-09-25 18:15+0200\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2004-09-05 16:54+0200\n" "POT-Creation-Date: 2015-02-26 22:47+0000\n"
"Last-Translator: Kemal Šanjta <gomez@lugzdk.ba>\n" "PO-Revision-Date: 2013-01-30 21:42+0000\n"
"Last-Translator: Samir Ribić <Unknown>\n"
"Language-Team: Bosnian <lokal@linux.org.ba>\n" "Language-Team: Bosnian <lokal@linux.org.ba>\n"
"Language: bs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: KBabel 1.3\n" "X-Launchpad-Export-Date: 2014-10-23 07:17+0000\n"
"X-Generator: Launchpad (build 17203)\n"
#: lib/read.c:65 #: ../lib/read.c:51
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
@@ -27,188 +24,169 @@ msgstr[0] "čitaj %d bajt"
msgstr[1] "čitaj %d bajta" msgstr[1] "čitaj %d bajta"
msgstr[2] "čitaj %d bajtova" msgstr[2] "čitaj %d bajtova"
#: lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "veličina pročitanih podataka" msgstr "veličina pročitanih podataka"
#: lib/read_data.c:72 #: ../lib/read_data.c:70
#, fuzzy, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "čitaj %d bajt" msgstr[0] "pročitaj %lu bajt podataka"
msgstr[1] "čitaj %d bajta" msgstr[1] "pročitaj %lu bajta podataka"
msgstr[2] "čitaj %d bajtova" msgstr[2] "pročitano %lu bajtova podataka"
#: lib/write.c:52 #: ../lib/write.c:51
#, fuzzy, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "piši %d bajt" msgstr[0] "upisan %d bajt"
msgstr[1] "piši %d bajta" msgstr[1] "upisana %d bajta"
msgstr[2] "piši %d bajtova" msgstr[2] "upisano %d bajtova"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:455
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Uključi debugging" msgstr "Uključi debugging"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:457
msgid "DEBUG"
msgstr "DEBUG"
#: src/daemon/gnuserv.c:462
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Uključi rječiti izlaz" msgstr "Uključi rječiti izlaz"
#: src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:459
msgid "VERBOSE"
msgstr "VERBOSE"
#: src/daemon/gnuserv.c:464
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "Ne fork-uj u pozadinu" msgstr "Ne fork-uj u pozadinu"
#: src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:461
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: src/daemon/gnuserv.c:466
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Pozvan iz inetd" msgstr "Pozvan iz inetd"
#: src/daemon/gnuserv.c:466 #: ../src/daemon/gnuserv.c:495
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#, c-format #, c-format
msgid "" msgid "Run '%s --help' to see a full list of available command line options.\n"
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr "" msgstr ""
"Greška u opciji %s: %s.\n" "Pokrenite „%s --help“ da biste vidjeli cijelu listu dostupnih opcija "
"Pokrenite '%s --help' da vidite punu listu dostupnih opcija na komandnoj " "komandne linije.\n"
"liniji.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Prekidanje veze" msgstr "Prekidanje veze"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Prekid" msgstr "Prekid"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Izađi" msgstr "Izađi"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Nedopuštena instrukcija" msgstr "Nedopuštena instrukcija"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Prati trap" msgstr "Prati trap"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Odustani" msgstr "Odustani"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT greška" msgstr "EMT greška"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Floating-point exception" msgstr "Floating-point exception"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Ubij" msgstr "Ubij"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Sabirnička greška" msgstr "Sabirnička greška"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Povreda segmenta" msgstr "Povreda segmenta"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Neispravan argument za sistemski poziv" msgstr "Neispravan argument za sistemski poziv"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Prekinut kanal" msgstr "Prekinut kanal"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Alarm" msgstr "Alarm"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Završavanje" msgstr "Završavanje"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Hitno stanje na socketu" msgstr "Hitno stanje na socketu"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Zaustavi" msgstr "Zaustavi"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Zaustavljanje tastature" msgstr "Zaustavljanje tastature"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Nastavi" msgstr "Nastavi"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Status djeteta je promijenjen" msgstr "Status djeteta je promijenjen"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Pozadinsko čitanje iz tty-a" msgstr "Pozadinsko čitanje iz tty-a"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Pozadinsko pisanje na tty" msgstr "Pozadinsko pisanje na tty"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "U/I je sada moguć" msgstr "U/I je sada moguć"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU granica iskorištena" msgstr "CPU granica iskorištena"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Prekoračeno ograničenje veličine spisa" msgstr "Prekoračeno ograničenje veličine spisa"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Virtualni alarmni sat" msgstr "Virtualni alarmni sat"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Profiliranje sata alarma" msgstr "Profiliranje sata alarma"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Promjena veličine prozora" msgstr "Promjena veličine prozora"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Zahtjev za informacijom" msgstr "Zahtjev za informacijom"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Korisnički definisan signal 1" msgstr "Korisnički definisan signal 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Korisnički definisan signal 2" msgstr "Korisnički definisan signal 2"

View File

@@ -18,16 +18,18 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: el\n" "Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2008-03-16 17:03+0000\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2005-02-18 13:40+0200\n" "POT-Creation-Date: 2013-12-19 14:39+0000\n"
"Last-Translator: Kostas Papadimas <pkst@gnome.org>\n" "PO-Revision-Date: 2014-07-09 13:59+0200\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n" "Language-Team: Greek <nls@tux.hellug.gr>\n"
"Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.3.1\n" "X-Generator: Poedit 1.6.5\n"
#: ../lib/read.c:51 #: ../lib/read.c:51
#, c-format #, c-format
@@ -54,23 +56,23 @@ msgid_plural "wrote %d bytes"
msgstr[0] "εγγραφή %d byte" msgstr[0] "εγγραφή %d byte"
msgstr[1] "εγγραφή %d bytes" msgstr[1] "εγγραφή %d bytes"
#: ../src/daemon/gnuserv.c:458 #: ../src/daemon/gnuserv.c:455
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Ενεργοποίηση εκσφαλμάτωσης" msgstr "Ενεργοποίηση αποσφαλμάτωσης"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Ενεργοποίηση περιφραστικής εξόδου" msgstr "Ενεργοποίηση αναλυτικής εξόδου"
#: ../src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "Να μη γίνει δικράνωση στο παρασκήνιο" msgstr "Να μη γίνει διακλάδωση στο παρασκήνιο"
#: ../src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Εκτελεσμένο από το inetd" msgstr "Εκτελεσμένο από το inetd"
#: ../src/daemon/gnuserv.c:498 #: ../src/daemon/gnuserv.c:495
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "" msgstr ""
@@ -79,7 +81,7 @@ msgstr ""
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Αποτελμάτωση" msgstr "Κλείσιμο"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
@@ -91,7 +93,7 @@ msgstr "Έξοδος"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Ακατάλληλη εντολή" msgstr "Μη επιτρεπτή εντολή"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
@@ -99,7 +101,7 @@ msgstr "Παγίδευση παρακολούθησης"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Αποβολή" msgstr "Εγκατάλειψη"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
@@ -107,11 +109,11 @@ msgstr "Σφάλμα EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Εξαίρεση κιν. υποδιαστολής" msgstr "Εξαίρεση κινητής υποδιαστολής"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Σκότωμα" msgstr "Βίαιος τερματισμός"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
@@ -119,7 +121,7 @@ msgstr "Σφάλμα διαύλου"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Παραβίαση τμηματοποίησης" msgstr "Παραβίαση κατάτμησης"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
@@ -127,7 +129,7 @@ msgstr "Ακατάλληλο όρισμα σε κλήση συστήματος"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Διακοπείσα σωλήνωση" msgstr "Κατεστραμμένη διοχέτευση"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
@@ -155,7 +157,7 @@ msgstr "Συνέχεια"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Η κατάσταση θυγατρικής διεργασίας έχει αλλάξει" msgstr "Έχει αλλάξει η κατάσταση της θυγατρικής διεργασίας"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
@@ -167,19 +169,19 @@ msgstr "Εγγραφή παρασκηνίου σε tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "Η Ε/Ε είναι τώρα δυνατή" msgstr "Η I/O είναι τώρα δυνατή"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Το όριο ΚΜΕ έχει ξεπεραστεί" msgstr "Έχει ξεπεραστεί το όριο της CPU"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Το όριο μεγέθους αρχείου έχει ξεπεραστεί" msgstr "Έχει ξεπεραστεί το όριο μεγέθους αρχείου"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Ιδεατό ξυπνητήρι" msgstr "Εικονικό ξυπνητήρι"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"

113
po/oc.po
View File

@@ -1,74 +1,81 @@
# Occitan translation of libgtop. # Occitan translation of libgtop.
# Copyright (C) 1998-2004, 2007 Free Software Foundation, Inc. # Copyright (C) 1998-2004 Free Software Foundation, Inc.
# This file is distributed under the GNU General Public License Version 2. # This file is distributed under the GNU General Public License Version 2.
# #
# Yannig Marchegay (Kokoyaya) <yannig@marchegay.org> - 2006-2007 #
#
# Cédric Valmary (Tot en Òc) <cvalmary@yahoo.fr>, 2015.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: oc\n" "Project-Id-Version: libgtop 2.9.91\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgto"
"POT-Creation-Date: 2008-03-07 10:22+0100\n" "p&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2007-11-20 14:32+0100\n" "POT-Creation-Date: 2013-12-19 14:39+0000\n"
"Last-Translator: Yannig Marchegay (Kokoyaya) <yannig@marchegay.org>\n" "PO-Revision-Date: 2015-04-30 09:46+0200\n"
"Language-Team: Occitan (post 1500) <ubuntu-l10n-oci@lists.ubuntu.com>\n" "Last-Translator: Cédric Valmary (Tot en Òc) <cvalmary@yahoo.fr>\n"
"Language-Team: www.totenoc.eu\n"
"Language: oc\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Virtaal 0.7.0\n"
"X-Project-Style: gnome\n"
#: ../lib/read.c:51 #: ../lib/read.c:51
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "a legit %d octet" msgstr[0] "%d octet legit"
msgstr[1] "a legits %d octets" msgstr[1] "%d octets legits"
#: ../lib/read_data.c:51 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "" msgstr "talha de las donadas legidas"
#: ../lib/read_data.c:70 #: ../lib/read_data.c:70
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "" msgstr[0] "lectura de %lu octet de donadas"
msgstr[1] "" msgstr[1] "lectura de %lu octets de donadas"
#: ../lib/write.c:51 #: ../lib/write.c:51
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "a escrich %d octet" msgstr[0] "escritura de %d octet"
msgstr[1] "a escriches %d octets" msgstr[1] "escritura de %d octets"
#: ../src/daemon/gnuserv.c:458 #: ../src/daemon/gnuserv.c:455
msgid "Enable debugging" msgid "Enable debugging"
msgstr "" msgstr "Activa lo desbugatge"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "" msgstr "Activa la sortida charraira"
#: ../src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "" msgstr "Aviar pas en prètzfach de fons"
#: ../src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "" msgstr "Invocat a partir de inetd"
#: ../src/daemon/gnuserv.c:498 #: ../src/daemon/gnuserv.c:495
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "" msgstr "Aviar « %s --help » per afichar la lista de las opcions de la linha de "
"comanda.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "" msgstr "Hangup"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "" msgstr "Interrupcion"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
@@ -76,23 +83,23 @@ msgstr "Quitar"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "" msgstr "Instruccion illegala"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "" msgstr "Punt d'arrèst rencontrat"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Abandonar" msgstr "Anullacion"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "" msgstr "Error EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "" msgstr "Excepcion virgula flotanta"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
@@ -100,39 +107,39 @@ msgstr "Tuar"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "" msgstr "Error bus"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "" msgstr "Violacion de segmentacion"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "" msgstr "Marrit argument d'apèl sistèma"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "" msgstr "Tub copat"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "" msgstr "Alarma de relòtge"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "" msgstr "Senhal de fin"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "" msgstr "Condicion urgenta sus socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Arrestar" msgstr "Arrèst"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "" msgstr "Arrèst dempuèi lo clavièr"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
@@ -140,48 +147,48 @@ msgstr "Contunhar"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "" msgstr "L'estat del filh a cambiat"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "" msgstr "Lectura sus tty en rèire plan"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "" msgstr "Escritura sus tty en rèire plan"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "" msgstr "E/S ara possibla"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "" msgstr "Limit de temps CPU depassat"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "" msgstr "Talha de fichièr excessiva"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "" msgstr "Alarma virtuala"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "" msgstr "Perfil de l'alarma"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "" msgstr "Redimensionament de la fenèstra"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "" msgstr "Demanda d'informacion"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "" msgstr "Senhal utilizaire 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "" msgstr "Senhal utilizaire 2"

View File

@@ -6,14 +6,14 @@
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 1999-2002. # Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 1999-2002.
# Artur Flinta <aflinta@at.kernel.pl>, 2004-2007. # Artur Flinta <aflinta@at.kernel.pl>, 2004-2007.
# Piotr Drąg <piotrdrag@gmail.com>, 2010-2012. # Piotr Drąg <piotrdrag@gmail.com>, 2010-2015.
# Aviary.pl <gnomepl@aviary.pl>, 2010-2012. # Aviary.pl <gnomepl@aviary.pl>, 2010-2015.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop\n" "Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-04 18:37+0200\n" "POT-Creation-Date: 2015-08-26 19:45+0200\n"
"PO-Revision-Date: 2012-09-04 18:42+0200\n" "PO-Revision-Date: 2015-08-26 19:47+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n" "Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n" "Language: pl\n"
@@ -25,7 +25,7 @@ msgstr ""
"X-Poedit-Language: Polish\n" "X-Poedit-Language: Polish\n"
"X-Poedit-Country: Poland\n" "X-Poedit-Country: Poland\n"
#: ../lib/read.c:51 #: ../lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
@@ -33,11 +33,11 @@ msgstr[0] "odczyt %d bajtu"
msgstr[1] "odczyt %d bajtów" msgstr[1] "odczyt %d bajtów"
msgstr[2] "odczyt %d bajtów" msgstr[2] "odczyt %d bajtów"
#: ../lib/read_data.c:51 #: ../lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "odczyt rozmiaru danych" msgstr "odczyt rozmiaru danych"
#: ../lib/read_data.c:70 #: ../lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
@@ -45,7 +45,7 @@ msgstr[0] "odczytano jeden bajt danych"
msgstr[1] "odczytano %lu bajty danych" msgstr[1] "odczytano %lu bajty danych"
msgstr[2] "odczytano %lu bajtów danych" msgstr[2] "odczytano %lu bajtów danych"
#: ../lib/write.c:51 #: ../lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
@@ -73,7 +73,7 @@ msgstr "Wywołanie przez inetd"
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "" msgstr ""
"Polecenie \"%s --help\" wyświetli pełną listę dostępnych opcji wiersza " "Polecenie %s --help wyświetli pełną listę dostępnych opcji wiersza "
"poleceń.\n" "poleceń.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27

View File

@@ -3,19 +3,23 @@
# Distributed under the same licence as the libgtop package # Distributed under the same licence as the libgtop package
# Duarte Loreto <happyguy_pt@hotmail.com>, 2001, 2002, 2003, 2004, 2005, 2007, 2013. # Duarte Loreto <happyguy_pt@hotmail.com>, 2001, 2002, 2003, 2004, 2005, 2007, 2013.
# #
# Pedro Albuquerque <palbuquerque73@openmailbox.com>, 2015.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 3.8\n" "Project-Id-Version: 3.8\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2013-03-17 01:06+0000\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2013-03-17 01:10+0000\n" "POT-Creation-Date: 2014-02-08 10:53+0000\n"
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n" "PO-Revision-Date: 2015-06-25 09:38+0100\n"
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n" "Last-Translator: Pedro Albuquerque <palbuquerque73@openmailbox.com>\n"
"Language-Team: Português <palbuquerque73@openmailbox.com>\n"
"Language: pt\n" "Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.6\n"
#: ../lib/read.c:51 #: ../lib/read.c:51
#, c-format #, c-format
@@ -32,8 +36,8 @@ msgstr "tamanho dos dados lidos"
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu byte lido" msgstr[0] "%lu byte de dados lido"
msgstr[1] "%lu bytes lidos" msgstr[1] "%lu bytes de dados lidos"
#: ../lib/write.c:51 #: ../lib/write.c:51
#, c-format #, c-format
@@ -83,7 +87,7 @@ msgstr "Instrução ilegal"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Armadilha de trace" msgstr "Armadilha de rasto"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
@@ -123,7 +127,7 @@ msgstr "Alarme"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Terminar" msgstr "Terminação"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
@@ -155,7 +159,7 @@ msgstr "Escrita em fundo para a tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O agora possível" msgstr "E/S agora possível"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"

View File

@@ -1,4 +1,4 @@
if NEED_LIBGTOP if LIBGTOP_NEED_SERVER
daemon_SUBDIRS = daemon daemon_SUBDIRS = daemon
else else
daemon_SUBDIRS = daemon_SUBDIRS =

View File

@@ -12,13 +12,13 @@
## Martin <martin@home-of-linux.org> ## Martin <martin@home-of-linux.org>
## ##
INCLUDES = $(LIBGTOP_CFLAGS) @INCLUDES@ -D_BSD \ AM_CPPFLAGS = $(LIBGTOP_CFLAGS) @AM_CPPFLAGS@ -D_BSD \
-DLIBGTOP_COMPILE_SYSTEM="\"`uname -s`\"" \ -DLIBGTOP_COMPILE_SYSTEM="\"`uname -s`\"" \
-DLIBGTOP_COMPILE_RELEASE="\"`uname -r`\"" \ -DLIBGTOP_COMPILE_RELEASE="\"`uname -r`\"" \
-DLIBGTOP_COMPILE_VERSION="\"`uname -v`\"" \ -DLIBGTOP_COMPILE_VERSION="\"`uname -v`\"" \
-DLIBGTOP_COMPILE_MACHINE="\"`uname -m`\"" -DLIBGTOP_COMPILE_MACHINE="\"`uname -m`\""
if NEED_LIBGTOP if LIBGTOP_NEED_SERVER
suid_sysdeps = $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la suid_sysdeps = $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la
suid_common = $(top_builddir)/sysdeps/common/libgtop_suid_common-2.0.la suid_common = $(top_builddir)/sysdeps/common/libgtop_suid_common-2.0.la
else else
@@ -41,8 +41,13 @@ libgtop_daemon2_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
@libs_xauth@ @libs_xauth@
libgtop_server2_SOURCES = server.c slave.c io.c version.c daemon.h libgtop_server2_SOURCES = server.c slave.c io.c version.c daemon.h
libgtop_server2_LDADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la \ libgtop_server2_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_suid_common-2.0.la $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@sysdeps_suid_lib@ \
$(suid_sysdeps) $(suid_common) \
$(LIBGTOP_LIBS) \
@libs_xauth@
EXTRA_DIST = server_config.h.in server_config.pl EXTRA_DIST = server_config.h.in server_config.pl

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#ifndef __GLIBTOP_DAEMON_H__ #ifndef __GLIBTOP_DAEMON_H__

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -27,10 +27,8 @@ void
do_output (int s, glibtop_response *resp, off_t offset, do_output (int s, glibtop_response *resp, off_t offset,
size_t data_size, const void *data) size_t data_size, const void *data)
{ {
#ifdef DEBUG glibtop_debug ("Really writing %d bytes at offset %lu.",
fprintf (stderr, "Really writing %d bytes at offset %lu.\n",
sizeof (glibtop_response), offset); sizeof (glibtop_response), offset);
#endif
resp->offset = offset; resp->offset = offset;
resp->data_size = data_size; resp->data_size = data_size;
@@ -44,9 +42,7 @@ do_output (int s, glibtop_response *resp, off_t offset,
} }
if (resp->data_size) { if (resp->data_size) {
#ifdef DEBUG glibtop_debug ("Writing %d bytes of data.", resp->data_size);
fprintf (stderr, "Writing %d bytes of data.\n", resp->data_size);
#endif
if (s == 0) { if (s == 0) {
if (write (1, data, resp->data_size) < 0) if (write (1, data, resp->data_size) < 0)
@@ -88,10 +84,8 @@ do_read (int s, void *ptr, size_t total_size)
tmp_ptr += nread; tmp_ptr += nread;
ptr = tmp_ptr; ptr = tmp_ptr;
#ifdef DEBUG glibtop_debug ("READ (%d): %d - %d - %d",
fprintf (stderr, "READ (%d): %d - %d - %d\n",
nread, already_read, remaining, total_size); nread, already_read, remaining, total_size);
#endif
} }
return already_read; return already_read;

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -26,9 +26,6 @@
#ifndef PARENT_DEBUG #ifndef PARENT_DEBUG
#define PARENT_DEBUG 1 #define PARENT_DEBUG 1
#endif #endif
#ifndef DEBUG
#define DEBUG 1
#endif
#endif #endif
void void

View File

@@ -15,47 +15,21 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
#include "daemon.h" #include "daemon.h"
static glibtop _glibtop_global_server;
glibtop *glibtop_global_server = &_glibtop_global_server;
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/union.h> #include <glibtop/union.h>
#include <glibtop/sysdeps.h> #include <glibtop/sysdeps.h>
#include <glibtop/error.h>
#include <glibtop/machine.h>
#include <sys/utsname.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_NETLOAD +
GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD +
GLIBTOP_SUID_PROC_AFFINITY +
GLIBTOP_SUID_PPP;
#include <fcntl.h> #include <fcntl.h>
#include <locale.h> #include <locale.h>
@@ -70,6 +44,8 @@ main(int argc, char *argv[])
uid = getuid (); euid = geteuid (); uid = getuid (); euid = geteuid ();
gid = getgid (); egid = getegid (); gid = getgid (); egid = getegid ();
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
if (uname (&uts) < 0) _exit (1); if (uname (&uts) < 0) _exit (1);
#ifdef _AIX #ifdef _AIX
@@ -100,12 +76,18 @@ main(int argc, char *argv[])
} }
#endif #endif
glibtop_machine_new (glibtop_global_server);
glibtop_init_p (glibtop_global_server, 0, 0); glibtop_init_p (glibtop_global_server, 0, 0);
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
if (setreuid (euid, uid)) _exit (1); if (setreuid (euid, uid)) _exit (1);
if (setregid (egid, gid)) _exit (1); if (setregid (egid, gid)) _exit (1);
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
/* !!! END OF SUID ROOT PART !!! */ /* !!! END OF SUID ROOT PART !!! */
handle_slave_connection (0, 0); handle_slave_connection (0, 0);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -27,11 +27,12 @@ void
handle_slave_connection (int input, int output) handle_slave_connection (int input, int output)
{ {
glibtop *server G_GNUC_UNUSED = glibtop_global_server; glibtop *server G_GNUC_UNUSED = glibtop_global_server;
gint64 *param_ptr G_GNUC_UNUSED;
const void *ptr G_GNUC_UNUSED; const void *ptr G_GNUC_UNUSED;
unsigned short max_len G_GNUC_UNUSED; unsigned short max_len G_GNUC_UNUSED;
pid_t pid G_GNUC_UNUSED; pid_t pid G_GNUC_UNUSED;
gint64 proc_which G_GNUC_UNUSED;
gint64 proc_arg G_GNUC_UNUSED;
glibtop_response _resp, *resp = &_resp; glibtop_response _resp, *resp = &_resp;
glibtop_command _cmnd, *cmnd = &_cmnd; glibtop_command _cmnd, *cmnd = &_cmnd;
@@ -40,10 +41,8 @@ handle_slave_connection (int input, int output)
glibtop_send_version (glibtop_global_server, output); glibtop_send_version (glibtop_global_server, output);
while (do_read (input, cmnd, sizeof (glibtop_command))) { while (do_read (input, cmnd, sizeof (glibtop_command))) {
#ifdef SLAVE_DEBUG glibtop_debug ("Slave %d received command "
fprintf (stderr, "Slave %d received command " "%llu from client.", getpid (), cmnd->command);
"%llu from client.\n", getpid (), cmnd->command);
#endif
if (cmnd->data_size >= BUFSIZ) if (cmnd->data_size >= BUFSIZ)
glibtop_error ("Client sent %llu bytes, " glibtop_error ("Client sent %llu bytes, "
@@ -55,10 +54,8 @@ handle_slave_connection (int input, int output)
memset (parameter, 0, sizeof (parameter)); memset (parameter, 0, sizeof (parameter));
if (cmnd->data_size) { if (cmnd->data_size) {
#ifdef SLAVE_DEBUG glibtop_debug ("Client has %llu bytes of data.",
fprintf (stderr, "Client has %llu bytes of data.\n",
cmnd->data_size); cmnd->data_size);
#endif
do_read (input, parameter, cmnd->data_size); do_read (input, parameter, cmnd->data_size);
@@ -72,10 +69,11 @@ handle_slave_connection (int input, int output)
return; return;
#if GLIBTOP_SUID_PROCLIST #if GLIBTOP_SUID_PROCLIST
case GLIBTOP_CMND_PROCLIST: case GLIBTOP_CMND_PROCLIST:
param_ptr = (gint64 *) parameter; memcpy(&proc_which, parameter, sizeof proc_which);
memcpy(&proc_arg, parameter + sizeof proc_which, sizeof proc_arg);
ptr = glibtop_get_proclist_p ptr = glibtop_get_proclist_p
(server, &resp->u.data.proclist, (server, &resp->u.data.proclist,
param_ptr [0], param_ptr [1]); proc_which, proc_arg);
do_output (output, resp, _offset_data (proclist), do_output (output, resp, _offset_data (proclist),
resp->u.data.proclist.total, ptr); resp->u.data.proclist.total, ptr);
g_free (ptr); g_free (ptr);

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -35,16 +35,14 @@ glibtop_send_version (glibtop *server, int fd)
sprintf (buffer, LIBGTOP_VERSION_STRING, sprintf (buffer, LIBGTOP_VERSION_STRING,
LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION, LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION,
sizeof (glibtop_command), (unsigned) sizeof (glibtop_command),
sizeof (glibtop_response), (unsigned) sizeof (glibtop_response),
sizeof (glibtop_union), (unsigned) sizeof (glibtop_union),
sizeof (glibtop_sysdeps)); (unsigned) sizeof (glibtop_sysdeps));
size = strlen (buffer) + 1; size = strlen (buffer) + 1;
#ifdef DEBUG glibtop_debug ("SERVER ID: |%s|", buffer);
fprintf (stderr, "SERVER ID: |%s|\n", buffer);
#endif
if (fd == 0) { if (fd == 0) {
if (write (1, (const void *) &size, sizeof (size)) < 0) if (write (1, (const void *) &size, sizeof (size)) < 0)

View File

@@ -1,5 +1,5 @@
INCLUDES = @INCLUDES@ AM_CPPFLAGS = @AM_CPPFLAGS@
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>

View File

@@ -15,8 +15,8 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02111-1307, USA. Boston, MA 02110-1301, USA.
*/ */
#include <config.h> #include <config.h>
@@ -56,7 +56,7 @@ _glibtop_init_cpu_p (glibtop *server)
{ {
return; return;
} }
server->machine.sysinfo_offset = result; server->machine->sysinfo_offset = result;
result = _glibtop_get_kmem_offset(server, "cpuinfo"); result = _glibtop_get_kmem_offset(server, "cpuinfo");
if (result == -1) if (result == -1)
@@ -65,9 +65,9 @@ _glibtop_init_cpu_p (glibtop *server)
return; return;
} }
server->machine.cpuinfo_offset = result; server->machine->cpuinfo_offset = result;
server->machine.cpuinfo = (struct cpuinfo*)calloc(_system_configuration.ncpus, sizeof(struct cpuinfo)); server->machine->cpuinfo = (struct cpuinfo*)calloc(_system_configuration.ncpus, sizeof(struct cpuinfo));
server->sysdeps.cpu = _glibtop_sysdeps_cpu; server->sysdeps.cpu = _glibtop_sysdeps_cpu;
} }
@@ -85,7 +85,7 @@ glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf)
memset (buf, 0, sizeof (glibtop_cpu)); memset (buf, 0, sizeof (glibtop_cpu));
result = _glibtop_get_kmem_info(server, server->machine.sysinfo_offset, result = _glibtop_get_kmem_info(server, server->machine->sysinfo_offset,
&sysinfo, sizeof(struct sysinfo)); &sysinfo, sizeof(struct sysinfo));
if (result <= 0) if (result <= 0)
{ {
@@ -100,8 +100,8 @@ glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf)
buf->total = buf->idle + buf->user + buf->sys + buf->nice ; buf->total = buf->idle + buf->user + buf->sys + buf->nice ;
result = _glibtop_get_kmem_info(server, server->machine.cpuinfo_offset, result = _glibtop_get_kmem_info(server, server->machine->cpuinfo_offset,
server->machine.cpuinfo, server->machine->cpuinfo,
_system_configuration.ncpus _system_configuration.ncpus
* sizeof(struct cpuinfo)); * sizeof(struct cpuinfo));
@@ -115,13 +115,13 @@ glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf)
for (cpu = 0; cpu < MIN(GLIBTOP_NCPU, _system_configuration.ncpus); cpu++) for (cpu = 0; cpu < MIN(GLIBTOP_NCPU, _system_configuration.ncpus); cpu++)
{ {
buf->xcpu_idle[cpu] = buf->xcpu_idle[cpu] =
server->machine.cpuinfo[cpu].cpu[CPU_IDLE]; server->machine->cpuinfo[cpu].cpu[CPU_IDLE];
buf->xcpu_user[cpu] = buf->xcpu_user[cpu] =
server->machine.cpuinfo[cpu].cpu[CPU_USER]; server->machine->cpuinfo[cpu].cpu[CPU_USER];
buf->xcpu_sys[cpu] = buf->xcpu_sys[cpu] =
server->machine.cpuinfo[cpu].cpu[CPU_KERNEL]; server->machine->cpuinfo[cpu].cpu[CPU_KERNEL];
buf->xcpu_nice[cpu] = buf->xcpu_nice[cpu] =
server->machine.cpuinfo[cpu].cpu[CPU_WAIT]; server->machine->cpuinfo[cpu].cpu[CPU_WAIT];
buf->xcpu_total[cpu] = buf->xcpu_idle[cpu] + buf->xcpu_total[cpu] = buf->xcpu_idle[cpu] +
buf->xcpu_user[cpu] + buf->xcpu_user[cpu] +

Some files were not shown because too many files have changed in this diff Show More