Compare commits

..

457 Commits

Author SHA1 Message Date
Robert Roth
5522fae242 Prepared release 2.33.91 2016-02-29 23:08:18 +02:00
Cédric Valmary
870dd5afa6 Updated Occitan translation 2016-02-29 19:07:51 +00:00
Kylie McClain
94968b4406 Fix building on musl-libc
libgtop fails to build on musl libc, due to the header
resulting in the headers that would be loaded for libc 5 being
loaded on musl libc.
musl defines headers which are also defined in linux-headers'
in.h, causing redefinition errors.

https://bugzilla.gnome.org/show_bug.cgi?id=760655

Signed-off-by: Benoît Dejean <bdejean@gmail.com>
2016-02-16 18:12:00 +01:00
Robert Roth
819bfe56ee Prepared release 2.33.4 2016-01-18 23:22:18 +02:00
Antoine Jacoutot
de408a6bba openbsd: only PID 1 is special (init) 2016-01-12 17:14:20 +01:00
Ting-Wei Lan
05cb14dbb2 Call setlocale in main function of libgtop_daemon2
It is required to correctly show translated messages on some locales.

https://bugzilla.gnome.org/show_bug.cgi?id=760432
2016-01-11 14:30:41 +08:00
Robert Roth
7e3e4b6860 Prepared release 3.19.3 2015-12-14 19:40:21 +02:00
Jasper Lievisse Adriaanse
02070b7170 Add various headers to unbreak compilation 2015-12-11 15:03:49 +01:00
Jasper Lievisse Adriaanse
fcfacf3213 PROT_EXECUTE -> PROT_EXEC 2015-12-11 14:59:11 +01:00
Jasper Lievisse Adriaanse
7925f83b57 Fix compilation because glibtop_machine definition has moved. 2015-12-11 14:57:34 +01:00
Cédric Valmary
68104bdde1 Updated Occitan translation 2015-11-10 14:02:39 +00:00
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
Steven Chamberlain
d9c01aac4a Don't include sys/pipe.h on kFreeBSD
Defining _KERNEL to include sys/pipe.h subsequently breaks sys/conf.h;
 since sys/pipe.h is not meant to be used in userland, and libgtop2 builds
 anyway on kFreeBSD without it, don't include it.
https://bugzilla.gnome.org/show_bug.cgi?id=674067
2014-04-29 00:30:07 +03:00
Ting-Wei Lan
82c28b2ad2 src/daemon: remove LINK variable
https://bugzilla.gnome.org/show_bug.cgi?id=724904
2014-04-29 00:14:49 +03:00
Benoît Dejean
05345dc032 ABI breakage by efaaf6eb77. Fixing libtool version to 10.0.0.
https://bugzilla.gnome.org/show_bug.cgi?id=323354
2014-04-29 00:11:30 +03:00
Jasper Lievisse Adriaanse
63ba7b2c12 switch from VM_METER to VM_UVMEXP 2014-04-10 16:32:47 +02:00
Antoine Jacoutot
5371e8ec88 openbsd: drop empty EXTRA_SYSDEPS_LIBS.
https://bugzilla.gnome.org/show_bug.cgi?id=727375
2014-03-31 12:50:44 +02:00
Ryan Lortie
e682094418 examples: don't override LINK and other variables
Defining our own LINK causes us to run into some trouble with LDFLAGS,
which commit 16bb5c8075 already
demonstrated.

LDFLAGS does need to be included here, but it's probably even easier to
just use the default value.

https://bugzilla.gnome.org/show_bug.cgi?id=724195
2014-02-20 20:58:16 -05:00
Ryan Lortie
2e861977a6 freebsd: don't link to libgeom
libgeom declares several symbols in GLib's namespace, including
g_close() and it therefore cannot be used from any program that also
uses GLib.

For now, disable the parts of the FreeBSD sysdep that use libgeom.
Hopefully the libgeom API will be changed soon.

https://bugzilla.gnome.org/show_bug.cgi?id=723685
2014-02-20 20:56:57 -05:00
Ting-Wei Lan
a39f290683 Fix build issues on FreeBSD 2014-02-20 20:55:39 -05:00
Antoine Jacoutot
02b55313f3 openbsd: bring glibtop_get_proc_segment from FreeBSD 2014-02-08 11:54:07 +01:00
Antoine Jacoutot
596c42d7f1 openbsd: drop unecessary check 2014-02-08 11:53:26 +01:00
Shankar Prasad
d4d4f7735a updated kn.po 2014-02-05 16:38:05 +05:30
Antoine Jacoutot
4cd3e4fed6 openbsd: merge patches from ports tree
Bring OpenBSD closer to FreeBSD to help checking what is missing/different.
Also we make sure to use and build mountlist and fsusage from the
sysdeps/openbsd directory instead of the common one.

