Compare commits
333 Commits
LIBGTOP_2_
...
wip/diskio
Author | SHA1 | Date | |
---|---|---|---|
|
063de1a712 | ||
|
779386cb15 | ||
|
5880e04fcc | ||
|
1bf16bfffd | ||
|
c29d7de9a0 | ||
|
07abbd2dfe | ||
|
afec9bbf58 | ||
|
b7a684fbbc | ||
|
b589a4fcf0 | ||
|
1defc74f07 | ||
|
dff7c5588e | ||
|
1a103bf142 | ||
|
3ff313dd03 | ||
|
01a56e2e30 | ||
|
7afc81f99d | ||
|
b0ab056e99 | ||
|
d2bc9b4331 | ||
|
70e00a0262 | ||
|
f99bb61446 | ||
|
a0166d2844 | ||
|
5f39f4f8f9 | ||
|
e5e303d497 | ||
|
235ffb4cb6 | ||
|
59d9780eae | ||
|
305701c637 | ||
|
b68b2ec65e | ||
|
1a8d18a17f | ||
|
04d39eca02 | ||
|
36110deac8 | ||
|
72f10ecfe6 | ||
|
1a8f092264 | ||
|
5522fae242 | ||
|
870dd5afa6 | ||
|
94968b4406 | ||
|
819bfe56ee | ||
|
de408a6bba | ||
|
05cb14dbb2 | ||
|
7e3e4b6860 | ||
|
02070b7170 | ||
|
fcfacf3213 | ||
|
7925f83b57 | ||
|
68104bdde1 | ||
|
ac2aef0f47 | ||
|
9764518807 | ||
|
13f08cf164 | ||
|
c8a4c3d2a1 | ||
|
52c35c1b81 | ||
|
e528a7280b | ||
|
99ff3d4dff | ||
|
f865e95e20 | ||
|
eec96d8ae8 | ||
|
d10a584e40 | ||
|
a55eee5863 | ||
|
7437509412 | ||
|
c9e73e52ac | ||
|
4c455ac8a0 | ||
|
56f03d0987 | ||
|
a3b502ec3f | ||
|
b74d6abf19 | ||
|
ca42f1f3af | ||
|
106ee901bb | ||
|
0642c2d610 | ||
|
42e860e5ad | ||
|
8f2f236404 | ||
|
4e0d819264 | ||
|
5c6879baab | ||
|
a0e97885c1 | ||
|
d817bee619 | ||
|
58d50d3546 | ||
|
d3a247a60f | ||
|
45c8452140 | ||
|
72b4aed8f1 | ||
|
0e8f911410 | ||
|
db8ad19eef | ||
|
d30fbb22e0 | ||
|
6762719e43 | ||
|
ad7dc16d89 | ||
|
f2e57d9fec | ||
|
1481823085 | ||
|
4e57a6222d | ||
|
cf531d3faf | ||
|
b447260691 | ||
|
1dbe133a24 | ||
|
5ee8d4cb58 | ||
|
3bd720ad81 | ||
|
6acebf416d | ||
|
51fd022bdd | ||
|
6239438dce | ||
|
0099cbb6b4 | ||
|
cd5649f326 | ||
|
d8a5e2162d | ||
|
185396d674 | ||
|
90f0e40395 | ||
|
172f0a50ba | ||
|
887092a05d | ||
|
b2a2f6b5c2 | ||
|
6bdb9a76eb | ||
|
fd29dae933 | ||
|
65c5ca842f | ||
|
edd08e6fd6 | ||
|
82ff91b74c | ||
|
ca6cabe41d | ||
|
4fb241097f | ||
|
214c3635da | ||
|
fba67da65d | ||
|
119049b8c0 | ||
|
1908c00d32 | ||
|
70640d297e | ||
|
c33623c097 | ||
|
6fe3b94f13 | ||
|
f1a01a543c | ||
|
758862e272 | ||
|
6941e7e22f | ||
|
ee2ac6d563 | ||
|
4c0632ccbd | ||
|
71c7d65b1d | ||
|
94aa63f796 | ||
|
931a8364ff | ||
|
598764c171 | ||
|
aa7f9df00e | ||
|
4c4466292e | ||
|
fcc1d9d957 | ||
|
0580b2fb2c | ||
|
a206cfc728 | ||
|
58ca70eaee | ||
|
421419fdbf | ||
|
ebb7f9d5e2 | ||
|
1f3b08e6dc | ||
|
a870dfc8f2 | ||
|
e0244ad3fc | ||
|
1156794b33 | ||
|
874771ec1c | ||
|
16f262985d | ||
|
0a94dc7992 | ||
|
50b5dea402 | ||
|
f4b23ef0c6 | ||
|
1f41349a7e | ||
|
548f104f35 | ||
|
4808aac8ef | ||
|
f04ce61b80 | ||
|
c7f7e5a1c6 | ||
|
e2348c24a0 | ||
|
f76b37be1b | ||
|
b2fee3e111 | ||
|
7b2416a8d1 | ||
|
d006da7e54 | ||
|
a93dc2526d | ||
|
a3a16707b5 | ||
|
fd53595189 | ||
|
0057bbbc47 | ||
|
e6d776ee61 | ||
|
c68e077909 | ||
|
72e46fc6b4 | ||
|
2ea8a156f3 | ||
|
40e1a86d52 | ||
|
a101d6b27a | ||
|
9770db12d2 | ||
|
a61052dc59 | ||
|
8985e7e239 | ||
|
1c1449306b | ||
|
3f8f65386e | ||
|
30d29e624b | ||
|
bea8b6790a | ||
|
5e6c25d29d | ||
|
b7e1219e0a | ||
|
057dcf77d6 | ||
|
b7edd1542e | ||
|
7326f8816d | ||
|
ed1b3f5834 | ||
|
7a3414d002 | ||
|
564506bb0d | ||
|
9e0843064d | ||
|
d8d8aac9d3 | ||
|
9a887feed2 | ||
|
81dfeb526c | ||
|
d9c01aac4a | ||
|
82c28b2ad2 | ||
|
05345dc032 | ||
|
63ba7b2c12 | ||
|
5371e8ec88 | ||
|
e682094418 | ||
|
2e861977a6 | ||
|
a39f290683 | ||
|
02b55313f3 | ||
|
596c42d7f1 | ||
|
d4d4f7735a | ||
|
4cd3e4fed6 | ||
|
c99ceeaa65 | ||
|
ecbfade528 | ||
|
73d4679ad8 | ||
|
df1db43032 | ||
|
ff07ba102f | ||
|
07d2816d5b | ||
|
2caff8bf5c | ||
|
78e257e958 | ||
|
efaaf6eb77 | ||
|
47bcd423b5 | ||
|
38bfee6739 | ||
|
3147bf2e34 | ||
|
2506662196 | ||
|
b6eb0873e7 | ||
|
2c08229f04 | ||
|
753d9abb13 | ||
|
af7e9cd1b6 | ||
|
552ea7ec3a | ||
|
43f19912e3 | ||
|
16bb5c8075 | ||
|
bebcb377af | ||
|
4cffb2f094 | ||
|
5adaa90de3 | ||
|
f9e8ae8dfc | ||
|
efeb24a96c | ||
|
3c4ddb5572 | ||
|
fec9e956e3 | ||
|
2ee4fa70a5 | ||
|
7a4b2d91ad | ||
|
dc7eab4329 | ||
|
a44392d948 | ||
|
b013937b2c | ||
|
4bded8fa91 | ||
|
f88a38aa52 | ||
|
37774dc02d | ||
|
4efe3721e7 | ||
|
31cbc3374d | ||
|
c8a33802c2 | ||
|
a3ff5fb398 | ||
|
8d5b3dd86a | ||
|
fecedf8c72 | ||
|
183b7b0cf1 | ||
|
1523fae41e | ||
|
a6d0d61175 | ||
|
b0f4bee85e | ||
|
1d1d3fb907 | ||
|
bd363a9ca6 | ||
|
46c1169ab1 | ||
|
b11aa1517e | ||
|
aa7572abfd | ||
|
17b03f33ab | ||
|
dd46d6a00e | ||
|
7bd52fc397 | ||
|
ff7cbcbe61 | ||
|
d1d565aa60 | ||
|
169b76a88f | ||
|
0a265d05d4 | ||
|
08ac661b19 | ||
|
1baa3fcc6a | ||
|
eaff15b741 | ||
|
4612e7c7eb | ||
|
f66324f84d | ||
|
138889c4d6 | ||
|
cac71bf6c4 | ||
|
2ea3da9da5 | ||
|
5144c3e127 | ||
|
c4907672cd | ||
|
4c9a161eb5 | ||
|
32833323d9 | ||
|
0de702b142 | ||
|
4e24854dbf | ||
|
08fd95d253 | ||
|
aa1a6766f2 | ||
|
537dc1bff1 | ||
|
93829c8cbb | ||
|
cecf53394b | ||
|
62239cfe50 | ||
|
15ffb2d039 | ||
|
7f14f4409d | ||
|
f8c573b78c | ||
|
49641cc363 | ||
|
46706961ac | ||
|
edda30a4ad | ||
|
c775a536c8 | ||
|
84a697a826 | ||
|
07c04634bc | ||
|
78a4292fb4 | ||
|
7bdc92f325 | ||
|
b40f210d03 | ||
|
50bb0d51b3 | ||
|
3d0dc2b36e | ||
|
33f0825b3c | ||
|
3cc7b3aecb | ||
|
f7e1ab5a0e | ||
|
f6edec8c76 | ||
|
ccf85794e2 | ||
|
9bd7b581cd | ||
|
825c28e04f | ||
|
f787bfa0c7 | ||
|
93ceca1af2 | ||
|
a1bc181e96 | ||
|
3db7ab8ddd | ||
|
5b64ff7b6e | ||
|
f6347e796d | ||
|
26adc05a52 | ||
|
6a2464c4ad | ||
|
178420d1f7 | ||
|
81c1f668d1 | ||
|
2924b470ea | ||
|
c36239c8ea | ||
|
8337a4af31 | ||
|
a2cdb07c27 | ||
|
2fa17f308d | ||
|
b57703888f | ||
|
85a793f117 | ||
|
ed1d6cd9e7 | ||
|
4a17d9fef5 | ||
|
f2d748162e | ||
|
363a6f9088 | ||
|
e2686446bb | ||
|
1c01f08117 | ||
|
6768eddab9 | ||
|
ed440c7d0b | ||
|
643005349a | ||
|
cbb3f7dd5b | ||
|
72537d102d | ||
|
a43d48f67c | ||
|
c50eb6d494 | ||
|
010e3a1c9d | ||
|
3ea6e1caf0 | ||
|
f66c9665bd | ||
|
a80c80ca69 | ||
|
f41ab3beed | ||
|
933683da39 | ||
|
2679fdde9a | ||
|
2458096acf | ||
|
1f44dbb385 | ||
|
d99a29d217 | ||
|
15abcdbbf2 | ||
|
62bafe804e | ||
|
9f051c9569 | ||
|
231f4d2a14 | ||
|
4af6777d76 | ||
|
c05776fa09 | ||
|
f6b31585bb | ||
|
f3c86c8767 |
92
.gitignore
vendored
Normal file
92
.gitignore
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
*.a
|
||||
*.bak
|
||||
*.core
|
||||
*.diff
|
||||
*.gmo
|
||||
*.header
|
||||
*.in
|
||||
*.la
|
||||
*.lo
|
||||
*.o
|
||||
*.out
|
||||
*.patch
|
||||
*.pot
|
||||
*.s
|
||||
*.sed
|
||||
*.sin
|
||||
*.stamp
|
||||
*.swp
|
||||
*~
|
||||
.deps
|
||||
.libs
|
||||
ABOUT-NLS
|
||||
INSTALL
|
||||
Makefile
|
||||
Makevars.template
|
||||
Rules-quot
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
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
|
||||
examples/diskio
|
||||
gtk-doc.make
|
||||
install-sh
|
||||
lib/GTop-2.0.gir
|
||||
lib/GTop-2.0.typelib
|
||||
lib/lib.c
|
||||
libgtop-2.0.pc
|
||||
libgtop.spec
|
||||
libgtopconfig.h
|
||||
libtool
|
||||
ltmain.sh
|
||||
m4/
|
||||
missing
|
||||
po/POTFILES
|
||||
po/stamp-it
|
||||
src/daemon/libgtop_daemon2
|
||||
src/daemon/libgtop_server2
|
||||
stamp-h1
|
||||
stamp-po
|
||||
tmp-*
|
13
Makefile.am
13
Makefile.am
@@ -1,3 +1,4 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
if EXAMPLES
|
||||
EXAMPLES_DIR = examples
|
||||
@@ -14,14 +15,8 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
||||
features.def libgtopconfig.h.in \
|
||||
libgtop-sysdeps.m4 README \
|
||||
libgtop-2.0.pc.in acinclude.m4 \
|
||||
intltool-extract.in \
|
||||
intltool-merge.in \
|
||||
intltool-update.in
|
||||
|
||||
DISTCLEANFILES = \
|
||||
intltool-extract \
|
||||
intltool-merge \
|
||||
intltool-update
|
||||
libgtop.doap \
|
||||
m4/introspection.m4
|
||||
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
@@ -32,4 +27,4 @@ pkgconfig_DATA = libgtop-2.0.pc
|
||||
libgtop-features.def: features.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
|
||||
|
162
NEWS
162
NEWS
@@ -1,3 +1,165 @@
|
||||
16 January 2017: Overview of changes in 2.34.2
|
||||
================================================
|
||||
|
||||
* Linux:
|
||||
- fill last_processor member
|
||||
|
||||
* Updated translations
|
||||
* Added more gettext options
|
||||
|
||||
20 August 2016: Overview of changes in 2.34.1
|
||||
================================================
|
||||
|
||||
* FreeBSD:
|
||||
- rewrite netload to use official APIs
|
||||
- mark wireless interfaces as such
|
||||
|
||||
* All
|
||||
- rename --with-libgtop-examples to --with-examples
|
||||
- use gettext instead of intltool/glib-gettext
|
||||
- added Language headers to the translations
|
||||
|
||||
|
||||
Special thanks to Gleb Smirnoff, Antoine Brodin, Koop Mast and Ting-Wei Lan for
|
||||
the FreeBSD fixes, to Javier Jardón for the gettext migration and to Piotr Drąg
|
||||
for adding the Language headers.
|
||||
|
||||
22 March 2016: Overview of changes in 2.34.0
|
||||
================================================
|
||||
|
||||
* Stable release
|
||||
|
||||
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:
|
||||
|
@@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="Gnome Top Library"
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
(test -f $srcdir/configure.ac \
|
||||
&& test -f $srcdir/copyright.txt \
|
||||
&& test -d $srcdir/sysdeps) || {
|
||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||
|
@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
m4_define([libgtop_major_version], [2])
|
||||
m4_define([libgtop_minor_version], [26])
|
||||
m4_define([libgtop_micro_version], [1])
|
||||
m4_define([libgtop_minor_version], [34])
|
||||
m4_define([libgtop_micro_version], [2])
|
||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||
|
||||
dnl increment if the interface has additions, changes, removals.
|
||||
m4_define([libgtop_current], [9])
|
||||
m4_define([libgtop_current], [10])
|
||||
|
||||
dnl increment any time the source changes; set to
|
||||
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 if any interfaces have been removed. removal has
|
||||
dnl precedence over adding, so set to 0 if both happened.
|
||||
m4_define([libgtop_age], [2])
|
||||
m4_define([libgtop_age], [0])
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
m4_define([libgtop_server_version], [5])
|
||||
@@ -25,15 +25,19 @@ m4_define([libgtop_server_version], [5])
|
||||
# Version code calculation
|
||||
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],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
||||
AC_CONFIG_SRCDIR(copyright.txt)
|
||||
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(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
||||
@@ -88,8 +92,9 @@ GNOME_LIBGTOP_SYSDEPS
|
||||
GNOME_LIBGTOP_TYPES
|
||||
|
||||
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_LIBS)
|
||||
|
||||
@@ -210,16 +215,14 @@ AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
IT_PROG_INTLTOOL([0.35.0])
|
||||
AM_GNU_GETTEXT_VERSION([0.19.4])
|
||||
AM_GNU_GETTEXT([external])
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||
[Define to the gettext package used by the library])
|
||||
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
dnl For Solaris
|
||||
@@ -258,7 +261,8 @@ dnl Debugging
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug],
|
||||
[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,
|
||||
AS_HELP_STRING([--enable-fatal-warnings],
|
||||
[Make all warnings fatal @<:@debug=no@:>@]),
|
||||
@@ -269,14 +273,6 @@ dnl These definitions are expanded in make.
|
||||
LIBGTOP_LIBS='-L$(libdir)'
|
||||
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
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||
fi
|
||||
@@ -305,24 +301,17 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_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
|
||||
CFLAGS="\
|
||||
-Winline \
|
||||
-Wall \
|
||||
-std=gnu89 \
|
||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
||||
-Wnested-externs -Wpointer-arith \
|
||||
-Wcast-align -Wsign-compare \
|
||||
$CFLAGS"
|
||||
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 ...
|
||||
AH_VERBATIM([_GNU_SOURCE],
|
||||
@@ -341,7 +330,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
|
||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
||||
[The path to the libgtop server])
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
AC_SUBST(AM_CPPFLAGS)
|
||||
|
||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
@@ -381,6 +370,8 @@ sysdeps/solaris/Makefile
|
||||
sysdeps/aix/Makefile
|
||||
sysdeps/bsd/Makefile
|
||||
sysdeps/darwin/Makefile
|
||||
sysdeps/cygwin/Makefile
|
||||
sysdeps/openbsd/Makefile
|
||||
src/Makefile
|
||||
src/daemon/Makefile
|
||||
lib/Makefile
|
@@ -16,7 +16,7 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
2
debian/rules.in
vendored
2
debian/rules.in
vendored
@@ -10,7 +10,7 @@
|
||||
i=$(shell pwd)/debian/tmp
|
||||
b=$(shell pwd)/debian/build
|
||||
|
||||
configure: configure.in
|
||||
configure: configure.ac
|
||||
@echo "--- Making configure script and configuring"
|
||||
chmod +x autogen.sh
|
||||
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
||||
|
@@ -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
|
||||
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
|
||||
and also system utilities like @code{ps} show different things on different
|
||||
systems.
|
||||
|
@@ -46,9 +46,9 @@ HTML_IMAGES=
|
||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||
# 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)
|
||||
INCLUDES=
|
||||
AM_CPPFLAGS=
|
||||
GTKDOC_LIBS=
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
|
@@ -36,8 +36,8 @@
|
||||
Documentation License</citetitle> from the Free Software
|
||||
Foundation by visiting <ulink type="http"
|
||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.</para>
|
||||
to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.</para>
|
||||
|
||||
<para>Many of the names used by companies to distinguish their
|
||||
products and services are claimed as trademarks. Where those
|
||||
|
@@ -219,17 +219,8 @@ glibtop_set_parameter_l
|
||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procargs</FILE>
|
||||
GLIBTOP_PROC_ARGS_SIZE
|
||||
GLIBTOP_MAX_PROC_ARGS
|
||||
glibtop_proc_args
|
||||
glibtop_get_proc_args_l
|
||||
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
|
||||
</SECTION>
|
||||
|
||||
@@ -420,26 +411,8 @@ glibtop_get_proc_uid_s
|
||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
||||
<SECTION>
|
||||
<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_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>
|
||||
|
||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
||||
@@ -515,10 +488,6 @@ glibtop_send_version
|
||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>proclist</FILE>
|
||||
GLIBTOP_PROCLIST_NUMBER
|
||||
GLIBTOP_PROCLIST_TOTAL
|
||||
GLIBTOP_PROCLIST_SIZE
|
||||
GLIBTOP_MAX_PROCLIST
|
||||
GLIBTOP_KERN_PROC_ALL
|
||||
GLIBTOP_KERN_PROC_PID
|
||||
GLIBTOP_KERN_PROC_PGRP
|
||||
@@ -532,12 +501,6 @@ GLIBTOP_EXCLUDE_SYSTEM
|
||||
GLIBTOP_EXCLUDE_NOTTY
|
||||
glibtop_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>
|
||||
|
||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
||||
|
@@ -1,14 +1,17 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \
|
||||
-DGTOPLOCALEDIR=\"$(localedir)\" \
|
||||
$(GLIB_CFLAGS)
|
||||
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
DEFS = @DEFS@
|
||||
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
||||
|
||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||
mountlist procmap netload sysdeps timings \
|
||||
openfiles smp proclist mem wd affinity
|
||||
openfiles smp proclist free wd affinity diskio
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
@@ -40,6 +43,7 @@ pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
procargs_SOURCES = procargs.c
|
||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
|
||||
df_SOURCES = df.c
|
||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
@@ -55,8 +59,11 @@ proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
wd_SOURCES = wd.c
|
||||
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
mem_SOURCE = mem.c
|
||||
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
free_SOURCE = mem.c
|
||||
free_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
affinity_SOURCES = affinity.c
|
||||
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
diskio_SOURCES = diskio.c
|
||||
diskio_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
@@ -13,19 +13,36 @@ static void print_fsusage(const char *mountpoint)
|
||||
{
|
||||
glibtop_fsusage buf;
|
||||
|
||||
enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
|
||||
char **a = g_new0(char*, MAX);
|
||||
|
||||
glibtop_get_fsusage(&buf, mountpoint);
|
||||
|
||||
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
|
||||
mountpoint,
|
||||
buf.blocks * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||
buf.bavail * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
||||
buf.read,
|
||||
buf.write
|
||||
);
|
||||
}
|
||||
|
||||
#define I(X) a[(X)]
|
||||
I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
||||
I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
||||
I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
||||
I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
||||
I(READ) = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
|
||||
I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
|
||||
|
||||
printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
|
||||
(unsigned)buf.flags,
|
||||
I(SIZE),
|
||||
I(USED),
|
||||
I(FREE),
|
||||
I(AVAIL),
|
||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
||||
I(READ),
|
||||
I(WRITE),
|
||||
(unsigned long)buf.files,
|
||||
(unsigned long)buf.ffree,
|
||||
mountpoint
|
||||
);
|
||||
|
||||
g_strfreev(a);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
@@ -33,8 +50,8 @@ int main(int argc, char **argv)
|
||||
|
||||
glibtop_init();
|
||||
|
||||
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
|
||||
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
|
||||
printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
|
||||
"(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
|
||||
|
||||
if (argc > 1) {
|
||||
while (*++argv)
|
||||
|
39
examples/diskio.c
Normal file
39
examples/diskio.c
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
static void show_diskio(pid_t pid)
|
||||
{
|
||||
glibtop_proc_io io;
|
||||
|
||||
glibtop_get_proc_io (&io, pid);
|
||||
|
||||
printf("<%ld>\t", (long)pid);
|
||||
|
||||
printf("flags: %08lx disk_rchar : %lu, disk_wchar : %lu, disk_read_bytes : %lu, disk_write_bytes : %lu\n", (unsigned long)io.flags, io.disk_rchar, io.disk_wchar, io.disk_rbytes, io.disk_wbytes);
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
glibtop_init();
|
||||
|
||||
while(*++argv)
|
||||
{
|
||||
pid_t pid = strtol(*argv, NULL, 10);
|
||||
show_diskio(pid);
|
||||
}
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
44
examples/free.c
Normal file
44
examples/free.c
Normal 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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@@ -14,8 +14,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#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)
|
||||
g_string_append_printf(repr, "%02X:",
|
||||
(unsigned) ((char*)buf->hwaddress)[i]);
|
||||
((unsigned char*)buf->hwaddress)[i]);
|
||||
|
||||
repr->str [ repr->len - 1] = ' ';
|
||||
str = g_string_free(repr, FALSE);
|
||||
|
@@ -3,6 +3,7 @@
|
||||
#endif
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/sysinfo.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
|
||||
@@ -21,17 +22,58 @@
|
||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
||||
|
||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
||||
size_t i; \
|
||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
||||
(unsigned long) sizeof buf.ARRAY, \
|
||||
(unsigned long) buf_offsetof(ARRAY), \
|
||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
||||
for (i = 0; i < (SIZE); ++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; \
|
||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
||||
(unsigned long) sizeof buf->ARRAY, 0,\
|
||||
(unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
|
||||
for(i = 0; i < SIZE; ++i) { \
|
||||
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)
|
||||
|
||||
#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)
|
||||
{
|
||||
@@ -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()
|
||||
{
|
||||
glibtop_init();
|
||||
|
||||
pprint_get_sysinfo();
|
||||
pprint_get_cpu();
|
||||
|
||||
pprint_get_fsusage("/");
|
||||
@@ -317,6 +382,7 @@ int main()
|
||||
|
||||
pprint_get_proc_kernel(getpid());
|
||||
pprint_get_proc_mem(getpid());
|
||||
pprint_get_proc_affinity(getpid());
|
||||
|
||||
glibtop_close();
|
||||
|
||||
|
@@ -1,5 +1,8 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/proclist.h>
|
||||
#include <glibtop/procstate.h>
|
||||
#include <glibtop/proctime.h>
|
||||
#include <glibtop/procuid.h>
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
@@ -17,14 +20,28 @@ static void print_pids(guint64 which, guint64 arg)
|
||||
|
||||
pids = glibtop_get_proclist(&buf, which, arg);
|
||||
|
||||
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
|
||||
which, arg, (unsigned long)buf.number);
|
||||
for (i = 0; i < buf.number; ++i) {
|
||||
glibtop_proc_time ptime;
|
||||
glibtop_proc_uid puid;
|
||||
glibtop_proc_state pstate;
|
||||
|
||||
for (i = 0; i < buf.number; ++i)
|
||||
printf("%u ", pids[i]);
|
||||
pid_t p = pids[i];
|
||||
|
||||
putchar('\n');
|
||||
putchar('\n');
|
||||
glibtop_get_proc_time(&ptime, p);
|
||||
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);
|
||||
}
|
||||
@@ -34,7 +51,6 @@ int main()
|
||||
{
|
||||
glibtop_init();
|
||||
|
||||
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
|
||||
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
||||
|
||||
glibtop_close();
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -39,10 +39,36 @@
|
||||
#include <sys/resource.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1
|
||||
#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
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
@@ -78,8 +104,18 @@ main (int argc, char *argv [])
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||
g_error ("Usage: %s pid", argv [0]);
|
||||
if (argc == 1) {
|
||||
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);
|
||||
|
||||
@@ -87,6 +123,7 @@ main (int argc, char *argv [])
|
||||
|
||||
for (i = 0; i < procmap.number; i++) {
|
||||
const char *filename = NULL;
|
||||
char * format;
|
||||
unsigned device, device_major, device_minor;
|
||||
char perm [5];
|
||||
|
||||
@@ -103,42 +140,27 @@ main (int argc, char *argv [])
|
||||
device_minor = (device & 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) {
|
||||
char *format;
|
||||
|
||||
if (sizeof (void*) == 8)
|
||||
format = "%016lx-%016lx %016lx - "
|
||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||
else
|
||||
format = "%08lx-%08lx %08lx - "
|
||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||
|
||||
fprintf (stderr, format,
|
||||
(unsigned long) maps [i].start,
|
||||
(unsigned long) maps [i].end,
|
||||
(unsigned long) maps [i].offset,
|
||||
device_major, device_minor,
|
||||
(unsigned long) maps [i].inode,
|
||||
perm, filename);
|
||||
} else {
|
||||
char * format;
|
||||
|
||||
if (sizeof (void*) == 8)
|
||||
format = "%016lx-%016lx %016lx - "
|
||||
"%02x:%02x %08lu - %4s\n";
|
||||
else
|
||||
format = "%08lx-%08lx %08lx - "
|
||||
"%02x:%02x %08lu - %4s\n";
|
||||
|
||||
fprintf (stderr, format,
|
||||
(unsigned long) maps [i].start,
|
||||
(unsigned long) maps [i].end,
|
||||
(unsigned long) maps [i].offset,
|
||||
device_major, device_minor,
|
||||
(unsigned long) maps [i].inode,
|
||||
perm);
|
||||
fprintf(stderr, " - %s", filename);
|
||||
}
|
||||
|
||||
fputc('\n', stderr);
|
||||
|
||||
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
||||
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -42,14 +42,12 @@ output (pid_t pid)
|
||||
char *args;
|
||||
unsigned i;
|
||||
|
||||
#if HAVE_LIBGTOP_SMP
|
||||
unsigned long total;
|
||||
double p_total, p_utime, p_stime;
|
||||
double b_total, b_utime, b_stime;
|
||||
double s_total, s_utime, s_stime;
|
||||
double my_utime, my_stime;
|
||||
unsigned int ncpu;
|
||||
#endif
|
||||
|
||||
printf ("\n");
|
||||
|
||||
@@ -158,7 +156,6 @@ output (pid_t pid)
|
||||
|
||||
printf ("\n");
|
||||
|
||||
#if HAVE_LIBGTOP_SMP
|
||||
ncpu = glibtop_global_server->ncpu;
|
||||
|
||||
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);
|
||||
|
||||
printf ("\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -92,9 +92,10 @@ main (int argc, char *argv [])
|
||||
"\tproc_time:\t%d\t0x%08lx\n"
|
||||
"\tproc_signal:\t%d\t0x%08lx\n"
|
||||
"\tproc_kernel:\t%d\t0x%08lx\n"
|
||||
"\tproc_segment:\t%d\t0x%08lx\n\n"
|
||||
"\tproc_segment:\t%d\t0x%08lx\n"
|
||||
"\tproc_args:\t%d\t0x%08lx\n"
|
||||
"\tproc_map:\t%d\t0x%08lx\n\n"
|
||||
"\tproc_map:\t%d\t0x%08lx\n"
|
||||
"\tproc_io:\t%d\t0x%08lx\n\n"
|
||||
"\tmountlist:\t%d\t0x%08lx\n"
|
||||
"\tfsusage:\t%d\t0x%08lx\n\n"
|
||||
"\tnetload:\t%d\t0x%08lx\n"
|
||||
@@ -137,6 +138,8 @@ main (int argc, char *argv [])
|
||||
(unsigned long) sysdeps.proc_args,
|
||||
FEATURE_CHECK(PROC_MAP),
|
||||
(unsigned long) sysdeps.proc_map,
|
||||
FEATURE_CHECK(PROC_IO),
|
||||
(unsigned long) sysdeps.proc_io,
|
||||
FEATURE_CHECK(MOUNTLIST),
|
||||
(unsigned long) sysdeps.mountlist,
|
||||
FEATURE_CHECK(FSUSAGE),
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -69,6 +69,21 @@
|
||||
} \
|
||||
} 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
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
@@ -85,13 +100,16 @@ main (int argc, char *argv [])
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
display_self_times();
|
||||
|
||||
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
||||
"Feature", "Flags", "Count", "utime", "stime");
|
||||
printf ("-------------------------------------------"
|
||||
"---------------\n");
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
getrusage (RUSAGE_SELF, &total_start);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
@@ -394,6 +412,26 @@ main (int argc, char *argv [])
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_io (&data.proc_io, pid);
|
||||
|
||||
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_Io (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_io.flags, PROFILE_COUNT,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
|
||||
getrusage (RUSAGE_SELF, &total_end);
|
||||
|
||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
||||
@@ -411,6 +449,8 @@ main (int argc, char *argv [])
|
||||
printf ("All timings are in clock ticks "
|
||||
"(1000000 ticks per second).\n\n");
|
||||
|
||||
display_self_times();
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
|
53
features.def
53
features.def
@@ -1,27 +1,28 @@
|
||||
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|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||
void|swap|ulong(total,used,free,pagein,pageout)
|
||||
void|uptime|double(uptime,idletime)
|
||||
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
|
||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|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_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|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_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
|
||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
||||
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
|
||||
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
||||
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|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|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||
char **|netlist|unsigned(number)
|
||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
|
||||
void|cpu
|
||||
void|mem
|
||||
void|swap
|
||||
void|uptime
|
||||
void|loadavg
|
||||
void|shm_limits
|
||||
void|msg_limits
|
||||
void|sem_limits
|
||||
pid_t*|proclist|long(which,arg)
|
||||
void|proc_state|pid_t(pid)
|
||||
void|proc_uid|pid_t(pid)
|
||||
void|proc_mem|pid_t(pid)
|
||||
void|proc_time|pid_t(pid)
|
||||
void|proc_signal|pid_t(pid)
|
||||
void|proc_kernel|pid_t(pid)
|
||||
void|proc_segment|pid_t(pid)
|
||||
char *|proc_args|pid_t(pid):unsigned(max_len)
|
||||
glibtop_map_entry *|proc_map|pid_t(pid)
|
||||
glibtop_open_files_entry *|proc_open_files|pid_t(pid)
|
||||
glibtop_mountentry *|@mountlist|int(all_fs)
|
||||
void|@fsusage|string|mount_dir
|
||||
void|netload|string|interface
|
||||
void|ppp|ushort(device)
|
||||
char **|netlist
|
||||
char **|proc_wd|pid_t(pid)
|
||||
guint16*|proc_affinity|pid_t(pid)
|
||||
void|proc_io|pid_t(pid)
|
||||
|
||||
|
76
glibtop.h
76
glibtop.h
@@ -15,18 +15,24 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_H__
|
||||
#define __GLIBTOP_H__
|
||||
|
||||
/* for pid_t, uid_t, gid_t */
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
typedef struct _glibtop_machine glibtop_machine;
|
||||
|
||||
/**
|
||||
* LIBGTOP_CHECK_VERSION
|
||||
@@ -54,10 +60,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
||||
|
||||
#include <glibtop_server.h>
|
||||
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
#include <glibtop_machine.h>
|
||||
#endif
|
||||
|
||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||
#endif
|
||||
@@ -68,34 +70,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
||||
#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
|
||||
{
|
||||
unsigned flags;
|
||||
@@ -117,27 +91,57 @@ struct _glibtop
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
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 const unsigned long glibtop_server_features;
|
||||
|
||||
/**
|
||||
* glibtop_init:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
glibtop *
|
||||
glibtop_init (void);
|
||||
|
||||
|
||||
/**
|
||||
* glibtop_init_r:
|
||||
* @server_ptr: (out):
|
||||
* @features:
|
||||
* @flags:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
glibtop *
|
||||
glibtop_init_r (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
|
||||
/**
|
||||
* glibtop_init_s:
|
||||
* @server_ptr: (out):
|
||||
* @features:
|
||||
* @flags:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
GType glibtop_get_type (void) G_GNUC_CONST;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -2,13 +2,16 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
||||
|
||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.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 \
|
||||
procsegment.h sysdeps.h global.h \
|
||||
procsignal.h union.h gnuserv.h \
|
||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||
sysinfo.h ppp.h procargs.h netload.h \
|
||||
procwd.h procaffinity.h \
|
||||
procio.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
|
||||
|
||||
|
@@ -19,8 +19,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_CLOSE_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_COMMAND_H__
|
||||
@@ -59,8 +59,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||
#define GLIBTOP_CMND_PROC_WD 26
|
||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||
#define GLIBTOP_CMND_PROC_IO 28
|
||||
|
||||
#define GLIBTOP_MAX_CMND 28
|
||||
#define GLIBTOP_MAX_CMND 29
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_CPU_H__
|
||||
@@ -54,7 +54,7 @@ G_BEGIN_DECLS
|
||||
Yes we are :)
|
||||
Nobody should really be using more than 32 processors.
|
||||
*/
|
||||
#define GLIBTOP_NCPU 32
|
||||
#define GLIBTOP_NCPU 1024
|
||||
|
||||
typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
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_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
|
||||
|
||||
#endif
|
||||
|
@@ -14,8 +14,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_FSUSAGE_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_GLOBAL_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_LOADAVG_H__
|
||||
|
22
include/glibtop/machine.h
Normal file
22
include/glibtop/machine.h
Normal 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 */
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_MEM_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_MOUNTLIST_H__
|
||||
@@ -53,6 +53,38 @@ struct _glibtop_mountlist
|
||||
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_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_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
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
||||
|
@@ -13,8 +13,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_NETLIST_H__
|
||||
@@ -31,12 +31,23 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_netlist glibtop_netlist;
|
||||
|
||||
/**
|
||||
* glibtop_netlist:
|
||||
* @number: Number of entries in the returned list.
|
||||
*/
|
||||
struct _glibtop_netlist
|
||||
{
|
||||
guint64 flags;
|
||||
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);
|
||||
|
||||
#if GLIBTOP_SUID_NETLIST
|
||||
@@ -45,13 +56,39 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
|
||||
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
||||
#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);
|
||||
|
||||
#if GLIBTOP_SUID_NETLIST
|
||||
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);
|
||||
#else
|
||||
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);
|
||||
#endif
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_NETLOAD_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_OPEN_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PARAMETER_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PPP_H__
|
||||
|
@@ -13,8 +13,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
||||
@@ -29,6 +29,7 @@ typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
||||
|
||||
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
||||
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
||||
#define GLIBTOP_MAX_PROC_AFFINITY 2
|
||||
|
||||
struct _glibtop_proc_affinity
|
||||
{
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROC_ARGS_H__
|
||||
@@ -79,6 +79,15 @@ char **
|
||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
/**
|
||||
* glibtop_get_proc_argv:
|
||||
* @buf:
|
||||
* @pid:
|
||||
* @max_len:
|
||||
*
|
||||
* Returns: (transfer full):
|
||||
*/
|
||||
|
||||
char **
|
||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||
|
||||
|
93
include/glibtop/procio.h
Normal file
93
include/glibtop/procio.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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_PROCIO_H__
|
||||
#define __GLIBTOP_PROCIO_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_IO_DISK_RCHAR 0
|
||||
#define GLIBTOP_PROC_IO_DISK_WCHAR 1
|
||||
#define GLIBTOP_PROC_IO_DISK_RBYTES 2
|
||||
#define GLIBTOP_PROC_IO_DISK_WBYTES 3
|
||||
|
||||
#define GLIBTOP_MAX_PROC_IO 3
|
||||
|
||||
typedef struct _glibtop_proc_io glibtop_proc_io;
|
||||
|
||||
/* Time section */
|
||||
|
||||
/**
|
||||
* glibtop_proc_io:
|
||||
* @disk_rchar: The number of bytes which this task has caused to be read from storage. This
|
||||
* is simply the sum of bytes which this process passed to read() and pread(), also including tty IO,
|
||||
* and it is unaffected by whether or not actual physical disk IO was required.
|
||||
* @disk_wchar: The number of bytes which this task has caused, or shall cause to be written
|
||||
* to disk. Similar caveats apply here as with rchar.
|
||||
* @disk_rbytes: Attempt to count the number of bytes which this process really did cause to
|
||||
* be fetched from the storage layer. Done at the submit_bio() level, so it is
|
||||
* accurate for block-backed filesystems.
|
||||
* @disk_wbytes: Attempt to count the number of bytes which this process caused to be sent to
|
||||
* the storage layer. This is done at page-dirtying time.
|
||||
*
|
||||
* Process disk io data filled by glibtop_get_proc_io().
|
||||
*
|
||||
*/
|
||||
struct _glibtop_proc_io
|
||||
{
|
||||
/*< private >*/
|
||||
guint64 flags;
|
||||
/*< public >*/
|
||||
guint64 disk_rchar;
|
||||
guint64 disk_wchar;
|
||||
guint64 disk_rbytes;
|
||||
guint64 disk_wbytes;
|
||||
|
||||
/* reserved for future extensions, e.g. per-process netio */
|
||||
guint64 reserved[10];
|
||||
};
|
||||
|
||||
|
||||
void glibtop_get_proc_io (glibtop_proc_io *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_IO
|
||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_p
|
||||
#else
|
||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_s
|
||||
#endif
|
||||
|
||||
void glibtop_get_proc_io_l (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_IO
|
||||
void _glibtop_init_proc_io_p (glibtop *server);
|
||||
void glibtop_get_proc_io_p (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
||||
#else
|
||||
void _glibtop_init_proc_io_s (glibtop *server);
|
||||
void glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCKERNEL_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCLIST_H__
|
||||
@@ -36,22 +36,89 @@ G_BEGIN_DECLS
|
||||
/* You can use the folowing constants as the `which' member of
|
||||
* 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
|
||||
|
||||
/**
|
||||
* GLIBTOP_KERN_PROC_PGRP:
|
||||
*
|
||||
* Return all processes in the process group passed in @arg.
|
||||
**/
|
||||
#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
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
||||
/**
|
||||
* GLIBTOP_KERN_PROC_UID:
|
||||
*
|
||||
* Return all processes with the effective uid passed in @arg.
|
||||
**/
|
||||
#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_MASK 15
|
||||
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_IDLE:
|
||||
*
|
||||
* Exclude idle processes.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_SYSTEM:
|
||||
*
|
||||
* Exclude system (on most UNIXes root's) processes.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_NOTTY:
|
||||
*
|
||||
* Exclude processes without a controlling terminal.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||
|
||||
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
|
||||
{
|
||||
guint64 flags;
|
||||
@@ -60,6 +127,15 @@ struct _glibtop_proclist
|
||||
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*
|
||||
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
|
||||
#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*
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
@@ -76,12 +162,32 @@ glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
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*
|
||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
#else
|
||||
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*
|
||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROC_MAP_H__
|
||||
@@ -48,8 +48,10 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
||||
#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
|
||||
|
||||
@@ -78,6 +80,8 @@ struct _glibtop_map_entry
|
||||
guint64 shared_dirty;
|
||||
guint64 private_clean;
|
||||
guint64 private_dirty;
|
||||
guint64 pss;
|
||||
guint64 swap;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
};
|
||||
|
||||
@@ -88,10 +92,46 @@ struct _glibtop_proc_map
|
||||
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
||||
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||
};
|
||||
|
||||
/**
|
||||
* glibtop_get_proc_map:
|
||||
* @buf:
|
||||
* @pid:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
glibtop_map_entry *
|
||||
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
|
||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
||||
#else
|
||||
@@ -113,6 +153,8 @@ glibtop_map_entry *
|
||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
GType glibtop_map_entry_get_type (void) G_GNUC_CONST;
|
||||
GType glibtop_proc_map_get_type (void) G_GNUC_CONST;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCMEM_H__
|
||||
@@ -53,6 +53,12 @@ struct _glibtop_proc_mem
|
||||
* 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);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
|
@@ -18,8 +18,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
||||
@@ -94,6 +94,14 @@ struct _glibtop_proc_open_files
|
||||
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
||||
};
|
||||
|
||||
/**
|
||||
* glibtop_get_proc_open_files:
|
||||
* @buf:
|
||||
* @pid:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
|
||||
glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
||||
|
||||
@@ -103,12 +111,32 @@ glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* glibtop_get_proc_open_files_l:
|
||||
* @server:
|
||||
* @buf: (out):
|
||||
* @pid:
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
|
||||
glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_FILE
|
||||
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_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
#else
|
||||
@@ -118,6 +146,9 @@ glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
#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
|
||||
|
||||
#endif
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCSTATE_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCTIME_H__
|
||||
@@ -46,26 +46,50 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
/* 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 process’s 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
|
||||
{
|
||||
/*< private >*/
|
||||
guint64 flags;
|
||||
guint64 start_time; /* start time of process --
|
||||
* seconds since 1-1-70 */
|
||||
guint64 rtime; /* real time accumulated by process */
|
||||
guint64 utime; /* user-mode CPU time accumulated by process */
|
||||
guint64 stime; /* kernel-mode CPU time accumulated by process */
|
||||
guint64 cutime; /* cumulative utime of process and
|
||||
* reaped children */
|
||||
guint64 cstime; /* cumulative stime of process and
|
||||
* reaped children */
|
||||
guint64 timeout; /* The time (in jiffies) of the process's
|
||||
* next timeout */
|
||||
guint64 it_real_value; /* The time (in jiffies) before the
|
||||
* 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. */
|
||||
/*< public >*/
|
||||
guint64 start_time;
|
||||
guint64 rtime;
|
||||
guint64 utime;
|
||||
guint64 stime;
|
||||
guint64 cutime;
|
||||
guint64 cstime;
|
||||
guint64 timeout;
|
||||
guint64 it_real_value;
|
||||
guint64 frequency;
|
||||
guint64 xcpu_utime [GLIBTOP_NCPU];
|
||||
guint64 xcpu_stime [GLIBTOP_NCPU];
|
||||
};
|
||||
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCUID_H__
|
||||
|
@@ -13,8 +13,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#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_ROOT 1
|
||||
#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_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_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_READ_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_READ_DATA_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
||||
@@ -37,6 +37,9 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
|
||||
/**
|
||||
* glibtop_shm_limits:
|
||||
*/
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
guint64 flags;
|
||||
@@ -47,6 +50,10 @@ struct _glibtop_shm_limits
|
||||
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
||||
};
|
||||
|
||||
/**
|
||||
* glibtop_get_shm_limits:
|
||||
* @buf: a #glibtop_shm_limits
|
||||
*/
|
||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
||||
|
||||
#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
|
||||
#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);
|
||||
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
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);
|
||||
#else
|
||||
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);
|
||||
#endif
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SIGNAL_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SWAP_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SYSDEPS_H__
|
||||
@@ -53,8 +53,12 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||
#define GLIBTOP_SYSDEPS_PROC_IO 27
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 27
|
||||
#define GLIBTOP_MAX_SYSDEPS 28
|
||||
|
||||
/* 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)
|
||||
|
||||
@@ -90,6 +94,7 @@ struct _glibtop_sysdeps
|
||||
guint64 ppp; /* glibtop_ppp */
|
||||
guint64 proc_wd; /* glibtop_proc_wd */
|
||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||
guint64 proc_io; /* glibtop_proc_io */
|
||||
};
|
||||
|
||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SYSINFO_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_UNION_H__
|
||||
@@ -44,6 +44,7 @@
|
||||
#include <glibtop/procopenfiles.h>
|
||||
#include <glibtop/procwd.h>
|
||||
#include <glibtop/procaffinity.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
#include <glibtop/mountlist.h>
|
||||
#include <glibtop/fsusage.h>
|
||||
@@ -84,6 +85,7 @@ union _glibtop_union
|
||||
glibtop_proc_open_files proc_open_files;
|
||||
glibtop_proc_wd proc_wd;
|
||||
glibtop_proc_affinity proc_affinity;
|
||||
glibtop_proc_io proc_io;
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_UPTIME_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_VERSION_H__
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_WRITE_H__
|
||||
|
@@ -1,13 +1,13 @@
|
||||
|
||||
INCLUDES = @INCLUDES@
|
||||
AM_CPPFLAGS = @AM_CPPFLAGS@
|
||||
|
||||
lib_LTLIBRARIES = libgtop-2.0.la
|
||||
|
||||
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.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)
|
||||
|
||||
BUILT_SOURCES = lib.c
|
||||
@@ -20,3 +20,36 @@ EXTRA_DIST = lib.pl libgtop.sym
|
||||
|
||||
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/procio.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
47
lib/boxed.c
Normal 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);
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
@@ -15,11 +15,12 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glibtop/read.h>
|
||||
#include <glibtop/write.h>
|
||||
#include <glibtop/read_data.h>
|
||||
@@ -35,6 +36,44 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
|
||||
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);
|
||||
CHECK_CMND(GLIBTOP_CMND_PROC_IO);
|
||||
default:
|
||||
glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break;
|
||||
}
|
||||
#undef CHECK_CMND
|
||||
|
||||
cmnd.command = command;
|
||||
|
||||
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
||||
@@ -52,10 +91,8 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
|
||||
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "RESPONSE: %lu - %d\n",
|
||||
glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu",
|
||||
response.offset, response.data_size);
|
||||
#endif
|
||||
|
||||
if (recv_buf)
|
||||
memcpy (recv_buf, ((char *) &response) + response.offset,
|
||||
|
17
lib/init.c
17
lib/init.c
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -26,12 +26,14 @@
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/parameter.h>
|
||||
#include <glibtop/init_hooks.h>
|
||||
#include <glibtop/machine.h>
|
||||
|
||||
|
||||
#ifndef DEFAULT_PORT
|
||||
#define DEFAULT_PORT 42800
|
||||
#endif
|
||||
|
||||
static glibtop _glibtop_global_server = { 0 };
|
||||
static glibtop _glibtop_global_server;
|
||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||
|
||||
static void
|
||||
@@ -141,7 +143,7 @@ _init_server (glibtop *server, const unsigned features)
|
||||
|
||||
/* Open pipe to server. */
|
||||
server->method = GLIBTOP_METHOD_PIPE;
|
||||
|
||||
server->server_command = g_strdup(LIBGTOP_SERVER);
|
||||
} else {
|
||||
|
||||
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. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
||||
|
||||
glibtop_machine_new (server);
|
||||
|
||||
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
||||
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. */
|
||||
|
||||
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
||||
glibtop_open_l (glibtop_global_server, "glibtop",
|
||||
glibtop_open_l (server, "glibtop",
|
||||
features, flags);
|
||||
|
||||
return server;
|
||||
@@ -221,6 +226,8 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
glibtop *server;
|
||||
const _glibtop_init_func_t *init_fkt;
|
||||
|
||||
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
||||
|
39
lib/lib.pl
39
lib/lib.pl
@@ -88,7 +88,7 @@ sub output {
|
||||
@line_fields = split(/\|/, $line, 9999);
|
||||
$retval = $line_fields[1];
|
||||
$feature = $line_fields[2];
|
||||
$param_def = $line_fields[4];
|
||||
$param_def = $line_fields[3];
|
||||
|
||||
$orig = $feature;
|
||||
$feature =~ s/^@//;
|
||||
@@ -106,16 +106,16 @@ sub output {
|
||||
}
|
||||
|
||||
if ($param_def eq 'string') {
|
||||
$call_param = ', ' . $line_fields[5];
|
||||
$call_param = ', ' . $line_fields[4];
|
||||
$param_buf = '';
|
||||
$buf_set = '';
|
||||
$param_decl = ",\n " . $space . ' const char *' .
|
||||
|
||||
$line_fields[5];
|
||||
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';';
|
||||
$line_fields[4];
|
||||
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[4] . ';';
|
||||
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
|
||||
|
||||
$line_fields[5] . ') + 1;';
|
||||
$line_fields[4] . ') + 1;';
|
||||
}
|
||||
else {
|
||||
$call_param = '';
|
||||
@@ -126,7 +126,7 @@ sub output {
|
||||
$buf_set = '';
|
||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||
if ($nr_params) {
|
||||
$param_buf = "\n\tstruct {\n";
|
||||
$param_buf = "\t\tstruct {\n";
|
||||
}
|
||||
for ($param = 1; $param <= $nr_params; $param++) {
|
||||
$list = $params[$param];
|
||||
@@ -138,8 +138,8 @@ sub output {
|
||||
|
||||
if ($count > 0) {
|
||||
for ($field = 1; $field <= $count; $field++) {
|
||||
$param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n";
|
||||
$buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
||||
$param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
|
||||
$buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,19 +155,19 @@ sub output {
|
||||
$fields[$field];
|
||||
$call_param = $call_param . ', ' . $fields[$field];
|
||||
if ($send_ptr eq '') {
|
||||
$send_ptr = "\n\tconst void *send_ptr = ¶m_buf;";
|
||||
$send_ptr = "\t\tconst void *send_ptr = ¶m_buf;";
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($nr_params) {
|
||||
$param_buf .= "\t} param_buf;";
|
||||
$send_size = "\n\tconst size_t send_size = sizeof param_buf;";
|
||||
$param_buf .= "\t\t} param_buf;\n";
|
||||
$send_size = "\t\tconst size_t send_size = sizeof param_buf;";
|
||||
}
|
||||
else {
|
||||
$send_size = "\n\tconst size_t send_size = 0;";
|
||||
$send_size = "\t\tconst size_t send_size = 0;";
|
||||
}
|
||||
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 . ')';
|
||||
|
||||
print "{" . $param_buf;
|
||||
print "{";
|
||||
|
||||
print $send_ptr . '' . $send_size;
|
||||
if ($retval !~ /^void$/) {
|
||||
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
||||
}
|
||||
print $buf_set;
|
||||
|
||||
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
||||
|
||||
@@ -198,6 +196,15 @@ sub output {
|
||||
&toupper($feature) . ')))';
|
||||
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_' .
|
||||
|
||||
&toupper($feature) . ',';
|
||||
|
@@ -52,6 +52,8 @@ glibtop_get_shm_limits
|
||||
glibtop_get_shm_limits_l
|
||||
glibtop_get_proc_affinity
|
||||
glibtop_get_proc_affinity_l
|
||||
glibtop_get_proc_io
|
||||
glibtop_get_proc_io_l
|
||||
glibtop_get_swap
|
||||
glibtop_get_swap_l
|
||||
glibtop_get_sysdeps
|
||||
@@ -68,3 +70,10 @@ glibtop_open_l
|
||||
glibtop_server_features
|
||||
glibtop_set_parameter_l
|
||||
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
|
||||
|
42
lib/open.c
42
lib/open.c
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -47,56 +47,44 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
|
||||
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "SIZEOF: %u - %u - %u - %u - %u - %u\n",
|
||||
glibtop_debug ("SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
|
||||
sizeof (glibtop_command), sizeof (glibtop_response),
|
||||
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
||||
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
|
||||
#endif
|
||||
|
||||
switch (server->method) {
|
||||
case GLIBTOP_METHOD_DIRECT:
|
||||
server->features = 0;
|
||||
break;
|
||||
case GLIBTOP_METHOD_INET:
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connecting to '%s' port %ld.\n",
|
||||
glibtop_debug ("Connecting to '%s' port %ld.",
|
||||
server->server_host, server->server_port);
|
||||
#endif
|
||||
|
||||
connect_type = glibtop_make_connection
|
||||
(server->server_host, server->server_port,
|
||||
&server->socket);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||
#endif
|
||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||
|
||||
server->features = -1;
|
||||
break;
|
||||
case GLIBTOP_METHOD_UNIX:
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connecting to Unix Domain Socket.\n");
|
||||
#endif
|
||||
glibtop_debug ("Connecting to Unix Domain Socket.");
|
||||
|
||||
connect_type = glibtop_make_connection
|
||||
("unix", 0, &server->socket);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||
#endif
|
||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
||||
|
||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||
|
||||
server->features = -1;
|
||||
break;
|
||||
case GLIBTOP_METHOD_PIPE:
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Opening pipe to server (%s).\n",
|
||||
LIBGTOP_SERVER);
|
||||
#endif
|
||||
glibtop_debug ("Opening pipe to server (%s).",
|
||||
server->server_command);
|
||||
|
||||
if (pipe (server->input) || pipe (server->output))
|
||||
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]);
|
||||
dup2 (server->input [1], 1);
|
||||
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)",
|
||||
LIBGTOP_SERVER);
|
||||
server->server_command);
|
||||
_exit (2);
|
||||
}
|
||||
|
||||
@@ -165,18 +153,14 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
|
||||
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Server features are %lu.\n",
|
||||
glibtop_debug ("Server features are %#0lx.",
|
||||
server->features);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* In any case, we call the open functions of our own sysdeps
|
||||
* directory. */
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Calling sysdeps open function.\n");
|
||||
#endif
|
||||
glibtop_debug ("Calling sysdeps open function.");
|
||||
|
||||
glibtop_init_s (&server, features, flags);
|
||||
}
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -33,9 +33,7 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
|
||||
int fd;
|
||||
glibtop_init_r (&server, 0, 0);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
|
||||
#endif
|
||||
glibtop_debug("LIBRARY: really reading %d bytes.", (int)size);
|
||||
|
||||
fd = server->socket ? server->socket : server->input[0];
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -36,10 +36,8 @@ glibtop_read_data_l (glibtop *server)
|
||||
|
||||
glibtop_init_r (&server, 0, 0);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: reading %lu data bytes.\n",
|
||||
glibtop_debug ("LIBRARY: reading %lu data bytes.",
|
||||
(unsigned long) sizeof (size_t));
|
||||
#endif
|
||||
|
||||
if (server->socket) {
|
||||
ret = recv (server->socket, &size, sizeof (size_t), 0);
|
||||
@@ -50,10 +48,8 @@ glibtop_read_data_l (glibtop *server)
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (server, _("read data size"));
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really reading %lu data bytes (ret = %d).\n",
|
||||
glibtop_debug ("LIBRARY: really reading %lu data bytes (ret = %d).",
|
||||
(unsigned long) size, ret);
|
||||
#endif
|
||||
|
||||
if (!size) return NULL;
|
||||
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -48,7 +48,8 @@ GLIBTOP_SUID_NETLOAD +
|
||||
GLIBTOP_SUID_NETLIST +
|
||||
GLIBTOP_SUID_PROC_WD +
|
||||
GLIBTOP_SUID_PROC_AFFINITY +
|
||||
GLIBTOP_SUID_PPP;
|
||||
GLIBTOP_SUID_PPP +
|
||||
GLIBTOP_SUID_PROC_IO;
|
||||
|
||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
#if !GLIBTOP_SUID_CPU
|
||||
@@ -119,6 +120,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PPP
|
||||
_glibtop_init_ppp_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_IO
|
||||
_glibtop_init_proc_io_s,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
@@ -192,6 +196,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PPP
|
||||
_glibtop_init_ppp_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_IO
|
||||
_glibtop_init_proc_io_p,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
@@ -15,8 +15,8 @@
|
||||
|
||||
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.
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
@@ -37,9 +37,7 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
|
||||
|
||||
if (size == 0) return;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
|
||||
#endif
|
||||
glibtop_debug("LIBRARY: really writing %d bytes.", (int)size);
|
||||
|
||||
fd = server->socket ? server->socket : server->output[1];
|
||||
|
||||
|
@@ -4,20 +4,16 @@ dnl
|
||||
dnl It defines the following variables:
|
||||
dnl
|
||||
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
||||
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
||||
dnl their own header file. In this case we need to
|
||||
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'.
|
||||
dnl * 'libgtop_need_server' - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
|
||||
dnl if true; defines conditional 'LIBGTOP_NEED_SERVER'.
|
||||
|
||||
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
AC_SUBST(libgtop_sysdeps_dir)
|
||||
AC_SUBST(libgtop_use_machine_h)
|
||||
AC_SUBST(libgtop_need_server)
|
||||
|
||||
AC_ARG_WITH(libgtop-examples,
|
||||
AC_ARG_WITH(examples,
|
||||
AS_HELP_STRING([--with-examples],
|
||||
[Build the libgtop examples @<:@default=yes@:>@]),[
|
||||
build_examples="$withval"], [build_examples=yes])
|
||||
@@ -31,53 +27,30 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
|
||||
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)
|
||||
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
libgtop_sysdeps_dir=linux
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_need_server=no
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
;;
|
||||
netbsd*|openbsd*|bsdi*)
|
||||
netbsd*|bsdi*)
|
||||
libgtop_sysdeps_dir=bsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
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*)
|
||||
libgtop_sysdeps_dir=freebsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
@@ -85,24 +58,27 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
;;
|
||||
solaris*)
|
||||
libgtop_sysdeps_dir=solaris
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||
;;
|
||||
aix*)
|
||||
libgtop_sysdeps_dir=aix
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||
;;
|
||||
darwin*)
|
||||
libgtop_sysdeps_dir=darwin
|
||||
libgtop_use_machine_h=yes
|
||||
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
|
||||
case "$host_os" in
|
||||
@@ -110,23 +86,19 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
#Please note that this port is obsolete and not working at
|
||||
#all. It is only useful for people who want to fix it ... :-)
|
||||
libgtop_sysdeps_dir=sun4
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
;;
|
||||
osf*)
|
||||
libgtop_sysdeps_dir=osf1
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
;;
|
||||
*)
|
||||
libgtop_sysdeps_dir=stub
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_need_server=no
|
||||
;;
|
||||
esac
|
||||
else
|
||||
libgtop_sysdeps_dir=stub
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_need_server=no
|
||||
fi
|
||||
;;
|
||||
@@ -142,30 +114,13 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
|
||||
case "$host_os" in
|
||||
*bsd*)
|
||||
case "$host_os" in
|
||||
*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_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
|
||||
AC_SUBST(KVM_LIBS)
|
||||
|
||||
case "$host_os" in
|
||||
kfreebsd*)
|
||||
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||
;;
|
||||
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_CHECK_HEADERS(net/if_var.h,,, [
|
||||
#include <net/if.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>])
|
||||
AC_MSG_CHECKING([for I4B])
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
@@ -230,10 +185,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
||||
AC_CACHE_VAL(msginfo_needs,
|
||||
msginfo_needs=
|
||||
AC_CACHE_VAL(msginfo_cv_needs,
|
||||
msginfo_cv_needs=
|
||||
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/ipc.h>
|
||||
#include <sys/msg.h>
|
||||
@@ -245,23 +200,23 @@ main (void)
|
||||
struct msginfo mi;
|
||||
mi.msgmax = 0;
|
||||
return 0;
|
||||
}],
|
||||
}])],
|
||||
[
|
||||
msginfo_needs=$def
|
||||
if test ${msginfo_needs} = KERNEL; then
|
||||
msginfo_cv_needs=$def
|
||||
if test ${msginfo_cv_needs} = KERNEL; then
|
||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
||||
[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,
|
||||
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
||||
fi
|
||||
]
|
||||
)
|
||||
test -n "${msginfo_needs}" && break
|
||||
test -n "${msginfo_cv_needs}" && break
|
||||
done
|
||||
)
|
||||
AC_MSG_RESULT($msginfo_needs)
|
||||
if test -z "${msginfo_needs}"; then
|
||||
AC_MSG_RESULT($msginfo_cv_needs)
|
||||
if test -z "${msginfo_cv_needs}"; then
|
||||
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
||||
fi
|
||||
;;
|
||||
@@ -306,22 +261,14 @@ main (void)
|
||||
;;
|
||||
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_RESULT($libgtop_need_server)
|
||||
|
||||
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
|
||||
|
||||
if test x$libgtop_use_machine_h = xyes ; then
|
||||
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H, 1,
|
||||
[Define if machine.h in libgtop sysdeps dir])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||
AM_CONDITIONAL(LIBGTOP_NEED_SERVER, test x$libgtop_need_server = xyes)
|
||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
|
||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
|
||||
])
|
||||
|
31
libgtop.doap
Normal file
31
libgtop.doap
Normal 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>
|
||||
|
4
ltconfig
4
ltconfig
@@ -16,7 +16,7 @@
|
||||
#
|
||||
# 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., 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
|
||||
# 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
|
||||
# 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
|
||||
# distribute this file as part of a program that contains a
|
||||
|
96
m4/introspection.m4
Normal file
96
m4/introspection.m4
Normal 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])
|
||||
])
|
@@ -1,3 +1,7 @@
|
||||
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.
|
||||
|
@@ -3,6 +3,7 @@
|
||||
am
|
||||
ar
|
||||
as
|
||||
ast
|
||||
az
|
||||
be
|
||||
bg
|
||||
@@ -10,6 +11,7 @@ bn
|
||||
bn_IN
|
||||
bs
|
||||
ca
|
||||
ca@valencia
|
||||
cs
|
||||
cy
|
||||
da
|
||||
@@ -18,6 +20,7 @@ dz
|
||||
el
|
||||
en_CA
|
||||
en_GB
|
||||
en@shaw
|
||||
eo
|
||||
es
|
||||
et
|
||||
@@ -25,6 +28,7 @@ eu
|
||||
fa
|
||||
fi
|
||||
fr
|
||||
fur
|
||||
ga
|
||||
gl
|
||||
gu
|
||||
@@ -43,6 +47,7 @@ ky
|
||||
la
|
||||
lt
|
||||
lv
|
||||
mai
|
||||
mg
|
||||
mi
|
||||
mk
|
||||
@@ -71,8 +76,10 @@ sr@latin
|
||||
sv
|
||||
ta
|
||||
te
|
||||
tg
|
||||
th
|
||||
tr
|
||||
ug
|
||||
uk
|
||||
vi
|
||||
xh
|
||||
|
78
po/Makevars
Normal file
78
po/Makevars
Normal file
@@ -0,0 +1,78 @@
|
||||
# Makefile variables for PO directory in any package using GNU gettext.
|
||||
|
||||
# Usually the message domain is the same as the package name.
|
||||
DOMAIN = $(PACKAGE)
|
||||
|
||||
# These two variables depend on the location of this directory.
|
||||
subdir = po
|
||||
top_builddir = ..
|
||||
|
||||
# These options get passed to xgettext.
|
||||
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
|
||||
|
||||
# This is the copyright holder that gets inserted into the header of the
|
||||
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
|
||||
# package. (Note that the msgstr strings, extracted from the package's
|
||||
# sources, belong to the copyright holder of the package.) Translators are
|
||||
# expected to transfer the copyright for their translations to this person
|
||||
# or entity, or to disclaim their copyright. The empty string stands for
|
||||
# the public domain; in this case the translators are expected to disclaim
|
||||
# their copyright.
|
||||
COPYRIGHT_HOLDER = Free Software Foundation, Inc.
|
||||
|
||||
# This tells whether or not to prepend "GNU " prefix to the package
|
||||
# name that gets inserted into the header of the $(DOMAIN).pot file.
|
||||
# Possible values are "yes", "no", or empty. If it is empty, try to
|
||||
# detect it automatically by scanning the files in $(top_srcdir) for
|
||||
# "GNU packagename" string.
|
||||
PACKAGE_GNU =
|
||||
|
||||
# This is the email address or URL to which the translators shall report
|
||||
# bugs in the untranslated strings:
|
||||
# - Strings which are not entire sentences, see the maintainer guidelines
|
||||
# in the GNU gettext documentation, section 'Preparing Strings'.
|
||||
# - Strings which use unclear terms or require additional context to be
|
||||
# understood.
|
||||
# - Strings which make invalid assumptions about notation of date, time or
|
||||
# money.
|
||||
# - Pluralisation problems.
|
||||
# - Incorrect English spelling.
|
||||
# - Incorrect formatting.
|
||||
# It can be your email address, or a mailing list address where translators
|
||||
# can write to without being subscribed, or the URL of a web page through
|
||||
# which the translators can contact you.
|
||||
MSGID_BUGS_ADDRESS =
|
||||
|
||||
# This is the list of locale categories, beyond LC_MESSAGES, for which the
|
||||
# message catalogs shall be used. It is usually empty.
|
||||
EXTRA_LOCALE_CATEGORIES =
|
||||
|
||||
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
|
||||
# context. Possible values are "yes" and "no". Set this to yes if the
|
||||
# package uses functions taking also a message context, like pgettext(), or
|
||||
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
|
||||
USE_MSGCTXT = no
|
||||
|
||||
# These options get passed to msgmerge.
|
||||
# Useful options are in particular:
|
||||
# --previous to keep previous msgids of translated messages,
|
||||
# --quiet to reduce the verbosity.
|
||||
MSGMERGE_OPTIONS =
|
||||
|
||||
# These options get passed to msginit.
|
||||
# If you want to disable line wrapping when writing PO files, add
|
||||
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
|
||||
# MSGINIT_OPTIONS.
|
||||
MSGINIT_OPTIONS =
|
||||
|
||||
# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
|
||||
# has changed. Possible values are "yes" and "no". Set this to no if
|
||||
# the POT file is checked in the repository and the version control
|
||||
# program ignores timestamps.
|
||||
PO_DEPENDS_ON_POT = no
|
||||
|
||||
# This tells whether or not to forcibly update $(DOMAIN).pot and
|
||||
# regenerate PO files on "make dist". Possible values are "yes" and
|
||||
# "no". Set this to no if the POT file and PO files are maintained
|
||||
# externally.
|
||||
DIST_DEPENDS_ON_UPDATE_PO = no
|
1
po/am.po
1
po/am.po
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2003-01-16 08:39+EDT\n"
|
||||
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
|
||||
"Language-Team: Amharic <locales@geez.org>\n"
|
||||
"Language: am\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
1
po/ar.po
1
po/ar.po
@@ -15,6 +15,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2008-07-28 19:26+0300\n"
|
||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
93
po/as.po
93
po/as.po
@@ -2,68 +2,69 @@
|
||||
# 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: 2009-03-01 23:08+0000\n"
|
||||
"PO-Revision-Date: 2009-03-16 11:01+0530\n"
|
||||
"Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"
|
||||
"Language-Team: Assamese <fedora-trans-as@redhat.com>\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"
|
||||
"Language: as\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 0.3\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 বাইট পড়া হৈছে"
|
||||
msgstr[0] "%d বাইট পঢ়া হল"
|
||||
msgstr[1] "%d বাইটসমূহ পঢ়া হল"
|
||||
|
||||
#: ../lib/read_data.c:51
|
||||
msgid "read data size"
|
||||
msgstr "তথ্যেৰ মাপ পড়া হ'ব"
|
||||
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 বাইট তথ্য পড়া হৈছে"
|
||||
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 বাইট লেখা হৈছে"
|
||||
msgstr[0] "%d বাইট লিখা হল"
|
||||
msgstr[1] "%d বাইট লিখা হল"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:455
|
||||
msgid "Enable debugging"
|
||||
msgstr "ডিবাগ ব্যবস্থা সক্ৰিয় কৰক"
|
||||
msgstr "ডিবাগিং সামৰ্থবান কৰক"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:457
|
||||
msgid "Enable verbose output"
|
||||
msgstr "বিস্তাৰিত (ভাৰ্বোস) আউটপুট সক্ৰিয় কৰা হ'ব"
|
||||
msgstr "ভাৰ্বোচ আউটপুট সামৰ্থবান কৰক"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:459
|
||||
msgid "Don't fork into background"
|
||||
msgstr "পটভূমিতে fork কৰা হ'ব না"
|
||||
msgstr "পটভূমিত fork নকৰিব"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:461
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "inetd ৰ পৰা আৰম্ভ কৰা হৈছে"
|
||||
msgstr "inetd ৰ পৰা আৱাহন কৰা হৈছে"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:495, c-format
|
||||
#: ../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"
|
||||
"উপলব্ধ কমান্ড শাৰী বিকল্পসমূহৰ এটা সম্পূৰ্ণ তালিকা চাবলে '%s --help' চলাওক। \n"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
@@ -71,11 +72,11 @@ msgstr "বন্ধ কৰক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr "ইন্টাৰাপ্ট উৎপন্ন কৰা হ'ব"
|
||||
msgstr "বাধা দিয়ক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "প্ৰস্থান"
|
||||
msgstr "প্ৰস্থান কৰক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
@@ -83,19 +84,19 @@ msgstr "অবৈধ নিৰ্দেশ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
msgid "Trace trap"
|
||||
msgstr "ট্ৰেস ট্ৰ্যাপ"
|
||||
msgstr "ট্ৰেইচ ট্ৰ্যাপ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "অস্বাভাবিক প্ৰস্থান"
|
||||
msgstr "বাদ দিয়ক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "EMT সংক্ৰান্ত সমস্যা"
|
||||
msgstr "EMT ত্ৰুটি"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr "ফ্লোটিং-পয়েন্ট এক্সেপশন"
|
||||
msgstr "দশমিক-বিন্দু ব্যতিক্ৰম"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
@@ -103,23 +104,23 @@ msgstr "Kill কৰক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "বাস সংক্ৰান্ত সমস্যা"
|
||||
msgstr "বাচ ত্ৰুটি"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
msgstr "সেগমেন্টেশন সংক্ৰান্ত সমস্যা"
|
||||
msgstr "বিভাজন অমান্যকৰণ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "সিস্টেম-কল'এ ভুল আৰ্গুমেন্ট প্ৰেৰিত হৈছে"
|
||||
msgstr "চিস্টেম কললে বেয়া তৰ্ক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
msgid "Broken pipe"
|
||||
msgstr "ক্ষতিগ্ৰস্ত পাইপ"
|
||||
msgstr "ভঙা পাইপ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
msgid "Alarm clock"
|
||||
msgstr "অ্যালাৰ্ম ঘড়ি"
|
||||
msgstr "এলাৰ্ম ঘড়ি"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
@@ -127,7 +128,7 @@ msgstr "সমাপ্তি"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "সকেটে গুৰুতৰ অবস্থা"
|
||||
msgstr "চকেটত গুৰুতৰ অবস্থা"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
@@ -135,57 +136,57 @@ msgstr "বন্ধ কৰক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
msgid "Keyboard stop"
|
||||
msgstr "কি-বোৰ্ড বন্ধ কৰক"
|
||||
msgstr "কিবৰ্ড বন্ধ কৰক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "অগ্ৰসৰ হওক"
|
||||
msgstr "চলাই যাওক"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr "চাইল্ডেৰ অবস্থা পৰিবৰ্তিত হৈছে"
|
||||
msgstr "চাইল্ডৰ অবস্থা সলনি হৈছে"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "পটভূমিতে tty'ৰ পৰা পড়া হচ্ছে"
|
||||
msgstr "tty ৰ পৰা পটভূমি পঢ়া"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "পটভূমিতে tty'এ লেখা হচ্ছে"
|
||||
msgstr "tty ৰ পৰা পটভূমি লিখা"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O বৰ্তমানে কৰা সম্ভব"
|
||||
msgstr "I/O বৰ্তমানত সম্ভব"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "CPU'ৰ সীমা অতিক্ৰান্ত"
|
||||
msgstr "CPU ৰ সীমা পাৰ হৈছে"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "ফাইলেৰ মাপেৰ সীমা অতিক্ৰান্ত"
|
||||
msgstr "ফাইলৰ আকাৰৰ সীমা পাৰ হৈছে"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "ভাৰ্চুয়াল অ্যালাৰ্ম ঘড়ি"
|
||||
msgstr "ভাৰ্ছুৱেল এলাৰ্ম ঘড়ি"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "অ্যালাৰ্ম ঘড়ি প্ৰোফাইল কৰা হ'ব"
|
||||
msgstr "এলাৰ্ম ঘড়ি আলেখ্যন কৰা হৈছে"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "উইন্ডোৰ মাপে পৰিবৰ্তন"
|
||||
msgstr "উইন্ডোৰ আকাৰত পৰিবৰ্তন"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
msgid "Information request"
|
||||
msgstr "তথ্যেৰ অনুৰোধ"
|
||||
msgstr "তথ্যৰ অনুৰোধ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সিগনাল ১"
|
||||
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ১"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সিগনাল ২"
|
||||
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ২"
|
||||
|
||||
|
221
po/ast.po
Normal file
221
po/ast.po
Normal file
@@ -0,0 +1,221 @@
|
||||
# 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"
|
||||
"Language: ast\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"
|
||||
|
1
po/az.po
1
po/az.po
@@ -12,6 +12,7 @@ msgstr ""
|
||||
"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
|
||||
"Language-Team: Azerbaijani Turkish <translation-team-az@lists.sourceforge."
|
||||
"net>\n"
|
||||
"Language: az\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
206
po/be.po
206
po/be.po
@@ -1,213 +1,193 @@
|
||||
# Беларускі пераклад libgtop.HEAD.
|
||||
# Беларускі пераклад libgtop.HEAD
|
||||
# Copyright (C) 1999, 2004 Free Software Foundation, Inc.
|
||||
# Vital Khilko <dojlid@mova.org>, 2003.
|
||||
# Ales Nyakhaychyk <nab@mail.by>, 2004.
|
||||
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop.HEAD\n"
|
||||
"Project-Id-Version: libgtop.master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-04-07 13:38+0200\n"
|
||||
"PO-Revision-Date: 2004-03-13 14:28+0200\n"
|
||||
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
|
||||
"Language-Team: Belarusian <i18n@mova.org>\n"
|
||||
"POT-Creation-Date: 2011-07-24 19:42+0300\n"
|
||||
"PO-Revision-Date: 2011-07-24 19:41+0300\n"
|
||||
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
|
||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||
"Language: be\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\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"
|
||||
"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"
|
||||
"X-Generator: KBabel 1.0.2\n"
|
||||
|
||||
#: ../lib/read.c:65
|
||||
#: ../lib/read.c:51
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "прачытаны %d байт"
|
||||
msgstr[1] "прачытаны %d байты"
|
||||
msgstr[1] "прачытана %d байты"
|
||||
msgstr[2] "прачытана %d байтаў"
|
||||
|
||||
#: ../lib/read_data.c:53
|
||||
#: ../lib/read_data.c:51
|
||||
msgid "read data size"
|
||||
msgstr "памер прачытаных даньняў"
|
||||
msgstr "прачытаны памер даных"
|
||||
|
||||
#: ../lib/read_data.c:72
|
||||
#: ../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 байты даных"
|
||||
msgstr[1] "прачытана %lu байты даных"
|
||||
msgstr[2] "прачытана %lu байтаў даных"
|
||||
|
||||
#: ../lib/write.c:52
|
||||
#: ../lib/write.c:51
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "запісаны %d байт"
|
||||
msgstr[1] "запісаны %d байты"
|
||||
msgstr[1] "запісана %d байты"
|
||||
msgstr[2] "запісана %d байтаў"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: ../src/daemon/gnuserv.c:455
|
||||
msgid "Enable debugging"
|
||||
msgstr "Уключыць адладку"
|
||||
msgstr "Уключыць адладачны код"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
msgid "DEBUG"
|
||||
msgstr "АДЛАДКА"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
#: ../src/daemon/gnuserv.c:457
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Уключыць дэталёвы вывад"
|
||||
msgstr "Уключыць падрабязны вывад"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
msgid "VERBOSE"
|
||||
msgstr "ПАДРАБЯЗНА"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
#: ../src/daemon/gnuserv.c:459
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Ня нараджаць у рэжыме тла"
|
||||
msgstr "Не адгаліноўваць фонавы працэс"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
msgid "NO-DAEMON"
|
||||
msgstr "БЯЗ-ДЭМАНУ"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:466
|
||||
#: ../src/daemon/gnuserv.c:461
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Выкліканы з inetd"
|
||||
msgstr "Запушчаны з дапамогай inetd"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:466
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:500
|
||||
#: ../src/daemon/gnuserv.c:495
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
"Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr ""
|
||||
"Памылка ў ключох %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
|
||||
msgid "Hangup"
|
||||
msgstr "Разарваць"
|
||||
msgid "Quit"
|
||||
msgstr "Выхад (QUIT)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
msgid "Interrupt"
|
||||
msgstr "Перарваць"
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Забароненая інструкцыя (ILL)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
msgid "Quit"
|
||||
msgstr "Выйсьці"
|
||||
msgid "Trace trap"
|
||||
msgstr "Захоп трасіроўкі (TRAP)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Недапушчальная інструкцыя"
|
||||
msgid "Abort"
|
||||
msgstr "Перарванне (ABRT)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
msgid "Trace trap"
|
||||
msgstr "Захоп трасыроўкі"
|
||||
msgid "EMT error"
|
||||
msgstr "Памылка (EMT)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
msgid "Abort"
|
||||
msgstr "Перарываньне"
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Выключэнне float (FPE)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
msgid "EMT error"
|
||||
msgstr "Памылка EMT"
|
||||
msgid "Kill"
|
||||
msgstr "Забойства (KILL)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Выключэньне пункту, які плавае"
|
||||
msgid "Bus error"
|
||||
msgstr "Памылка магістралі (BUS)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
msgid "Kill"
|
||||
msgstr "Забіць"
|
||||
msgid "Segmentation violation"
|
||||
msgstr "Парушэнне сегментацыі (SEGV)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
msgid "Bus error"
|
||||
msgstr "Памылка шыны"
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "Хібны аргумент сістэмнага выкліку (SYS)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
msgid "Segmentation violation"
|
||||
msgstr "Парушэньне сэгментацыі"
|
||||
msgid "Broken pipe"
|
||||
msgstr "Зламаны канал (PIPE)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "Кепскі аргумэнт у сыстэмным выкліку"
|
||||
msgid "Alarm clock"
|
||||
msgstr "Таймер (ALRM)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
msgid "Broken pipe"
|
||||
msgstr "Парушаны канал"
|
||||
msgid "Termination"
|
||||
msgstr "Знішчэнне (TERM)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
msgid "Alarm clock"
|
||||
msgstr "Таймэр"
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Тэрміновыя даныя на сокеце (URG)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
msgid "Termination"
|
||||
msgstr "Завяршэньне"
|
||||
msgid "Stop"
|
||||
msgstr "Прыпыненне (STOP)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Тэрміновыя умовы сокету"
|
||||
msgid "Keyboard stop"
|
||||
msgstr "Прыпыненне з клавіятуры (TSTP)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
msgid "Stop"
|
||||
msgstr "Спыніць"
|
||||
msgid "Continue"
|
||||
msgstr "Працяг працы (CONT)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
msgid "Keyboard stop"
|
||||
msgstr "Спыненьне клявіятуры"
|
||||
msgid "Child status has changed"
|
||||
msgstr "Змена стану нашчадка (CHLD)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
msgid "Continue"
|
||||
msgstr "Працягнуць"
|
||||
msgid "Background read from tty"
|
||||
msgstr "Фонавае чытанне з tty (TTIN)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
msgid "Child status has changed"
|
||||
msgstr "Стан нашчадку быў зьменены"
|
||||
msgid "Background write to tty"
|
||||
msgstr "Фонавы запіс у tty (TTOU)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
msgid "Background read from tty"
|
||||
msgstr "Чытаньне ў тле з tty"
|
||||
msgid "I/O now possible"
|
||||
msgstr "Магчымасць уводу/вываду (IO)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
msgid "Background write to tty"
|
||||
msgstr "Запіс у тле ў tty"
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Абмежаванне працэсара (XCPU)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
msgid "I/O now possible"
|
||||
msgstr "Зараз магчымы ўвод/вывад"
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Абмежаванне памеру файла (XFSZ)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Перавышана мяжа ЦПУ"
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Віртуальны таймер (VTALRM)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Перавышана мяжа памеру файлу"
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Таймер прафілявання (PROF)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Віртуальны таймэр"
|
||||
msgid "Window size change"
|
||||
msgstr "Змена памераў акна (WINCH)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Прафіляваны таймэр"
|
||||
msgid "Information request"
|
||||
msgstr "Запыт інфармацыі (INFO)"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
msgid "Window size change"
|
||||
msgstr "Зьмена памераў акна"
|
||||
msgid "User defined signal 1"
|
||||
msgstr "Карыстальніцкі сігнал 1 (USR1)"
|
||||
|
||||
#: ../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"
|
||||
msgstr "Сыгнал карыстальніку 2"
|
||||
msgstr "Карыстальніцкі сігнал 2 (USR2)"
|
||||
|
25
po/bg.po
25
po/bg.po
@@ -3,21 +3,22 @@
|
||||
# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2002.
|
||||
# Yanko Kaneti <yaneti@declera.com>, 2002.
|
||||
# Rostislav Raykov <zbrox@i-space.org>, 2004.
|
||||
# Vladimir Petkov <vpetkov@i-space.org>, 2005.
|
||||
# Alexander Shopov <ash@contact.bg>, 2007.
|
||||
# Vladimir Petkov <kaladan@gmail.com>, 2005.
|
||||
# Alexander Shopov <ash@kambanaria.org>, 2007.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop trunk\n"
|
||||
"Project-Id-Version: libgtop master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-09-18 10:43+0300\n"
|
||||
"PO-Revision-Date: 2007-09-18 10:43+0300\n"
|
||||
"Last-Translator: Alexander Shopov <ash@contact.bg>\n"
|
||||
"POT-Creation-Date: 2012-04-01 18:21+0300\n"
|
||||
"PO-Revision-Date: 2012-04-01 18:20+0300\n"
|
||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
|
||||
"Language: bg\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"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: ../lib/read.c:51
|
||||
#, c-format
|
||||
@@ -44,23 +45,23 @@ msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "записан %d байт"
|
||||
msgstr[1] "записани %d байта"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:458
|
||||
#: ../src/daemon/gnuserv.c:455
|
||||
msgid "Enable debugging"
|
||||
msgstr "Включване на изчистване на грешките"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: ../src/daemon/gnuserv.c:457
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Включване на подробен изход"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
#: ../src/daemon/gnuserv.c:459
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Не се поражда процес във фонов режим"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
#: ../src/daemon/gnuserv.c:461
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Извикан от inetd"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:498
|
||||
#: ../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"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user