https://bugzilla.gnome.org/show_bug.cgi?id=723521
2014-02-03 10:59:05 +01:00
Antoine Jacoutot
c99ceeaa65 openbsd: better handling of p_wchan 2014-02-01 19:09:21 +01:00
Antoine Jacoutot
ecbfade528 openbsd: really drop all lsof related code 2014-01-23 15:03:36 +01:00
Jasper Lievisse Adriaanse
73d4679ad8 Remove OpenBSD RCS ID which bears no meaning here. 2014-01-23 11:24:33 +01:00
Robert Nagy
df1db43032 Fix several issues related to process information on OpenBSD and drop lsof usage. 2014-01-23 10:39:39 +01:00
Jasper Lievisse Adriaanse
ff07ba102f Some fields have moved in struct proc from timeval to timespec. 2014-01-23 10:34:52 +01:00
Jasper Lievisse Adriaanse
07d2816d5b Adjust header inclusion on OpenBSD
- fixup header inclusion after netinet/in_var.h was made private
- configure fails to define HAVE_NET_IF_VAR_H
2014-01-23 10:30:53 +01:00
Victor Ibragimov
2caff8bf5c Tajik translation updated 2013-12-20 13:36:26 +05:00
Victor Ibragimov
78e257e958 Tajik translation updated 2013-12-20 13:32:00 +05:00
Jason Xing
efaaf6eb77 Extending the cpu number from 32 to 1024 (bgo #323354, bgo #681632)
From: Jason Xing <xinggang861@gmail.com>

In 'Bug 323354 - Support a dynamic number of CPUs', there will be a
solution which can dynamically allocate memory for large number of
CPUs. As libgtop supports multiple operating systems, this work
may take some time.

This patch is a temporary patch, which worked before the whole
solution comes out. It only supports linux platform with CPU number
up to 1024.

There are two Macroes which limit the statistics of CPU. One is
GLIBTOP_NCPU. The other is a buffer size. This buffer used to read
/proc/stat contents into.

https://bugzilla.gnome.org/show_bug.cgi?id=323354
https://bugzilla.gnome.org/show_bug.cgi?id=681632
2013-12-12 22:36:10 +02:00
Robert Roth
47bcd423b5 Linux cpuinfo count fixed for SMP PPC processors (bgo #621831)
libgtop processor count has been simply determined by the number
of sections in /proc/cpuinfo split by \n\n. On PPC processors
supporting SMP after the per-cpu description for each core a
new section is listed (after \n\n) with the common attributes
of the cores [1]. Work around this by only counting a section
as describing a CPU if it contains "processor" to fix bug #621831 [0]
[0] https://bugzilla.gnome.org/show_bug.cgi?id=621831
[1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/arch/powerpc/kernel/setup-common.c?id=9fc2105aeaaf56b0cf75296a84702d0f9e64437b#n319
2013-12-09 04:02:38 +02:00
Robert Roth
38bfee6739 pprint example extended to print cpu info 2013-12-09 04:02:21 +02:00
Robert Roth
3147bf2e34 Log error on statvfs failure.
When doing stat on a FS and failing, log the error message based
on the errno set to help the user find the reason.
https://bugzilla.gnome.org/show_bug.cgi?id=685172
2013-12-09 01:57:01 +02:00
Antoine Jacoutot
2506662196 OpenBSD: add missing header
netinet6/in6_var.h is not included automatically  anymore from netinet/in_var.h
on OpenBSD, so explicitely #include <netinet6/in6_var.h>.
2013-10-16 17:09:16 +02:00
Robert Roth
b6eb0873e7 Revert "Increased major version"
This reverts commit f9e8ae8dfc.
2013-08-31 01:11:56 +03:00
Robert Roth
2c08229f04 Merge remote-tracking branch 'origin' into wip/libgtop-ng 2013-08-30 07:34:15 +03:00
Tristan Hill
753d9abb13 proclist, procarg and proctime gtkdoc updates
Added gtkdoc for proclist, procarg and proctime.

Author:    Tristan Hill <stan@saticed.me.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=616082
2013-08-30 07:31:31 +03:00
Robert Roth
af7e9cd1b6 Increased buffersize to be able to hold larger cpuinfo files (bgo #681632) 2013-08-22 01:48:12 +03:00
Robert Roth
552ea7ec3a Fixed automake warning 2013-08-22 01:37:02 +03:00
Robert Roth
43f19912e3 Fixed automake warning 2013-08-22 01:34:34 +03:00
Robert Roth
16bb5c8075 Fixed automake warning 2013-08-22 01:30:29 +03:00
Robert Roth
bebcb377af Revert "Fixed missing cache-id warning" as it breaks jhbuild.
This reverts commit 4cffb2f094.
2013-08-22 01:11:06 +03:00
Robert Roth
4cffb2f094 Fixed missing cache-id warning 2013-08-21 15:43:10 +03:00
Robert Roth
5adaa90de3 Added files created by make to .gitignore 2013-08-20 23:26:29 +03:00
Robert Roth
f9e8ae8dfc Increased major version 2013-08-20 23:26:00 +03:00
Robert Roth
efeb24a96c Added gitignore 2013-08-20 22:49:02 +03:00
Robert Roth
3c4ddb5572 release: post-release bump to 2.28.6 2013-08-19 23:49:15 +03:00
Robert Roth
fec9e956e3 Release: 2.28.5 2013-08-19 23:46:16 +03:00
Robert Roth
2ee4fa70a5 Added new maintainer in DOAP file 2013-08-09 23:41:24 +03:00
Jasper Lievisse Adriaanse
7a4b2d91ad unbreak after swapin and swapout were removed from OpenBSD uvm statistics. 2013-05-29 20:59:23 +02:00
Jasper Lievisse Adriaanse
dc7eab4329 Adjust for the fact that regular users cannot read wchan anymore in OpenBSD 5.4. 2013-04-01 13:40:11 +02:00
Jasper Lievisse Adriaanse
a44392d948 Don't error out when running on a different release than built on
https://bugzilla.gnome.org/show_bug.cgi?id=653177
2013-04-01 13:35:24 +02:00
Victor Ibragimov
b013937b2c [l10n] Added Tadjik translation 2013-03-19 22:39:27 +01:00
Changwoo Ryu
4bded8fa91 Updated Korean translation 2013-03-19 02:23:50 +09:00
Duarte Loreto
f88a38aa52 Converted Portuguese translation to New Spelling (Novo AO) 2013-03-17 01:06:48 +00:00
Cole Robinson
37774dc02d fsusage: Fix fetching rootfs stats on Fedora 17
When fsusage scans mtab, it matches on the first entry, but since 'rootfs'
isn't of the expected format '/dev/<blah>' it bails out.

Match early on any rootfs entries and skip them.

Fixes #685897
2013-01-28 23:02:04 +01:00
TmTFx
4efe3721e7 Updated Friulian translation 2012-12-28 22:26:12 -02:00
Jasper Lievisse Adriaanse
31cbc3374d sysctl.h on OpenBSD no longer pulls in proc.h. 2012-12-18 22:47:09 +01:00
Timur Zhamakeev
c8a33802c2 Updated Kyrgyz translation 2012-09-27 12:16:13 +06:00
Rūdolfs Mazurs
a3ff5fb398 Updated Latvian translation 2012-09-24 15:36:41 +03:00
Piotr Drąg
8d5b3dd86a Updated Polish translation 2012-09-04 18:42:25 +02:00
Nilamdyuti Goswami
fecedf8c72 Implemented FUEL entries to Assamese translation 2012-08-28 00:32:40 +05:30
Nilamdyuti Goswami
183b7b0cf1 Assamese translation reviewed 2012-07-11 18:14:32 +05:30
Carles Ferrando
1523fae41e [l10n]Updated Catalan (Valencian) translation 2012-04-10 21:12:29 +02:00
Jordi Serratosa
a6d0d61175 [l10n] Fixes on Catalan translation 2012-04-10 21:12:28 +02:00
Jasper Lievisse Adriaanse
b0f4bee85e sync with openbsd to use the new vmmap memory allocator 2012-04-04 19:23:07 +02:00
Alexander Shopov
1d1d3fb907 Updated Bulgarian translation 2012-04-01 18:21:12 +03:00
Kjartan Maraas
bd363a9ca6 Updated Norwegian bokmål translation 2012-01-28 16:54:28 +01:00
Kjartan Maraas
46c1169ab1 Add missing #include <config.h> 2012-01-23 21:28:10 +01:00
Antoine Jacoutot
b11aa1517e OpenBSD: kinfo_proc2 -> kinfo_proc
The kinfo_proc2 interface has been removed from OpenBSD (it was
deprecated anyway), so use the correct replacement: kinfo_proc.

https://bugzilla.gnome.org/show_bug.cgi?id=667591
2012-01-22 12:47:49 +01:00
Nilamdyuti Goswami
aa7572abfd Updated Assamese Translations:bugzilla#659595 2011-09-24 16:37:35 +05:30
Nilamdyuti Goswami
17b03f33ab Updated Assamese translation 2011-09-22 19:42:27 +02:00
Jasper Lievisse Adriaanse
dd46d6a00e Don't bother with PIDs below 20 as they are highly likely to be kernel threads anyway. 2011-09-18 13:42:13 +02:00
Jasper Lievisse Adriaanse
7bd52fc397 Extend comment a bit regarding processes dying before we get to kvm_getproc2(). 2011-09-18 13:41:20 +02:00
Jiro Matsuzawa
ff7cbcbe61 Updated Japanese translation 2011-09-17 12:46:17 +09:00
Marc-Andre Laperle
d1d565aa60 Fix Darwin support
glibtop_get_proclist_p's signature didn't match the headers prototype.

https://bugzilla.gnome.org/show_bug.cgi?id=556904
2011-09-08 09:26:58 +02:00
Piotr Drąg
169b76a88f Fixed ky.po 2011-09-05 23:46:54 +02:00
Petr Salinger
0a265d05d4 Dont add extra libs for kfreebsd
The current version fails to build on GNU/kFreeBSD.
The problem is due to cleanup in GNU/kFreeBSD world

https://bugzilla.gnome.org/show_bug.cgi?id=601319
2011-08-30 18:05:33 +02:00
Jasper Lievisse Adriaanse
08ac661b19 Apply a fix from the OpenBSD backend by using the same type to store the
temporary amounts of swap, as is used in the struct that's eventually used
to export it.
2011-08-30 17:52:40 +02:00
Petr Salinger
1baa3fcc6a kFreeBSD 8.0 build fix
fixes a couple of checks for kFreeBSD 8.0.
https://bugzilla.gnome.org/show_bug.cgi?id=608518
2011-08-30 17:00:18 +02:00
Thomas Klausner
eaff15b741 NetBSD-5.99.21 lost struct uvmexp.swap{ins,outs}
In NetBSD-5.99.21, the uarea swap-out functionality was removed, which also
removed two members from struct uvmexp, swapins and swapouts.
2011-08-30 14:44:43 +02:00
Frédéric Péters
4612e7c7eb release: post-release bump to 2.28.5 2011-08-30 13:35:14 +02:00
Frédéric Péters
f66324f84d Release: 2.28.4 2011-08-30 13:29:29 +02:00
Frédéric Péters
138889c4d6 build: roll tarballs as tar.xz 2011-08-30 13:28:56 +02:00
Jasper Lievisse Adriaanse
cac71bf6c4 Revert "Expand to support ifmedia(4) types as found on BSD."
This reverts commit 5144c3e127.

It wasn't meant to be pushed yet..
2011-07-29 11:02:23 +02:00
Jasper Lievisse Adriaanse
2ea3da9da5 Fix makeinfo(1) warning in reference.texi
doc/reference.texi:746: warning: @strong{Note...} produces a
spurious cross-reference in Info; reword to avoid that.

https://bugzilla.gnome.org/show_bug.cgi?id=653180
2011-07-28 14:19:37 +02:00
Jasper Lievisse Adriaanse
5144c3e127 Expand to support ifmedia(4) types as found on BSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652713
2011-07-28 14:19:37 +02:00
Ihar Hrachyshka
c4907672cd Updated Belarusian translation. 2011-07-24 19:42:36 +03:00
Jasper Lievisse Adriaanse
4c9a161eb5 ansify function declaration, no binary change. 2011-07-11 15:05:06 +02:00
Jasper Lievisse Adriaanse
32833323d9 Some OpenBSD cleaning:
- decrease stack usage when retrieving memory stats
- use consistent warnings when failing sysctl(3) calls

https://bugzilla.gnome.org/show_bug.cgi?id=654344
2011-07-11 14:57:55 +02:00
Jasper Lievisse Adriaanse
0de702b142 - implement GLIBTOP_MEM_CACHED on OpenBSD by retrieving buffercache stats 2011-07-10 16:44:42 +02:00
Jasper Lievisse Adriaanse
4e24854dbf Two small tweaks to the OpenBSD backend:
- correct sysctl names in two warning messages
- rename a few variables for clarity
2011-07-09 10:19:18 +02:00
Joe Marcus Clarke
08fd95d253 Fix numerous bigs in the FreeBSD backend
* Correct calculation of CPU time.
* Fix a bug on newer versions of FreeBSD where computing the process map leads
to a tight error loop.
* Add support for the new procstat API to obtain the list of open files and
cwd.
* Use kvm_openfiles instead of kvm_open to better handle error messages.
* Split some modules out into non-suid modules.
* Properly determine the number of CPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=605431
2011-06-27 16:32:20 +02:00
Jasper Lievisse Adriaanse
aa1a6766f2 Fix hardware address retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:55 +02:00
Jasper Lievisse Adriaanse
537dc1bff1 Fix scope6 and prefix6 retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:38 +02:00
Jasper Lievisse Adriaanse
93829c8cbb Fix filesystem read/write accounting on OpenBSD
https://bugzilla.gnome.org/show_bug.cgi?id=652980
2011-06-22 17:24:37 +02:00
Jasper Lievisse Adriaanse
cecf53394b Use a more portable construct for doing substitutions.
https://bugzilla.gnome.org/show_bug.cgi?id=652981
2011-06-22 17:22:26 +02:00
Jasper Lievisse Adriaanse
62239cfe50 Explain why we undef STAT_STATVFS on OpenBSD 2011-06-16 13:14:22 +02:00
Jasper Lievisse Adriaanse
15ffb2d039 Revert vmmap-based procmap.c for OpenBSD.
vmmap was reverted in OpenBSD, so stick to the old algorithm for now.
2011-06-16 13:03:24 +02:00
Jasper Lievisse Adriaanse
7f14f4409d Various tweaks for OpenBSD uptime calculation
- implement uptime.boot_time
- put CP_IDLE instead of 0 in uptime->idletime
2011-06-16 13:02:11 +02:00
Jasper Lievisse Adriaanse
f8c573b78c Silence various warnings in the OpenBSD code 2011-06-16 13:00:47 +02:00
Jasper Lievisse Adriaanse
49641cc363 Make CPU load retrieval work.
It would sort of work on 64 bits arches, and not work at all no 32 bit arches.
Now works on both, and take CP_INTR correctly into account.
2011-06-16 12:57:43 +02:00
Jasper Lievisse Adriaanse
46706961ac Split off OpenBSD code into a separate implementation
Move OpenBSD code into its own sysdeps directory. The changes from
bsd/ were becoming to hard to maintain as a #ifdef tree. This is
what's currently being distributed as part of OpenBSD ports.
2011-06-16 12:27:00 +02:00
Kristjan SCHMIDT
edda30a4ad Updated Esperanto translation 2011-06-08 11:52:37 +02:00
Arash Mousavi
c775a536c8 Updated Persian translation 2011-04-24 17:49:20 +04:30
Jordi Serratosa
84a697a826 [l10n]Fixes on Catalan translation 2011-04-04 22:04:24 +02:00
Abduxukur Abdurixit
07c04634bc Added UG translation 2011-03-27 21:32:09 +02:00
Chris Kühl
78a4292fb4 Release: Post-release bump to 2.28.4 2011-03-25 16:09:16 +01:00
Chris Kühl
7bdc92f325 Release: 2.28.3 2011-03-25 16:04:20 +01:00
Chris Kühl
b40f210d03 Fix build issue for strict linkers.
Closes Bug #644599.
2011-03-14 16:35:09 +01:00
Maxim Ermilov
50bb0d51b3 Add Introspection support
https://bugzilla.gnome.org/show_bug.cgi?id=630915
2011-03-01 13:54:53 +01:00
Fran Diéguez
3d0dc2b36e QA of Galician translations 2011-01-27 03:18:46 +01:00
Gheyret T.Kenji
33f0825b3c Added UG translation 2010-12-23 19:26:01 +01:00
Yaakov Selkowitz
3cc7b3aecb Cygwin: Add private mountlist support.
https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:46:33 +01:00
Yaakov Selkowitz
f7e1ab5a0e Cygwin: Don't printf a string directly but use %s instead
Based on commit f41ab3beed for Linux.

https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:39:34 +01:00
Gheyret T.Kenji
f6edec8c76 Added UG translation 2010-11-20 12:02:41 +01:00
Gheyret T.Kenji
ccf85794e2 Added UG translation 2010-11-13 22:45:50 +01:00
Carles Ferrando
9bd7b581cd Updated Catalan (Valencian) translation 2010-10-29 21:31:26 +01:00
Sahran
825c28e04f Added UG translation 2010-10-16 20:32:37 +02:00
Alexander Kojevnikov
f787bfa0c7 freebsd: Fix get_mem() on 64-bit systems (bgo#630128) 2010-10-03 10:17:58 +11:00
Vincent Untz
93ceca1af2 release: post-release bump to 2.28.3 2010-09-28 11:39:49 +02:00
Vincent Untz
a1bc181e96 release: 2.28.2 2010-09-28 11:39:38 +02:00
Takayuki KUSANO
3db7ab8ddd Updated Japanese translation 2010-09-20 19:18:28 +09:00
Kristjan Schmidt
5b64ff7b6e Updated Esperanto translation 2010-06-27 15:25:37 +02:00
Thomas Thurman
f6347e796d Updated Shavian translation 2010-05-13 18:14:50 -04:00
Thomas Thurman
26adc05a52 Updated Shavian transliteration 2010-05-12 18:41:00 -04:00
Matej Urbančič
6a2464c4ad Updated Slovenian translation 2010-05-11 15:26:26 +02:00
Matej Urbančič
178420d1f7 Updated Slovenian translation 2010-05-11 15:25:42 +02:00
Peteris Krisjanis
81c1f668d1 Updated Latvian translation. 2010-04-26 12:20:57 +03:00
Andika Triwidada
2924b470ea Updated Indonesian translation 2010-04-18 14:58:57 +07:00
Vincent Untz
c36239c8ea [release] post-release bump to 2.28.2 2010-03-30 17:14:23 +02:00
Vincent Untz
8337a4af31 [release] 2.28.1 2010-03-30 17:13:55 +02:00
Petr Kovar
a2cdb07c27 Fix Czech translation by Lucas Lommer 2010-03-29 17:38:53 +02:00
Piotr Drąg
2fa17f308d Updated Polish translation 2010-02-25 12:52:10 +01:00
Fran Diéguez
b57703888f Updated Galician Translation 2010-02-15 17:53:12 +01:00
Jamil Ahmed
85a793f117 Updated Bengali translation 2010-01-22 12:29:13 +06:00
Xandru Armesto Fernandez
ed1d6cd9e7 Updated asturian translation 2010-01-07 19:40:02 +01:00
Xandru Armesto Fernandez
4a17d9fef5 Added asturian language 2010-01-07 19:39:48 +01:00
Thomas Thurman
f2d748162e Shavian translation 2009-11-12 10:51:56 +00:00
Åsmund Skjæveland
363a6f9088 Updated Norwegian Nynorsk translation 2009-10-17 18:30:06 +02:00
Matej Urbančič
e2686446bb Updated Slovenian translation 2009-10-08 14:25:24 +02:00
Takeshi AIHANA
1c01f08117 Updated Japanese translation 2009-10-04 18:00:34 +09:00
Benoît Dejean
6768eddab9 Released 2.28.0. 2009-09-21 10:01:12 +02:00
Dumitru Mișu Moldovan
ed440c7d0b Updated Romanian translation 2009-09-20 00:45:03 +03:00
Rajesh Ranjan
643005349a maithili update, translated by Sangeeta Kumari 2009-09-18 18:23:11 +05:30
krishnababu k
cbb3f7dd5b Updated Telugu Translation 2009-09-17 22:12:55 +05:30
Ani
72537d102d Updaeted Malayalam Translations 2009-09-12 20:43:39 +05:30
Carles Ferrando
a43d48f67c Added Catalan (Valencian) translation 2009-09-02 18:33:04 +02:00
Og B. Maciel
c50eb6d494 Updated mailing list address. 2009-08-30 12:12:14 -04:00
Seán de Búrca
010e3a1c9d Updated Irish translation 2009-08-20 09:47:57 -06:00
Manoj Kumar Giri
3ea6e1caf0 Added entries for Hindi Translation updated by Rajesh Ranjan 2009-06-10 20:05:45 +05:30
Manoj Kumar Giri
f66c9665bd Updated Hindi Translation on behalf of Rajesh Ranjan 2009-06-10 20:04:23 +05:30
Benoît Dejean
a80c80ca69 Released 2.27.3. 2009-05-25 22:20:27 +02:00
Christian Persch
f41ab3beed Don't printf a string directly but use %s instead
Bug #581725.

Signed-off-by: Benoît Dejean <benoit@placenet.org>
2009-05-08 14:22:17 +02:00
Benoît Dejean
933683da39 Add -no-undefined for shared libraries on Cygwin.
Bug #578890.
2009-05-04 12:05:06 +02:00
Benoît Dejean
2679fdde9a Killed debug message. 2009-05-03 19:46:00 +02:00
Benoît Dejean
2458096acf Oops, fix segfault in linux/proc_map.
I've commited the wrong patch, got lost in the svn->git change.
2009-05-03 19:41:22 +02:00
Benoît Dejean
1f44dbb385 Released 2.27.1. 2009-05-03 18:57:33 +02:00
Benoît Dejean
d99a29d217 Looks for smaps member using a gperf table instead of using
bsearch.
Brings a 25% boost.
2009-05-03 16:40:13 +02:00
Benoît Dejean
15abcdbbf2 Bumped version number. 2009-05-03 16:40:02 +02:00
Benoît Dejean
62bafe804e Don't use sscanf anymore when parsins smaps.
That's more code but it brings a 20% speed improvement.
2009-05-03 16:25:31 +02:00
Benoît Dejean
9f051c9569 Added cygwin support.
Patch by Cygwin Ports maintainer <yselkowitz@users.sourceforge.net>.
See #578890.
2009-04-30 20:55:15 +02:00
Benoît Dejean
231f4d2a14 Fixed DOAP file. 2009-04-30 20:49:34 +02:00
Benoît Dejean
4af6777d76 Also ship DOAP file. 2009-04-30 17:31:46 +02:00
Benoît Dejean
c05776fa09 Added DOAP file. 2009-04-30 17:30:54 +02:00
Diego Elio 'Flameeyes' Pettenò
f6b31585bb Don't call AC_CANONICAL_SYSTEM but AC_CANONICAL_HOST.
The former macro checks for definitions for all the three definitions
(host, build and target) but the configure script only uses $host.

Refer to
http://www.flameeyes.eu/autotools-mythbuster/autoconf/canonical.html or to
http://blog.flameeyes.eu/s/canonical-target for more details.

Signed-off-by: Benoît Dejean <benoit@placenet.org>
2009-04-30 17:21:15 +02:00
Benoît Dejean
f3c86c8767 Bumped version number to 2.27.0. 2009-04-18 20:32:24 +02:00
Benoît Dejean
c26b6ead21 Released 2.26.1.
svn path=/trunk/; revision=2817
2009-04-13 19:37:26 +00:00
Benoît Dejean
3d9f260bd4 Always ignore "none" FS type.
See #577537.

svn path=/trunk/; revision=2816
2009-03-31 22:31:48 +00:00
Djihed Afifi
2ed2120869 Updated Arabic translation
svn path=/trunk/; revision=2815
2009-03-18 09:20:50 +00:00
Ignacio Casal Quinteiro
5d02f86549 Updated Galician translation by Suso Baleato.
svn path=/trunk/; revision=2814
2009-03-16 22:15:33 +00:00
Amitakhya Phukan
6e3d067edd Updated assamese translations
svn path=/trunk/; revision=2813
2009-03-16 05:32:41 +00:00
Amanpreet Singh Alam
bc19d07178 updating for Gnome Punjabi Translation by A S Alam
svn path=/trunk/; revision=2812
2009-03-16 03:06:00 +00:00
Shankar Prasad
8e288b06be added kn.po and updated ChangeLog and LINGUAS
svn path=/trunk/; revision=2811
2009-03-15 16:19:16 +00:00
Manoj Kumar Giri
ffcbac629f Added entries for Oriya language Translation updation.
svn path=/trunk/; revision=2810
2009-03-10 13:55:41 +00:00
Manoj Kumar Giri
568144dcd7 Updated Oriya Translation.
svn path=/trunk/; revision=2809
2009-03-10 13:54:12 +00:00
Benoît Dejean
d75259cbca Released 2.26.0.
svn path=/trunk/; revision=2807
2009-03-01 22:32:30 +00:00
Benoît Dejean
7e697f047a Missing file.
svn path=/trunk/; revision=2805
2009-02-16 23:13:00 +00:00
Benoît Dejean
c1fba7d0fa Released 2.25.91.
svn path=/trunk/; revision=2803
2009-02-16 23:05:34 +00:00
Benoît Dejean
d541cf22ef r2792 | bdejean | 2009-01-12 22:05:48 +0100 (lun 12 jan 2009) | 4 lines
Fixed Darwin build.
Patch by "paul" <ephraim_owns@hotmail.com>.
See #556904.

svn path=/trunk/; revision=2802
2009-02-16 22:57:54 +00:00
Benoît Dejean
35a0ac4f2c r2790 | bdejean | 2009-01-12 19:39:44 +0100 (lun 12 jan 2009) | 3 lines
Fixed read(2) usage.
Closes #468495.

svn path=/trunk/; revision=2801
2009-02-16 22:57:05 +00:00
Chao-Hsiung Liao
391377ccf8 2.25.0
svn path=/trunk/; revision=2800
2009-02-09 00:06:39 +00:00
Changwoo Ryu
c0d87d96d3 Updated Korean translation
svn path=/trunk/; revision=2799
2009-01-29 07:19:24 +00:00
Raivis Dejus
a7f2a1db4a Updated Latvian translation.
2009-01-25  Raivis Dejus  <orvils@gmail.com>

	* lv.po: Updated Latvian translation.


svn path=/trunk/; revision=2798
2009-01-25 15:53:05 +00:00
Benoît Dejean
77fff173fc Fixed potential memory leak.
Patch by Vincent Untz <vuntz@gnome.org>.
Closes #566611.

svn path=/trunk/; revision=2787
2009-01-08 00:37:59 +00:00
Thomas James Alexander Thurman
863da1cdfd Updated Latin translation
svn path=/trunk/; revision=2786
2008-11-15 03:58:00 +00:00
Benoît Dejean
23798fbd51 Single glib.h include.
Closes #557826.

svn path=/trunk/; revision=2785
2008-11-07 23:58:43 +00:00
Benoît Dejean
8399315a4f En route pour gnome-2-26.
svn path=/trunk/; revision=2784
2008-11-07 23:29:17 +00:00
Benoît Dejean
ab3f8f58ef Updated example.
svn path=/trunk/; revision=2782
2008-10-24 19:28:51 +00:00
Djihed Afifi
e5fdd58fee Updated Arabic Translation by Khaled Hosny.
* Updated Arabic Translation by Khaled Hosny. 

svn path=/trunk/; revision=2781
2008-10-19 11:44:17 +00:00
Benoît Dejean
86f43f408b Released 2.24.0.
svn path=/trunk/; revision=2778
2008-09-22 07:31:53 +00:00
Laurent Dhima
1aab514cda Updated Translation
svn path=/trunk/; revision=2777
2008-09-20 10:32:56 +00:00
Mugurel Tudor
3a8f2335c9 Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2008-09-19  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>

svn path=/trunk/; revision=2776
2008-09-19 14:57:10 +00:00
Baris Cicek
5b5c9215dc Updated Turkish Translation
svn path=/trunk/; revision=2775
2008-09-18 02:37:46 +00:00
Djihed Afifi
bf13e02061 Updated Arabic Translation by Khaled Hosny.
* Updated Arabic Translation by Khaled Hosny. 

svn path=/trunk/; revision=2774
2008-09-18 02:05:54 +00:00
Djihed Afifi
1e2c9d5517 Updated Arabic Translation by Khaled Hosny.
* Updated Arabic Translation by Khaled Hosny. 

svn path=/trunk/; revision=2773
2008-09-15 09:43:58 +00:00
Baris Cicek
5dccc423d8 Updated Turkish Translation
svn path=/trunk/; revision=2772
2008-09-13 23:31:54 +00:00
Robert Sedak
d58409351c Update: Croatian Language
svn path=/trunk/; revision=2771
2008-09-09 15:51:16 +00:00
Goran Rakic
1c20ceb694 Conversion from sr@Latn to sr@latin
svn path=/trunk/; revision=2770
2008-08-25 14:56:00 +00:00
Benoît Dejean
3d4491494f Released 2.23.90.
svn path=/trunk/; revision=2768
2008-08-18 16:11:59 +00:00
Benoît Dejean
10a04fc9c7 Improved freebsd port.
Patch by Joe Marcus Clarke <marcus@freebsd.org>.
Closes #548184.

svn path=/trunk/; revision=2767
2008-08-18 16:11:07 +00:00
Benoît Dejean
10e5124770 Bumped version number
svn path=/trunk/; revision=2766
2008-08-18 16:09:34 +00:00
Djihed Afifi
f269f738d7 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2765
2008-08-06 08:32:20 +00:00
Djihed Afifi
bc86ee5421 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2764
2008-07-29 01:34:38 +00:00
Leonardo Ferreira Fontenelle
7ea989c2b8 Terminology improvement by Vladimir Melo.
2008-07-25  Leonardo Ferreira Fontenelle  <leonardof@gnome.org>

	* pt_BR.po: Terminology improvement by Vladimir Melo.

svn path=/trunk/; revision=2763
2008-07-26 00:36:51 +00:00
Benoît Dejean
91b7ae4b11 Released 2.23.4.
svn path=/trunk/; revision=2759
2008-06-23 22:07:54 +00:00
Benoît Dejean
ce23ce407c Improved example.
svn path=/trunk/; revision=2758
2008-06-23 22:07:26 +00:00
Benoît Dejean
7f779e078d Fixed I/O stats so it works for unpartionned devices (e.g. cdrom).
svn path=/trunk/; revision=2757
2008-06-22 11:27:30 +00:00
Benoît Dejean
229eab1213 Updated example to display read/write counters.
svn path=/trunk/; revision=2756
2008-06-22 10:50:29 +00:00
Benoît Dejean
791e0dd859 Handle new /sys/block/.../stat format for linux >= 2.6.25.
Closes #539360.

svn path=/trunk/; revision=2755
2008-06-22 09:31:41 +00:00
Djihed Afifi
f63973eac5 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2752
2008-06-11 21:40:37 +00:00
Benoît Dejean
806a2d2d7e Released 2.23.2.
svn path=/trunk/; revision=2750
2008-05-24 16:23:07 +00:00
Benoît Dejean
af81e9be75 Put back the old behaviour (no smart pss for now).
svn path=/trunk/; revision=2749
2008-05-24 16:20:01 +00:00
Benoît Dejean
90fc3ca780 New API to retrieve process CPU affinity.
Linux implementation.

svn path=/trunk/; revision=2748
2008-05-24 09:50:04 +00:00
Benoît Dejean
99e9437b37 Fixed libtool version.
Thanks to Bastien Nocera and Matteo Settenvini.
Set to 9:0:2.

svn path=/trunk/; revision=2746
2008-05-23 22:04:24 +00:00
Djihed Afifi
6c7f40ac64 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2744
2008-05-22 22:59:38 +00:00
Djihed Afifi
e75261ada8 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2743
2008-05-19 01:14:20 +00:00
Benoît Dejean
dc5da30913 Fixed parsing of big /proc/stat for uptime.
svn path=/trunk/; revision=2741
2008-04-28 16:20:56 +00:00
Benoît Dejean
4d78d26932 First try to implement proportional set size by recyling
glibtop_proc_mem's duplicate members.x
Currently implemented on linux in rss member, for now
size,share,resident,rss are the only filled members.

svn path=/trunk/; revision=2740
2008-04-21 18:59:25 +00:00
Benoît Dejean
cd950bbf73 Added comment about get_scaled usage.
svn path=/trunk/; revision=2739
2008-04-21 18:59:23 +00:00
Benoît Dejean
c1b95643a8 Updated glibtop_get_proc_open_files API so that it also list IPv6 TCP sockets.
Patch by Mark McClelland <mark@ovcam.org>.
Closes #528175.

WTH do we not care about udp ?

Updated libtool versioning: API addition does not change the ABI, so only
increased revision. gnome-2.22 is 8.1.1 so trunk is now 8.2.1.

svn path=/trunk/; revision=2738
2008-04-21 18:59:20 +00:00
Benoît Dejean
be8a371481 Fixed debug macro name.
svn path=/trunk/; revision=2736
2008-04-14 16:22:03 +00:00
Benoît Dejean
fedd75b2b1 Dropped dead files.
svn path=/trunk/; revision=2735
2008-04-14 16:22:00 +00:00
Benoît Dejean
a02e213373 Fixed ;;. Closes #521084.
Fixed ;;.
Closes #521084.

svn path=/trunk/; revision=2734
2008-04-05 17:13:28 +00:00
Benoît Dejean
e3697c9a9e Released 2.22.1.
svn path=/trunk/; revision=2732
2008-04-04 18:27:42 +00:00
Benoît Dejean
91e2e5a1b7 Bumped version number.
svn path=/trunk/; revision=2731
2008-04-04 17:31:42 +00:00
Eskild Hustvedt
158280e297 Updated the Norwegian Nynorsk translation
svn path=/trunk/; revision=2730
2008-04-04 11:45:43 +00:00
Benoît Dejean
62c741074c Fixed dist for !linux.
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
Closes #525953.

svn path=/trunk/; revision=2729
2008-04-03 16:39:43 +00:00
Benoît Dejean
87a80ba430 Fixed warnings about proclist returning pid_t.
svn path=/trunk/; revision=2728
2008-04-03 16:29:55 +00:00
Simos Xenitellis
7bb5abb9a8 Updated Greek translation
svn path=/trunk/; revision=2727
2008-03-16 17:04:28 +00:00
Benoît Dejean
40485978ec Released 2.22.0
svn path=/trunk/; revision=2725
2008-03-10 19:04:34 +00:00
Gabor Kelemen
73c62a7bdb Translation updated
2008-03-09  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated


svn path=/trunk/; revision=2724
2008-03-09 21:03:49 +00:00
Yannig MARCHEGAY
e4d9c10a73 Updated Occitan translation
svn path=/trunk/; revision=2723
2008-03-08 09:52:17 +00:00
Marcel Telka
5d3f18e12c Updated Slovak translation.
2008-03-06  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.

svn path=/trunk/; revision=2720
2008-03-06 21:13:15 +00:00
Benoît Dejean
d97b0c3419 Fixed flags.
svn path=/trunk/; revision=2719
2008-03-02 18:07:24 +00:00
Benoît Dejean
960d12822d Really set wchan.
svn path=/trunk/; revision=2718
2008-03-02 18:07:22 +00:00
Benoît Dejean
f79f25f5ce Bumped version to 2.21.93.
svn path=/trunk/; revision=2717
2008-03-02 18:04:06 +00:00
Changwoo Ryu
3bb78c22c4 Updated Korean translation
svn path=/trunk/; revision=2716
2008-02-26 10:14:36 +00:00
Benoît Dejean
4971103dc3 Released 2.21.92.
svn path=/trunk/; revision=2714
2008-02-25 19:31:05 +00:00
Benoît Dejean
35fab4d9aa Smarter smaps parsing.
See #518145.

svn path=/trunk/; revision=2713
2008-02-24 17:52:24 +00:00
Yannig MARCHEGAY
2078320e14 Updated Occitan translation
svn path=/trunk/; revision=2711
2008-02-19 21:42:33 +00:00
Chao-Hsiung Liao
46a29ac020 Updated Traditional Chinese translation(Hong Kong). Updated Traditional
2008-02-14  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

        * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
        * zh_TW.po: Updated Traditional Chinese translation(Taiwan).



svn path=/trunk/; revision=2710
2008-02-14 12:14:40 +00:00
Pawan Chitrakar
d9c98b57c9 Updated Nepali Translation
svn path=/trunk/; revision=2709
2008-02-14 09:14:15 +00:00
Petr Kovář
9ce9de7942 cs.po: Updated Czech translation by Lucas Lommer.
svn path=/trunk/; revision=2708
2008-02-11 18:20:18 +00:00
Djihed Afifi
1409a8ef80 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2707
2008-01-31 08:22:02 +00:00
Benoît Dejean
bff4a84864 Released 2.21.5
svn path=/trunk/; revision=2705
2008-01-14 18:32:57 +00:00
Djihed Afifi
77524a1ad2 Updated Arabic Translation by Khaled Hosny. . Also QA'ed by Khaled.
svn path=/trunk/; revision=2704
2008-01-12 01:07:16 +00:00
Inaki Larranaga Murgoitio
a171755aa6 Updated Basque translation.
2008-01-11  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/trunk/; revision=2703
2008-01-11 15:39:27 +00:00
Benoît Dejean
1d5f2cb395 Fixed build on GNU/kFreeBSD.
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
Closes #507430.

svn path=/trunk/; revision=2698
2008-01-05 13:45:31 +00:00
Benoît Dejean
86ace13645 Fixed unit of vsize and resident.
Patch by Kuang-che Wu <kcwu@csie.org>.
Closes #506889.

svn path=/trunk/; revision=2697
2008-01-05 13:45:17 +00:00
Yannig MARCHEGAY
57b1547333 Updated Occitan translation
svn path=/trunk/; revision=2694
2007-12-31 20:58:40 +00:00
Rahul Bhalerao
efee8728d1 Added Marathi Translations
svn path=/trunk/; revision=2693
2007-12-28 10:55:49 +00:00
Ignacio Casal Quinteiro
9ae5202a78 Updated Galician Translation.
svn path=/trunk/; revision=2692
2007-11-28 13:29:27 +00:00
Yannig MARCHEGAY
07322469b7 Updated Occitan translation
svn path=/trunk/; revision=2691
2007-11-20 20:04:46 +00:00
Kjartan Maraas
b797fcf578 Updated Norwegian bokmål translation.
2007-11-01  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=2690
2007-11-01 20:14:19 +00:00
Benoît Dejean
7725fdff77 Released 2.21.1.
svn path=/trunk/; revision=2688
2007-10-29 21:31:01 +00:00
Djihed Afifi
e5298ca598 Updated Arabic Translation by Youssef Chahibi.
svn path=/trunk/; revision=2687
2007-10-23 20:56:03 +00:00
Djihed Afifi
92d54e287a Updated Arabic Translation by Youssef Chahibi.
svn path=/trunk/; revision=2685
2007-10-21 16:45:11 +00:00
Matej Urbančič
2d9656e82a Updated Slovenian translation
svn path=/trunk/; revision=2684
2007-10-18 19:13:43 +00:00
Benoît Dejean
8674e92349 Implemented a linux-only fsusage sysdeps.
svn path=/trunk/; revision=2683
2007-10-17 20:53:53 +00:00
Benoît Dejean
f5bbc36a91 Little performance tuning to avoid too many array reallocation.
svn path=/trunk/; revision=2682
2007-10-17 20:52:50 +00:00
Benoît Dejean
b058565419 Displays all fs.
svn path=/trunk/; revision=2681
2007-10-17 20:51:40 +00:00
Yair Hershkovitz
2c6b951822 updated hebrew translation
svn path=/trunk/; revision=2680
2007-10-15 22:43:00 +00:00
Benoît Dejean
9b072525a6 Implemented a linux-only mountlist.
Smarter ignore list based on /proc/filesystems.

svn path=/trunk/; revision=2678
2007-10-15 17:52:34 +00:00
Benoît Dejean
e2e0e3a555 Don't export _s and _p symbols. These symbols were never meant to be
public (i know, i say it all the time ;). I've checked every
debian/sid package which depends on libgtop2-7 and it's OK.
This also fixes a symbol mess on darwin.

svn path=/trunk/; revision=2677
2007-10-15 17:49:29 +00:00
Benoît Dejean
f37f72781a Copy there to have a linux-only implementation.
svn path=/trunk/; revision=2676
2007-10-15 17:46:38 +00:00
Benoît Dejean
9618fe795f Fixed netload build.
Patch by Henry Zhang <hua.zhang@sun.com>.
Closes #346021.

svn path=/trunk/; revision=2675
2007-10-10 08:13:49 +00:00
Benoît Dejean
2e3231b051 Fixed libtool versioning.
gnome-2.20 is 8.0.1
trunk is now 8.1.1 i.e. revison 1 of 8.0.1.

svn path=/trunk/; revision=2674
2007-10-05 16:10:23 +00:00
Benoît Dejean
7fd14852db Use G_GINT64_MODIFIER to avoid warnings on LLP64.
svn path=/trunk/; revision=2673
2007-10-03 19:50:00 +00:00
Benoît Dejean
73728a78c7 Added rpc_pipefs to ignore list.
svn path=/trunk/; revision=2672
2007-10-03 19:49:13 +00:00
Benoît Dejean
3f55d507dd Fixed arguments type.
svn path=/trunk/; revision=2671
2007-10-03 19:29:28 +00:00
Alessio Frusciante
13cec7830f Updated Italian translation.
svn path=/trunk/; revision=2669
2007-10-02 21:18:59 +00:00
Benoît Dejean
665d65d164 Fixed printf format overflow.
svn path=/trunk/; revision=2668
2007-10-01 21:11:38 +00:00
Benoît Dejean
21adc6b0c5 Updated libtool version.
svn path=/trunk/; revision=2667
2007-09-28 17:40:06 +00:00
Benoît Dejean
3529a1b59f Added darwin port. Patch by Benjamin Reed <ranger@befunk.com>. Closes
Added darwin port.
Patch by Benjamin Reed <ranger@befunk.com>.
Closes #481068.

Bumped version number to 2.21.1.

svn path=/trunk/; revision=2666
2007-09-28 17:36:48 +00:00
Benoît Dejean
8a0a3632ac Use fstat instead of stat.
svn path=/trunk/; revision=2665
2007-09-28 17:32:59 +00:00
Benoît Dejean
e6f9e07a9e "." is not a tid.
svn path=/trunk/; revision=2664
2007-09-28 17:30:31 +00:00
Alexander Shopov
755695c537 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-09-18  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/trunk/; revision=2660
2007-09-18 07:46:51 +00:00
Artur Flinta
dba423b6e7 Updated Polish translation by GNOME PL Team.
2007-09-17  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/trunk/; revision=2659
2007-09-17 19:17:02 +00:00
Kenneth Nielsen
83cda8c605 Updated Danish translation
svn path=/trunk/; revision=2658
2007-09-16 21:19:30 +00:00
Gil Forcada Codinachs
6856c690f3 Updated Catalan translation
svn path=/trunk/; revision=2657
2007-09-16 20:29:37 +00:00
Benoît Dejean
a9b3964675 Released 2.20.0.
svn path=/trunk/; revision=2655
2007-09-16 13:02:10 +00:00
Gintautas Miliauskas
44b360a521 Updated Lithuanian translation.
2007-09-16  Gintautas Miliauskas  <gintas@akl.lt>

	* lt.po: Updated Lithuanian translation.



svn path=/trunk/; revision=2654
2007-09-16 10:55:47 +00:00
Djihed Afifi
699524ea6a Updated Arabic Translation by Youssef Chahibi.
svn path=/trunk/; revision=2653
2007-09-13 22:45:17 +00:00
Gabor Kelemen
2f4826b4d8 Translation updated.
2007-09-13 Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.


svn path=/trunk/; revision=2652
2007-09-13 22:06:45 +00:00
Mugurel Tudor
83160ef48c Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2007-09-13  Mugurel Tudor  <mugurelu@gnome.ro>

        * ro.po: Updated Romanian translation
        by Mişu Moldovan <dumol@gnome.ro>

svn path=/trunk/; revision=2651
2007-09-13 07:46:12 +00:00
Maxim Dziumanenko
76bfbd3006 Update Ukrainian translation.
2007-09-12 Maxim Dziumanenko <dziumanenko@gmail.com>

	* Update Ukrainian translation.

svn path=/trunk/; revision=2650
2007-09-12 13:20:20 +00:00
Goran Rakic
73c9b1dd20 Updated Serbian translation
svn path=/trunk/; revision=2649
2007-09-12 11:31:47 +00:00
Duarte Loreto
da878ec588 Updated Portuguese translation.
2007-09-08  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/trunk/; revision=2648
2007-09-08 00:57:13 +00:00
Yang Zhang
f3c90e4b3a Updated zh_CN translation
svn path=/trunk/; revision=2647
2007-09-07 09:27:35 +00:00
Nickolay V. Shmyrev
f3959743b6 Updated Russian translation.
2007-09-05  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
 
	* ru.po: Updated Russian translation.


svn path=/trunk/; revision=2646
2007-09-05 15:06:56 +00:00
Jovan Naumovski
70a58a4cd4 2007-09-03 Jovan Naumovski <jovanna@svn.gnome.org> *mk.po: Updated Macedonian translation.
svn path=/trunk/; revision=2645
2007-09-02 23:39:41 +00:00
Yannig MARCHEGAY
600bb6f004 Updated Occitan translation
svn path=/trunk/; revision=2644
2007-09-01 20:16:45 +00:00
Benoît Dejean
d5ccf3404b Released 2.19.92.
svn path=/trunk/; revision=2642
2007-08-27 06:08:09 +00:00
Benoît Dejean
b17762a5ae Fixed cpuinfo path. Sorry :/
Fixed cpuinfo path.
Sorry :/

svn path=/trunk/; revision=2641
2007-08-27 05:59:15 +00:00
Benoît Dejean
1f2325b441 Released 2.19.91.
svn path=/trunk/; revision=2639
2007-08-26 16:11:32 +00:00
Benoît Dejean
b1757616d8 Bump version number.
svn path=/trunk/; revision=2638
2007-08-26 16:08:39 +00:00
Benoît Dejean
871f300a2c Added a bufsiz argument to file_to_buffer().
Increased read buffer size in get_sysinfo().

svn path=/trunk/; revision=2637
2007-08-26 16:05:36 +00:00
Stéphane Raimbault
650c8f2582 Updated French translation.
svn path=/trunk/; revision=2636
2007-08-24 19:26:29 +00:00
Yannig MARCHEGAY
28ae85c10b Updated Occitan translation
svn path=/trunk/; revision=2635
2007-08-21 11:12:23 +00:00
Yannig MARCHEGAY
ce37ceeb15 Updated Occitan translation
svn path=/trunk/; revision=2634
2007-08-17 17:51:47 +00:00
Runa Bhattacharjee
706c847b17 Added Entry for Bengali India Translation Updation
svn path=/trunk/; revision=2633
2007-08-10 09:23:19 +00:00
Runa Bhattacharjee
82be8d7f8d Updated Bengali India Translation
svn path=/trunk/; revision=2632
2007-08-10 09:23:07 +00:00
Benoît Dejean
22e55d2e37 Formated as Olav Vitters requested it.
svn path=/trunk/; revision=2631
2007-08-08 18:10:49 +00:00
Ankitkumar Rameshchandra Patel
31844753e8 Updated Translation
svn path=/trunk/; revision=2630
2007-08-07 11:56:49 +00:00
Ilkka Tuohela
0ad36c2f62 Updated Finnish translation
svn path=/trunk/; revision=2629
2007-08-06 13:31:44 +00:00
Inaki Larranaga Murgoitio
79143ecad7 Updated Basque translation.
2007-08-05  Inaki Larranaga Murgoitio  <dooteo@zundan.com>

	* eu.po: Updated Basque translation.


svn path=/trunk/; revision=2628
2007-08-05 11:48:39 +00:00
Benoît Dejean
62dba864d7 Removed empty directory.
svn path=/trunk/; revision=2627
2007-07-29 16:22:09 +00:00
Leonardo Ferreira Fontenelle
21a763e55a Brazilian Portuguese translation updated by Og Maciel
2007-07-21  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Brazilian Portuguese translation updated by Og Maciel
	<ogmaciel@ubuntu.com>.

svn path=/trunk/; revision=2626
2007-07-21 17:39:11 +00:00
Hendrik Richter
c81d6306e5 Updated German translation.
2007-07-19  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/trunk/; revision=2625
2007-07-19 17:27:33 +00:00
Wouter Bolsterlee
7270bcc9d5 Dutch translation updated by Wouter Bolsterlee.
2007-07-17  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* nl.po: Dutch translation updated by Wouter Bolsterlee.


svn path=/trunk/; revision=2624
2007-07-17 16:53:54 +00:00
Ilkka Tuohela
3c39f89281 Updated Finnish translation
svn path=/trunk/; revision=2623
2007-07-16 16:10:14 +00:00
Benoît Dejean
e34f38d3fc Released 2.19.5.
svn path=/trunk/; revision=2621
2007-07-09 19:54:17 +00:00
Felix I
a207cc1580 updated ta translation
svn path=/trunk/; revision=2620
2007-07-09 11:21:44 +00:00
Takeshi AIHANA
b219d3181e Updated Japanese translation.
2007-07-07  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/trunk/; revision=2619
2007-07-07 16:23:51 +00:00
Benoît Dejean
bc848239ff Forgot to add these files.
svn path=/trunk/; revision=2618
2007-07-02 15:47:24 +00:00
Benoît Dejean
0285e018f4 Fixe some problems as well as implements procwd and procopenfiles for
2007-07-01  Benoît Dejean  <benoit@placenet.org>

	Fixe some problems as well as implements procwd and procopenfiles
	for FreeBSD using a wrapper around lsof. This same backend should
	also work on kFreeBSD.

	Patch by Joe Marcus Clarke <marcus@freebsd.org>

svn path=/trunk/; revision=2617
2007-07-01 13:21:07 +00:00
Clytie Siddall
01f1e7e955 Updated Vietnamese translation.
svn path=/trunk/; revision=2616
2007-06-27 08:13:35 +00:00
Benoît Dejean
ef34cfb38a git-svn sucks. Kill r2609
svn path=/trunk/; revision=2611
2007-06-25 17:30:40 +00:00
Benoît Dejean
1e0ba1d7aa Fixed smaps parsing with linux > 2.6.21.
Closes #449595.
Improved example.

svn path=/trunk/; revision=2610
2007-06-25 17:27:29 +00:00
Benoît Dejean
6b0bafcafb New API : glibtop_get_proc_affinity.
Implemented for linux.

svn path=/trunk/; revision=2609
2007-06-25 17:27:27 +00:00
Kjartan Maraas
c0856a39bd Updated Norwegian bokmål translation.
2007-06-23  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=2608
2007-06-23 09:52:40 +00:00
581 changed files with 21401 additions and 7153 deletions

85
.gitignore vendored Normal file
View File

@@ -0,0 +1,85 @@
*~
*.bak
*.o
*.out
*.a
*.gmo
*.lo
*.la
*.core
*.s
*.stamp
.libs
.deps
Makefile
Makefile.in
src/daemon/libgtop_daemon2
src/daemon/libgtop_server2
stamp-h1
po/stamp-it
po/POTFILES
po/Makefile.in.in
missing
m4/
ltmain.sh
libtool
libgtopconfig.h
libgtop.spec
libgtop-2.0.pc
lib/lib.c
lib/GTop-2.0.gir
lib/GTop-2.0.typelib
INSTALL
aclocal.m4
autom4te.cache/
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
compile
depcomp
doc/libgtop2.info
doc/mdate-sh
doc/reference/html/
doc/reference/libgtop-decl-list.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/version.xml
doc/reference/xml/
doc/stamp-vti
doc/texinfo.tex
doc/version.texi
examples/affinity
examples/df
examples/first
examples/free
examples/mountlist
examples/netlist
examples/netload
examples/openfiles
examples/pprint
examples/procargs
examples/proclist
examples/procmap
examples/second
examples/smp
examples/sysdeps
examples/timings
examples/wd
gtk-doc.make
install-sh
intltool-extract.in
intltool-merge.in
intltool-update.in

340
COPYING Normal file
View File

@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program 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.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1 +1,4 @@
Benoît Dejean (benoit@placenet.org) Benoît Dejean
E-mail: benoit@placenet.org
Userid: bdejean

View File

@@ -1,3 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
if EXAMPLES if EXAMPLES
EXAMPLES_DIR = examples EXAMPLES_DIR = examples
@@ -16,7 +17,9 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
libgtop-2.0.pc.in acinclude.m4 \ libgtop-2.0.pc.in acinclude.m4 \
intltool-extract.in \ intltool-extract.in \
intltool-merge.in \ intltool-merge.in \
intltool-update.in libgtop.doap \
intltool-update.in \
m4/introspection.m4
DISTCLEANFILES = \ DISTCLEANFILES = \
intltool-extract \ intltool-extract \
@@ -32,4 +35,4 @@ pkgconfig_DATA = libgtop-2.0.pc
libgtop-features.def: features.def libgtop-features.def: features.def
@LN_S@ $< $@ @LN_S@ $< $@
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection

236
NEWS
View File

@@ -1,3 +1,239 @@
29 February 2016: Overview of changes in 2.33.91
* Updated translations
* Fix building on must-libc
18 January 2016: Overview of changes in 2.33.4
* On OpenBSD only PID 1 is special
* Call setlocale in main
14 December: Overview of changes in 2.33.3
* Fixed borken compilation on OpenBSD
* Updated translations.
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
=============================================
* Fix numerous bugs in the OpenBSD backend.
* Updated translations.
30 August 2011: Overview of changes in 2.28.4
=============================================
* Fix numerous bugs in the FreeBSD backend.
* Split off OpenBSD code in its own backend, and fixes.
* Updated translations.
25 March 2011: Overview of changes in 2.28.3
================================================
* Fix build issue for strict linkers.
* Add Introspection support
* Cygwin fixes.
* FreeBSD: Fix get_mem() on 64-bit systems.
* Updated translations.
28 September 2010: Overview of changes in 2.28.2
================================================
* Updated translations.
30 March 2010: Overview of changes in 2.28.1
============================================
* Updated translations.
21 September 2009: Overview of changes in 2.28.0
================================================
* Updated translations.
25 May 2009: Overview of changes in 2.27.3
==========================================
* linux:
- fixed format error.
3 May 2009: Overview of changes in 2.27.2
=========================================
* linux:
- glibtop_get_proc_map: oops, fixed segfault.
3 May 2009: Overview of changes in 2.27.1
=========================================
* linux:
- glibtop_get_proc_map is ~40% faster. This should be noticeable
in system-monitor.
* New cygwin support.
13 April 2009: Overview of changes in 2.26.1
============================================
* linux:
- glibtop_get_mounlist(...): also hide "none" fs.
1 Mars 2009: Overview of changes in 2.26.0
==========================================
* Nothing.
17 February 2009: Overview of changes in 2.25.91
================================================
* Synced with gnome-2-24.
19 January 2009: Overview of changes in 2.24.4
==============================================
* Fixed license: libgtop is GPL-2.
12 January 2009: Overview of changes in 2.24.3
==============================================
* linux:
- fixed potential memory leak. Vincent Untz.
- fixed read(2) usage. Should fix the missing cpus bug in system-monitor.
* darwin:
- fixed build. "paul".
22 Septembre 2008: Overview of changes in 2.24.0
================================================
* Translation updates.
18 August 2008: Overview of changes in 2.23.90
==============================================
* freebsd:
- updated port by Joe Marcus Clarke.
23 June 2008: Overview of changes in 2.23.4
===========================================
* linux:
- Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
Closes #539360.
24 May 2008: Overview of changes in 2.23.2
==========================================
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
(Let's hope one day i'll find the gtk-doc documentation ...)
* linux:
- fixed parsing of big /proc/stat for uptime.
04 April 2008: Overview of changes in 2.22.1
============================================
* Fixed compilation/dist for !linux.
Closes #525953.
10 Mars 2008: Overview of changes in 2.22.0
===========================================
* linux:
- fixed proc_kernel.
25 February 2008: Overview of changes in 2.21.92
================================================
* linux:
- fixed smaps parsing on >= 2.6.24.x.
14 January 2008: Overview of changes in 2.21.5
==============================================
* freebsd:
- fixed build on GNU/kfreebsd. Petr Salinger.
- fixed procmem units. Kuang-che Wu.
28 October 2007: Overview of changes in 2.21.1
==============================================
* don't export _p/_s private symbols anymore. This is not an API/ABI breakage.
* darwin implementation by Benjamin Reed.
* linux:
- splitted fsusage and mountlist implementations;
- smarter mountlist(allfs = False);
- fixed some compile warning on 64bit;
* solaris:
- fixed netload build by Henry Zhang.
16 September 2007: Overview of changes in 2.20.0
================================================
* Updated translations.
27 August 2007: Overview of changes in 2.19.92
==============================================
* Fixed stupid hardwired path in linux/sysinfo.c
26 August 2007: Overview of changes in 2.19.91
==============================================
* Translations updates.
* linux:
- Small internal improvement. Might fix sysinfo when having more than
8 CPUS.
9 July 2007: Overview of changes in 2.19.5
==========================================
* linux:
- fixed proc_map for >= 2.6.22
* freebsd:
- implemented procwd and procopenfiles
Joe Marcus Clarke
18 June 2007: Overview of changes in 2.19.4 18 June 2007: Overview of changes in 2.19.4
=========================================== ===========================================
* solaris: * solaris:

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,12 +3,12 @@ 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], [19]) m4_define([libgtop_minor_version], [33])
m4_define([libgtop_micro_version], [4]) m4_define([libgtop_micro_version], [91])
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.
m4_define([libgtop_current], [8]) m4_define([libgtop_current], [10])
dnl increment any time the source changes; set to dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT dnl 0 if you increment CURRENT
@@ -17,7 +17,7 @@ m4_define([libgtop_revision], [0])
dnl increment if any interfaces have been added; set to 0 dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has dnl if any interfaces have been removed. removal has
dnl precedence over adding, so set to 0 if both happened. dnl precedence over adding, so set to 0 if both happened.
m4_define([libgtop_age], [1]) m4_define([libgtop_age], [0])
# Increase each time you change the client/server protocol. # Increase each time you change the client/server protocol.
m4_define([libgtop_server_version], [5]) m4_define([libgtop_server_version], [5])
@@ -25,15 +25,19 @@ m4_define([libgtop_server_version], [5])
# Version code calculation # Version code calculation
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)]) m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
AC_PREREQ(2.59) AC_PREREQ(2.62)
AC_INIT([libgtop], [libgtop_version], AC_INIT([libgtop], [libgtop_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop]) [http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
AC_CONFIG_SRCDIR(copyright.txt) AC_CONFIG_SRCDIR(copyright.txt)
AC_CONFIG_HEADERS(config.h) AC_CONFIG_HEADERS(config.h)
AC_CANONICAL_SYSTEM AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])
AC_CONFIG_MACRO_DIR([m4])
GOBJECT_INTROSPECTION_CHECK([0.6.7])
AM_INIT_AUTOMAKE
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}]) AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version]) AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
@@ -88,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)
@@ -258,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@:>@]),
@@ -269,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
@@ -305,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],
@@ -341,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)
@@ -380,6 +371,9 @@ sysdeps/freebsd/Makefile
sysdeps/solaris/Makefile sysdeps/solaris/Makefile
sysdeps/aix/Makefile sysdeps/aix/Makefile
sysdeps/bsd/Makefile sysdeps/bsd/Makefile
sysdeps/darwin/Makefile
sysdeps/cygwin/Makefile
sysdeps/openbsd/Makefile
src/Makefile src/Makefile
src/daemon/Makefile src/daemon/Makefile
lib/Makefile lib/Makefile

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

@@ -743,7 +743,7 @@ The description above is taken from the manual page of the @file{/proc}
filesystem under Linux and is a little bit confusing, so I make this clear filesystem under Linux and is a little bit confusing, so I make this clear
here. here.
@strong{Note for people porting LibGTop to other systems:} @strong{A word for people porting LibGTop to other systems:}
Every operating system has its own idea about the memory usage of a process Every operating system has its own idea about the memory usage of a process
and also system utilities like @code{ps} show different things on different and also system utilities like @code{ps} show different things on different
systems. systems.

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

@@ -219,17 +219,8 @@ glibtop_set_parameter_l
<INCLUDE>glibtop/procargs.h</INCLUDE> <INCLUDE>glibtop/procargs.h</INCLUDE>
<SECTION> <SECTION>
<FILE>procargs</FILE> <FILE>procargs</FILE>
GLIBTOP_PROC_ARGS_SIZE
GLIBTOP_MAX_PROC_ARGS
glibtop_proc_args glibtop_proc_args
glibtop_get_proc_args_l
glibtop_get_proc_args glibtop_get_proc_args
glibtop_get_proc_args_r
glibtop_init_proc_args_p
glibtop_get_proc_args_p
glibtop_init_proc_args_s
glibtop_get_proc_args_s
glibtop_get_proc_argv_l
glibtop_get_proc_argv glibtop_get_proc_argv
</SECTION> </SECTION>
@@ -420,26 +411,8 @@ glibtop_get_proc_uid_s
<INCLUDE>glibtop/proctime.h</INCLUDE> <INCLUDE>glibtop/proctime.h</INCLUDE>
<SECTION> <SECTION>
<FILE>proctime</FILE> <FILE>proctime</FILE>
GLIBTOP_PROC_TIME_START_TIME
GLIBTOP_PROC_TIME_RTIME
GLIBTOP_PROC_TIME_UTIME
GLIBTOP_PROC_TIME_STIME
GLIBTOP_PROC_TIME_CUTIME
GLIBTOP_PROC_TIME_CSTIME
GLIBTOP_PROC_TIME_TIMEOUT
GLIBTOP_PROC_TIME_IT_REAL_VALUE
GLIBTOP_PROC_TIME_FREQUENCY
GLIBTOP_PROC_TIME_XCPU_UTIME
GLIBTOP_PROC_TIME_XCPU_STIME
GLIBTOP_MAX_PROC_TIME
glibtop_proc_time glibtop_proc_time
glibtop_get_proc_time glibtop_get_proc_time
glibtop_get_proc_time_r
glibtop_get_proc_time_l
glibtop_init_proc_time_p
glibtop_get_proc_time_p
glibtop_init_proc_time_s
glibtop_get_proc_time_s
</SECTION> </SECTION>
<INCLUDE>glibtop/signal.h</INCLUDE> <INCLUDE>glibtop/signal.h</INCLUDE>
@@ -515,10 +488,6 @@ glibtop_send_version
<INCLUDE>glibtop/proclist.h</INCLUDE> <INCLUDE>glibtop/proclist.h</INCLUDE>
<SECTION> <SECTION>
<FILE>proclist</FILE> <FILE>proclist</FILE>
GLIBTOP_PROCLIST_NUMBER
GLIBTOP_PROCLIST_TOTAL
GLIBTOP_PROCLIST_SIZE
GLIBTOP_MAX_PROCLIST
GLIBTOP_KERN_PROC_ALL GLIBTOP_KERN_PROC_ALL
GLIBTOP_KERN_PROC_PID GLIBTOP_KERN_PROC_PID
GLIBTOP_KERN_PROC_PGRP GLIBTOP_KERN_PROC_PGRP
@@ -532,12 +501,6 @@ GLIBTOP_EXCLUDE_SYSTEM
GLIBTOP_EXCLUDE_NOTTY GLIBTOP_EXCLUDE_NOTTY
glibtop_proclist glibtop_proclist
glibtop_get_proclist glibtop_get_proclist
glibtop_get_proclist_r
glibtop_get_proclist_l
glibtop_init_proclist_p
glibtop_get_proclist_p
glibtop_init_proclist_s
glibtop_get_proclist_s
</SECTION> </SECTION>
<INCLUDE>glibtop/sem_limits.h</INCLUDE> <INCLUDE>glibtop/sem_limits.h</INCLUDE>

View File

@@ -1,14 +1,10 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
INCLUDES = @INCLUDES@
DEFS = @DEFS@
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 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
@@ -55,6 +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_LDADD = $(top_builddir)/lib/libgtop-2.0.la

34
examples/affinity.c Normal file
View File

@@ -0,0 +1,34 @@
#include <glibtop.h>
#include <glibtop/procaffinity.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t pid;
glibtop_proc_affinity buf;
guint16 *cpus;
size_t i;
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
pid = getpid();
glibtop_init();
cpus = glibtop_get_proc_affinity(&buf, pid);
g_print("Process %u:\n"
" - all: %d\n",
(unsigned)pid, buf.all);
for (i = 0; i != buf.number; ++i)
g_print(" - CPU#%u is set\n", cpus[i]);
g_free(cpus);
glibtop_close();
return 0;
}

View File

@@ -13,37 +13,62 @@ 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("%-20s %-10llu %-10llu %-10llu %.1f\n",
mountpoint, #define I(X) a[(X)]
buf.blocks * buf.block_size >> 20, I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
(buf.blocks - buf.bavail) * buf.block_size >> 20, I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
buf.bavail * buf.block_size >> 20, I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
(buf.blocks - buf.bavail) * 100.0 / buf.blocks 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()
{ {
glibtop_mountlist buf; glibtop_mountlist buf;
glibtop_mountentry *entries;
size_t i;
glibtop_init(); glibtop_init();
printf("%-20s %-10s %-10s %-10s %-10s\n", printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
"Filesystem", "Size", "Used", "Avail", "Use%"); "(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
entries = glibtop_get_mountlist(&buf, FALSE); if (argc > 1) {
while (*++argv)
print_fsusage(*argv);
} else {
glibtop_mountentry *entries;
size_t i;
for(i = 0; i < buf.number; ++i) entries = glibtop_get_mountlist(&buf, TRUE);
{
print_fsusage(entries[i].mountdir);
}
g_free(entries); for(i = 0; i < buf.number; ++i)
{
print_fsusage(entries[i].mountdir);
}
g_free(entries);
}
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
@@ -47,9 +47,9 @@ main (int argc, char *argv [])
{ {
glibtop_union data; glibtop_union data;
glibtop_sysdeps sysdeps; glibtop_sysdeps sysdeps;
unsigned c, method, count, port, i, *ptr; unsigned c, method, count, port, i;
char buffer [BUFSIZ]; char buffer [BUFSIZ];
pid_t pid, ppid; pid_t pid, ppid, *ptr;
char *args; char *args;
count = PROFILE_COUNT; count = PROFILE_COUNT;

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

@@ -37,9 +37,16 @@ static void show_open_files(pid_t pid)
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port); printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
break; break;
case GLIBTOP_FILE_TYPE_INET6SOCKET:
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
break;
case GLIBTOP_FILE_TYPE_LOCALSOCKET: case GLIBTOP_FILE_TYPE_LOCALSOCKET:
printf("localsocket %s\n", files[i].info.localsock.name); printf("localsocket %s\n", files[i].info.localsock.name);
break; break;
default:
printf("unknown type\n");
} }
} }

View File

@@ -3,6 +3,7 @@
#endif #endif
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/sysinfo.h>
#include <glibtop/union.h> #include <glibtop/union.h>
@@ -20,18 +21,59 @@
#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; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, \
(unsigned long) buf_offsetof(ARRAY), \
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for (i = 0; i < (SIZE); ++i) { \
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 { \
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, 0,\
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \ (unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \ for(i = 0; i < SIZE; ++i) { \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \ if (buf->ARRAY[i].values) { \
printf ("[ "); \
PPRINT_HASHTABLE(buf->ARRAY[i].values); \
printf ("]\n"); \
} \
} \
printf("} "); \
} while(0)
#define PPRINT_HASHTABLE(HASHTABLE) do { \
g_hash_table_foreach (HASHTABLE, (GHFunc)pprint_hashtable_item, NULL); \
} while(0) } while(0)
#define FOOTER_PPRINT() putchar('\n'); #define FOOTER_PPRINT() putchar('\n');
static void pprint_hashtable_item(gchar* key, gchar* value, gpointer user_data)
{
printf ("'%s': '%s', ", key, value);
}
static void pprint_get_sysinfo(void)
{
const glibtop_sysinfo *buf;
buf = glibtop_get_sysinfo();
HEADER_PPRINT(glibtop_get_sysinfo);
//PPRINT(flags, "%#llx");
//PPRINT(ncpu, "%llu");
PPRINT_ENTRY_ARRAY(cpuinfo, 4);
FOOTER_PPRINT();
}
static void pprint_get_cpu(void) static void pprint_get_cpu(void)
{ {
@@ -286,11 +328,34 @@ 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()
{ {
glibtop_init(); glibtop_init();
pprint_get_sysinfo();
pprint_get_cpu(); pprint_get_cpu();
pprint_get_fsusage("/"); pprint_get_fsusage("/");
@@ -317,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>
@@ -11,20 +14,34 @@
static void print_pids(guint64 which, guint64 arg) static void print_pids(guint64 which, guint64 arg)
{ {
unsigned *pids; pid_t *pids;
unsigned i; unsigned i;
glibtop_proclist buf; glibtop_proclist buf;
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,46 +140,31 @@ 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 - %4s - %s\n";
else
format = "%08lx-%08lx %08lx - "
"%02x:%02x %08lu - %4s - %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:%llu rss:%llu " g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
"shared_clean:%llu shared_dirty:%llu " "shared_clean:%lluKib shared_dirty:%lluKiB "
"private_clean:%llu private_dirty: %llu\n", "private_clean:%lluKiB private_dirty: %lluKiB\n",
maps[i].flags, maps[i].flags,
maps[i].size >> 10, maps[i].size >> 10,
maps[i].rss >> 10, maps[i].rss >> 10,

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
@@ -239,7 +235,8 @@ main (int argc, char *argv [])
{ {
glibtop_proclist proclist; glibtop_proclist proclist;
glibtop_sysdeps sysdeps; glibtop_sysdeps sysdeps;
unsigned *ptr, pid, i; unsigned i;
pid_t *ptr, pid;
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR); bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);

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
@@ -44,7 +44,7 @@
#endif #endif
#ifndef PROFILE_COUNT_EXPENSIVE #ifndef PROFILE_COUNT_EXPENSIVE
#define PROFILE_COUNT_EXPENSIVE 10000L #define PROFILE_COUNT_EXPENSIVE (PROFILE_COUNT / 10)
#endif #endif
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec) #define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
@@ -69,29 +69,47 @@
} \ } \
} 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 [])
{ {
glibtop_union data; glibtop_union data;
unsigned c, count, *ptr; unsigned c;
struct rusage total_start, total_end; struct rusage total_start, total_end;
struct rusage rusage_start, rusage_end; struct rusage rusage_start, rusage_end;
struct timeval elapsed_utime, elapsed_stime; struct timeval elapsed_utime, elapsed_stime;
pid_t pid; pid_t pid;
count = PROFILE_COUNT; pid = getpid ();
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
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);
@@ -184,12 +202,10 @@ main (int argc, char *argv [])
(long double) ELAPSED_UTIME / PROFILE_COUNT, (long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT); (long double) ELAPSED_STIME / PROFILE_COUNT);
printf ("\n");
getrusage (RUSAGE_SELF, &rusage_start); getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
ptr = glibtop_get_proclist (&data.proclist, 0, 0); pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0);
g_free (ptr); g_free (ptr);
} }
@@ -207,9 +223,26 @@ main (int argc, char *argv [])
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE, (long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE); (long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
pid = getpid (); getrusage (RUSAGE_SELF, &rusage_start);
printf ("\n"); for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
char** ptr = glibtop_get_netlist (&data.netlist);
g_strfreev (ptr);
}
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Netlist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proclist.flags,
PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start); getrusage (RUSAGE_SELF, &rusage_start);
@@ -267,6 +300,27 @@ main (int argc, char *argv [])
getrusage (RUSAGE_SELF, &rusage_start); getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
glibtop_map_entry* entries;
entries = glibtop_get_proc_map (&data.proc_map, pid);
g_free (entries);
}
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Map (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_map.flags, PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++) for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_segment (&data.proc_segment, pid); glibtop_get_proc_segment (&data.proc_segment, pid);
@@ -285,6 +339,27 @@ main (int argc, char *argv [])
getrusage (RUSAGE_SELF, &rusage_start); getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++) {
char** argv;
argv = glibtop_get_proc_argv (&data.proc_args, pid, 0);
g_strfreev(argv);
}
getrusage (RUSAGE_SELF, &rusage_end);
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
&elapsed_utime);
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
&elapsed_stime);
printf ("Proc_Args (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
(unsigned long) data.proc_args.flags, PROFILE_COUNT,
(long double) ELAPSED_UTIME / PROFILE_COUNT,
(long double) ELAPSED_STIME / PROFILE_COUNT);
getrusage (RUSAGE_SELF, &rusage_start);
for (c = 0; c < PROFILE_COUNT; c++) for (c = 0; c < PROFILE_COUNT; c++)
glibtop_get_proc_time (&data.proc_time, pid); glibtop_get_proc_time (&data.proc_time, pid);
@@ -354,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,26 +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|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__
#include <glib/gmacros.h> /* for pid_t, uid_t, gid_t */
#include <sys/types.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,13 +2,15 @@ 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 \
parameter.h mountlist.h fsusage.h procmap.h signal.h \ parameter.h mountlist.h fsusage.h procmap.h signal.h \
sysinfo.h ppp.h procargs.h netload.h \ sysinfo.h ppp.h procargs.h netload.h \
procwd.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__
@@ -58,8 +58,9 @@ G_BEGIN_DECLS
#define GLIBTOP_CMND_NETLIST 24 #define GLIBTOP_CMND_NETLIST 24
#define GLIBTOP_CMND_PROC_OPEN_FILES 25 #define GLIBTOP_CMND_PROC_OPEN_FILES 25
#define GLIBTOP_CMND_PROC_WD 26 #define GLIBTOP_CMND_PROC_WD 26
#define GLIBTOP_CMND_PROC_AFFINITY 27
#define GLIBTOP_MAX_CMND 27 #define GLIBTOP_MAX_CMND 28
#define _GLIBTOP_PARAM_SIZE 16 #define _GLIBTOP_PARAM_SIZE 16

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__
@@ -54,7 +54,7 @@ G_BEGIN_DECLS
Yes we are :) Yes we are :)
Nobody should really be using more than 32 processors. Nobody should really be using more than 32 processors.
*/ */
#define GLIBTOP_NCPU 32 #define GLIBTOP_NCPU 1024
typedef struct _glibtop_cpu glibtop_cpu; typedef struct _glibtop_cpu glibtop_cpu;

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

@@ -1,68 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 2.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_SERVER_H__
#define __GLIBTOP_SERVER_H__
#include <glibtop/global.h>
#include <glibtop/sysdeps.h>
G_BEGIN_DECLS
typedef struct _glibtop_server glibtop_server;
typedef struct _glibtop_server_info glibtop_server_info;
typedef struct _glibtop_closure glibtop_closure;
struct _glibtop_server_info
{
int ncpu; /* Number of CPUs, zero if single-processor */
unsigned long features; /* Server is required for this features */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
glibtop_sysdeps wanted; /* We only want this features */
};
struct _glibtop_server
{
glibtop_server_info *info;
int refcount;
unsigned flags;
const char *name;
void *_priv;
};
glibtop_server *
glibtop_server_new (void);
void
glibtop_server_ref (glibtop_server *server);
void
glibtop_server_unref (glibtop_server *server);
G_END_DECLS
#endif

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

@@ -0,0 +1,62 @@
/* Copyright (C) 2007 Benoît Dejean
This file is part of LibGTop 2.
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., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef __GLIBTOP_PROCAFFINITY_H__
#define __GLIBTOP_PROCAFFINITY_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
#define GLIBTOP_PROC_AFFINITY_ALL 1
#define GLIBTOP_MAX_PROC_AFFINITY 2
struct _glibtop_proc_affinity
{
guint64 flags;
guint32 number;
gboolean all;
};
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_AFFINITY
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
void _glibtop_init_proc_affinity_p(glibtop *server);
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#else
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
void _glibtop_init_proc_affinity_s(glibtop *server);
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#endif
G_END_DECLS
#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_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__
@@ -36,22 +36,89 @@ G_BEGIN_DECLS
/* You can use the folowing constants as the `which' member of /* You can use the folowing constants as the `which' member of
* glibtop_get_proclist () to specify which processes to fetch. */ * glibtop_get_proclist () to specify which processes to fetch. */
#define GLIBTOP_KERN_PROC_ALL 0 /* all processes */ /**
* GLIBTOP_KERN_PROC_ALL:
*
* Return information about all processes
**/
#define GLIBTOP_KERN_PROC_ALL 0
/**
* GLIBTOP_KERN_PROC_PID:
*
* Return all processes with the pid which is passed in @arg. You can use this to find out whether some process still exists.
**/
#define GLIBTOP_KERN_PROC_PID 1 #define GLIBTOP_KERN_PROC_PID 1
/**
* GLIBTOP_KERN_PROC_PGRP:
*
* Return all processes in the process group passed in @arg.
**/
#define GLIBTOP_KERN_PROC_PGRP 2 #define GLIBTOP_KERN_PROC_PGRP 2
/**
* GLIBTOP_KERN_PROC_SESSION:
*
* Return all processes in the session passed in @arg.
**/
#define GLIBTOP_KERN_PROC_SESSION 3 #define GLIBTOP_KERN_PROC_SESSION 3
/**
* GLIBTOP_KERN_PROC_TTY:
*
* Return all processes which have the controlling tty passed in @arg
* (which is interpreted as the device number).
**/
#define GLIBTOP_KERN_PROC_TTY 4 #define GLIBTOP_KERN_PROC_TTY 4
/**
* GLIBTOP_KERN_PROC_UID:
*
* Return all processes with the effective uid passed in @arg.
**/
#define GLIBTOP_KERN_PROC_UID 5 #define GLIBTOP_KERN_PROC_UID 5
/**
* GLIBTOP_KERN_PROC_RUID:
*
* Return all processes with the real uid passed in @arg.
**/
#define GLIBTOP_KERN_PROC_RUID 6 #define GLIBTOP_KERN_PROC_RUID 6
#define GLIBTOP_KERN_PROC_MASK 15 #define GLIBTOP_KERN_PROC_MASK 15
/**
* GLIBTOP_EXCLUDE_IDLE:
*
* Exclude idle processes.
**/
#define GLIBTOP_EXCLUDE_IDLE 0x1000 #define GLIBTOP_EXCLUDE_IDLE 0x1000
/**
* GLIBTOP_EXCLUDE_SYSTEM:
*
* Exclude system (on most UNIXes root's) processes.
**/
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000 #define GLIBTOP_EXCLUDE_SYSTEM 0x2000
/**
* GLIBTOP_EXCLUDE_NOTTY:
*
* Exclude processes without a controlling terminal.
**/
#define GLIBTOP_EXCLUDE_NOTTY 0x4000 #define GLIBTOP_EXCLUDE_NOTTY 0x4000
typedef struct _glibtop_proclist glibtop_proclist; typedef struct _glibtop_proclist glibtop_proclist;
/**
* glibtop_proclist:
* @number: Number of entries in the returned list.
* @total: Total size of the returned list (this equals @number * @size).
* @size: Size of a single entry in the returned list
* (this equals <type>sizeof(unsigned)</type>).
*/
struct _glibtop_proclist struct _glibtop_proclist
{ {
guint64 flags; guint64 flags;
@@ -60,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);
@@ -69,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);
@@ -76,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__
@@ -53,7 +53,8 @@ enum glibtop_file_type {
GLIBTOP_FILE_TYPE_FILE = 1, GLIBTOP_FILE_TYPE_FILE = 1,
GLIBTOP_FILE_TYPE_PIPE = 2, GLIBTOP_FILE_TYPE_PIPE = 2,
GLIBTOP_FILE_TYPE_INETSOCKET = 4, GLIBTOP_FILE_TYPE_INETSOCKET = 4,
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8 GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
}; };
typedef struct _glibtop_open_files_entry glibtop_open_files_entry; typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
@@ -65,7 +66,8 @@ struct _glibtop_open_files_entry
int fd; int fd;
guint16 type; /* An "enum glibtop_file_type" value. */ guint16 type; /* An "enum glibtop_file_type" value. */
union { union {
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */ /* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
struct { struct {
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1]; char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
int dest_port; int dest_port;
@@ -92,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);
@@ -101,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
@@ -116,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__
@@ -46,26 +46,50 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
/* Time section */ /* Time section */
/**
* glibtop_proc_time:
* @start_time: Start time of process in seconds since the epoch.
* @rtime: Real time accumulated by process (should be @utime + @stime).
* @utime: User-mode CPU time accumulated by process.
* @stime: Kernel-mode CPU time accumulated by process.
* @cutime: Cumulative utime of process and reaped children.
* @cstime: Cumulative stime of process and reaped children.
* @timeout: The time (in jiffies) of the processs next timeout.
* @it_real_value: The time (in jiffies) before the next <type>SIGALRM</type>
* is sent to the process due to an interval timer.
* @frequency: Tick frequency.
* @xcpu_utime: SMP user-mode CPU time accumulated by process.
* @xcpu_stime: SMP kernel-mode CPU time accumulated by process
*
* Process time data filled by glibtop_get_proc_time().
*
* Under Linux the @start_time value may be wrong due to the information
* available from the kernel.
*
* The Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time
* shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined,
* we cannot use it to compute an accurate @start_time. On Linux 2.6,
* <type>INITIAL_JIFFIES</type> is 300 so @start_time is
* always 3s different from the real start time of the given process. You
* may also get shift results if your system clock is not synchronised
* with your hardware clock. See <command>man hwclock</command>.
*/
struct _glibtop_proc_time struct _glibtop_proc_time
{ {
/*< private >*/
guint64 flags; guint64 flags;
guint64 start_time; /* start time of process -- /*< public >*/
* seconds since 1-1-70 */ guint64 start_time;
guint64 rtime; /* real time accumulated by process */ guint64 rtime;
guint64 utime; /* user-mode CPU time accumulated by process */ guint64 utime;
guint64 stime; /* kernel-mode CPU time accumulated by process */ guint64 stime;
guint64 cutime; /* cumulative utime of process and guint64 cutime;
* reaped children */ guint64 cstime;
guint64 cstime; /* cumulative stime of process and guint64 timeout;
* reaped children */ guint64 it_real_value;
guint64 timeout; /* The time (in jiffies) of the process's guint64 frequency;
* next timeout */ guint64 xcpu_utime [GLIBTOP_NCPU];
guint64 it_real_value; /* The time (in jiffies) before the guint64 xcpu_stime [GLIBTOP_NCPU];
* next SIGALRM is sent to the process
* due to an interval timer. */
guint64 frequency; /* Tick frequency. */
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
}; };

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__
@@ -52,8 +52,12 @@ G_BEGIN_DECLS
#define GLIBTOP_SYSDEPS_NETLIST 23 #define GLIBTOP_SYSDEPS_NETLIST 23
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24 #define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
#define GLIBTOP_SYSDEPS_PROC_WD 25 #define GLIBTOP_SYSDEPS_PROC_WD 25
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
#define GLIBTOP_MAX_SYSDEPS 26 #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)
@@ -88,6 +92,7 @@ struct _glibtop_sysdeps
guint64 netload; /* glibtop_netload */ guint64 netload; /* glibtop_netload */
guint64 ppp; /* glibtop_ppp */ guint64 ppp; /* glibtop_ppp */
guint64 proc_wd; /* glibtop_proc_wd */ guint64 proc_wd; /* glibtop_proc_wd */
guint64 proc_affinity; /* glibtop_proc_affinity */
}; };
void glibtop_get_sysdeps (glibtop_sysdeps *buf); void glibtop_get_sysdeps (glibtop_sysdeps *buf);

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__
@@ -43,6 +43,7 @@
#include <glibtop/procmap.h> #include <glibtop/procmap.h>
#include <glibtop/procopenfiles.h> #include <glibtop/procopenfiles.h>
#include <glibtop/procwd.h> #include <glibtop/procwd.h>
#include <glibtop/procaffinity.h>
#include <glibtop/mountlist.h> #include <glibtop/mountlist.h>
#include <glibtop/fsusage.h> #include <glibtop/fsusage.h>
@@ -82,6 +83,7 @@ union _glibtop_union
glibtop_ppp ppp; glibtop_ppp ppp;
glibtop_proc_open_files proc_open_files; glibtop_proc_open_files proc_open_files;
glibtop_proc_wd proc_wd; glibtop_proc_wd proc_wd;
glibtop_proc_affinity proc_affinity;
}; };
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_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,13 +1,13 @@
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 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)
BUILT_SOURCES = lib.c BUILT_SOURCES = lib.c
@@ -20,3 +20,36 @@ EXTRA_DIST = lib.pl libgtop.sym
CLEANFILES = lib.c CLEANFILES = lib.c
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
INTROSPECTION_COMPILER_ARGS =
if HAVE_INTROSPECTION
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/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/cpu.h ../include/glibtop/msg_limits.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/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \
../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \
../include/glibtop/procwd.h ../include/glibtop/procaffinity.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_AM_CPPFLAGS = GObject-2.0
GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
GTop_2_0_gir_LIBS = libgtop-2.0.la
GTop_2_0_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += GTop-2.0.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif

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

@@ -1,173 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop/error.h>
#include <glib/gstrfuncs.h>
#include <errno.h>
#define DEFAULT_NAME "LibGTop-Server"
/* Prints error message and exits. */
static void
print_server_name (glibtop_server *server)
{
fprintf (stderr, "%s: ", server ?
(server->name ? server->name : DEFAULT_NAME)
: DEFAULT_NAME);
}
void
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, "\n");
#ifdef LIBGTOP_ENABLE_DEBUG
abort ();
#else
exit (1);
#endif
}
void
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error));
#ifdef LIBGTOP_ENABLE_DEBUG
abort ();
#else
exit (1);
#endif
}
void
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, "\n");
#ifdef LIBGTOP_FATAL_WARNINGS
abort ();
#endif
}
void
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error));
#ifdef LIBGTOP_FATAL_WARNINGS
abort ();
#endif
}
void
glibtop_error_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (server, format, args);
va_end (args);
}
void
glibtop_warn_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (server, format, args);
va_end (args);
}
void
glibtop_error_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (server, format, errno, args);
va_end (args);
}
void
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (server, format, errno, args);
va_end (args);
}
#ifndef __GNUC__
static void
glibtop_error (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_warn (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_error_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
static void
glibtop_warn_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
#endif /* no __GNUC__ */

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

@@ -1,130 +1,77 @@
glibtop_call_l glibtop_call_l
glibtop_call_p
glibtop_close glibtop_close
glibtop_close_p
glibtop_close_r glibtop_close_r
glibtop_close_s
glibtop_get_cpu glibtop_get_cpu
glibtop_get_cpu_l glibtop_get_cpu_l
glibtop_get_cpu_p
glibtop_get_cpu_s
glibtop_get_fsusage glibtop_get_fsusage
glibtop_get_fsusage_l glibtop_get_fsusage_l
glibtop_get_fsusage_p
glibtop_get_fsusage_s
glibtop_get_loadavg glibtop_get_loadavg
glibtop_get_loadavg_l glibtop_get_loadavg_l
glibtop_get_loadavg_p
glibtop_get_loadavg_s
glibtop_get_mem glibtop_get_mem
glibtop_get_mem_l glibtop_get_mem_l
glibtop_get_mem_p
glibtop_get_mem_s
glibtop_get_mountlist glibtop_get_mountlist
glibtop_get_mountlist_l glibtop_get_mountlist_l
glibtop_get_mountlist_p
glibtop_get_mountlist_s
glibtop_get_msg_limits glibtop_get_msg_limits
glibtop_get_msg_limits_l glibtop_get_msg_limits_l
glibtop_get_msg_limits_p
glibtop_get_msg_limits_s
glibtop_get_netlist glibtop_get_netlist
glibtop_get_netlist_l glibtop_get_netlist_l
glibtop_get_netlist_p
glibtop_get_netlist_s
glibtop_get_netload glibtop_get_netload
glibtop_get_netload_l glibtop_get_netload_l
glibtop_get_netload_p
glibtop_get_netload_s
glibtop_get_parameter_l glibtop_get_parameter_l
glibtop_get_parameter_p
glibtop_get_ppp glibtop_get_ppp
glibtop_get_ppp_l glibtop_get_ppp_l
glibtop_get_ppp_p
glibtop_get_ppp_s
glibtop_get_proc_args glibtop_get_proc_args
glibtop_get_proc_args_l glibtop_get_proc_args_l
glibtop_get_proc_args_p
glibtop_get_proc_args_s
glibtop_get_proc_argv glibtop_get_proc_argv
glibtop_get_proc_argv_l glibtop_get_proc_argv_l
glibtop_get_proc_argv_p
glibtop_get_proc_kernel glibtop_get_proc_kernel
glibtop_get_proc_kernel_l glibtop_get_proc_kernel_l
glibtop_get_proc_kernel_p
glibtop_get_proc_kernel_s
glibtop_get_proclist glibtop_get_proclist
glibtop_get_proclist_l glibtop_get_proclist_l
glibtop_get_proclist_p
glibtop_get_proclist_s
glibtop_get_proc_map glibtop_get_proc_map
glibtop_get_proc_map_l glibtop_get_proc_map_l
glibtop_get_proc_map_p
glibtop_get_proc_map_s
glibtop_get_proc_mem glibtop_get_proc_mem
glibtop_get_proc_mem_l glibtop_get_proc_mem_l
glibtop_get_proc_mem_p
glibtop_get_proc_mem_s
glibtop_get_proc_open_files glibtop_get_proc_open_files
glibtop_get_proc_open_files_l glibtop_get_proc_open_files_l
glibtop_get_proc_open_files_p
glibtop_get_proc_open_files_s
glibtop_get_proc_segment glibtop_get_proc_segment
glibtop_get_proc_segment_l glibtop_get_proc_segment_l
glibtop_get_proc_segment_p
glibtop_get_proc_segment_s
glibtop_get_proc_signal glibtop_get_proc_signal
glibtop_get_proc_signal_l glibtop_get_proc_signal_l
glibtop_get_proc_signal_p
glibtop_get_proc_signal_s
glibtop_get_proc_state glibtop_get_proc_state
glibtop_get_proc_state_l glibtop_get_proc_state_l
glibtop_get_proc_state_p
glibtop_get_proc_state_s
glibtop_get_proc_time glibtop_get_proc_time
glibtop_get_proc_time_l glibtop_get_proc_time_l
glibtop_get_proc_time_p
glibtop_get_proc_time_s
glibtop_get_proc_uid glibtop_get_proc_uid
glibtop_get_proc_uid_l glibtop_get_proc_uid_l
glibtop_get_proc_uid_p
glibtop_get_proc_uid_s
glibtop_get_proc_wd glibtop_get_proc_wd
glibtop_get_proc_wd_l glibtop_get_proc_wd_l
glibtop_get_proc_wd_p
glibtop_get_proc_wd_s
glibtop_get_sem_limits glibtop_get_sem_limits
glibtop_get_sem_limits_l glibtop_get_sem_limits_l
glibtop_get_sem_limits_p
glibtop_get_sem_limits_s
glibtop_get_shm_limits glibtop_get_shm_limits
glibtop_get_shm_limits_l glibtop_get_shm_limits_l
glibtop_get_shm_limits_p glibtop_get_proc_affinity
glibtop_get_shm_limits_s glibtop_get_proc_affinity_l
glibtop_get_swap glibtop_get_swap
glibtop_get_swap_l glibtop_get_swap_l
glibtop_get_swap_p
glibtop_get_swap_s
glibtop_get_sysdeps glibtop_get_sysdeps
glibtop_get_sysdeps_r glibtop_get_sysdeps_r
glibtop_get_sysinfo glibtop_get_sysinfo
glibtop_get_sysinfo_p
glibtop_get_sysinfo_s
glibtop_get_uptime glibtop_get_uptime
glibtop_get_uptime_l glibtop_get_uptime_l
glibtop_get_uptime_p
glibtop_get_uptime_s
glibtop_global_server glibtop_global_server
glibtop_init glibtop_init
glibtop_init_p
glibtop_init_r glibtop_init_r
glibtop_init_s
glibtop_internet_addr glibtop_internet_addr
glibtop_make_connection glibtop_make_connection
glibtop_open_l glibtop_open_l
glibtop_open_p
glibtop_open_s
glibtop_server_features glibtop_server_features
glibtop_set_parameter_l glibtop_set_parameter_l
glibtop_set_parameter_p
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);
} }
@@ -148,7 +136,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
if (nbytes != size) if (nbytes != size)
glibtop_error_r (server, glibtop_error_r (server,
"Requested %u bytes but got %u.", "Requested %u bytes but got %u.",
size, nbytes); (unsigned)size, (unsigned)nbytes);
glibtop_read_l (server, nbytes, buffer); glibtop_read_l (server, nbytes, buffer);
@@ -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>
@@ -47,6 +47,7 @@ GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_NETLOAD + GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_NETLIST + GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD + GLIBTOP_SUID_PROC_WD +
GLIBTOP_SUID_PROC_AFFINITY +
GLIBTOP_SUID_PPP; GLIBTOP_SUID_PPP;
const _glibtop_init_func_t _glibtop_init_hook_s [] = { const _glibtop_init_func_t _glibtop_init_hook_s [] = {
@@ -113,6 +114,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
#if !GLIBTOP_SUID_PROC_WD #if !GLIBTOP_SUID_PROC_WD
_glibtop_init_proc_wd_s, _glibtop_init_proc_wd_s,
#endif #endif
#if !GLIBTOP_SUID_PROC_AFFINITY
_glibtop_init_proc_affinity_s,
#endif
#if !GLIBTOP_SUID_PPP #if !GLIBTOP_SUID_PPP
_glibtop_init_ppp_s, _glibtop_init_ppp_s,
#endif #endif
@@ -183,6 +187,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
#if GLIBTOP_SUID_PROC_WD #if GLIBTOP_SUID_PROC_WD
_glibtop_init_proc_wd_p, _glibtop_init_proc_wd_p,
#endif #endif
#if GLIBTOP_SUID_PROC_AFFINITY
_glibtop_init_proc_affinity_p,
#endif
#if GLIBTOP_SUID_PPP #if GLIBTOP_SUID_PPP
_glibtop_init_ppp_p, _glibtop_init_ppp_p,
#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.
*/ */
#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,67 +27,58 @@ 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_fsusage=yes
;; ;;
netbsd*|openbsd*|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*)
libgtop_sysdeps_dir=openbsd
libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
;;
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_fsusage=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'
;; ;;
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*)
libgtop_sysdeps_dir=darwin
libgtop_need_server=yes
libgtop_have_sysinfo=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
;;
cygwin*)
libgtop_sysdeps_dir=cygwin
libgtop_need_server=no
libgtop_have_sysinfo=yes
libgtop_sysdeps_private_mountlist=yes
;;
*) *)
if test x$hacker_mode = xyes ; then if test x$hacker_mode = xyes ; then
case "$host_os" in case "$host_os" in
@@ -99,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
;; ;;
@@ -131,30 +114,13 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
case "$host_os" in case "$host_os" in
*bsd*) *bsd*)
case "$host_os" in AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
*kfreebsd*)
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS="-lkvm -lfreebsd -lbsd", KVM_LIBS=, -lfreebsd -lbsd);;
*)
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=);;
esac
AC_SUBST(KVM_LIBS) AC_SUBST(KVM_LIBS)
case "$host_os" in AC_CHECK_HEADERS(net/if_var.h,,, [
kfreebsd*) #include <net/if.h>
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat" #include <sys/types.h>
;; #include <sys/socket.h>])
freebsd*)
osreldate=`sysctl -n kern.osreldate 2>/dev/null`
if test -n "${osreldate}" && test ${osreldate} -ge 600000 ; then
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
fi
;;
esac
AC_SUBST(EXTRA_SYSDEPS_LIBS)
AC_CHECK_HEADERS(net/if_var.h)
AC_MSG_CHECKING([for I4B]) AC_MSG_CHECKING([for I4B])
AC_TRY_COMPILE([ AC_TRY_COMPILE([
#include <sys/types.h> #include <sys/types.h>
@@ -219,10 +185,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
fi fi
AC_MSG_CHECKING(what we need to define to get struct msginfo) AC_MSG_CHECKING(what we need to define to get struct msginfo)
AC_CACHE_VAL(msginfo_needs, AC_CACHE_VAL(msginfo_cv_needs,
msginfo_needs= msginfo_cv_needs=
for def in nothing KERNEL _KERNEL; do for def in nothing KERNEL _KERNEL; do
AC_COMPILE_IFELSE([#define $def AC_COMPILE_IFELSE([AC_LANG_SOURCE([#define $def
#include <sys/types.h> #include <sys/types.h>
#include <sys/ipc.h> #include <sys/ipc.h>
#include <sys/msg.h> #include <sys/msg.h>
@@ -234,23 +200,23 @@ main (void)
struct msginfo mi; struct msginfo mi;
mi.msgmax = 0; mi.msgmax = 0;
return 0; return 0;
}], }])],
[ [
msginfo_needs=$def msginfo_cv_needs=$def
if test ${msginfo_needs} = KERNEL; then if test ${msginfo_cv_needs} = KERNEL; then
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1, AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
[Define to 1 if we need to define KERNEL to get 'struct msginfo']) [Define to 1 if we need to define KERNEL to get 'struct msginfo'])
elif test ${msginfo_needs} = _KERNEL; then elif test ${msginfo_cv_needs} = _KERNEL; then
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1, AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
[Define to 1 if we need to define _KERNEL to get 'struct msginfo']) [Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
fi fi
] ]
) )
test -n "${msginfo_needs}" && break test -n "${msginfo_cv_needs}" && break
done done
) )
AC_MSG_RESULT($msginfo_needs) AC_MSG_RESULT($msginfo_cv_needs)
if test -z "${msginfo_needs}"; then if test -z "${msginfo_cv_needs}"; then
AC_MSG_ERROR([Could not find the definition of 'struct msginfo']) AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
fi fi
;; ;;
@@ -295,21 +261,15 @@ 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, AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
[Define if machine.h in libgtop sysdeps dir]) AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
fi
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
]) ])

31
libgtop.doap Normal file
View File

@@ -0,0 +1,31 @@
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">
<name xml:lang="en">libgtop</name>
<shortdesc xml:lang="en">LibGTop2</shortdesc>
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<programming-language>C</programming-language>
<maintainer>
<foaf:Person>
<foaf:name>Benoît Dejean</foaf:name>
<foaf:mbox rdf:resource="mailto:benoit@placenet.org" />
<gnome:userid>bdejean</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Robert Roth</foaf:name>
<foaf:mbox rdf:resource="mailto:robert.roth.off@gmail.com" />
<gnome:userid>robertroth</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

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

96
m4/introspection.m4 Normal file
View File

@@ -0,0 +1,96 @@
dnl -*- mode: autoconf -*-
dnl Copyright 2009 Johan Dahlin
dnl
dnl This file is free software; the author(s) gives unlimited
dnl permission to copy and/or distribute it, with or without
dnl modifications, as long as this notice is preserved.
dnl
# serial 1
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
dnl enable/disable introspection
m4_if([$2], [require],
[dnl
enable_introspection=yes
],[dnl
AC_ARG_ENABLE(introspection,
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
[Enable introspection for this build]),,
[enable_introspection=auto])
])dnl
AC_MSG_CHECKING([for gobject-introspection])
dnl presence/version checking
AS_CASE([$enable_introspection],
[no], [dnl
found_introspection="no (disabled, use --enable-introspection to enable)"
],dnl
[yes],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
found_introspection=yes,
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
],dnl
[auto],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
],dnl
[dnl
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
])dnl
AC_MSG_RESULT([$found_introspection])
INTROSPECTION_SCANNER=
INTROSPECTION_COMPILER=
INTROSPECTION_GENERATE=
INTROSPECTION_GIRDIR=
INTROSPECTION_TYPELIBDIR=
if test "x$found_introspection" = "xyes"; then
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`echo ${INTROSPECTION_GIRDIR} | sed -e "s|${datadir}|\\\$(datadir)|"`
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
INTROSPECTION_TYPELIBDIR=`echo ${INTROSPECTION_TYPELIBDIR} | sed -e "s|${libdir}|\\\$(libdir)|"`
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
fi
AC_SUBST(INTROSPECTION_SCANNER)
AC_SUBST(INTROSPECTION_COMPILER)
AC_SUBST(INTROSPECTION_GENERATE)
AC_SUBST(INTROSPECTION_GIRDIR)
AC_SUBST(INTROSPECTION_TYPELIBDIR)
AC_SUBST(INTROSPECTION_CFLAGS)
AC_SUBST(INTROSPECTION_LIBS)
AC_SUBST(INTROSPECTION_MAKEFILE)
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
])

View File

@@ -1,3 +1,297 @@
2009-06-10 Manoj Kumar Giri <mgiri@redhat.com>
* hi.po: Committed Hindi Translation on behalf of Rajesh Ranjan.
2009-03-18 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic translation by Khaled Hosny.
2009-03-16 Ignacio Casal Quinteiro <icq@gnome.org>
* gl.po: Updated Galician translation by Suso Baleato.
2009-03-16 Amitakhya Phukan <amitakhya@svn.gnome.org>
* LINGUAS: Added as.
* as.po: Updated Assamese translations.
2009-03-15 Shankar Prasad <svenkate@redhat.com>
* kn.po: Added Kannada translations.
* LINGUAS: Added Kannad (kn) to the list
2009-03-10 Manoj Kumar Giri <mgiri@redhat.com>
* or.po: Updated Oriya Translation.
2009-02-09 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
2009-01-29 Changwoo Ryu <cwryu@debian.org>
* ko.po: Updated Korean translation.
2009-01-25 Raivis Dejus <orvils@gmail.com>
* lv.po: Updated Latvian translation.
2008-11-14 Thomas Thurman <tthurman@gnome.org>
* la.po: added Latin translation by Rafael Garcia.
* LINGUAS: added Latin.
2008-10-19 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-09-20 Laurent Dhima <laurenti@alblinux.net>
* sq.po: Updated Albanian Translation.
2008-09-19 Mugurel Tudor <mugurelu@gnome.ro>
* ro.po: Updated Romanian translation by
Mişu Moldovan <dumol@gnome.ro>
2008-09-18 Baris Cicek <baris@teamforce.name.tr>
* tr.po: Fixed wrong plural forms
2008-09-18 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-09-15 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-09-14 Baris Cicek <baris@teamforce.name.tr>
* tr.po: Updated Turkish Translation.
2008-09-09 Robert Sedak <robert.sedak@sk.t-com.hr>
* hr.po: Updated Croatian translation.
2008-08-25 Goran Rakic <grakic@devbase.net>
* LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin.
2008-08-6 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-07-29 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-07-25 Leonardo Ferreira Fontenelle <leonardof@gnome.org>
* pt_BR.po: Terminology improvement by Vladimir Melo.
2008-06-11 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-05-22 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-05-19 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-04-04 Eskild Hustvedt <eskildh@gnome.org>
* nn.po: Updated Norwegian Nynorsk translation
2008-03-16 Simos Xenitellis <simos@gnome.org>
* el.po: Updated Greek translation.
2008-03-09 Gabor Kelemen <kelemeng@gnome.hu>
* hu.po: Translation updated
2008-03-06 Marcel Telka <marcel@telka.sk>
* sk.po: Updated Slovak translation.
2008-02-26 Changwoo Ryu <cwryu@debian.org>
* ko.po: Updated Korean translation.
2008-02-14 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
2008-02-14 Pawan Chitrakar <chautari@gmail.com>
* ne.po: Updated Nepali Translation.
2008-02-11 Petr Kovar <pknbe@volny.cz>
* cs.po: Updated Czech translation by Lucas Lommer.
2008-01-31 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-01-12 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-01-11 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
* eu.po: Updated Basque translation.
2007-12-31 Yannig Marchegay <yannig@marchegay.org>
* oc.po: Updated Occitan translation.
2007-12-28 Rahul Bhalerao <b.rahul.pm@gmail.com>
* mr.po: Added Marathi translations from Sandeep Shedmake.
* LINGUAS: Added an entry for Marathi(mr).
2007-11-28 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
* gl.po: Updated Galician Translation.
2007-11-01 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2007-10-23 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Youssef Chahibi.
2007-10-21 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Youssef Chahibi.
2007-10-18 Matej Urbančič <mateju@svn.gnome.org>
* sl.po: Updated Slovenian Translation.
2007-10-15 Yair Hershkovitz <yairhr@gmail.com>
* he.po: Updated Hebrew translation.
2007-10-02 Alessio Frusciante <algol@firenze.linux.it>
* it.po: Updated Italian translation.
2007-09-18 Alexander Shopov <ash@contact.bg>
* bg.po: Updated Bulgarian translation by
Alexander Shopov <ash@contact.bg>
2007-09-17 Artur Flinta <aflinta@svn.gnome.org>
* pl.po: Updated Polish translation by GNOME PL Team.
2007-09-16 Kenneth Nielsen <k.nielsen81@gmail.com>
* da.po: Updated Danish translation
2007-09-16 Gil Forcada <gforcada@svn.gnome.org>
* ca.po: Updated Catalan translation.
2007-09-16 Gintautas Miliauskas <gintas@akl.lt>
* lt.po: Updated Lithuanian translation.
2007-09-13 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Youssef Chahibi.
2007-09-13 Gabor Kelemen <kelemeng@gnome.hu>
* hu.po: Translation updated.
2007-09-13 Mugurel Tudor <mugurelu@gnome.ro>
* ro.po: Updated Romanian translation
by Mişu Moldovan <dumol@gnome.ro>
2007-09-12 Maxim Dziumanenko <dziumanenko@gmail.com>
* uk.po: Update Ukrainian translation.
2007-09-12 Goran Rakić <grakic@devbase.net>
* sr.po, sr@Latn.po: Updated Serbian translation.
2007-09-08 Duarte Loreto <happyguy_pt@hotmail.com>
* pt.po: Updated Portuguese translation.
2007-09-05 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* ru.po: Updated Russian translation.
2007-09-03 Jovan Naumovski <jovan@lugola.net>
* mk.po: Updated Macedonian translation.
2007-08-24 Stéphane Raimbault <stephane.raimbault@gmail.com>
* fr.po: Updated French translation.
2007-08-10 Runa Bhattacharjee <runabh@gmail.com>
* bn_IN.po: Updated Bengali India Translation.
2007-08-07 Ankit Patel <ankit644@yahoo.com>
* gu.po: Updated Gujarati Translation.
2007-08-06 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
2007-08-05 Inaki Larranaga Murgoitio <dooteo@zundan.com>
* eu.po: Updated Basque translation.
2007-07-21 Leonardo Ferreira Fontenelle <leonardof@svn.gnome.org>
* pt_BR.po: Brazilian Portuguese translation updated by Og Maciel
<ogmaciel@ubuntu.com>.
2007-07-19 Hendrik Richter <hendrikr@gnome.org>
* de.po: Updated German translation.
2007-07-17 Wouter Bolsterlee <wbolster@svn.gnome.org>
* nl.po: Dutch translation updated by Wouter Bolsterlee.
2007-07-16 Ilkka Tuohela <hile@iki.fi>
* fi.po: Updated Finnish translation.
2007-07-09 I. Felix <ifelix@svn.gnome.org>
* ta.po: Tamil Translation updated by Tirumurthi Vasudevan
2007-07-07 Takeshi AIHANA <takeshi.aihana@gmail.com>
* ja.po: Updated Japanese translation.
2007-06-27 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.
2007-06-23 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2007-06-13 Pema Geyleg <pema.geyleg@gmail.com> 2007-06-13 Pema Geyleg <pema.geyleg@gmail.com>
* dz.po: Updated dzongkha translation. * dz.po: Updated dzongkha translation.

View File

@@ -1,7 +1,9 @@
# please keep this list sorted alphabetically
# #
# please keep this list sorted alphabetically
am am
ar ar
as
ast
az az
be be
bg bg
@@ -9,6 +11,7 @@ bn
bn_IN bn_IN
bs bs
ca ca
ca@valencia
cs cs
cy cy
da da
@@ -17,6 +20,7 @@ dz
el el
en_CA en_CA
en_GB en_GB
en@shaw
eo eo
es es
et et
@@ -24,6 +28,7 @@ eu
fa fa
fi fi
fr fr
fur
ga ga
gl gl
gu gu
@@ -35,16 +40,20 @@ id
it it
ja ja
ka ka
kn
ko ko
ku ku
ky ky
la
lt lt
lv lv
mai
mg mg
mi mi
mk mk
ml ml
mn mn
mr
ms ms
nb nb
ne ne
@@ -63,12 +72,14 @@ sk
sl sl
sq sq
sr sr
sr@Latn sr@latin
sv sv
ta ta
te te
tg
th th
tr tr
ug
uk uk
vi vi
xh xh

206
po/ar.po
View File

@@ -1,249 +1,205 @@
# translation of libgtop.HEAD.ar.po to Arabic # translation of libgtop.HEAD.po to Arabic
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
# #
# Arafat Medini <lumina@silverpen.de>, 2002,2003. # Arafat Medini <lumina@silverpen.de>, 2002,2003.
# Isam Bayazidi <bayazidi@arabeyes.org>, 2002. # Isam Bayazidi <bayazidi@arabeyes.org>, 2002.
# Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. # Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004.
# Khaled Hosny <khaledhosny@eglug.org>, 2006. # Khaled Hosny <khaledhosny@eglug.org>, 2006, 2008.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop.HEAD.ar\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: 2006-07-23 08:51+0200\n" "product=libgtop&component=general\n"
"PO-Revision-Date: 2006-11-25 15:36+0200\n" "POT-Creation-Date: 2009-03-16 22:15+0000\n"
"PO-Revision-Date: 2008-07-28 19:26+0300\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <support@arabeyes.org>\n" "Language-Team: Arabic <doc@arabeyes.org>\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"
"X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n"
"Plural-Forms: Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : 3\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\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"
msgstr[0] "اقرأ بايت واحدة" msgstr[0] "قرأ صفر بايت"
msgstr[1] "اقرأ بايتين" msgstr[1] "قرأ بايت واحدة"
msgstr[2] "اقرأ %d بايتات" msgstr[2] "قرأ بايتين"
msgstr[3] "اقرأ %d بايت" msgstr[3] "قرأ %Id بايتات"
msgstr[4] "قرأ %Id بايت"
msgstr[5] "قرأ %Id بايت"
#: ../lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "اقرأ حجم البيانات" msgstr "حجم البيانات المقروءة"
#: ../lib/read_data.c:72 #: ../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] "قرأ صفر بايت من البيانات"
msgstr[1] "اقرأ بايتين" msgstr[1] "قرأ بايت واحدة من البيانات"
msgstr[2] "اقرأ %lu بايتات" msgstr[2] "قرأ بايتين من البيانات"
msgstr[3] "اقرأ %lu بايت" msgstr[3] "قرأ %lu بايتات من البيانات"
msgstr[4] "قرأ %lu بايت من البيانات"
msgstr[5] "قرأ %lu بايت من البيانات"
#: ../lib/write.c:53 #: ../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] "كتابة بايت واحدة" msgstr[0] "كتب صفر بايت"
msgstr[1] "كتابة بايتين" msgstr[1] "كتب بايت واحدة"
msgstr[2] "كتابة %d بايتات" msgstr[2] "كتب بايتين"
msgstr[3] "كتابة %d بايت" msgstr[3] "كتب %Id بايتات"
msgstr[4] "كتب %Id بايت"
msgstr[5] "كتب %Id بايت"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:455
msgid "Enable debugging" msgid "Enable debugging"
msgstr "فعّل التنقيح" msgstr "فعّل التنقيح"
#: ../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 "فعّل خرْج مسهِب" msgstr "فعّل الخرْج المسهِب"
#: ../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 "لا تشعّب إلى الخلفية" msgstr "لا تشعّب إلى الخلفية"
#: ../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 "استُحضرت من inetd " msgstr "استُحضرت من 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" msgstr "شغّل '%s --help' لرؤية قائمة كاملة لخيارات سطر الأوامر.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"خطأ عند الخيار %s: %s.\n"
"شغّل '%s --help' لرئية قائمة كاملة لخيارات سطر الأوامر.\n"
#: ../sysdeps/osf1/siglist.c:29 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
#: ../sysdeps/sun4/siglist.c:29
msgid "Hangup" msgid "Hangup"
msgstr "علق" msgstr "علّق"
#: ../sysdeps/osf1/siglist.c:30 #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
#: ../sysdeps/sun4/siglist.c:30
msgid "Interrupt" msgid "Interrupt"
msgstr "قاطِع" msgstr "قاطِع"
#: ../sysdeps/osf1/siglist.c:31 #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/sun4/siglist.c:31
msgid "Quit" msgid "Quit"
msgstr "اخرج" msgstr "اخرج"
#: ../sysdeps/osf1/siglist.c:32 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/sun4/siglist.c:32
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "توجيه ممنوع" msgstr "توجيه ممنوع"
#: ../sysdeps/osf1/siglist.c:33 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/sun4/siglist.c:33
msgid "Trace trap" msgid "Trace trap"
msgstr "فخ رسم" msgstr "تتبع الأثر"
#: ../sysdeps/osf1/siglist.c:34 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
#: ../sysdeps/sun4/siglist.c:34
msgid "Abort" msgid "Abort"
msgstr "اجهض" msgstr "اجهض"
#: ../sysdeps/osf1/siglist.c:35 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
#: ../sysdeps/sun4/siglist.c:35
msgid "EMT error" msgid "EMT error"
msgstr "خطأ EMT" msgstr "خطأ EMT"
#: ../sysdeps/osf1/siglist.c:36 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
#: ../sysdeps/sun4/siglist.c:36
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "استثناء أرقام عشرية" msgstr "استثناء أرقام عشرية"
#: ../sysdeps/osf1/siglist.c:37 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
#: ../sysdeps/sun4/siglist.c:37
msgid "Kill" msgid "Kill"
msgstr "اقتل" msgstr "اقتل"
#: ../sysdeps/osf1/siglist.c:38 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
#: ../sysdeps/sun4/siglist.c:38
msgid "Bus error" msgid "Bus error"
msgstr "خطأ ناقل" msgstr "خطأ في ناقل"
#: ../sysdeps/osf1/siglist.c:39 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
#: ../sysdeps/sun4/siglist.c:39
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "انتهاك اﻻنقسام" msgstr "انتهاك اﻻنقسام"
#: ../sysdeps/osf1/siglist.c:40 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
#: ../sysdeps/sun4/siglist.c:40
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "متغيّر سيء لنداء النظام" msgstr "معطى سيء لنداء النظام"
#: ../sysdeps/osf1/siglist.c:41 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
#: ../sysdeps/sun4/siglist.c:41
msgid "Broken pipe" msgid "Broken pipe"
msgstr "أنبوب مكسور" msgstr "أنبوب مكسور"
#: ../sysdeps/osf1/siglist.c:42 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
#: ../sysdeps/sun4/siglist.c:42
msgid "Alarm clock" msgid "Alarm clock"
msgstr "ساعة منبهة" msgstr "ساعة منبهة"
#: ../sysdeps/osf1/siglist.c:43 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
#: ../sysdeps/sun4/siglist.c:43
msgid "Termination" msgid "Termination"
msgstr "إنهاء" msgstr "إنهاء"
#: ../sysdeps/osf1/siglist.c:44 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
#: ../sysdeps/sun4/siglist.c:44
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "حالة عاجلة عند المقبس" msgstr "حالة عاجلة عند المقبس"
#: ../sysdeps/osf1/siglist.c:45 #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/sun4/siglist.c:45
msgid "Stop" msgid "Stop"
msgstr "قف" msgstr "قف"
#: ../sysdeps/osf1/siglist.c:46 #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
#: ../sysdeps/sun4/siglist.c:46
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "أوقف لوحة المفاتيح" msgstr "إيقاف من لوحة المفاتيح"
#: ../sysdeps/osf1/siglist.c:47 #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
#: ../sysdeps/sun4/siglist.c:47
msgid "Continue" msgid "Continue"
msgstr "تابع" msgstr "تابع"
#: ../sysdeps/osf1/siglist.c:48 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
#: ../sysdeps/sun4/siglist.c:48
msgid "Child status has changed" msgid "Child status has changed"
msgstr "تغيرت حالة الابن" msgstr "تغيرت حالة الابن"
#: ../sysdeps/osf1/siglist.c:49 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
#: ../sysdeps/sun4/siglist.c:49
msgid "Background read from tty" msgid "Background read from tty"
msgstr "قراءة من tty في الخلفية" msgstr "قراءة من tty في الخلفية"
#: ../sysdeps/osf1/siglist.c:50 #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
#: ../sysdeps/sun4/siglist.c:50
msgid "Background write to tty" msgid "Background write to tty"
msgstr "كتابة لـ tty في الخلفية" msgstr "كتابة لـ tty في الخلفية"
#: ../sysdeps/osf1/siglist.c:51 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
#: ../sysdeps/sun4/siglist.c:51
msgid "I/O now possible" msgid "I/O now possible"
msgstr "دخْل/خرْج ممكن الآن" msgstr "الدخْل/الخرْج ممكن الآن"
#: ../sysdeps/osf1/siglist.c:52 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
#: ../sysdeps/sun4/siglist.c:52
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "تجاوز حد الـمعالج" msgstr "تجاوز حد الـمعالج"
#: ../sysdeps/osf1/siglist.c:53 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
#: ../sysdeps/sun4/siglist.c:53
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "تجاوز حد حجم الملف" msgstr "تجاوز حد حجم الملف"
#: ../sysdeps/osf1/siglist.c:54 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
#: ../sysdeps/sun4/siglist.c:54
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "ساعة تنبيه تخيّلية" msgstr "ساعة تنبيه تخيّلية"
#: ../sysdeps/osf1/siglist.c:55 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
#: ../sysdeps/sun4/siglist.c:55
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "كتابة لمحة عن ساعة التنبيه" msgstr "تشخيص ساعة التنبيه"
#: ../sysdeps/osf1/siglist.c:56 #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
#: ../sysdeps/sun4/siglist.c:56
msgid "Window size change" msgid "Window size change"
msgstr "تغير حجم النافذة" msgstr "تغير حجم النافذة"
#: ../sysdeps/osf1/siglist.c:57 #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
#: ../sysdeps/sun4/siglist.c:57
msgid "Information request" msgid "Information request"
msgstr "طلب معلومات" msgstr "طلب معلومات"
#: ../sysdeps/osf1/siglist.c:58 #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
#: ../sysdeps/sun4/siglist.c:58
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "اشارة 1 معرفة من طرف المستخدم" msgstr "إشارة 1 معرفة من طرف المستخدم"
#: ../sysdeps/osf1/siglist.c:59 #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/sun4/siglist.c:59
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "اشارة 2 معرفة من طرف المستخدم" msgstr "إشارة 2 معرفة من طرف المستخدم"

191
po/as.po Normal file
View File

@@ -0,0 +1,191 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Amitakhya Phukan <aphukan@fedoraproject.org>, 2009.
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: as\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2010-11-17 08:15+0000\n"
"PO-Revision-Date: 2011-08-17 16:13+0530\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: as_IN <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 1.0\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "%d বাইট পঢ়া হল"
msgstr[1] "%d বাইটসমূহ পঢ়া হল"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "তথ্যৰ আকাৰ পঢ়া হল"
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "তথ্যৰ %lu বাইট পঢ়া হল"
msgstr[1] "তথ্যৰ %lu বাইটসমূহ পঢ়া হল"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "%d বাইট লিখা হল"
msgstr[1] "%d বাইট লিখা হল"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "ডিবাগিং সামৰ্থবান কৰক"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "ভাৰ্বোচ আউটপুট সামৰ্থবান কৰক"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "পটভূমিত fork নকৰিব"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "inetd ৰ পৰা আৱাহন কৰা হৈছে"
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"উপলব্ধ কমান্ড শাৰী বিকল্পসমূহৰ এটা সম্পূৰ্ণ তালিকা চাবলে '%s --help' চলাওক। \n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "বাধা দিয়ক"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "প্ৰস্থান কৰক"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "অবৈধ নিৰ্দেশ"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "ট্ৰেইচ ট্ৰ্যাপ"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "বাদ দিয়ক"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT ত্ৰুটি"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "দশমিক-বিন্দু ব্যতিক্ৰম"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Kill কৰক"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "বাচ ত্ৰুটি"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "বিভাজন অমান্যকৰণ"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "চিস্টেম কললে বেয়া তৰ্ক"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "ভঙা পাইপ"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "এলাৰ্ম ঘড়ি"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "সমাপ্তি"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "চকেটত গুৰুতৰ অবস্থা"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "কিবৰ্ড বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "চলাই যাওক"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "চাইল্ডৰ অবস্থা সলনি হৈছে"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "tty ৰ পৰা পটভূমি পঢ়া"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "tty ৰ পৰা পটভূমি লিখা"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O বৰ্তমানত সম্ভব"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "CPU ৰ সীমা পাৰ হৈছে"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "ফাইলৰ আকাৰৰ সীমা পাৰ হৈছে"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "ভাৰ্ছুৱেল এলাৰ্ম ঘড়ি"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "এলাৰ্ম ঘড়ি আলেখ্যন কৰা হৈছে"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "উইন্ডোৰ আকাৰত পৰিবৰ্তন"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "তথ্যৰ অনুৰোধ"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ১"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ২"

220
po/ast.po Normal file
View File

@@ -0,0 +1,220 @@
# Asturian translation for libgtop.
# Copyright (C) 2010 libgtop's COPYRIGHT HOLDER
# This file is distributed under the same license as the libgtop package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2009-11-12 10:53+0000\n"
"PO-Revision-Date: 2010-01-06 18:12+0100\n"
"Last-Translator: astur <malditoastur@gmail.com>\n"
"Language-Team: Asturian <alministradores@softastur.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Poedit-Language: asturian\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "lleíu %d byte"
msgstr[1] "lleíos %d bytes"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "lleíu tamañu de datos"
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "lleíu %lu byte de datos"
msgstr[1] "lleíos %lu bytes de datos"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "escritu %d byte"
msgstr[1] "escritos %d bytes"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Activar depuración"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Activa salida detallada"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Nun se pudo abrir un procesu en segundu planu"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Invocáu dende inetd"
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Executa '%s --help' pa ver una llista ensembre de les opciones de llinia de comandos disponibles.\n"
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Terminar"
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interrupción"
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Colar"
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Instrucción illegal"
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Atrapar traza"
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Encaboxar"
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Fallu EMT"
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Esceición de coma flotante"
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Matar"
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Fallu de bus"
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Violación de segmentu"
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Argumentu malu na llamada al sistema"
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Tubería rota"
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarma de reló"
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Terminación"
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Condición urxente en socket"
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Parar"
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Parada de tecláu"
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Siguir"
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Cambiu d'estáu de fíu"
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Llectura en segundu planu de tty"
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Escritura en segundu planu a tty"
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "E/S agora puédese"
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Perpaseste la llende del CPU"
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Tamañu llende de ficheru perpasáu"
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Alarma de reló virtual"
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Alarma de reló perfilada"
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Cambéu del tamañu de ventana"
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Solicitú d'información"
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Señal 1 definida pol usuariu"
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Señal 2 definida pol usuariu"

206
po/be.po
View File

@@ -1,213 +1,193 @@
# Беларускі пераклад libgtop.HEAD.
# Беларускі пераклад libgtop.HEAD
# Copyright (C) 1999, 2004 Free Software Foundation, Inc.
# Vital Khilko <dojlid@mova.org>, 2003. # Vital Khilko <dojlid@mova.org>, 2003.
# Ales Nyakhaychyk <nab@mail.by>, 2004. # Ales Nyakhaychyk <nab@mail.by>, 2004.
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop.HEAD\n" "Project-Id-Version: libgtop.master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-07 13:38+0200\n" "POT-Creation-Date: 2011-07-24 19:42+0300\n"
"PO-Revision-Date: 2004-03-13 14:28+0200\n" "PO-Revision-Date: 2011-07-24 19:41+0300\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n" "Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
"Language-Team: Belarusian <i18n@mova.org>\n" "Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\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.0.2\n" "X-Generator: KBabel 1.0.2\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"
msgstr[0] "прачытаны %d байт" msgstr[0] "прачытаны %d байт"
msgstr[1] "прачытаны %d байты" msgstr[1] "прачытана %d байты"
msgstr[2] "прачытана %d байтаў" msgstr[2] "прачытана %d байтаў"
#: ../lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "памер прачытаных даньняў" msgstr "прачытаны памер даных"
#: ../lib/read_data.c:72 #: ../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] "прачытаны %lu байт даных" msgstr[0] "прачытаны %lu байт даных"
msgstr[1] "прачытаны %lu байты даных" msgstr[1] "прачытана %lu байты даных"
msgstr[2] "прачытана %lu байтаў даных" msgstr[2] "прачытана %lu байтаў даных"
#: ../lib/write.c:52 #: ../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] "запісаны %d байт" msgstr[0] "запісаны %d байт"
msgstr[1] "запісаны %d байты" msgstr[1] "запісана %d байты"
msgstr[2] "запісана %d байтаў" msgstr[2] "запісана %d байтаў"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:455
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Уключыць адладку" msgstr "Уключыць адладачны код"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:457
msgid "DEBUG"
msgstr "АДЛАДКА"
#: ../src/daemon/gnuserv.c:462
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Уключыць дэталёвы вывад" msgstr "Уключыць падрабязны вывад"
#: ../src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:459
msgid "VERBOSE"
msgstr "ПАДРАБЯЗНА"
#: ../src/daemon/gnuserv.c:464
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 "NO-DAEMON"
msgstr "БЯЗ-ДЭМАНУ"
#: ../src/daemon/gnuserv.c:466
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Выкліканы з inetd" msgstr "Запушчаны з дапамогай 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 ""
"Памылка ў ключох %s: %s.\n" "Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help\".\n"
"Запусьціце '%s --help' каб убачыць поўны сьпіс даступных ключоў.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Абрыў сувязі (HUP)"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Перарыў (INT)"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Hangup" msgid "Quit"
msgstr "Разарваць" msgstr "Выхад (QUIT)"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Interrupt" msgid "Illegal instruction"
msgstr "Перарваць" msgstr "Забароненая інструкцыя (ILL)"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Quit" msgid "Trace trap"
msgstr "Выйсьці" msgstr "Захоп трасіроўкі (TRAP)"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Illegal instruction" msgid "Abort"
msgstr "Недапушчальная інструкцыя" msgstr "Перарванне (ABRT)"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "Trace trap" msgid "EMT error"
msgstr "Захоп трасыроўкі" msgstr "Памылка (EMT)"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Abort" msgid "Floating-point exception"
msgstr "Перарываньне" msgstr "Выключэнне float (FPE)"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "EMT error" msgid "Kill"
msgstr "Памылка EMT" msgstr "Забойства (KILL)"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Floating-point exception" msgid "Bus error"
msgstr "Выключэньне пункту, які плавае" msgstr "Памылка магістралі (BUS)"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Kill" msgid "Segmentation violation"
msgstr "Забіць" msgstr "Парушэнне сегментацыі (SEGV)"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bus error" msgid "Bad argument to system call"
msgstr "Памылка шыны" msgstr "Хібны аргумент сістэмнага выкліку (SYS)"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Segmentation violation" msgid "Broken pipe"
msgstr "Парушэньне сэгментацыі" msgstr "Зламаны канал (PIPE)"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Bad argument to system call" msgid "Alarm clock"
msgstr "Кепскі аргумэнт у сыстэмным выкліку" msgstr "Таймер (ALRM)"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Broken pipe" msgid "Termination"
msgstr "Парушаны канал" msgstr "Знішчэнне (TERM)"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Alarm clock" msgid "Urgent condition on socket"
msgstr "Таймэр" msgstr "Тэрміновыя даныя на сокеце (URG)"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Termination" msgid "Stop"
msgstr "Завяршэньне" msgstr "Прыпыненне (STOP)"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Urgent condition on socket" msgid "Keyboard stop"
msgstr "Тэрміновыя умовы сокету" msgstr "Прыпыненне з клавіятуры (TSTP)"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Stop" msgid "Continue"
msgstr "Спыніць" msgstr "Працяг працы (CONT)"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Keyboard stop" msgid "Child status has changed"
msgstr "Спыненьне клявіятуры" msgstr "Змена стану нашчадка (CHLD)"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Continue" msgid "Background read from tty"
msgstr "Працягнуць" msgstr "Фонавае чытанне з tty (TTIN)"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Child status has changed" msgid "Background write to tty"
msgstr "Стан нашчадку быў зьменены" msgstr "Фонавы запіс у tty (TTOU)"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "Background read from tty" msgid "I/O now possible"
msgstr "Чытаньне ў тле з tty" msgstr "Магчымасць уводу/вываду (IO)"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "Background write to tty" msgid "CPU limit exceeded"
msgstr "Запіс у тле ў tty" msgstr "Абмежаванне працэсара (XCPU)"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "I/O now possible" msgid "File size limit exceeded"
msgstr "Зараз магчымы ўвод/вывад" msgstr "Абмежаванне памеру файла (XFSZ)"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "CPU limit exceeded" msgid "Virtual alarm clock"
msgstr "Перавышана мяжа ЦПУ" msgstr "Віртуальны таймер (VTALRM)"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "File size limit exceeded" msgid "Profiling alarm clock"
msgstr "Перавышана мяжа памеру файлу" msgstr "Таймер прафілявання (PROF)"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Virtual alarm clock" msgid "Window size change"
msgstr "Віртуальны таймэр" msgstr "Змена памераў акна (WINCH)"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Profiling alarm clock" msgid "Information request"
msgstr "Прафіляваны таймэр" msgstr "Запыт інфармацыі (INFO)"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "Window size change" msgid "User defined signal 1"
msgstr "Зьмена памераў акна" msgstr "Карыстальніцкі сігнал 1 (USR1)"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "Information request"
msgstr "Запыт інфармацыі"
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58
msgid "User defined signal 1"
msgstr "Сыгнал карыстальніку 1"
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Сыгнал карыстальніку 2" msgstr "Карыстальніцкі сігнал 2 (USR2)"

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