Compare commits
597 Commits
LIBGTOP_2_
...
2.33.4
Author | SHA1 | Date | |
---|---|---|---|
|
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 | ||
|
c26b6ead21 | ||
|
3d9f260bd4 | ||
|
2ed2120869 | ||
|
5d02f86549 | ||
|
6e3d067edd | ||
|
bc19d07178 | ||
|
8e288b06be | ||
|
ffcbac629f | ||
|
568144dcd7 | ||
|
d75259cbca | ||
|
7e697f047a | ||
|
c1fba7d0fa | ||
|
d541cf22ef | ||
|
35a0ac4f2c | ||
|
391377ccf8 | ||
|
c0d87d96d3 | ||
|
a7f2a1db4a | ||
|
77fff173fc | ||
|
863da1cdfd | ||
|
23798fbd51 | ||
|
8399315a4f | ||
|
ab3f8f58ef | ||
|
e5fdd58fee | ||
|
86f43f408b | ||
|
1aab514cda | ||
|
3a8f2335c9 | ||
|
5b5c9215dc | ||
|
bf13e02061 | ||
|
1e2c9d5517 | ||
|
5dccc423d8 | ||
|
d58409351c | ||
|
1c20ceb694 | ||
|
3d4491494f | ||
|
10a04fc9c7 | ||
|
10e5124770 | ||
|
f269f738d7 | ||
|
bc86ee5421 | ||
|
7ea989c2b8 | ||
|
91b7ae4b11 | ||
|
ce23ce407c | ||
|
7f779e078d | ||
|
229eab1213 | ||
|
791e0dd859 | ||
|
f63973eac5 | ||
|
806a2d2d7e | ||
|
af81e9be75 | ||
|
90fc3ca780 | ||
|
99e9437b37 | ||
|
6c7f40ac64 | ||
|
e75261ada8 | ||
|
dc5da30913 | ||
|
4d78d26932 | ||
|
cd950bbf73 | ||
|
c1b95643a8 | ||
|
be8a371481 | ||
|
fedd75b2b1 | ||
|
a02e213373 | ||
|
e3697c9a9e | ||
|
91e2e5a1b7 | ||
|
158280e297 | ||
|
62c741074c | ||
|
87a80ba430 | ||
|
7bb5abb9a8 | ||
|
40485978ec | ||
|
73c62a7bdb | ||
|
e4d9c10a73 | ||
|
5d3f18e12c | ||
|
d97b0c3419 | ||
|
960d12822d | ||
|
f79f25f5ce | ||
|
3bb78c22c4 | ||
|
4971103dc3 | ||
|
35fab4d9aa | ||
|
2078320e14 | ||
|
46a29ac020 | ||
|
d9c98b57c9 | ||
|
9ce9de7942 | ||
|
1409a8ef80 | ||
|
bff4a84864 | ||
|
77524a1ad2 | ||
|
a171755aa6 | ||
|
1d5f2cb395 | ||
|
86ace13645 | ||
|
57b1547333 | ||
|
efee8728d1 | ||
|
9ae5202a78 | ||
|
07322469b7 | ||
|
b797fcf578 | ||
|
7725fdff77 | ||
|
e5298ca598 | ||
|
92d54e287a | ||
|
2d9656e82a | ||
|
8674e92349 | ||
|
f5bbc36a91 | ||
|
b058565419 | ||
|
2c6b951822 | ||
|
9b072525a6 | ||
|
e2e0e3a555 | ||
|
f37f72781a | ||
|
9618fe795f | ||
|
2e3231b051 | ||
|
7fd14852db | ||
|
73728a78c7 | ||
|
3f55d507dd | ||
|
13cec7830f | ||
|
665d65d164 | ||
|
21adc6b0c5 | ||
|
3529a1b59f | ||
|
8a0a3632ac | ||
|
e6f9e07a9e | ||
|
755695c537 | ||
|
dba423b6e7 | ||
|
83cda8c605 | ||
|
6856c690f3 | ||
|
a9b3964675 | ||
|
44b360a521 | ||
|
699524ea6a | ||
|
2f4826b4d8 | ||
|
83160ef48c | ||
|
76bfbd3006 | ||
|
73c9b1dd20 | ||
|
da878ec588 | ||
|
f3c90e4b3a | ||
|
f3959743b6 | ||
|
70a58a4cd4 | ||
|
600bb6f004 | ||
|
d5ccf3404b | ||
|
b17762a5ae | ||
|
1f2325b441 | ||
|
b1757616d8 | ||
|
871f300a2c | ||
|
650c8f2582 | ||
|
28ae85c10b | ||
|
ce37ceeb15 | ||
|
706c847b17 | ||
|
82be8d7f8d | ||
|
22e55d2e37 | ||
|
31844753e8 | ||
|
0ad36c2f62 | ||
|
79143ecad7 | ||
|
62dba864d7 | ||
|
21a763e55a | ||
|
c81d6306e5 | ||
|
7270bcc9d5 | ||
|
3c39f89281 | ||
|
e34f38d3fc | ||
|
a207cc1580 | ||
|
b219d3181e | ||
|
bc848239ff | ||
|
0285e018f4 | ||
|
01f1e7e955 | ||
|
ef34cfb38a | ||
|
1e0ba1d7aa | ||
|
6b0bafcafb | ||
|
c0856a39bd | ||
|
270820a05c | ||
|
358660837c | ||
|
e387c66aad | ||
|
e774440e77 | ||
|
c7295cd5f0 | ||
|
65fe248d66 | ||
|
5c479c9a45 | ||
|
6509ddff4c | ||
|
ee78aaf29c | ||
|
a5f59cb81a | ||
|
a99011fd5c | ||
|
598374bb1c | ||
|
b1acd4461e | ||
|
0e2fe6158c | ||
|
f8b9e6f7cc | ||
|
8fc7451000 | ||
|
aaab91cc20 | ||
|
cde89c59b1 | ||
|
0ce04dd037 | ||
|
8e4c6df830 | ||
|
da54431af5 | ||
|
ace68aa492 | ||
|
eee0cad2b6 | ||
|
785b30aeb6 | ||
|
3eb958dc6c | ||
|
cd389851b9 | ||
|
7ee8dae9c5 | ||
|
4b9bb4ee71 | ||
|
aa9fafe5c3 | ||
|
e0c1214cdd | ||
|
82612af053 | ||
|
2f6439a239 | ||
|
44ff5b7599 | ||
|
eb6c8b696f | ||
|
177d1aa841 | ||
|
021153bc49 | ||
|
89810a70ec | ||
|
504ff4ec59 | ||
|
04a5531a46 | ||
|
5a15e409cf | ||
|
747438e334 | ||
|
10211bf7da | ||
|
09f8aaec1e | ||
|
9f509067d4 | ||
|
a085c85db6 | ||
|
c6a7459bc9 | ||
|
3d06443c2c | ||
|
3f49e555fc | ||
|
e156172e7c | ||
|
c9385972bd | ||
|
b411ee115f | ||
|
63fb94127a | ||
|
37fc9c1544 | ||
|
9055b90aef | ||
|
3f25ae9b43 | ||
|
a288a086f7 | ||
|
25a398fc24 | ||
|
0b438b5250 | ||
|
0d2382e666 | ||
|
56b06c7433 | ||
|
84f690d318 | ||
|
fef76514ed | ||
|
1bc8ce6f23 | ||
|
920a936511 | ||
|
648c28b332 | ||
|
d9282f6102 | ||
|
1ca0e5c5e7 | ||
|
537bf34f94 | ||
|
5982287f48 | ||
|
24f5bb1e22 | ||
|
499f599e95 | ||
|
71ce0e790b | ||
|
05dfb867a3 | ||
|
2345eaf4ee | ||
|
7b3d57c9e9 | ||
|
9ebea04e19 | ||
|
0cefbb6df0 | ||
|
272a72d7bc | ||
|
75f11dc5d6 | ||
|
383b4c480e | ||
|
610c0071cc | ||
|
08887909fa | ||
|
6bd78a815b | ||
|
34e8fd7400 | ||
|
1f7f18b399 | ||
|
a7a9e7e9f8 | ||
|
c51a13bf0e | ||
|
d497c25081 | ||
|
3345ef1704 | ||
|
af52067b3a | ||
|
a3e3a224a2 | ||
|
b9e498c0b8 | ||
|
875df72edf | ||
|
c5e81bacbf | ||
|
8663fc3fda | ||
|
37487d4e62 | ||
|
d52fc3f868 | ||
|
bc79bf010a | ||
|
7f477561f0 | ||
|
c7e0a7ac59 | ||
|
bc6ff2cb59 | ||
|
1826be8ef6 | ||
|
739e9cac4a | ||
|
8c7e0e6f2e | ||
|
46c9f6ebeb | ||
|
e6d6b0bba7 | ||
|
8d60c52922 | ||
|
21f74a6427 | ||
|
05b94bd263 | ||
|
956527cb57 | ||
|
d8f9e265cf | ||
|
64fe5d591b | ||
|
12502c2673 | ||
|
5d2f45803b | ||
|
3c21c70b64 | ||
|
9e6115f322 | ||
|
cead508eae | ||
|
26d85d02fb | ||
|
afa9757a0e | ||
|
80855eabe2 | ||
|
3558c4d5c3 | ||
|
1870a03538 | ||
|
214e1decbd | ||
|
3c173b95b4 | ||
|
2083db6c34 | ||
|
a7cf016d67 | ||
|
ec7922c6bd | ||
|
c2104f2f0b | ||
|
47776e8f21 | ||
|
88cd202147 | ||
|
6226594f04 | ||
|
580558333e | ||
|
702e3775c3 | ||
|
a597640830 | ||
|
a956784797 | ||
|
e71023b362 | ||
|
89f9c1d43a | ||
|
29adf02352 | ||
|
35030c878b | ||
|
9b916ee402 | ||
|
23ca9669ae | ||
|
d66ae501f9 | ||
|
ccb10a7b33 |
42
.cvsignore
42
.cvsignore
@@ -1,42 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
config.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.sub
|
||||
config.guess
|
||||
config.status
|
||||
configure
|
||||
gtopConf.sh
|
||||
i386-bsdi
|
||||
i686-pc-linux-gnu
|
||||
intl
|
||||
libgtop-mirror.sh.swp
|
||||
libgtopConf.sh
|
||||
libtool
|
||||
ltconfig
|
||||
ltmain.sh
|
||||
macros
|
||||
stamp-h
|
||||
stamp-h.in
|
||||
sun4
|
||||
sun4sol2
|
||||
support
|
||||
i386-freebsd
|
||||
alpha-dec-osf3.0
|
||||
i686-pc-linux-gnu-linux
|
||||
libgtop-config
|
||||
ABOUT-NLS
|
||||
libgtop.spec
|
||||
libgtop*.tar.gz
|
||||
*-debstamp
|
||||
libgtop*.pc
|
||||
autom4te.cache
|
||||
COPYING
|
||||
INSTALL
|
||||
install-sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
libgtopconfig.h
|
85
.gitignore
vendored
Normal file
85
.gitignore
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
*~
|
||||
*.bak
|
||||
*.o
|
||||
*.out
|
||||
*.a
|
||||
*.gmo
|
||||
*.lo
|
||||
*.la
|
||||
*.core
|
||||
*.s
|
||||
*.stamp
|
||||
.libs
|
||||
.deps
|
||||
Makefile
|
||||
Makefile.in
|
||||
src/daemon/libgtop_daemon2
|
||||
src/daemon/libgtop_server2
|
||||
stamp-h1
|
||||
po/stamp-it
|
||||
po/POTFILES
|
||||
po/Makefile.in.in
|
||||
missing
|
||||
m4/
|
||||
ltmain.sh
|
||||
libtool
|
||||
libgtopconfig.h
|
||||
libgtop.spec
|
||||
libgtop-2.0.pc
|
||||
lib/lib.c
|
||||
lib/GTop-2.0.gir
|
||||
lib/GTop-2.0.typelib
|
||||
INSTALL
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
compile
|
||||
depcomp
|
||||
doc/libgtop2.info
|
||||
doc/mdate-sh
|
||||
doc/reference/html/
|
||||
doc/reference/libgtop-decl-list.txt
|
||||
doc/reference/libgtop-decl.txt
|
||||
doc/reference/libgtop-undeclared.txt
|
||||
doc/reference/libgtop-undocumented.txt
|
||||
doc/reference/libgtop-unused.txt
|
||||
doc/reference/libgtop.args
|
||||
doc/reference/libgtop.hierarchy
|
||||
doc/reference/libgtop.interfaces
|
||||
doc/reference/libgtop.prerequisites
|
||||
doc/reference/libgtop.signals
|
||||
doc/reference/tmpl/
|
||||
doc/reference/version.xml
|
||||
doc/reference/xml/
|
||||
doc/stamp-vti
|
||||
doc/texinfo.tex
|
||||
doc/version.texi
|
||||
examples/affinity
|
||||
examples/df
|
||||
examples/first
|
||||
examples/free
|
||||
examples/mountlist
|
||||
examples/netlist
|
||||
examples/netload
|
||||
examples/openfiles
|
||||
examples/pprint
|
||||
examples/procargs
|
||||
examples/proclist
|
||||
examples/procmap
|
||||
examples/second
|
||||
examples/smp
|
||||
examples/sysdeps
|
||||
examples/timings
|
||||
examples/wd
|
||||
gtk-doc.make
|
||||
install-sh
|
||||
intltool-extract.in
|
||||
intltool-merge.in
|
||||
intltool-update.in
|
||||
|
340
COPYING
Normal file
340
COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
430
ChangeLog
430
ChangeLog
@@ -1,3 +1,433 @@
|
||||
2007-05-19 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* features.def:
|
||||
* include/glibtop/proclist.h:
|
||||
|
||||
Small API change.
|
||||
get_proclist returns pid_t instead of unsigned for consistency.
|
||||
I have checked many archs and this doesn't break the ABI.
|
||||
|
||||
2007-05-17 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number.
|
||||
|
||||
2007-05-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* include/glibtop/Makefile.am:
|
||||
* lib/Makefile.am:
|
||||
|
||||
Fixed dist.
|
||||
|
||||
2007-05-13 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.19.2.
|
||||
|
||||
2007-05-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* lib/libgtop.sym:
|
||||
|
||||
Added missing *_p symbols.
|
||||
|
||||
2007-05-07 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* lib/Makefile.am:
|
||||
* lib/libgtop.sym:
|
||||
|
||||
Updated libtool version.
|
||||
Now uses a symbol list instead of a regex.
|
||||
|
||||
2007-05-07 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* New API to get cwd, root and exe path
|
||||
of a process. API not frozen yet.
|
||||
|
||||
2007-04-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
Got rid of InodeDB.
|
||||
This feature was optionnal and i have never heard of anyone using
|
||||
it. I have never touched it so it may be broken since 2.6.
|
||||
|
||||
2007-04-11 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* *:
|
||||
|
||||
Renamed all glibtop_init_xxx functions
|
||||
to _glibtop_init_xxx so they get internal visibility.
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number.
|
||||
|
||||
2007-03-13 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* MAINTAINERS:
|
||||
|
||||
Updated.
|
||||
|
||||
2007-02-25 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.8.
|
||||
|
||||
2007-02-20 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* *:
|
||||
|
||||
Removed noisy $Id$.
|
||||
|
||||
2007-02-18 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* libgtop-sysdeps.m4:
|
||||
* sysdeps/Makefile.am:
|
||||
|
||||
Huge (k)FreeBSD update.
|
||||
(k)FreeBSD support is freebsd/
|
||||
Other BSD are in bsd/
|
||||
|
||||
Patch by Joe Marcus Clarke <marcus@freebsd.org>
|
||||
Alexander Nedotsukov <bland@FreeBSD.org>
|
||||
|
||||
Closes #407693.
|
||||
|
||||
2007-02-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* lib/read.c: (glibtop_read_l):
|
||||
* lib/write.c: (glibtop_write_l):
|
||||
|
||||
Handle EINTR.
|
||||
|
||||
* configure.in:
|
||||
|
||||
Post release version bump.
|
||||
|
||||
2007-02-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.14.7.
|
||||
|
||||
2007-01-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.6.
|
||||
|
||||
2007-01-11 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number to 2.14.6.
|
||||
|
||||
* *:
|
||||
|
||||
Got rid of CVS admin files.
|
||||
|
||||
2006-12-03 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* doc/reference/libgtop-docs.xml:
|
||||
* glibtop.h:
|
||||
* include/glibtop/sysinfo.h:
|
||||
|
||||
Made gtk-doc happy in order to dist.
|
||||
|
||||
2006-12-03 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.5.
|
||||
|
||||
2006-12-02 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* Makefile.am:
|
||||
* configure.in:
|
||||
* doc/Makefile.am:
|
||||
* doc/reference/Makefile.am:
|
||||
* doc/reference/libgtop-docs.xml:
|
||||
* doc/reference/libgtop-sections.txt:
|
||||
* doc/reference/version.xml.in:
|
||||
* gtk-doc.make:
|
||||
* sysdeps/common/default.c:
|
||||
|
||||
Converted to gtk-doc.
|
||||
Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>.
|
||||
|
||||
2006-12-01 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
||||
* configure.in:
|
||||
* libgtop-sysdeps.m4:
|
||||
|
||||
Use the AS_HELP_STRING macro to format help messages.
|
||||
Fixes bug #337068.
|
||||
|
||||
2006-11-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* libgtop-sysdeps.m4:
|
||||
|
||||
Added kfreebsd support.
|
||||
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
|
||||
|
||||
2006-11-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number.
|
||||
|
||||
2006-09-16 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.14.4.
|
||||
|
||||
2006-09-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* include/glibtop/procstate.h:
|
||||
|
||||
Removed wrong inline documentation.
|
||||
Closes #355286.
|
||||
|
||||
2006-09-05 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.3.
|
||||
|
||||
2006-08-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* src/inodedb/Makefile.am:
|
||||
|
||||
Fixed inodedb build with --as-needed to please people
|
||||
who want to compile and optimize broken, deprecated and
|
||||
never-used feature.
|
||||
Patch by Daniel Gryniewicz <dang@gentoo.org>
|
||||
Closes #341041.
|
||||
|
||||
2006-08-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number.
|
||||
|
||||
* glibtop.h:
|
||||
* include/glibtop/init_hooks.h:
|
||||
|
||||
Added missing G_(BEGIN|END)_DECLS.
|
||||
|
||||
2006-07-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.2.
|
||||
|
||||
2006-07-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* include/glibtop/netload.h:
|
||||
|
||||
Tiny interface addition to handle wireless interfaces.
|
||||
|
||||
2006-06-26 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* po/Makefile.in.in.in:
|
||||
|
||||
Dropped dead file.
|
||||
|
||||
2006-06-25 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* Makefile.am:
|
||||
|
||||
Fixed build.
|
||||
Closes #341779.
|
||||
|
||||
2006-06-24 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* Makefile.am:
|
||||
|
||||
Build examples only when needed.
|
||||
Patch by dmacks@netspace.org.
|
||||
Closes #342863.
|
||||
|
||||
2006-06-24 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* libgtop-sysdeps.m4:
|
||||
* sysdeps/solaris/glibtop_machine.h:
|
||||
|
||||
Updated the GLIBTOP_SOLARIS_RELEASE
|
||||
|
||||
Patch by hua.zhang@sun.com.
|
||||
Closes #345821.
|
||||
|
||||
2006-06-24 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Don't use kvm on newer solaris.
|
||||
Patch by hua.zhang@sun.com.
|
||||
Closes #345811.
|
||||
|
||||
2006-06-04 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* libgtop-sysdeps.m4:
|
||||
|
||||
Removed undefined LIBGTOP_HACKER_TESTS.
|
||||
Closes #342890.
|
||||
|
||||
2006-06-03 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* .cvsignore:
|
||||
* Makefile.am:
|
||||
* configure.in:
|
||||
* po/LINGUAS:
|
||||
|
||||
Use po/LINGUAS.
|
||||
Closes #337902.
|
||||
|
||||
2006-04-18 German Poo-Caaman~o <gpoo@ubiobio.cl>
|
||||
|
||||
* /include/glibtop/cpu.h:
|
||||
* /include/glibtop/fsusage.h:
|
||||
* /include/glibtop/loadavg.h:
|
||||
* /include/glibtop/mem.h:
|
||||
* /include/glibtop/mountlist.h:
|
||||
* /include/glibtop/msg_limits.h:
|
||||
* /include/glibtop/netload.h:
|
||||
* /include/glibtop/ppp.h:
|
||||
* /include/glibtop/procargs.h:
|
||||
* /include/glibtop/prockernel.h:
|
||||
* /include/glibtop/proclist.h:
|
||||
* /include/glibtop/procmap.h:
|
||||
* /include/glibtop/procmem.h:
|
||||
* /include/glibtop/procopenfiles.h:
|
||||
* /include/glibtop/procsegment.h:
|
||||
* /include/glibtop/procsignal.h:
|
||||
* /include/glibtop/procstate.h:
|
||||
* /include/glibtop/proctime.h:
|
||||
* /include/glibtop/procuid.h:
|
||||
* /include/glibtop/sem_limits.h:
|
||||
* /include/glibtop/shm_limits.h:
|
||||
* /include/glibtop/swap.h:
|
||||
* /include/glibtop/sysdeps.h:
|
||||
* /include/glibtop/uptime.h:
|
||||
|
||||
Changed struct's definitions to be one type-one member. To
|
||||
avoid problems with any further gtk-doc's implementation.
|
||||
|
||||
2006-04-18 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* configure.in: Remove obsolete entry for no_NO
|
||||
* po/no.po: And the translation.
|
||||
|
||||
2006-04-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.1.
|
||||
|
||||
2006-04-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* lib/open.c: (glibtop_open_l):
|
||||
* lib/read.c: (glibtop_read_l):
|
||||
* lib/write.c: (glibtop_write_l):
|
||||
|
||||
Fixed a bunch of signedness warnings.
|
||||
|
||||
2006-04-04 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
||||
* libgtop-sysdeps.m4:
|
||||
* sysdeps/freebsd/msg_limits.c:
|
||||
|
||||
Use configure checks to detect whether we need to define either
|
||||
KERNEL or _KERNEL to get the definition of 'struct msginfo' in a
|
||||
BSD system. This replaces the previous checks in the code that
|
||||
relied on __FreeBSD__ and similar macros.
|
||||
|
||||
Before this change, the explicit definition of _KERNEL in the
|
||||
msg_limits.c file broke the build in NetBSD because it made the
|
||||
system headers pull in stuff unavailable to userland.
|
||||
|
||||
Fixes bug #337207.
|
||||
|
||||
2006-04-04 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
||||
* libgtop-sysdeps.m4:
|
||||
* sysdeps/freebsd/Makefile.am:
|
||||
|
||||
Check for the kvm library and use it to link the suid freebsd
|
||||
sysdeps code (only if available). This library provides all the
|
||||
kvm_* functions used in it and is needed, at least, under NetBSD.
|
||||
|
||||
Fixes bug #337247.
|
||||
|
||||
2006-04-04 Julio M. Merino Vidal <jmmv@NetBSD.org>
|
||||
|
||||
* sysdeps/aix/glibtop_server.h:
|
||||
* sysdeps/freebsd/glibtop_server.h:
|
||||
* sysdeps/osf1/glibtop_server.h:
|
||||
* sysdeps/stub/glibtop_server.h:
|
||||
* sysdeps/stub_suid/glibtop_server.h:
|
||||
|
||||
Synch the list of GLIBTOP_SUID_* constants with those expected by
|
||||
the lib/sysdeps.c file. Fixes the build under, at least, NetBSD
|
||||
and FreeBSD.
|
||||
|
||||
Fixes bug #337246.
|
||||
|
||||
2006-04-02 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version to 2.14.1.
|
||||
Removed no longer needed gcc flag.
|
||||
|
||||
2006-04-02 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* src/daemon/daemon.h:
|
||||
* src/daemon/gnuserv.c: (main):
|
||||
|
||||
Reverted. See #336837
|
||||
|
||||
2006-03-18 Vladimer Sichinava <vlsichinava@gmail.com>
|
||||
|
||||
* configure.in: Added "ka" (Georgian) to ALL_LINGUAS
|
||||
|
||||
2006-03-13 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.14.0.
|
||||
|
||||
2006-02-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.13.92.
|
||||
|
||||
2006-02-20 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bump version to 2.13.4.
|
||||
Reordered libs. Closes #329153.
|
||||
|
||||
2006-01-23 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* NEW:
|
||||
|
||||
Released 2.13.3.
|
||||
|
||||
2006-01-02 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
@@ -1,3 +1,4 @@
|
||||
Email: martin@home-of-linux.org
|
||||
Email: dave@srce.hr
|
||||
Benoît Dejean (tazforever@dlfp.org)
|
||||
Benoît Dejean
|
||||
E-mail: benoit@placenet.org
|
||||
Userid: bdejean
|
||||
|
||||
|
22
Makefile.am
22
Makefile.am
@@ -1,5 +1,12 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = po misc include sysdeps lib src examples doc
|
||||
if EXAMPLES
|
||||
EXAMPLES_DIR = examples
|
||||
else
|
||||
EXAMPLES_DIR =
|
||||
endif
|
||||
|
||||
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
|
||||
|
||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
|
||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
@@ -7,7 +14,17 @@ libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
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
|
||||
libgtop-2.0.pc.in acinclude.m4 \
|
||||
intltool-extract.in \
|
||||
intltool-merge.in \
|
||||
libgtop.doap \
|
||||
intltool-update.in \
|
||||
m4/introspection.m4
|
||||
|
||||
DISTCLEANFILES = \
|
||||
intltool-extract \
|
||||
intltool-merge \
|
||||
intltool-update
|
||||
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
@@ -18,3 +35,4 @@ pkgconfig_DATA = libgtop-2.0.pc
|
||||
libgtop-features.def: features.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
|
||||
|
316
NEWS
316
NEWS
@@ -1,3 +1,319 @@
|
||||
18 January 2016: Overview of changes in 2.33.4
|
||||
|
||||
* On OpenBSD only PID 1 is special
|
||||
* Call setlocale in main
|
||||
|
||||
14 December: Overview of changes in 2.33.3
|
||||
|
||||
* Fixed borken compilation on OpenBSD
|
||||
* Updated translations.
|
||||
|
||||
21 September 2015: Overview of changes in 2.32.0
|
||||
|
||||
* Stable release
|
||||
|
||||
14 September 2015: Overview of changes in 2.31.91
|
||||
================================================
|
||||
* Darwin:
|
||||
- Fixed build.
|
||||
|
||||
* All
|
||||
- GI docs fixes
|
||||
- include fixes
|
||||
- Updated translations
|
||||
|
||||
16 August 2015: Overview of changes in 2.31.90
|
||||
=============================================
|
||||
* ABI changes:
|
||||
- ABI was inconsistent on platforms like FreeBSD which make use of
|
||||
glibtop_machine. The ABI was actually different between the
|
||||
library and the server. Fixed this by simply always defining
|
||||
glibtop_machine in glibtop struct.
|
||||
- Add Pss and Swap members in glibtop_proc_mem.
|
||||
- This is the second ABI breakage in since 2.28 (the first one was
|
||||
bumping NCPU), there were no release for 2.30.
|
||||
|
||||
* FreeBSD:
|
||||
- proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE.
|
||||
- Remove extraneous glibtop_init() calls.
|
||||
|
||||
* Linux:
|
||||
- proc_mem: implement Pss and Swap.
|
||||
- Remove extraneous glibtop_init() calls.
|
||||
|
||||
* All:
|
||||
- Propagate the change that machine in struct glibtop is now a
|
||||
pointer. Hope that change doesn't break build on other platforms,
|
||||
I can only test Linux and FreeBSD.
|
||||
|
||||
|
||||
5 August 2015: Overview of changes in 2.31.4
|
||||
=============================================
|
||||
* 71 commits !
|
||||
* Implement a proper --enable-debug mode.
|
||||
* FreeBSD:
|
||||
- procstate: set process name for kernel (pid=0)
|
||||
- procmap: get dev/inode for ZFS (no filename yet)
|
||||
- mem: rework memory usage to something more meaningful
|
||||
- proclist: don't report threads
|
||||
- proctime: fix CPU times
|
||||
* Linux:
|
||||
- mem: use MemAvailable when available
|
||||
- mem: match `free`, report Slab as Cached.
|
||||
- support for x.y versionsmemory to match `free`
|
||||
* Fix a lot of GI tags: it now works without crashing.
|
||||
* Server and daemon binaries are now dynamically linked against their libgtop.
|
||||
* Update a lot of examples/.
|
||||
* Clean up some very old code.
|
||||
* Updated translations.
|
||||
|
||||
Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD.
|
||||
|
||||
22 June 2015: Overview of changes in 2.31.3
|
||||
=============================================
|
||||
* Numerous OpenBSD backend fixes.
|
||||
* Fixed FreeBSD build issues.
|
||||
* Implemented procaffinity support for NetBSD.
|
||||
* Updated translations
|
||||
|
||||
19 August 2013: Overview of changes in 2.28.5
|
||||
=============================================
|
||||
* Fix numerous bugs in the OpenBSD backend.
|
||||
* Updated translations.
|
||||
|
||||
30 August 2011: Overview of changes in 2.28.4
|
||||
=============================================
|
||||
* Fix numerous bugs in the FreeBSD backend.
|
||||
* Split off OpenBSD code in its own backend, and fixes.
|
||||
* Updated translations.
|
||||
|
||||
25 March 2011: Overview of changes in 2.28.3
|
||||
================================================
|
||||
* Fix build issue for strict linkers.
|
||||
* Add Introspection support
|
||||
* Cygwin fixes.
|
||||
* FreeBSD: Fix get_mem() on 64-bit systems.
|
||||
* Updated translations.
|
||||
|
||||
28 September 2010: Overview of changes in 2.28.2
|
||||
================================================
|
||||
* Updated translations.
|
||||
|
||||
30 March 2010: Overview of changes in 2.28.1
|
||||
============================================
|
||||
* Updated translations.
|
||||
|
||||
21 September 2009: Overview of changes in 2.28.0
|
||||
================================================
|
||||
* Updated translations.
|
||||
|
||||
25 May 2009: Overview of changes in 2.27.3
|
||||
==========================================
|
||||
* linux:
|
||||
- fixed format error.
|
||||
|
||||
3 May 2009: Overview of changes in 2.27.2
|
||||
=========================================
|
||||
* linux:
|
||||
- glibtop_get_proc_map: oops, fixed segfault.
|
||||
|
||||
3 May 2009: Overview of changes in 2.27.1
|
||||
=========================================
|
||||
* linux:
|
||||
- glibtop_get_proc_map is ~40% faster. This should be noticeable
|
||||
in system-monitor.
|
||||
* New cygwin support.
|
||||
|
||||
13 April 2009: Overview of changes in 2.26.1
|
||||
============================================
|
||||
* linux:
|
||||
- glibtop_get_mounlist(...): also hide "none" fs.
|
||||
|
||||
1 Mars 2009: Overview of changes in 2.26.0
|
||||
==========================================
|
||||
* Nothing.
|
||||
|
||||
17 February 2009: Overview of changes in 2.25.91
|
||||
================================================
|
||||
* Synced with gnome-2-24.
|
||||
|
||||
19 January 2009: Overview of changes in 2.24.4
|
||||
==============================================
|
||||
* Fixed license: libgtop is GPL-2.
|
||||
|
||||
12 January 2009: Overview of changes in 2.24.3
|
||||
==============================================
|
||||
* linux:
|
||||
- fixed potential memory leak. Vincent Untz.
|
||||
- fixed read(2) usage. Should fix the missing cpus bug in system-monitor.
|
||||
* darwin:
|
||||
- fixed build. "paul".
|
||||
|
||||
22 Septembre 2008: Overview of changes in 2.24.0
|
||||
================================================
|
||||
* Translation updates.
|
||||
|
||||
18 August 2008: Overview of changes in 2.23.90
|
||||
==============================================
|
||||
* freebsd:
|
||||
- updated port by Joe Marcus Clarke.
|
||||
|
||||
23 June 2008: Overview of changes in 2.23.4
|
||||
===========================================
|
||||
* linux:
|
||||
- Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
|
||||
Closes #539360.
|
||||
|
||||
24 May 2008: Overview of changes in 2.23.2
|
||||
==========================================
|
||||
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
|
||||
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
|
||||
|
||||
(Let's hope one day i'll find the gtk-doc documentation ...)
|
||||
|
||||
* linux:
|
||||
- fixed parsing of big /proc/stat for uptime.
|
||||
|
||||
04 April 2008: Overview of changes in 2.22.1
|
||||
============================================
|
||||
* Fixed compilation/dist for !linux.
|
||||
Closes #525953.
|
||||
|
||||
10 Mars 2008: Overview of changes in 2.22.0
|
||||
===========================================
|
||||
* linux:
|
||||
- fixed proc_kernel.
|
||||
|
||||
25 February 2008: Overview of changes in 2.21.92
|
||||
================================================
|
||||
* linux:
|
||||
- fixed smaps parsing on >= 2.6.24.x.
|
||||
|
||||
14 January 2008: Overview of changes in 2.21.5
|
||||
==============================================
|
||||
* freebsd:
|
||||
- fixed build on GNU/kfreebsd. Petr Salinger.
|
||||
- fixed procmem units. Kuang-che Wu.
|
||||
|
||||
28 October 2007: Overview of changes in 2.21.1
|
||||
==============================================
|
||||
* don't export _p/_s private symbols anymore. This is not an API/ABI breakage.
|
||||
* darwin implementation by Benjamin Reed.
|
||||
* linux:
|
||||
- splitted fsusage and mountlist implementations;
|
||||
- smarter mountlist(allfs = False);
|
||||
- fixed some compile warning on 64bit;
|
||||
* solaris:
|
||||
- fixed netload build by Henry Zhang.
|
||||
|
||||
16 September 2007: Overview of changes in 2.20.0
|
||||
================================================
|
||||
* Updated translations.
|
||||
|
||||
27 August 2007: Overview of changes in 2.19.92
|
||||
==============================================
|
||||
* Fixed stupid hardwired path in linux/sysinfo.c
|
||||
|
||||
26 August 2007: Overview of changes in 2.19.91
|
||||
==============================================
|
||||
* Translations updates.
|
||||
* linux:
|
||||
- Small internal improvement. Might fix sysinfo when having more than
|
||||
8 CPUS.
|
||||
|
||||
9 July 2007: Overview of changes in 2.19.5
|
||||
==========================================
|
||||
* linux:
|
||||
- fixed proc_map for >= 2.6.22
|
||||
* freebsd:
|
||||
- implemented procwd and procopenfiles
|
||||
Joe Marcus Clarke
|
||||
|
||||
18 June 2007: Overview of changes in 2.19.4
|
||||
===========================================
|
||||
* solaris:
|
||||
- fixed build. Damien Carbery.
|
||||
|
||||
3 June 2007: Overview of changes in 2.19.3
|
||||
==========================================
|
||||
* Small API change. get_proclist returns pid_t instead of unsigned
|
||||
for consistency.
|
||||
* linux:
|
||||
- fixed an typo bug in open_files.
|
||||
- got rid of useless glibtop_init_s calls.
|
||||
* Enable example build by defaut.
|
||||
* Dropped G_GNUC_INTERNAL attributes no longer needed.
|
||||
This will please people trying to implement G_GNUC macro with a non
|
||||
GNU Compiler.
|
||||
|
||||
13 May 2007: Overview of changes in 2.19.2
|
||||
==========================================
|
||||
* This is the first release of the 2.19.x series.
|
||||
* Got rid of inodedb (you don't even know what it is ;)
|
||||
* New unstable API glibtop_get_proc_wd to get working directories of
|
||||
a process.
|
||||
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
|
||||
|
||||
25 February 2007: Overview of changes in 2.14.8
|
||||
===============================================
|
||||
* bsd implementations have been splitted by Joe Marcus Clarke
|
||||
and Alexander Nedotsukov. (k)freeBSD now has a separate implementation.
|
||||
|
||||
February 10, 2007: Overview of changes in 2.14.7
|
||||
================================================
|
||||
* bsd:
|
||||
- massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger.
|
||||
* mountlist can now ignore objfs and ctfs filesystems.
|
||||
* fsusage won't return bavail > bfree anymore.
|
||||
|
||||
January 14, 2007: Overview of changes in 2.14.6
|
||||
===============================================
|
||||
* linux:
|
||||
- fixed stack overflow in glibtop_get_proc_map
|
||||
- fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files.
|
||||
- micro-optimization
|
||||
|
||||
December 3, 2006: Overview of changes in 2.14.5
|
||||
===============================================
|
||||
* Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>).
|
||||
* Added solaris glibtop_get_proc_open_files (Henry Zhang <hua.zhang@sun.com>).
|
||||
* Migrated to gtk-doc (Germán Poó-Caamaño <gpoo@ubiobio.cl>).
|
||||
* glibtop_get_mountlist can now ignore nsfd FS.
|
||||
|
||||
September 16, 2006: Overview of changes in 2.14.4
|
||||
=================================================
|
||||
* Fixed linux maps/smaps parsing on 64bit kernel.
|
||||
|
||||
September 5, 2006: Overview of changes in 2.14.3
|
||||
================================================
|
||||
* Fixed build with --as-needed.
|
||||
* Added missing G_BEGIN_DECLS/G_END_DECLS.
|
||||
|
||||
July 27, 2006: Overview of changes in 2.14.2
|
||||
============================================
|
||||
* Updated solaris support (hua.zhang@sun.com)
|
||||
* Small linux updates and improvments.
|
||||
|
||||
April 10, 2006: Overview of changes in 2.14.1
|
||||
=============================================
|
||||
* Updated translations.
|
||||
* Fixed NetBSD port (Julio M. Merino Vidal <jmmv@NetBSD.org>).
|
||||
* Fixed some warnings.
|
||||
|
||||
Mars 13, 2006: Overview of changes in 2.14.0
|
||||
============================================
|
||||
* Updated translations.
|
||||
|
||||
February 27, 2006: Overview of changes in 2.13.92
|
||||
=================================================
|
||||
* Fixed proc_state documentation.
|
||||
* Updated mountlist ignore list.
|
||||
|
||||
January 23, 2006: Overview of changes in 2.13.3
|
||||
===============================================
|
||||
* linux:
|
||||
- fixe get_procmap for linux < 2.6.14.
|
||||
|
||||
January 2, 2006: Overview of changes in 2.13.2
|
||||
==============================================
|
||||
* Fixed libtool versioning (James Henstridge)
|
||||
|
@@ -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], [13])
|
||||
m4_define([libgtop_micro_version], [2])
|
||||
m4_define([libgtop_minor_version], [33])
|
||||
m4_define([libgtop_micro_version], [4])
|
||||
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], [7])
|
||||
m4_define([libgtop_current], [10])
|
||||
|
||||
dnl increment any time the source changes; set to
|
||||
dnl 0 if you increment CURRENT
|
||||
@@ -25,14 +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.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])
|
||||
@@ -86,37 +91,13 @@ AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
GNOME_LIBGTOP_SYSDEPS
|
||||
GNOME_LIBGTOP_TYPES
|
||||
|
||||
AC_ARG_WITH(libgtop-inodedb,
|
||||
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
|
||||
[build_inodedb="$withval"], [build_inodedb=no])
|
||||
|
||||
LIBGTOP_EXTRA_LIBS=
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_INODEDB, 1,
|
||||
[Define if the libgtop inodedb should be built])
|
||||
fi
|
||||
|
||||
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)
|
||||
|
||||
AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no])
|
||||
AC_MSG_CHECKING(for popt.h)
|
||||
if test x$POPT = xyes ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_ERROR([libgtop requires the popt development libraries])
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
||||
@@ -174,6 +155,8 @@ case "$host_os" in
|
||||
|
||||
|
||||
dnl Some versions of Solaris require -lelf for -lkvm
|
||||
case $host_os in
|
||||
solaris[[8-9]] | solaris2.[[0-9]].*)
|
||||
AC_CHECK_LIB(kvm, kvm_open,[
|
||||
LIBS="-lkvm $LIBS"
|
||||
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
||||
@@ -192,6 +175,8 @@ case "$host_os" in
|
||||
fi
|
||||
])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl For DEC OSF1
|
||||
@@ -230,7 +215,7 @@ AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko ku ky lt lv mi mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sv ta th tr uk vi xh zh_CN zh_TW"
|
||||
IT_PROG_INTLTOOL([0.35.0])
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
@@ -275,25 +260,21 @@ dnl For diskusage stuff
|
||||
GNOME_FILEUTILS_CHECKS
|
||||
|
||||
dnl Debugging
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),)
|
||||
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1, [Define to enable fatal warnings]),)
|
||||
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, 0, [Define to disable debugging]))
|
||||
AC_ARG_ENABLE(fatal-warnings,
|
||||
AS_HELP_STRING([--enable-fatal-warnings],
|
||||
[Make all warnings fatal @<:@debug=no@:>@]),
|
||||
AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1,
|
||||
[Define to enable fatal warnings]))
|
||||
|
||||
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$build_inodedb = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
||||
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
|
||||
@@ -318,29 +299,21 @@ else
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
||||
fi
|
||||
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
||||
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 \
|
||||
-fno-strict-aliasing \
|
||||
$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],
|
||||
@@ -359,7 +332,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)
|
||||
@@ -378,6 +351,8 @@ fi
|
||||
AC_SUBST(sysdeps_suid_lib)
|
||||
AC_SUBST(server_programs)
|
||||
|
||||
GTK_DOC_CHECK(1.4)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
libgtop.spec
|
||||
@@ -395,12 +370,17 @@ sysdeps/linux/Makefile
|
||||
sysdeps/freebsd/Makefile
|
||||
sysdeps/solaris/Makefile
|
||||
sysdeps/aix/Makefile
|
||||
sysdeps/bsd/Makefile
|
||||
sysdeps/darwin/Makefile
|
||||
sysdeps/cygwin/Makefile
|
||||
sysdeps/openbsd/Makefile
|
||||
src/Makefile
|
||||
src/daemon/Makefile
|
||||
src/inodedb/Makefile
|
||||
lib/Makefile
|
||||
examples/Makefile
|
||||
doc/Makefile
|
||||
doc/reference/Makefile
|
||||
doc/reference/version.xml
|
||||
libgtop-2.0.pc
|
||||
libgtopconfig.h
|
||||
])
|
@@ -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.
|
||||
*/
|
||||
|
||||
|
9
debian/.cvsignore
vendored
9
debian/.cvsignore
vendored
@@ -1,9 +0,0 @@
|
||||
control
|
||||
rules
|
||||
build
|
||||
tmp
|
||||
*.postinst
|
||||
*.debhelper
|
||||
*.files
|
||||
files
|
||||
substvars
|
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@ \
|
||||
|
@@ -1,11 +0,0 @@
|
||||
texinfo.tex
|
||||
*.info
|
||||
Makefile.in
|
||||
Makefile
|
||||
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
|
||||
*.ps
|
||||
auto-macros.texi
|
||||
version.texi
|
||||
stamp-vti
|
||||
*.html *.pdf
|
||||
mdate-sh
|
@@ -1,3 +1,14 @@
|
||||
2007-02-15 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* reference/Makefile.am:
|
||||
|
||||
Fixed distcheck.
|
||||
|
||||
2006-02-21 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* reference.texi: Fixed glibtop_get_proc_state doc.
|
||||
Patch by Emil Nowak <emil5@go2.pl>.
|
||||
|
||||
2005-01-03 Benoît Dejean <TazForEver@dlfp.org>
|
||||
|
||||
* reference.texi: Updated.
|
||||
|
@@ -1,3 +1,5 @@
|
||||
SUBDIRS = reference
|
||||
|
||||
info_TEXINFOS = libgtop2.texi
|
||||
|
||||
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
||||
|
@@ -493,7 +493,7 @@ glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf,
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Declaration of @code{glibtop_proc_state} in @file{<glibtop/proc_state.h>}:
|
||||
Declaration of @code{glibtop_proc_state} in @file{<glibtop/procstate.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
@@ -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.
|
||||
|
59
doc/reference/Makefile.am
Normal file
59
doc/reference/Makefile.am
Normal file
@@ -0,0 +1,59 @@
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# The name of the module, e.g. 'glib'.
|
||||
DOC_MODULE=libgtop
|
||||
|
||||
# The top-level SGML file. You can change this if you want to.
|
||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
|
||||
|
||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
||||
# SCANGOBJ_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
||||
SCAN_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir).
|
||||
# gtk-doc will search all .c & .h files beneath here for inline comments
|
||||
# documenting the functions and macros.
|
||||
# e.g. DOC_SOURCE_DIR=../../../gtk
|
||||
DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop
|
||||
|
||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||
HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c
|
||||
|
||||
# Header files to ignore when scanning.
|
||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
|
||||
IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
|
||||
|
||||
EXTRA_HFILES=$(top_srcdir)/glibtop.h
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
||||
content_files=version.xml
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
||||
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. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||
AM_CPPFLAGS=
|
||||
GTKDOC_LIBS=
|
||||
|
||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
# Other files to distribute
|
||||
# e.g. EXTRA_DIST += version.xml.in
|
||||
EXTRA_DIST += version.xml.in
|
206
doc/reference/libgtop-docs.xml
Normal file
206
doc/reference/libgtop-docs.xml
Normal file
@@ -0,0 +1,206 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||||
<bookinfo>
|
||||
<title>Libgtop Reference Manual</title>
|
||||
<releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Martin </firstname>
|
||||
<surname>Baulig</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>martin@home-of-linux.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Germán</firstname>
|
||||
<surname>Poó-Caamaño</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>gpoo@ubiobio.cl</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<legalnotice>
|
||||
<para>Permission is granted to copy, distribute and/or modify
|
||||
this document under the terms of the <citetitle>GNU Free
|
||||
Documentation License</citetitle>, Version 1.1 or any later
|
||||
version published by the Free Software Foundation with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. You may obtain a copy of the <citetitle>GNU Free
|
||||
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., 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
|
||||
names appear in any GNOME documentation, and those trademarks
|
||||
are made aware to the members of the GNOME Documentation
|
||||
Project, the names have been printed in caps or initial
|
||||
caps.</para>
|
||||
</legalnotice>
|
||||
|
||||
<abstract>
|
||||
<para>
|
||||
LibGTop is a library to get system specific data such as CPU and
|
||||
Memory Usage and information about running Processes.</para>
|
||||
|
||||
<para>On Systems like Solaris or Digital Unix where you need special
|
||||
privileges to get those data, it uses a setuid/setgid server to do
|
||||
so.</para>
|
||||
|
||||
<para>Even if LibGTop is a part of the GNOME desktop environment
|
||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
|
||||
independent from any particular desktop environment, so you can also
|
||||
use it as a standalone library in any piece of GPLed software.</para>
|
||||
|
||||
<para>This manual documents the interfaces of the libgtop
|
||||
library and has some short notes to help get you up to speed
|
||||
with using the library.</para>
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
|
||||
<!--FIXME: It is missing the rest of about.texi -->
|
||||
|
||||
<chapter id="libgtop-white-paper">
|
||||
<title>White paper</title>
|
||||
|
||||
<sect1 id="libgtop-white-paper-introduction">
|
||||
<title>Introduction</title>
|
||||
<para>Many modern UNIX systems like Solaris, BSD or Digitial Unix
|
||||
only allow priviledged processes to read information like CPU and
|
||||
Memory Usage or information about running processes.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
BSD, for instance, doesn't have any other way to get those data than reading
|
||||
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
|
||||
be able to read this.</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Other systems, like Digital Unix, allow all users to get things like CPU and
|
||||
Memory statistics, but only root may read information about any process other
|
||||
than the current one (you may not even get information about your own processes
|
||||
if you're not root).</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Linux has a very nice @file{/proc} filesystem, but reading and parsing
|
||||
@file{/proc} is very slow and inefficient.</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Solaris is a bit better, but you still need to be in the @code{sys} group or
|
||||
even root to get some data.</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
|
||||
often are setgid kmem or setuid root. Usually, they're also very specific to
|
||||
the system they're written for and not easily portable to other systems without
|
||||
a lot of work.</para>
|
||||
|
||||
<para>
|
||||
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
|
||||
a GTK+ program setgid or even setuid would be a security hole as big as you can
|
||||
drive the entire X11 source code through. For the GNOME project, we also needed
|
||||
some kind of library which provides all the required information in a portable
|
||||
since there's more than just one single program that wants to use them - for
|
||||
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
|
||||
@code{netload} panel applets.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="libgtop-white-paper-overview">
|
||||
<title>Overview</title>
|
||||
<para>This section should give you a short overview on how LibGTop
|
||||
was developed, which things needed to be considered and how it
|
||||
works.</para>
|
||||
|
||||
<sect2 id="libgtop-white-paper-overview-design">
|
||||
<title>Interface Design: Things that need to be considered</title>
|
||||
<para>
|
||||
At the very beginning, it was necessary to collect all the data the library part
|
||||
should provide and put them into some C structures. This was not that easiy as it
|
||||
might sound since LibGTop should be portable to any modern UNIX system with a common
|
||||
library part on all those systems, but the data that should be returned vary from
|
||||
system to system. For instance some systems support shared memory, but some others
|
||||
may not.</para>
|
||||
|
||||
<para>
|
||||
The header files where we define these C structures (which are system-independent) are
|
||||
shared between client and server. This way we can call the system dependent code
|
||||
directly where we do not need any special privileges to do so.</para>
|
||||
|
||||
<para>
|
||||
All of those structures contain a @code{flags} member which is interpreted as a bit
|
||||
mask and tells the caller of the library functions which of the fields in the returned
|
||||
structure are valid and which are not.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="libgtop-white-paper-overview-server">
|
||||
<title>Server Implementation: The LibGTop "server"</title>
|
||||
<para>
|
||||
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
|
||||
dependent code which needs special privileges. It is only build if it's required
|
||||
on the current system (for instance, the Linux kernel provides all the required
|
||||
data via its @file{/proc} filesystem so we do not need the server at all) and it
|
||||
only contains the @dfn{features} which need privileges.</para>
|
||||
|
||||
<para>
|
||||
Whenever we do not need any privileges to get all the data for some of the requested
|
||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
|
||||
rather than using the server.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter id="libgtop-lib">
|
||||
<title>Libgtop Library Reference</title>
|
||||
|
||||
<para>This section contains the API reference for libgtop. All
|
||||
the public interfaces are documented here.</para>
|
||||
|
||||
<xi:include href="xml/glibtop.xml"/>
|
||||
<xi:include href="xml/close.xml"/>
|
||||
<xi:include href="xml/command.xml"/>
|
||||
<xi:include href="xml/glibtop-server.xml"/>
|
||||
<xi:include href="xml/netload.xml"/>
|
||||
<xi:include href="xml/ppp.xml"/>
|
||||
<xi:include href="xml/shm_limits.xml"/>
|
||||
<xi:include href="xml/uptime.xml"/>
|
||||
<xi:include href="xml/netlist.xml"/>
|
||||
<xi:include href="xml/open.xml"/>
|
||||
<xi:include href="xml/parameter.xml"/>
|
||||
<xi:include href="xml/procargs.xml"/>
|
||||
<xi:include href="xml/procmem.xml"/>
|
||||
<xi:include href="xml/procopenfiles.xml"/>
|
||||
<xi:include href="xml/procsegment.xml"/>
|
||||
<xi:include href="xml/procsignal.xml"/>
|
||||
<xi:include href="xml/sysdeps.xml"/>
|
||||
<xi:include href="xml/procstate.xml"/>
|
||||
<xi:include href="xml/procuid.xml"/>
|
||||
<xi:include href="xml/proctime.xml"/>
|
||||
<xi:include href="xml/signal.xml"/>
|
||||
<xi:include href="xml/procmap.xml"/>
|
||||
<xi:include href="xml/sysinfo.xml"/>
|
||||
<xi:include href="xml/union.xml"/>
|
||||
<xi:include href="xml/version.xml"/>
|
||||
<xi:include href="xml/proclist.xml"/>
|
||||
<xi:include href="xml/sem_limits.xml"/>
|
||||
<xi:include href="xml/prockernel.xml"/>
|
||||
<xi:include href="xml/fsusage.xml"/>
|
||||
<xi:include href="xml/loadavg.xml"/>
|
||||
<xi:include href="xml/mem.xml"/>
|
||||
<xi:include href="xml/mountlist.xml"/>
|
||||
<xi:include href="xml/msg_limits.xml"/>
|
||||
<xi:include href="xml/cpu.xml"/>
|
||||
<xi:include href="xml/swap.xml"/>
|
||||
</chapter>
|
||||
</book>
|
0
doc/reference/libgtop-overrides.txt
Normal file
0
doc/reference/libgtop-overrides.txt
Normal file
699
doc/reference/libgtop-sections.txt
Normal file
699
doc/reference/libgtop-sections.txt
Normal file
@@ -0,0 +1,699 @@
|
||||
<INCLUDE>glibtop.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>glibtop</FILE>
|
||||
<TITLE>GlibTop</TITLE>
|
||||
GLIBTOP_MOUNTENTRY_LEN
|
||||
LIBGTOP_CHECK_VERSION
|
||||
glibtop
|
||||
glibtop_global_server
|
||||
glibtop_init
|
||||
glibtop_init_r
|
||||
glibtop_init_s
|
||||
glibtop_server_features
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/close.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>close</FILE>
|
||||
<TITLE>Close</TITLE>
|
||||
glibtop_close
|
||||
glibtop_close_r
|
||||
glibtop_close_s
|
||||
glibtop_close_p
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/command.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>command</FILE>
|
||||
<TITLE>Command</TITLE>
|
||||
GLIBTOP_CMND_QUIT
|
||||
GLIBTOP_CMND_SYSDEPS
|
||||
GLIBTOP_CMND_CPU
|
||||
GLIBTOP_CMND_MEM
|
||||
GLIBTOP_CMND_SWAP
|
||||
GLIBTOP_CMND_UPTIME
|
||||
GLIBTOP_CMND_LOADAVG
|
||||
GLIBTOP_CMND_SHM_LIMITS
|
||||
GLIBTOP_CMND_MSG_LIMITS
|
||||
GLIBTOP_CMND_SEM_LIMITS
|
||||
GLIBTOP_CMND_PROCLIST
|
||||
GLIBTOP_CMND_PROC_STATE
|
||||
GLIBTOP_CMND_PROC_UID
|
||||
GLIBTOP_CMND_PROC_MEM
|
||||
GLIBTOP_CMND_PROC_TIME
|
||||
GLIBTOP_CMND_PROC_SIGNAL
|
||||
GLIBTOP_CMND_PROC_KERNEL
|
||||
GLIBTOP_CMND_PROC_SEGMENT
|
||||
GLIBTOP_CMND_PROC_ARGS
|
||||
GLIBTOP_CMND_PROC_MAP
|
||||
GLIBTOP_CMND_MOUNTLIST
|
||||
GLIBTOP_CMND_FSUSAGE
|
||||
GLIBTOP_CMND_NETLOAD
|
||||
GLIBTOP_CMND_PPP
|
||||
GLIBTOP_CMND_NETLIST
|
||||
GLIBTOP_CMND_PROC_OPEN_FILES
|
||||
GLIBTOP_MAX_CMND
|
||||
glibtop_command
|
||||
glibtop_response
|
||||
glibtop_response_union
|
||||
glibtop_call
|
||||
glibtop_call_l
|
||||
glibtop_call_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/glibtop-server.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>glibtop-server</FILE>
|
||||
<TITLE>GlibTop Server</TITLE>
|
||||
glibtop_server
|
||||
glibtop_server_info
|
||||
glibtop_closure
|
||||
glibtop_server_new
|
||||
glibtop_server_ref
|
||||
glibtop_server_unref
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/netload.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>netload</FILE>
|
||||
<TITLE>Net Load</TITLE>
|
||||
GLIBTOP_NETLOAD_IF_FLAGS
|
||||
GLIBTOP_NETLOAD_MTU
|
||||
GLIBTOP_NETLOAD_SUBNET
|
||||
GLIBTOP_NETLOAD_ADDRESS
|
||||
GLIBTOP_NETLOAD_PACKETS_IN
|
||||
GLIBTOP_NETLOAD_PACKETS_OUT
|
||||
GLIBTOP_NETLOAD_PACKETS_TOTAL
|
||||
GLIBTOP_NETLOAD_BYTES_IN
|
||||
GLIBTOP_NETLOAD_BYTES_OUT
|
||||
GLIBTOP_NETLOAD_BYTES_TOTAL
|
||||
GLIBTOP_NETLOAD_ERRORS_IN
|
||||
GLIBTOP_NETLOAD_ERRORS_OUT
|
||||
GLIBTOP_NETLOAD_ERRORS_TOTAL
|
||||
GLIBTOP_NETLOAD_COLLISIONS
|
||||
GLIBTOP_NETLOAD_ADDRESS6
|
||||
GLIBTOP_NETLOAD_PREFIX6
|
||||
GLIBTOP_NETLOAD_SCOPE6
|
||||
GLIBTOP_NETLOAD_HWADDRESS
|
||||
GLIBTOP_MAX_NETLOAD
|
||||
glibtop_netload
|
||||
glibtop_get_netload
|
||||
glibtop_get_netload_r
|
||||
glibtop_get_netload_l
|
||||
glibtop_init_netload_p
|
||||
glibtop_get_netload_p
|
||||
glibtop_init_netload_s
|
||||
glibtop_get_netload_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/ppp.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>ppp</FILE>
|
||||
<TITLE>PPP</TITLE>
|
||||
GLIBTOP_PPP_STATE
|
||||
GLIBTOP_PPP_BYTES_IN
|
||||
GLIBTOP_PPP_BYTES_OUT
|
||||
GLIBTOP_MAX_PPP
|
||||
glibtop_ppp
|
||||
glibtop_get_ppp
|
||||
glibtop_get_ppp_r
|
||||
glibtop_get_ppp_l
|
||||
glibtop_init_ppp_p
|
||||
glibtop_get_ppp_p
|
||||
glibtop_init_ppp_s
|
||||
glibtop_get_ppp_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/shm_limits.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>shm_limits</FILE>
|
||||
<TITLE>Shared Memory Limits</TITLE>
|
||||
GLIBTOP_IPC_SHMMAX
|
||||
GLIBTOP_IPC_SHMMIN
|
||||
GLIBTOP_IPC_SHMMNI
|
||||
GLIBTOP_IPC_SHMSEG
|
||||
GLIBTOP_IPC_SHMALL
|
||||
GLIBTOP_MAX_SHM_LIMITS
|
||||
glibtop_shm_limits
|
||||
glibtop_get_shm_limits
|
||||
glibtop_get_shm_limits_r
|
||||
glibtop_get_shm_limits_l
|
||||
glibtop_init_shm_limits_p
|
||||
glibtop_get_shm_limits_p
|
||||
glibtop_init_shm_limits_s
|
||||
glibtop_get_shm_limits_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/uptime.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>uptime</FILE>
|
||||
<TITLE>Uptime</TITLE>
|
||||
GLIBTOP_UPTIME_UPTIME
|
||||
GLIBTOP_UPTIME_IDLETIME
|
||||
GLIBTOP_UPTIME_BOOT_TIME
|
||||
GLIBTOP_MAX_UPTIME
|
||||
glibtop_uptime
|
||||
glibtop_get_uptime
|
||||
glibtop_get_uptime_r
|
||||
glibtop_get_uptime_l
|
||||
glibtop_init_uptime_p
|
||||
glibtop_get_uptime_p
|
||||
glibtop_init_uptime_s
|
||||
glibtop_get_uptime_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/netlist.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>netlist</FILE>
|
||||
<TITLE>Net List</TITLE>
|
||||
GLIBTOP_NETLIST_NUMBER
|
||||
GLIBTOP_MAX_NETLIST
|
||||
glibtop_netlist
|
||||
glibtop_get_netlist
|
||||
glibtop_get_netlist_r
|
||||
glibtop_get_netlist_l
|
||||
glibtop_init_netlist_p
|
||||
glibtop_get_netlist_p
|
||||
glibtop_init_netlist_s
|
||||
glibtop_get_netlist_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/open.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>open</FILE>
|
||||
GLIBTOP_INIT_NO_OPEN
|
||||
GLIBTOP_INIT_NO_INIT
|
||||
GLIBTOP_FEATURES_NO_SERVER
|
||||
GLIBTOP_FEATURES_EXCEPT
|
||||
GLIBTOP_METHOD_DIRECT
|
||||
GLIBTOP_METHOD_PIPE
|
||||
GLIBTOP_METHOD_INET
|
||||
GLIBTOP_METHOD_UNIX
|
||||
GLIBTOP_ERROR_METHOD_IGNORE
|
||||
GLIBTOP_ERROR_METHOD_WARN_ONCE
|
||||
GLIBTOP_ERROR_METHOD_WARN
|
||||
GLIBTOP_ERROR_METHOD_ABORT
|
||||
GLIBTOP_ERROR_METHOD_DEFAULT
|
||||
glibtop_open_l
|
||||
glibtop_init_p
|
||||
glibtop_open_p
|
||||
glibtop_open_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/parameter.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>parameter</FILE>
|
||||
GLIBTOP_PARAM_METHOD
|
||||
GLIBTOP_PARAM_FEATURES
|
||||
GLIBTOP_PARAM_COMMAND
|
||||
GLIBTOP_PARAM_HOST
|
||||
GLIBTOP_PARAM_PORT
|
||||
GLIBTOP_PARAM_ERROR_METHOD
|
||||
GLIBTOP_PARAM_REQUIRED
|
||||
glibtop_get_parameter
|
||||
glibtop_set_parameter
|
||||
glibtop_get_parameter_l
|
||||
glibtop_set_parameter_l
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procargs</FILE>
|
||||
glibtop_proc_args
|
||||
glibtop_get_proc_args
|
||||
glibtop_get_proc_argv
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procmem.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procmem</FILE>
|
||||
GLIBTOP_PROC_MEM_SIZE
|
||||
GLIBTOP_PROC_MEM_VSIZE
|
||||
GLIBTOP_PROC_MEM_RESIDENT
|
||||
GLIBTOP_PROC_MEM_SHARE
|
||||
GLIBTOP_PROC_MEM_RSS
|
||||
GLIBTOP_PROC_MEM_RSS_RLIM
|
||||
GLIBTOP_MAX_PROC_MEM
|
||||
glibtop_proc_mem
|
||||
glibtop_get_proc_mem
|
||||
glibtop_get_proc_mem_r
|
||||
glibtop_get_proc_mem_l
|
||||
glibtop_init_proc_mem_p
|
||||
glibtop_get_proc_mem_p
|
||||
glibtop_init_proc_mem_s
|
||||
glibtop_get_proc_mem_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procopenfiles.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procopenfiles</FILE>
|
||||
GLIBTOP_PROC_OPEN_FILES_NUMBER
|
||||
GLIBTOP_PROC_OPEN_FILES_TOTAL
|
||||
GLIBTOP_PROC_OPEN_FILES_SIZE
|
||||
GLIBTOP_MAX_PROC_OPEN_FILES
|
||||
GLIBTOP_FILE_ENTRY_FD
|
||||
GLIBTOP_FILE_ENTRY_NAME
|
||||
GLIBTOP_FILE_ENTRY_TYPE
|
||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST
|
||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT
|
||||
GLIBTOP_MAX_OPEN_FILE_ENTRY
|
||||
GLIBTOP_OPEN_FILENAME_LEN
|
||||
GLIBTOP_OPEN_DEST_HOST_LEN
|
||||
glibtop_open_files_entry
|
||||
glibtop_proc_open_files
|
||||
glibtop_get_proc_open_files
|
||||
glibtop_get_proc_open_files_r
|
||||
glibtop_get_proc_open_files_l
|
||||
glibtop_init_proc_open_files_p
|
||||
glibtop_get_proc_open_files_p
|
||||
glibtop_init_proc_open_files_s
|
||||
glibtop_get_proc_open_files_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procsegment.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procsegment</FILE>
|
||||
GLIBTOP_PROC_SEGMENT_TEXT_RSS
|
||||
GLIBTOP_PROC_SEGMENT_SHLIB_RSS
|
||||
GLIBTOP_PROC_SEGMENT_DATA_RSS
|
||||
GLIBTOP_PROC_SEGMENT_STACK_RSS
|
||||
GLIBTOP_PROC_SEGMENT_DIRTY_SIZE
|
||||
GLIBTOP_PROC_SEGMENT_START_CODE
|
||||
GLIBTOP_PROC_SEGMENT_END_CODE
|
||||
GLIBTOP_PROC_SEGMENT_START_STACK
|
||||
GLIBTOP_MAX_PROC_SEGMENT
|
||||
glibtop_proc_segment
|
||||
glibtop_get_proc_segment
|
||||
glibtop_get_proc_segment_r
|
||||
glibtop_get_proc_segment_l
|
||||
glibtop_init_proc_segment_p
|
||||
glibtop_get_proc_segment_p
|
||||
glibtop_init_proc_segment_s
|
||||
glibtop_get_proc_segment_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procsignal.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procsignal</FILE>
|
||||
GLIBTOP_PROC_SIGNAL_SIGNAL
|
||||
GLIBTOP_PROC_SIGNAL_BLOCKED
|
||||
GLIBTOP_PROC_SIGNAL_SIGIGNORE
|
||||
GLIBTOP_PROC_SIGNAL_SIGCATCH
|
||||
GLIBTOP_MAX_PROC_SIGNAL
|
||||
glibtop_proc_signal
|
||||
glibtop_get_proc_signal
|
||||
glibtop_get_proc_signal_r
|
||||
glibtop_get_proc_signal_l
|
||||
glibtop_init_proc_signal_p
|
||||
glibtop_get_proc_signal_p
|
||||
glibtop_init_proc_signal_s
|
||||
glibtop_get_proc_signal_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/sysdeps.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>sysdeps</FILE>
|
||||
GLIBTOP_SYSDEPS_FEATURES
|
||||
GLIBTOP_SYSDEPS_CPU
|
||||
GLIBTOP_SYSDEPS_MEM
|
||||
GLIBTOP_SYSDEPS_SWAP
|
||||
GLIBTOP_SYSDEPS_UPTIME
|
||||
GLIBTOP_SYSDEPS_LOADAVG
|
||||
GLIBTOP_SYSDEPS_SHM_LIMITS
|
||||
GLIBTOP_SYSDEPS_MSG_LIMITS
|
||||
GLIBTOP_SYSDEPS_SEM_LIMITS
|
||||
GLIBTOP_SYSDEPS_PROCLIST
|
||||
GLIBTOP_SYSDEPS_PROC_STATE
|
||||
GLIBTOP_SYSDEPS_PROC_UID
|
||||
GLIBTOP_SYSDEPS_PROC_MEM
|
||||
GLIBTOP_SYSDEPS_PROC_TIME
|
||||
GLIBTOP_SYSDEPS_PROC_SIGNAL
|
||||
GLIBTOP_SYSDEPS_PROC_KERNEL
|
||||
GLIBTOP_SYSDEPS_PROC_SEGMENT
|
||||
GLIBTOP_SYSDEPS_PROC_ARGS
|
||||
GLIBTOP_SYSDEPS_PROC_MAP
|
||||
GLIBTOP_SYSDEPS_MOUNTLIST
|
||||
GLIBTOP_SYSDEPS_FSUSAGE
|
||||
GLIBTOP_SYSDEPS_NETLOAD
|
||||
GLIBTOP_SYSDEPS_PPP
|
||||
GLIBTOP_SYSDEPS_NETLIST
|
||||
GLIBTOP_SYSDEPS_PROC_OPEN_FILES
|
||||
GLIBTOP_MAX_SYSDEPS
|
||||
GLIBTOP_SYSDEPS_ALL
|
||||
glibtop_sysdeps
|
||||
glibtop_get_sysdeps
|
||||
glibtop_get_sysdeps_r
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procstate.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procstate</FILE>
|
||||
GLIBTOP_PROC_STATE_CMD
|
||||
GLIBTOP_PROC_STATE_STATE
|
||||
GLIBTOP_PROC_STATE_UID
|
||||
GLIBTOP_PROC_STATE_GID
|
||||
GLIBTOP_PROC_STATE_RUID
|
||||
GLIBTOP_PROC_STATE_RGID
|
||||
GLIBTOP_PROC_STATE_HAS_CPU
|
||||
GLIBTOP_PROC_STATE_PROCESSOR
|
||||
GLIBTOP_PROC_STATE_LAST_PROCESSOR
|
||||
GLIBTOP_MAX_PROC_STATE
|
||||
GLIBTOP_PROCESS_RUNNING
|
||||
GLIBTOP_PROCESS_INTERRUPTIBLE
|
||||
GLIBTOP_PROCESS_UNINTERRUPTIBLE
|
||||
GLIBTOP_PROCESS_ZOMBIE
|
||||
GLIBTOP_PROCESS_STOPPED
|
||||
GLIBTOP_PROCESS_SWAPPING
|
||||
GLIBTOP_PROCESS_DEAD
|
||||
glibtop_proc_state
|
||||
glibtop_get_proc_state
|
||||
glibtop_get_proc_state_r
|
||||
glibtop_get_proc_state_l
|
||||
glibtop_init_proc_state_p
|
||||
glibtop_get_proc_state_p
|
||||
glibtop_init_proc_state_s
|
||||
glibtop_get_proc_state_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procuid.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procuid</FILE>
|
||||
GLIBTOP_PROC_UID_UID
|
||||
GLIBTOP_PROC_UID_EUID
|
||||
GLIBTOP_PROC_UID_GID
|
||||
GLIBTOP_PROC_UID_EGID
|
||||
GLIBTOP_PROC_UID_SUID
|
||||
GLIBTOP_PROC_UID_SGID
|
||||
GLIBTOP_PROC_UID_FSUID
|
||||
GLIBTOP_PROC_UID_FSGID
|
||||
GLIBTOP_PROC_UID_PID
|
||||
GLIBTOP_PROC_UID_PPID
|
||||
GLIBTOP_PROC_UID_PGRP
|
||||
GLIBTOP_PROC_UID_SESSION
|
||||
GLIBTOP_PROC_UID_TTY
|
||||
GLIBTOP_PROC_UID_TPGID
|
||||
GLIBTOP_PROC_UID_PRIORITY
|
||||
GLIBTOP_PROC_UID_NICE
|
||||
GLIBTOP_PROC_UID_NGROUPS
|
||||
GLIBTOP_PROC_UID_GROUPS
|
||||
GLIBTOP_MAX_PROC_UID
|
||||
glibtop_proc_uid
|
||||
GLIBTOP_MAX_GROUPS
|
||||
glibtop_get_proc_uid
|
||||
glibtop_get_proc_uid_r
|
||||
glibtop_get_proc_uid_l
|
||||
glibtop_init_proc_uid_p
|
||||
glibtop_get_proc_uid_p
|
||||
glibtop_init_proc_uid_s
|
||||
glibtop_get_proc_uid_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>proctime</FILE>
|
||||
glibtop_proc_time
|
||||
glibtop_get_proc_time
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>signal</FILE>
|
||||
glibtop_signame
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/procmap.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procmap</FILE>
|
||||
GLIBTOP_PROC_MAP_NUMBER
|
||||
GLIBTOP_PROC_MAP_TOTAL
|
||||
GLIBTOP_PROC_MAP_SIZE
|
||||
GLIBTOP_MAX_PROC_MAP
|
||||
GLIBTOP_MAP_ENTRY_START
|
||||
GLIBTOP_MAP_ENTRY_END
|
||||
GLIBTOP_MAP_ENTRY_OFFSET
|
||||
GLIBTOP_MAP_ENTRY_PERM
|
||||
GLIBTOP_MAP_ENTRY_INODE
|
||||
GLIBTOP_MAP_ENTRY_DEVICE
|
||||
GLIBTOP_MAP_ENTRY_FILENAME
|
||||
GLIBTOP_MAP_ENTRY_SIZE
|
||||
GLIBTOP_MAP_ENTRY_RSS
|
||||
GLIBTOP_MAP_ENTRY_SHARED_CLEAN
|
||||
GLIBTOP_MAP_ENTRY_SHARED_DIRTY
|
||||
GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN
|
||||
GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY
|
||||
GLIBTOP_MAX_MAP_ENTRY
|
||||
GLIBTOP_MAP_FILENAME_LEN
|
||||
GLIBTOP_MAP_PERM_READ
|
||||
GLIBTOP_MAP_PERM_WRITE
|
||||
GLIBTOP_MAP_PERM_EXECUTE
|
||||
GLIBTOP_MAP_PERM_SHARED
|
||||
GLIBTOP_MAP_PERM_PRIVATE
|
||||
glibtop_map_entry
|
||||
glibtop_proc_map
|
||||
glibtop_get_proc_map
|
||||
glibtop_get_proc_map_r
|
||||
glibtop_get_proc_map_l
|
||||
glibtop_init_proc_map_p
|
||||
glibtop_get_proc_map_p
|
||||
glibtop_init_proc_map_s
|
||||
glibtop_get_proc_map_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/sysinfo.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>sysinfo</FILE>
|
||||
GLIBTOP_SYSINFO_NCPU
|
||||
GLIBTOP_SYSINFO_CPUINFO
|
||||
GLIBTOP_MAX_SYSINFO
|
||||
glibtop_sysinfo
|
||||
glibtop_entry
|
||||
glibtop_get_sysinfo_r
|
||||
glibtop_get_sysinfo_s
|
||||
glibtop_get_sysinfo
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/union.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>union</FILE>
|
||||
glibtop_union
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/version.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>version</FILE>
|
||||
LIBGTOP_VERSION_STRING
|
||||
glibtop_send_version
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>proclist</FILE>
|
||||
GLIBTOP_KERN_PROC_ALL
|
||||
GLIBTOP_KERN_PROC_PID
|
||||
GLIBTOP_KERN_PROC_PGRP
|
||||
GLIBTOP_KERN_PROC_SESSION
|
||||
GLIBTOP_KERN_PROC_TTY
|
||||
GLIBTOP_KERN_PROC_UID
|
||||
GLIBTOP_KERN_PROC_RUID
|
||||
GLIBTOP_KERN_PROC_MASK
|
||||
GLIBTOP_EXCLUDE_IDLE
|
||||
GLIBTOP_EXCLUDE_SYSTEM
|
||||
GLIBTOP_EXCLUDE_NOTTY
|
||||
glibtop_proclist
|
||||
glibtop_get_proclist
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>sem_limits</FILE>
|
||||
GLIBTOP_IPC_SEMMAP
|
||||
GLIBTOP_IPC_SEMMNI
|
||||
GLIBTOP_IPC_SEMMNS
|
||||
GLIBTOP_IPC_SEMMNU
|
||||
GLIBTOP_IPC_SEMMSL
|
||||
GLIBTOP_IPC_SEMOPM
|
||||
GLIBTOP_IPC_SEMUME
|
||||
GLIBTOP_IPC_SEMUSZ
|
||||
GLIBTOP_IPC_SEMVMX
|
||||
GLIBTOP_IPC_SEMAEM
|
||||
GLIBTOP_MAX_SEM_LIMITS
|
||||
glibtop_sem_limits
|
||||
glibtop_get_sem_limits
|
||||
glibtop_get_sem_limits_r
|
||||
glibtop_get_sem_limits_l
|
||||
glibtop_init_sem_limits_p
|
||||
glibtop_get_sem_limits_p
|
||||
glibtop_init_sem_limits_s
|
||||
glibtop_get_sem_limits_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/prockernel.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>prockernel</FILE>
|
||||
GLIBTOP_PROC_KERNEL_K_FLAGS
|
||||
GLIBTOP_PROC_KERNEL_MIN_FLT
|
||||
GLIBTOP_PROC_KERNEL_MAJ_FLT
|
||||
GLIBTOP_PROC_KERNEL_CMIN_FLT
|
||||
GLIBTOP_PROC_KERNEL_CMAJ_FLT
|
||||
GLIBTOP_PROC_KERNEL_KSTK_ESP
|
||||
GLIBTOP_PROC_KERNEL_KSTK_EIP
|
||||
GLIBTOP_PROC_KERNEL_NWCHAN
|
||||
GLIBTOP_PROC_KERNEL_WCHAN
|
||||
GLIBTOP_MAX_PROC_KERNEL
|
||||
glibtop_proc_kernel
|
||||
glibtop_get_proc_kernel
|
||||
glibtop_get_proc_kernel_r
|
||||
glibtop_get_proc_kernel_l
|
||||
glibtop_init_proc_kernel_p
|
||||
glibtop_get_proc_kernel_p
|
||||
glibtop_init_proc_kernel_s
|
||||
glibtop_get_proc_kernel_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/fsusage.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>fsusage</FILE>
|
||||
GLIBTOP_FSUSAGE_BLOCKS
|
||||
GLIBTOP_FSUSAGE_BFREE
|
||||
GLIBTOP_FSUSAGE_BAVAIL
|
||||
GLIBTOP_FSUSAGE_FILES
|
||||
GLIBTOP_FSUSAGE_FFREE
|
||||
GLIBTOP_FSUSAGE_BLOCK_SIZE
|
||||
GLIBTOP_FSUSAGE_READ
|
||||
GLIBTOP_FSUSAGE_WRITE
|
||||
GLIBTOP_MAX_FSUSAGE
|
||||
glibtop_fsusage
|
||||
glibtop_get_fsusage
|
||||
glibtop_get_fsusage_r
|
||||
glibtop_get_fsusage_l
|
||||
glibtop_get_fsusage_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/loadavg.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>loadavg</FILE>
|
||||
GLIBTOP_LOADAVG_LOADAVG
|
||||
GLIBTOP_LOADAVG_NR_RUNNING
|
||||
GLIBTOP_LOADAVG_NR_TASKS
|
||||
GLIBTOP_LOADAVG_LAST_PID
|
||||
GLIBTOP_MAX_LOADAVG
|
||||
glibtop_loadavg
|
||||
glibtop_get_loadavg
|
||||
glibtop_get_loadavg_r
|
||||
glibtop_get_loadavg_l
|
||||
glibtop_init_loadavg_p
|
||||
glibtop_get_loadavg_p
|
||||
glibtop_init_loadavg_s
|
||||
glibtop_get_loadavg_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/mem.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>mem</FILE>
|
||||
GLIBTOP_MEM_TOTAL
|
||||
GLIBTOP_MEM_USED
|
||||
GLIBTOP_MEM_FREE
|
||||
GLIBTOP_MEM_SHARED
|
||||
GLIBTOP_MEM_BUFFER
|
||||
GLIBTOP_MEM_CACHED
|
||||
GLIBTOP_MEM_USER
|
||||
GLIBTOP_MEM_LOCKED
|
||||
GLIBTOP_MAX_MEM
|
||||
glibtop_mem
|
||||
glibtop_get_mem
|
||||
glibtop_get_mem_r
|
||||
glibtop_get_mem_l
|
||||
glibtop_init_mem_p
|
||||
glibtop_get_mem_p
|
||||
glibtop_init_mem_s
|
||||
glibtop_get_mem_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/mountlist.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>mountlist</FILE>
|
||||
GLIBTOP_MOUNTLIST_NUMBER
|
||||
GLIBTOP_MOUNTLIST_TOTAL
|
||||
GLIBTOP_MOUNTLIST_SIZE
|
||||
GLIBTOP_MAX_MOUNTLIST
|
||||
glibtop_mountentry
|
||||
glibtop_mountlist
|
||||
glibtop_get_mountlist
|
||||
glibtop_get_mountlist_r
|
||||
glibtop_get_mountlist_l
|
||||
glibtop_get_mountlist_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/msg_limits.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>msg_limits</FILE>
|
||||
GLIBTOP_IPC_MSGPOOL
|
||||
GLIBTOP_IPC_MSGMAP
|
||||
GLIBTOP_IPC_MSGMAX
|
||||
GLIBTOP_IPC_MSGMNB
|
||||
GLIBTOP_IPC_MSGMNI
|
||||
GLIBTOP_IPC_MSGSSZ
|
||||
GLIBTOP_IPC_MSGTQL
|
||||
GLIBTOP_MAX_MSG_LIMITS
|
||||
glibtop_msg_limits
|
||||
glibtop_get_msg_limits
|
||||
glibtop_get_msg_limits_r
|
||||
glibtop_get_msg_limits_l
|
||||
glibtop_init_msg_limits_p
|
||||
glibtop_get_msg_limits_p
|
||||
glibtop_init_msg_limits_s
|
||||
glibtop_get_msg_limits_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/cpu.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>cpu</FILE>
|
||||
GLIBTOP_CPU_TOTAL
|
||||
GLIBTOP_CPU_USER
|
||||
GLIBTOP_CPU_NICE
|
||||
GLIBTOP_CPU_SYS
|
||||
GLIBTOP_CPU_IDLE
|
||||
GLIBTOP_CPU_FREQUENCY
|
||||
GLIBTOP_XCPU_TOTAL
|
||||
GLIBTOP_XCPU_USER
|
||||
GLIBTOP_XCPU_NICE
|
||||
GLIBTOP_XCPU_SYS
|
||||
GLIBTOP_XCPU_IDLE
|
||||
GLIBTOP_XCPU_FLAGS
|
||||
GLIBTOP_CPU_IOWAIT
|
||||
GLIBTOP_CPU_IRQ
|
||||
GLIBTOP_CPU_SOFTIRQ
|
||||
GLIBTOP_XCPU_IOWAIT
|
||||
GLIBTOP_XCPU_IRQ
|
||||
GLIBTOP_XCPU_SOFTIRQ
|
||||
GLIBTOP_MAX_CPU
|
||||
GLIBTOP_NCPU
|
||||
glibtop_cpu
|
||||
glibtop_get_cpu
|
||||
glibtop_get_cpu_r
|
||||
glibtop_get_cpu_l
|
||||
glibtop_init_cpu_p
|
||||
glibtop_get_cpu_p
|
||||
glibtop_init_cpu_s
|
||||
glibtop_get_cpu_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/swap.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>swap</FILE>
|
||||
GLIBTOP_SWAP_TOTAL
|
||||
GLIBTOP_SWAP_USED
|
||||
GLIBTOP_SWAP_FREE
|
||||
GLIBTOP_SWAP_PAGEIN
|
||||
GLIBTOP_SWAP_PAGEOUT
|
||||
GLIBTOP_MAX_SWAP
|
||||
glibtop_swap
|
||||
glibtop_get_swap
|
||||
glibtop_get_swap_r
|
||||
glibtop_get_swap_l
|
||||
glibtop_init_swap_p
|
||||
glibtop_get_swap_p
|
||||
glibtop_init_swap_s
|
||||
glibtop_get_swap_s
|
||||
</SECTION>
|
||||
|
4
doc/reference/version.xml.in
Normal file
4
doc/reference/version.xml.in
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
||||
<phrase>@PACKAGE_VERSION@</phrase>
|
@@ -1,27 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
first
|
||||
first_linux
|
||||
first_static
|
||||
second
|
||||
third
|
||||
third_linux
|
||||
third_static
|
||||
second_static
|
||||
second_linux
|
||||
smp_static sysdeps_static netload_static procmap_static mountlist_static
|
||||
smp sysdeps netload procmap mountlist
|
||||
timings timings_static
|
||||
pprint
|
||||
pprint_static
|
||||
procargs
|
||||
procargs_static
|
||||
proclist
|
||||
df
|
||||
df_static
|
||||
netlist
|
||||
netlist_static
|
||||
openfiles
|
||||
openfiles_static
|
@@ -1,3 +1,17 @@
|
||||
2007-05-19 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* Makefile.am:
|
||||
* mem.c: (main):
|
||||
* wd.c: (main):
|
||||
|
||||
Fixed wd and new simple mem example.
|
||||
|
||||
2006-02-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* pprint.c: (pprint_get_proc_mem), (main):
|
||||
|
||||
Added proc_mem example.
|
||||
|
||||
2005-12-15 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* proclist.c: (print_pids), (main):
|
||||
|
@@ -1,14 +1,10 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
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
|
||||
openfiles smp proclist free wd affinity
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
@@ -51,3 +47,12 @@ openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
proclist_SOURCES = proclist.c
|
||||
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
wd_SOURCES = wd.c
|
||||
wd_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
|
||||
|
34
examples/affinity.c
Normal file
34
examples/affinity.c
Normal file
@@ -0,0 +1,34 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procaffinity.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
pid_t pid;
|
||||
glibtop_proc_affinity buf;
|
||||
guint16 *cpus;
|
||||
size_t i;
|
||||
|
||||
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
|
||||
pid = getpid();
|
||||
|
||||
glibtop_init();
|
||||
|
||||
cpus = glibtop_get_proc_affinity(&buf, pid);
|
||||
|
||||
g_print("Process %u:\n"
|
||||
" - all: %d\n",
|
||||
(unsigned)pid, buf.all);
|
||||
|
||||
for (i = 0; i != buf.number; ++i)
|
||||
g_print(" - CPU#%u is set\n", cpus[i]);
|
||||
|
||||
g_free(cpus);
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -13,37 +13,62 @@ 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("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
||||
mountpoint,
|
||||
buf.blocks * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||
buf.bavail * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
||||
);
|
||||
|
||||
#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 main(int argc, char **argv)
|
||||
{
|
||||
glibtop_mountlist buf;
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
glibtop_init();
|
||||
|
||||
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
||||
"Filesystem", "Size", "Used", "Avail", "Use%");
|
||||
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");
|
||||
|
||||
entries = glibtop_get_mountlist(&buf, FALSE);
|
||||
if (argc > 1) {
|
||||
while (*++argv)
|
||||
print_fsusage(*argv);
|
||||
} else {
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
for(i = 0; i < buf.number; ++i)
|
||||
{
|
||||
print_fsusage(entries[i].mountdir);
|
||||
}
|
||||
entries = glibtop_get_mountlist(&buf, TRUE);
|
||||
|
||||
g_free(entries);
|
||||
for(i = 0; i < buf.number; ++i)
|
||||
{
|
||||
print_fsusage(entries[i].mountdir);
|
||||
}
|
||||
|
||||
g_free(entries);
|
||||
}
|
||||
|
||||
glibtop_close();
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
@@ -49,9 +47,9 @@ main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned c, method, count, port, i, *ptr;
|
||||
unsigned c, method, count, port, i;
|
||||
char buffer [BUFSIZ];
|
||||
pid_t pid, ppid;
|
||||
pid_t pid, ppid, *ptr;
|
||||
char *args;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
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,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
@@ -53,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);
|
||||
|
@@ -37,9 +37,16 @@ static void show_open_files(pid_t pid)
|
||||
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||
break;
|
||||
|
||||
case GLIBTOP_FILE_TYPE_INET6SOCKET:
|
||||
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||
break;
|
||||
|
||||
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("unknown type\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -3,6 +3,7 @@
|
||||
#endif
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/sysinfo.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
|
||||
@@ -20,18 +21,59 @@
|
||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
|
||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
||||
|
||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
||||
#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)
|
||||
{
|
||||
@@ -268,11 +310,52 @@ static void pprint_get_proc_kernel(pid_t pid)
|
||||
}
|
||||
|
||||
|
||||
static void pprint_get_proc_mem(pid_t pid)
|
||||
{
|
||||
glibtop_proc_mem buf;
|
||||
|
||||
glibtop_get_proc_mem(&buf, pid);
|
||||
|
||||
HEADER_PPRINT(glibtop_get_proc_mem);
|
||||
PPRINT(flags, "%#llx");
|
||||
PPRINT(size, "%llu");
|
||||
PPRINT(vsize, "%llu");
|
||||
PPRINT(resident, "%llu");
|
||||
PPRINT(share, "%llu");
|
||||
PPRINT(rss, "%llu");
|
||||
PPRINT(rss_rlim, "%llu");
|
||||
FOOTER_PPRINT();
|
||||
}
|
||||
|
||||
|
||||
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("/");
|
||||
@@ -298,6 +381,8 @@ int main()
|
||||
pprint_get_uptime();
|
||||
|
||||
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>
|
||||
|
||||
@@ -11,20 +14,34 @@
|
||||
|
||||
static void print_pids(guint64 which, guint64 arg)
|
||||
{
|
||||
unsigned *pids;
|
||||
pid_t *pids;
|
||||
unsigned i;
|
||||
glibtop_proclist buf;
|
||||
|
||||
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();
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
@@ -37,23 +35,43 @@
|
||||
|
||||
#include <glibtop/procmap.h>
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
#include <glibtop/inodedb.h>
|
||||
#endif
|
||||
|
||||
#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 [])
|
||||
{
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
glibtop_inodedb *inodedb;
|
||||
#endif
|
||||
glibtop_proc_map procmap;
|
||||
glibtop_map_entry *maps;
|
||||
unsigned method, count, port, i;
|
||||
@@ -86,12 +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]);
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
inodedb = glibtop_inodedb_open (0, 0);
|
||||
#endif
|
||||
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);
|
||||
|
||||
@@ -99,18 +123,13 @@ 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];
|
||||
|
||||
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
|
||||
filename = maps [i].filename;
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
if (inodedb && !filename)
|
||||
filename = glibtop_inodedb_lookup
|
||||
(inodedb, maps [i].device, maps [i].inode);
|
||||
#endif
|
||||
|
||||
perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
|
||||
perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
|
||||
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
|
||||
@@ -121,46 +140,31 @@ 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 - %4s - %s\n";
|
||||
else
|
||||
format = "%08lx-%08lx %08lx - "
|
||||
"%02x:%02x %08lu - %4s - %s\n";
|
||||
|
||||
fprintf (stderr, format,
|
||||
(unsigned long) maps [i].start,
|
||||
(unsigned long) maps [i].end,
|
||||
(unsigned long) maps [i].offset,
|
||||
device_major, device_minor,
|
||||
(unsigned long) maps [i].inode,
|
||||
perm, filename);
|
||||
} else {
|
||||
char * format;
|
||||
|
||||
if (sizeof (void*) == 8)
|
||||
format = "%016lx-%016lx %016lx - "
|
||||
"%02x:%02x %08lu - %4s\n";
|
||||
else
|
||||
format = "%08lx-%08lx %08lx - "
|
||||
"%02x:%02x %08lu - %4s\n";
|
||||
|
||||
fprintf (stderr, format,
|
||||
(unsigned long) maps [i].start,
|
||||
(unsigned long) maps [i].end,
|
||||
(unsigned long) maps [i].offset,
|
||||
device_major, device_minor,
|
||||
(unsigned long) maps [i].inode,
|
||||
perm);
|
||||
fprintf(stderr, " - %s", filename);
|
||||
}
|
||||
|
||||
fputc('\n', stderr);
|
||||
|
||||
g_print("smaps flags:%#llx size:%llu rss:%llu "
|
||||
"shared_clean:%llu shared_dirty:%llu "
|
||||
"private_clean:%llu private_dirty: %llu\n",
|
||||
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
||||
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
||||
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
||||
maps[i].flags,
|
||||
maps[i].size >> 10,
|
||||
maps[i].rss >> 10,
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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,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");
|
||||
|
||||
@@ -160,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);
|
||||
@@ -233,7 +228,6 @@ output (pid_t pid)
|
||||
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
||||
|
||||
printf ("\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
@@ -241,7 +235,8 @@ main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_proclist proclist;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned *ptr, pid, i;
|
||||
unsigned i;
|
||||
pid_t *ptr, pid;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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>
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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
|
||||
@@ -46,7 +44,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
||||
#define PROFILE_COUNT_EXPENSIVE 10000L
|
||||
#define PROFILE_COUNT_EXPENSIVE (PROFILE_COUNT / 10)
|
||||
#endif
|
||||
|
||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
||||
@@ -71,29 +69,47 @@
|
||||
} \
|
||||
} 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 [])
|
||||
{
|
||||
glibtop_union data;
|
||||
unsigned c, count, *ptr;
|
||||
unsigned c;
|
||||
struct rusage total_start, total_end;
|
||||
struct rusage rusage_start, rusage_end;
|
||||
struct timeval elapsed_utime, elapsed_stime;
|
||||
pid_t pid;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
pid = getpid ();
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
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);
|
||||
@@ -186,12 +202,10 @@ main (int argc, char *argv [])
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
g_free (ptr);
|
||||
}
|
||||
|
||||
@@ -209,9 +223,26 @@ main (int argc, char *argv [])
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||
|
||||
pid = getpid ();
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
printf ("\n");
|
||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||
char** ptr = glibtop_get_netlist (&data.netlist);
|
||||
g_strfreev (ptr);
|
||||
}
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Netlist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proclist.flags,
|
||||
PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
@@ -269,6 +300,27 @@ main (int argc, char *argv [])
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||
glibtop_map_entry* entries;
|
||||
entries = glibtop_get_proc_map (&data.proc_map, pid);
|
||||
g_free (entries);
|
||||
}
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Map (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_map.flags, PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
@@ -287,6 +339,27 @@ main (int argc, char *argv [])
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
||||
char** argv;
|
||||
argv = glibtop_get_proc_argv (&data.proc_args, pid, 0);
|
||||
g_strfreev(argv);
|
||||
}
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Args (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_args.flags, PROFILE_COUNT,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
@@ -356,6 +429,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);
|
||||
|
35
examples/wd.c
Normal file
35
examples/wd.c
Normal file
@@ -0,0 +1,35 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procwd.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
pid_t pid;
|
||||
glibtop_proc_wd buf;
|
||||
char **dirs, **dir;
|
||||
|
||||
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
|
||||
pid = getpid();
|
||||
|
||||
glibtop_init();
|
||||
|
||||
dirs = glibtop_get_proc_wd(&buf, pid);
|
||||
|
||||
g_print("Process %u:\n"
|
||||
" - root: '%s'\n"
|
||||
" - exe: '%s'\n"
|
||||
" - working directories:\n",
|
||||
(unsigned)pid, buf.root, buf.exe);
|
||||
|
||||
for (dir = dirs; *dir; ++dir)
|
||||
g_print(" - '%s'\n", *dir);
|
||||
|
||||
g_strfreev(dirs);
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
50
features.def
50
features.def
@@ -1,25 +1,27 @@
|
||||
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
|
||||
void|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)
|
||||
unsigned *|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)
|
||||
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)
|
||||
|
||||
|
58
glibtop.h
58
glibtop.h
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,14 +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
|
||||
@@ -52,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
|
||||
@@ -65,14 +69,12 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
||||
|
||||
#include <glibtop/close.h>
|
||||
|
||||
|
||||
struct _glibtop
|
||||
{
|
||||
unsigned flags;
|
||||
unsigned method; /* Server Method */
|
||||
unsigned error_method; /* Error Method */
|
||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||
glibtop_machine machine; /* Machine dependent data */
|
||||
#endif
|
||||
int input [2]; /* Pipe client <- server */
|
||||
int output [2]; /* Pipe client -> server */
|
||||
int socket; /* Accepted connection of a socket */
|
||||
@@ -89,23 +91,57 @@ struct _glibtop
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
pid_t pid; /* PID of the server */
|
||||
|
||||
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
|
||||
|
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
@@ -2,12 +2,15 @@ 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 \
|
||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
|
||||
sysinfo.h ppp.h procargs.h netload.h \
|
||||
procwd.h procaffinity.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
|
||||
|
||||
|
@@ -1,7 +1,5 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@@AUTOGEN_COMMENT@@
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
@@ -21,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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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 +57,10 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_CMND_PPP 23
|
||||
#define GLIBTOP_CMND_NETLIST 24
|
||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||
#define GLIBTOP_CMND_PROC_WD 26
|
||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||
|
||||
#define GLIBTOP_MAX_CMND 26
|
||||
#define GLIBTOP_MAX_CMND 28
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -56,31 +54,31 @@ 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;
|
||||
|
||||
struct _glibtop_cpu
|
||||
{
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_CPU_TOTAL */
|
||||
user, /* GLIBTOP_CPU_USER */
|
||||
nice, /* GLIBTOP_CPU_NICE */
|
||||
sys, /* GLIBTOP_CPU_SYS */
|
||||
idle, /* GLIBTOP_CPU_IDLE */
|
||||
iowait, /* GLIBTOP_CPU_IOWAIT */
|
||||
irq, /* GLIBTOP_CPU_IRQ */
|
||||
softirq, /* GLIBTOP_CPU_SOFTIRQ */
|
||||
frequency, /* GLIBTOP_CPU_FREQUENCY */
|
||||
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
|
||||
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
|
||||
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
|
||||
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
|
||||
xcpu_idle [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IDLE */
|
||||
xcpu_iowait [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IOWAIT */
|
||||
xcpu_irq [GLIBTOP_NCPU], /* GLIBTOP_XCPU_IRQ */
|
||||
xcpu_softirq [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SOFTIRQ */
|
||||
xcpu_flags; /* GLIBTOP_XCPU_IDLE */
|
||||
guint64 flags;
|
||||
guint64 total; /* GLIBTOP_CPU_TOTAL */
|
||||
guint64 user; /* GLIBTOP_CPU_USER */
|
||||
guint64 nice; /* GLIBTOP_CPU_NICE */
|
||||
guint64 sys; /* GLIBTOP_CPU_SYS */
|
||||
guint64 idle; /* GLIBTOP_CPU_IDLE */
|
||||
guint64 iowait; /* GLIBTOP_CPU_IOWAIT */
|
||||
guint64 irq; /* GLIBTOP_CPU_IRQ */
|
||||
guint64 softirq; /* GLIBTOP_CPU_SOFTIRQ */
|
||||
guint64 frequency; /* GLIBTOP_CPU_FREQUENCY */
|
||||
guint64 xcpu_total [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_TOTAL */
|
||||
guint64 xcpu_user [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_USER */
|
||||
guint64 xcpu_nice [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_NICE */
|
||||
guint64 xcpu_sys [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SYS */
|
||||
guint64 xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
|
||||
guint64 xcpu_iowait [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IOWAIT */
|
||||
guint64 xcpu_irq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IRQ */
|
||||
guint64 xcpu_softirq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SOFTIRQ */
|
||||
guint64 xcpu_flags; /* GLIBTOP_XCPU_IDLE */
|
||||
};
|
||||
|
||||
void glibtop_get_cpu(glibtop_cpu *buf);
|
||||
@@ -94,10 +92,10 @@ void glibtop_get_cpu(glibtop_cpu *buf);
|
||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
||||
|
||||
#if GLIBTOP_SUID_CPU
|
||||
void glibtop_init_cpu_p (glibtop *server);
|
||||
void _glibtop_init_cpu_p (glibtop *server);
|
||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
||||
#else
|
||||
void glibtop_init_cpu_s (glibtop *server);
|
||||
void _glibtop_init_cpu_s (glibtop *server);
|
||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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.
|
||||
*/
|
||||
|
||||
|
||||
@@ -33,20 +31,32 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL;
|
||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL;
|
||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN;
|
||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
|
||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
|
||||
|
||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
||||
|
||||
void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||
void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||
void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||
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
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
@@ -16,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__
|
||||
@@ -43,12 +41,12 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
|
||||
|
||||
struct _glibtop_fsusage
|
||||
{
|
||||
guint64 flags,
|
||||
blocks, /* Total number of blocks. */
|
||||
bfree, /* Free blocks available to superuser. */
|
||||
bavail, /* Free blocks available to non-superuser. */
|
||||
files, /* Total file nodes. */
|
||||
ffree; /* Free file nodes. */
|
||||
guint64 flags;
|
||||
guint64 blocks; /* Total number of blocks. */
|
||||
guint64 bfree; /* Free blocks available to superuser. */
|
||||
guint64 bavail; /* Free blocks available to non-superuser. */
|
||||
guint64 files; /* Total file nodes. */
|
||||
guint64 ffree; /* Free file nodes. */
|
||||
guint32 block_size; /* Size of a block in bytes. */
|
||||
guint64 read, write; /* Total blocks read and written */
|
||||
};
|
||||
|
@@ -1,70 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 2.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_SERVER_H__
|
||||
#define __GLIBTOP_SERVER_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_server glibtop_server;
|
||||
typedef struct _glibtop_server_info glibtop_server_info;
|
||||
|
||||
typedef struct _glibtop_closure glibtop_closure;
|
||||
|
||||
struct _glibtop_server_info
|
||||
{
|
||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||
unsigned long features; /* Server is required for this features */
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
glibtop_sysdeps wanted; /* We only want this features */
|
||||
};
|
||||
|
||||
struct _glibtop_server
|
||||
{
|
||||
glibtop_server_info *info;
|
||||
|
||||
int refcount;
|
||||
unsigned flags;
|
||||
const char *name;
|
||||
|
||||
void *_priv;
|
||||
};
|
||||
|
||||
glibtop_server *
|
||||
glibtop_server_new (void);
|
||||
|
||||
void
|
||||
glibtop_server_ref (glibtop_server *server);
|
||||
|
||||
void
|
||||
glibtop_server_unref (glibtop_server *server);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
|
@@ -3,9 +3,13 @@
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
typedef void (*glibtop_init_func_t)(glibtop *);
|
||||
G_BEGIN_DECLS
|
||||
|
||||
extern const glibtop_init_func_t _glibtop_init_hook_s[];
|
||||
extern const glibtop_init_func_t _glibtop_init_hook_p[];
|
||||
typedef void (*_glibtop_init_func_t)(glibtop *);
|
||||
|
||||
extern const _glibtop_init_func_t _glibtop_init_hook_s[];
|
||||
extern const _glibtop_init_func_t _glibtop_init_hook_p[];
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* H_LIBGTOP_INIT_HOOKS_1122955666 */
|
||||
|
@@ -1,67 +0,0 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_INODEDB_H__
|
||||
#define __GLIBTOP_INODEDB_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <gdbm.h>
|
||||
|
||||
#define GLIBTOP_INODEDB_SYSTEM 1
|
||||
#define GLIBTOP_INODEDB_USER 2
|
||||
#define GLIBTOP_INODEDB_CACHE 4
|
||||
|
||||
#define GLIBTOP_INODEDB_ALL 7
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_inodedb glibtop_inodedb;
|
||||
|
||||
typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
||||
|
||||
struct _glibtop_inodedb_key
|
||||
{
|
||||
guint64 device, inode;
|
||||
};
|
||||
|
||||
struct _glibtop_inodedb
|
||||
{
|
||||
GDBM_FILE system_dbf, user_dbf;
|
||||
};
|
||||
|
||||
#define glibtop_inodedb_open(p1,p2) glibtop_inodedb_open_s(glibtop_global_server, p1, p2)
|
||||
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
|
||||
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
|
||||
|
||||
glibtop_inodedb *
|
||||
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
|
||||
|
||||
const char *
|
||||
glibtop_inodedb_lookup_s (glibtop *server,
|
||||
glibtop_inodedb *inodedb,
|
||||
guint64 device, guint64 inode);
|
||||
|
||||
void
|
||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -42,9 +40,9 @@ struct _glibtop_loadavg
|
||||
{
|
||||
guint64 flags;
|
||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
||||
guint64 nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
|
||||
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||
guint64 nr_running; /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||
guint64 nr_tasks; /* GLIBTOP_LOADAVG_NR_TASKS */
|
||||
guint64 last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||
};
|
||||
|
||||
void glibtop_get_loadavg(glibtop_loadavg *buf);
|
||||
@@ -58,10 +56,10 @@ void glibtop_get_loadavg(glibtop_loadavg *buf);
|
||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
||||
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
void glibtop_init_loadavg_p (glibtop *server);
|
||||
void _glibtop_init_loadavg_p (glibtop *server);
|
||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
||||
#else
|
||||
void glibtop_init_loadavg_s (glibtop *server);
|
||||
void _glibtop_init_loadavg_s (glibtop *server);
|
||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
||||
#endif
|
||||
|
||||
|
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 */
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -44,15 +42,15 @@ typedef struct _glibtop_mem glibtop_mem;
|
||||
|
||||
struct _glibtop_mem
|
||||
{
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_MEM_TOTAL */
|
||||
used, /* GLIBTOP_MEM_USED */
|
||||
free, /* GLIBTOP_MEM_FREE */
|
||||
shared, /* GLIBTOP_MEM_SHARED */
|
||||
buffer, /* GLIBTOP_MEM_BUFFER */
|
||||
cached, /* GLIBTOP_MEM_CACHED */
|
||||
user, /* GLIBTOP_MEM_USER */
|
||||
locked; /* GLIBTOP_MEM_LOCKED */
|
||||
guint64 flags;
|
||||
guint64 total; /* GLIBTOP_MEM_TOTAL */
|
||||
guint64 used; /* GLIBTOP_MEM_USED */
|
||||
guint64 free; /* GLIBTOP_MEM_FREE */
|
||||
guint64 shared; /* GLIBTOP_MEM_SHARED */
|
||||
guint64 buffer; /* GLIBTOP_MEM_BUFFER */
|
||||
guint64 cached; /* GLIBTOP_MEM_CACHED */
|
||||
guint64 user; /* GLIBTOP_MEM_USER */
|
||||
guint64 locked; /* GLIBTOP_MEM_LOCKED */
|
||||
};
|
||||
|
||||
void glibtop_get_mem(glibtop_mem *buf);
|
||||
@@ -66,10 +64,10 @@ void glibtop_get_mem(glibtop_mem *buf);
|
||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MEM
|
||||
void glibtop_init_mem_p (glibtop *server);
|
||||
void _glibtop_init_mem_p (glibtop *server);
|
||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
||||
#else
|
||||
void glibtop_init_mem_s (glibtop *server);
|
||||
void _glibtop_init_mem_s (glibtop *server);
|
||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -49,12 +47,44 @@ struct _glibtop_mountentry
|
||||
|
||||
struct _glibtop_mountlist
|
||||
{
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||
guint64 flags;
|
||||
guint64 number; /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||
guint64 total; /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||
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);
|
||||
|
||||
@@ -66,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
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -43,14 +41,14 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
||||
|
||||
struct _glibtop_msg_limits
|
||||
{
|
||||
guint64 flags,
|
||||
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||
msgmnb, /* GLIBTOP_IPC_MSGMNB */
|
||||
msgmni, /* GLIBTOP_IPC_MSGMNI */
|
||||
msgssz, /* GLIBTOP_IPC_MSGSSZ */
|
||||
msgtql; /* GLIBTOP_IPC_MSGTQL */
|
||||
guint64 flags;
|
||||
guint64 msgpool; /* GLIBTOP_IPC_MSGPOOL */
|
||||
guint64 msgmap; /* GLIBTOP_IPC_MSGMAP */
|
||||
guint64 msgmax; /* GLIBTOP_IPC_MSGMAX */
|
||||
guint64 msgmnb; /* GLIBTOP_IPC_MSGMNB */
|
||||
guint64 msgmni; /* GLIBTOP_IPC_MSGMNI */
|
||||
guint64 msgssz; /* GLIBTOP_IPC_MSGSSZ */
|
||||
guint64 msgtql; /* GLIBTOP_IPC_MSGTQL */
|
||||
};
|
||||
|
||||
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
||||
@@ -64,10 +62,10 @@ void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
void glibtop_init_msg_limits_p (glibtop *server);
|
||||
void _glibtop_init_msg_limits_p (glibtop *server);
|
||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
||||
#else
|
||||
void glibtop_init_msg_limits_s (glibtop *server);
|
||||
void _glibtop_init_msg_limits_s (glibtop *server);
|
||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -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);
|
||||
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);
|
||||
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
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -68,7 +66,8 @@ enum {
|
||||
GLIBTOP_IF_FLAGS_LINK1,
|
||||
GLIBTOP_IF_FLAGS_LINK2,
|
||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
GLIBTOP_IF_FLAGS_MULTICAST,
|
||||
GLIBTOP_IF_FLAGS_WIRELESS
|
||||
};
|
||||
|
||||
enum GLIBTOP_IF_IN6_SCOPE
|
||||
@@ -82,23 +81,23 @@ enum GLIBTOP_IF_IN6_SCOPE
|
||||
|
||||
struct _glibtop_netload
|
||||
{
|
||||
guint64 flags,
|
||||
if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
guint64 flags;
|
||||
guint64 if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
|
||||
guint32 mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
||||
address; /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
guint32 mtu; /* GLIBTOP_NETLOAD_MTU */
|
||||
guint32 subnet; /* GLIBTOP_NETLOAD_SUBNET */
|
||||
guint32 address; /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
|
||||
guint64 packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
||||
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
||||
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
|
||||
bytes_out, /* GLIBTOP_NETLOAD_BYTES_OUT */
|
||||
bytes_total, /* GLIBTOP_NETLOAD_BYTES_TOTAL */
|
||||
errors_in, /* GLIBTOP_NETLOAD_ERRORS_IN */
|
||||
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
||||
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
||||
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
||||
guint64 packets_in; /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||
guint64 packets_out; /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
||||
guint64 packets_total; /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
||||
guint64 bytes_in; /* GLIBTOP_NETLOAD_BYTES_IN */
|
||||
guint64 bytes_out; /* GLIBTOP_NETLOAD_BYTES_OUT */
|
||||
guint64 bytes_total; /* GLIBTOP_NETLOAD_BYTES_TOTAL */
|
||||
guint64 errors_in; /* GLIBTOP_NETLOAD_ERRORS_IN */
|
||||
guint64 errors_out; /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
||||
guint64 errors_total; /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
||||
guint64 collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
||||
|
||||
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
|
||||
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
|
||||
@@ -118,10 +117,10 @@ void glibtop_get_netload(glibtop_netload *buf, const char *interface);
|
||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
void glibtop_init_netload_p (glibtop *server);
|
||||
void _glibtop_init_netload_p (glibtop *server);
|
||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#else
|
||||
void glibtop_init_netload_s (glibtop *server);
|
||||
void _glibtop_init_netload_s (glibtop *server);
|
||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#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_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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -45,10 +43,10 @@ enum {
|
||||
|
||||
struct _glibtop_ppp
|
||||
{
|
||||
guint64 flags,
|
||||
state, /* GLIBTOP_PPP_STATE */
|
||||
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
|
||||
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||
guint64 flags;
|
||||
guint64 state; /* GLIBTOP_PPP_STATE */
|
||||
guint64 bytes_in; /* GLIBTOP_PPP_BYTES_IN */
|
||||
guint64 bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||
};
|
||||
|
||||
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
||||
@@ -62,10 +60,10 @@ void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
|
||||
#if GLIBTOP_SUID_PPP
|
||||
void glibtop_init_ppp_p (glibtop *server);
|
||||
void _glibtop_init_ppp_p (glibtop *server);
|
||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#else
|
||||
void glibtop_init_ppp_s (glibtop *server);
|
||||
void _glibtop_init_ppp_s (glibtop *server);
|
||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#endif
|
||||
|
||||
|
62
include/glibtop/procaffinity.h
Normal file
62
include/glibtop/procaffinity.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/* Copyright (C) 2007 Benoît Dejean
|
||||
This file is part of LibGTop 2.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
||||
#define __GLIBTOP_PROCAFFINITY_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
||||
|
||||
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
||||
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
||||
#define GLIBTOP_MAX_PROC_AFFINITY 2
|
||||
|
||||
struct _glibtop_proc_affinity
|
||||
{
|
||||
guint64 flags;
|
||||
guint32 number;
|
||||
gboolean all;
|
||||
};
|
||||
|
||||
|
||||
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
|
||||
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_AFFINITY
|
||||
|
||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
|
||||
void _glibtop_init_proc_affinity_p(glibtop *server);
|
||||
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
#else
|
||||
|
||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
|
||||
void _glibtop_init_proc_affinity_s(glibtop *server);
|
||||
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -37,8 +35,8 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
|
||||
|
||||
struct _glibtop_proc_args
|
||||
{
|
||||
guint64 flags,
|
||||
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||
guint64 flags;
|
||||
guint64 size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||
};
|
||||
|
||||
|
||||
@@ -53,7 +51,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
void _glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
@@ -64,7 +62,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
void _glibtop_init_proc_args_s (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
@@ -81,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);
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -48,18 +46,18 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
struct _glibtop_proc_kernel
|
||||
{
|
||||
guint64 flags;
|
||||
guint64 k_flags, /* kernel flags for the process */
|
||||
min_flt, /* number of minor page faults since
|
||||
guint64 k_flags; /* kernel flags for the process */
|
||||
guint64 min_flt; /* number of minor page faults since
|
||||
* process start */
|
||||
maj_flt, /* number of major page faults since
|
||||
guint64 maj_flt; /* number of major page faults since
|
||||
* process start */
|
||||
cmin_flt, /* cumulative min_flt of process and
|
||||
guint64 cmin_flt; /* cumulative min_flt of process and
|
||||
* child processes */
|
||||
cmaj_flt, /* cumulative maj_flt of process and
|
||||
guint64 cmaj_flt; /* cumulative maj_flt of process and
|
||||
* child processes */
|
||||
kstk_esp, /* kernel stack pointer */
|
||||
kstk_eip, /* kernel stack pointer */
|
||||
nwchan; /* address of kernel wait channel
|
||||
guint64 kstk_esp; /* kernel stack pointer */
|
||||
guint64 kstk_eip; /* kernel stack pointer */
|
||||
guint64 nwchan; /* address of kernel wait channel
|
||||
* proc is sleeping in */
|
||||
char wchan [40];
|
||||
};
|
||||
@@ -75,10 +73,10 @@ void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
|
||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
void glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void _glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void _glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -38,31 +36,107 @@ 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,
|
||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
guint64 flags;
|
||||
guint64 number; /* GLIBTOP_PROCLIST_NUMBER */
|
||||
guint64 total; /* GLIBTOP_PROCLIST_TOTAL */
|
||||
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
};
|
||||
|
||||
unsigned *
|
||||
/**
|
||||
* 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);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
@@ -71,20 +145,50 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
||||
#endif
|
||||
|
||||
unsigned *
|
||||
/**
|
||||
* 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);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
void glibtop_init_proclist_p (glibtop *server);
|
||||
void _glibtop_init_proclist_p (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
/**
|
||||
* 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);
|
||||
void _glibtop_init_proclist_s (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
/**
|
||||
* 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);
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -50,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
|
||||
|
||||
@@ -67,25 +67,71 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
|
||||
|
||||
struct _glibtop_map_entry
|
||||
{
|
||||
guint64 flags, start, end, offset, perm, inode, device;
|
||||
guint64 size,
|
||||
rss,
|
||||
shared_clean, shared_dirty,
|
||||
private_clean, private_dirty;
|
||||
guint64 flags;
|
||||
guint64 start;
|
||||
guint64 end;
|
||||
guint64 offset;
|
||||
guint64 perm;
|
||||
guint64 inode;
|
||||
guint64 device;
|
||||
guint64 size;
|
||||
guint64 rss;
|
||||
guint64 shared_clean;
|
||||
guint64 shared_dirty;
|
||||
guint64 private_clean;
|
||||
guint64 private_dirty;
|
||||
guint64 pss;
|
||||
guint64 swap;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_proc_map
|
||||
{
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
||||
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
||||
size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||
guint64 flags;
|
||||
guint64 number; /* GLIBTOP_PROC_MAP_NUMBER */
|
||||
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
|
||||
@@ -96,17 +142,19 @@ glibtop_map_entry *
|
||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
void glibtop_init_proc_map_p (glibtop *server);
|
||||
void _glibtop_init_proc_map_p (glibtop *server);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_map_s (glibtop *server);
|
||||
void _glibtop_init_proc_map_s (glibtop *server);
|
||||
|
||||
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
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -44,17 +42,23 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
||||
|
||||
struct _glibtop_proc_mem
|
||||
{
|
||||
guint64 flags,
|
||||
size, /* total # of pages of memory */
|
||||
vsize, /* number of pages of virtual memory ... */
|
||||
resident, /* number of resident set
|
||||
guint64 flags;
|
||||
guint64 size; /* total # of pages of memory */
|
||||
guint64 vsize; /* number of pages of virtual memory ... */
|
||||
guint64 resident; /* number of resident set
|
||||
* (non-swapped) pages (4k) */
|
||||
share, /* number of pages of shared (mmap'd) memory */
|
||||
rss, /* resident set size */
|
||||
rss_rlim; /* current limit (in bytes) of the rss
|
||||
guint64 share; /* number of pages of shared (mmap'd) memory */
|
||||
guint64 rss; /* resident set size */
|
||||
guint64 rss_rlim; /* current limit (in bytes) of the rss
|
||||
* 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
|
||||
@@ -66,10 +70,10 @@ void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
void glibtop_init_proc_mem_p (glibtop *server);
|
||||
void _glibtop_init_proc_mem_p (glibtop *server);
|
||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_mem_s (glibtop *server);
|
||||
void _glibtop_init_proc_mem_s (glibtop *server);
|
||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
Copyright (C) 2004 Nicolás Lichtmaier
|
||||
This file is part of LibGTop 1.0.
|
||||
@@ -20,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__
|
||||
@@ -55,7 +53,8 @@ enum glibtop_file_type {
|
||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
|
||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
|
||||
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
|
||||
};
|
||||
|
||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
||||
@@ -67,7 +66,8 @@ struct _glibtop_open_files_entry
|
||||
int fd;
|
||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
||||
union {
|
||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
|
||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
|
||||
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
|
||||
struct {
|
||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
||||
int dest_port;
|
||||
@@ -88,12 +88,20 @@ struct _glibtop_open_files_entry
|
||||
|
||||
struct _glibtop_proc_open_files
|
||||
{
|
||||
guint64 flags,
|
||||
number, /* GLIBTOP_PROC_OPEN_FILES_NUMBER */
|
||||
total, /* GLIBTOP_PROC_OPEN_FILES_TOTAL */
|
||||
size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
||||
guint64 flags;
|
||||
guint64 number; /* GLIBTOP_PROC_OPEN_FILES_NUMBER */
|
||||
guint64 total; /* GLIBTOP_PROC_OPEN_FILES_TOTAL */
|
||||
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,21 +111,44 @@ 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);
|
||||
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
|
||||
void glibtop_init_proc_open_files_s (glibtop *server);
|
||||
void _glibtop_init_proc_open_files_s (glibtop *server);
|
||||
|
||||
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
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -46,16 +44,16 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
struct _glibtop_proc_segment
|
||||
{
|
||||
guint64 flags,
|
||||
text_rss, /* text resident set size */
|
||||
shlib_rss, /* shared-lib resident set size */
|
||||
data_rss, /* data resident set size */
|
||||
stack_rss, /* stack resident set size */
|
||||
dirty_size, /* size of dirty pages */
|
||||
start_code,
|
||||
guint64 flags;
|
||||
guint64 text_rss; /* text resident set size */
|
||||
guint64 shlib_rss; /* shared-lib resident set size */
|
||||
guint64 data_rss; /* data resident set size */
|
||||
guint64 stack_rss; /* stack resident set size */
|
||||
guint64 dirty_size; /* size of dirty pages */
|
||||
guint64 start_code;
|
||||
/* address of beginning of code segment */
|
||||
end_code, /* address of end of code segment */
|
||||
start_stack; /* address of the bottom of stack segment */
|
||||
guint64 end_code; /* address of end of code segment */
|
||||
guint64 start_stack; /* address of the bottom of stack segment */
|
||||
};
|
||||
|
||||
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
||||
@@ -69,10 +67,10 @@ void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
void glibtop_init_proc_segment_p (glibtop *server);
|
||||
void _glibtop_init_proc_segment_p (glibtop *server);
|
||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_segment_s (glibtop *server);
|
||||
void _glibtop_init_proc_segment_s (glibtop *server);
|
||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -42,11 +40,11 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
||||
|
||||
struct _glibtop_proc_signal
|
||||
{
|
||||
guint64 flags,
|
||||
signal [2], /* mask of pending signals */
|
||||
blocked [2], /* mask of blocked signals */
|
||||
sigignore [2], /* mask of ignored signals */
|
||||
sigcatch [2]; /* mask of caught signals */
|
||||
guint64 flags;
|
||||
guint64 signal [2]; /* mask of pending signals */
|
||||
guint64 blocked [2]; /* mask of blocked signals */
|
||||
guint64 sigignore [2]; /* mask of ignored signals */
|
||||
guint64 sigcatch [2]; /* mask of caught signals */
|
||||
};
|
||||
|
||||
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
||||
@@ -60,10 +58,10 @@ void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
void glibtop_init_proc_signal_p (glibtop *server);
|
||||
void _glibtop_init_proc_signal_p (glibtop *server);
|
||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_signal_s (glibtop *server);
|
||||
void _glibtop_init_proc_signal_s (glibtop *server);
|
||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -58,20 +56,19 @@ struct _glibtop_proc_state
|
||||
guint64 flags;
|
||||
char cmd[40]; /* basename of executable file in
|
||||
* call to exec(2) */
|
||||
unsigned state; /* single-char code for process state
|
||||
* (S=sleeping) */
|
||||
unsigned state;
|
||||
/* NOTE: when porting the library, TRY HARD to implement the
|
||||
* following two fields. */
|
||||
/* IMPORTANT NOTICE: For security reasons, it is extremely important
|
||||
* only to set the flags value for those two
|
||||
* fields if their values are corrent ! */
|
||||
int uid, /* UID of process */
|
||||
gid, /* GID of process */
|
||||
ruid,
|
||||
rgid;
|
||||
int has_cpu,
|
||||
processor,
|
||||
last_processor;
|
||||
int uid; /* UID of process */
|
||||
int gid; /* GID of process */
|
||||
int ruid;
|
||||
int rgid;
|
||||
int has_cpu;
|
||||
int processor;
|
||||
int last_processor;
|
||||
};
|
||||
|
||||
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
||||
@@ -85,10 +82,10 @@ void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
void glibtop_init_proc_state_p (glibtop *server);
|
||||
void _glibtop_init_proc_state_p (glibtop *server);
|
||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_state_s (glibtop *server);
|
||||
void _glibtop_init_proc_state_s (glibtop *server);
|
||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -48,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
|
||||
{
|
||||
guint64 flags,
|
||||
start_time, /* start time of process --
|
||||
* seconds since 1-1-70 */
|
||||
rtime, /* real time accumulated by process */
|
||||
utime, /* user-mode CPU time accumulated by process */
|
||||
stime, /* kernel-mode CPU time accumulated by process */
|
||||
cutime, /* cumulative utime of process and
|
||||
* 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 SIGALRM is sent to the process
|
||||
* due to an interval timer. */
|
||||
frequency, /* Tick frequency. */
|
||||
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
|
||||
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
||||
/*< private >*/
|
||||
guint64 flags;
|
||||
/*< 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];
|
||||
};
|
||||
|
||||
|
||||
@@ -82,10 +104,10 @@ void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
|
||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
void glibtop_init_proc_time_p (glibtop *server);
|
||||
void _glibtop_init_proc_time_p (glibtop *server);
|
||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_time_s (glibtop *server);
|
||||
void _glibtop_init_proc_time_s (glibtop *server);
|
||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -59,24 +57,24 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
struct _glibtop_proc_uid
|
||||
{
|
||||
guint64 flags;
|
||||
gint32 uid, /* user id */
|
||||
euid, /* effective user id */
|
||||
gid, /* group id */
|
||||
egid, /* effective group id */
|
||||
suid, /* set user id */
|
||||
sgid, /* set group id */
|
||||
fsuid, /* ??? user id */
|
||||
fsgid, /* ??? group id */
|
||||
pid, /* process id */
|
||||
ppid, /* pid of parent process */
|
||||
pgrp, /* process group id */
|
||||
session, /* session id */
|
||||
tty, /* full device number of controlling terminal */
|
||||
tpgid, /* terminal process group id */
|
||||
priority, /* kernel scheduling priority */
|
||||
nice, /* standard unix nice level of process */
|
||||
ngroups,
|
||||
groups [GLIBTOP_MAX_GROUPS];
|
||||
gint32 uid; /* user id */
|
||||
gint32 euid; /* effective user id */
|
||||
gint32 gid; /* group id */
|
||||
gint32 egid; /* effective group id */
|
||||
gint32 suid; /* set user id */
|
||||
gint32 sgid; /* set group id */
|
||||
gint32 fsuid; /* ??? user id */
|
||||
gint32 fsgid; /* ??? group id */
|
||||
gint32 pid; /* process id */
|
||||
gint32 ppid; /* pid of parent process */
|
||||
gint32 pgrp; /* process group id */
|
||||
gint32 session; /* session id */
|
||||
gint32 tty; /* full device number of controlling terminal */
|
||||
gint32 tpgid; /* terminal process group id */
|
||||
gint32 priority; /* kernel scheduling priority */
|
||||
gint32 nice; /* standard unix nice level of process */
|
||||
gint32 ngroups;
|
||||
gint32 groups [GLIBTOP_MAX_GROUPS];
|
||||
|
||||
};
|
||||
|
||||
@@ -91,10 +89,10 @@ void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
|
||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
void glibtop_init_proc_uid_p (glibtop *server);
|
||||
void _glibtop_init_proc_uid_p (glibtop *server);
|
||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_uid_s (glibtop *server);
|
||||
void _glibtop_init_proc_uid_s (glibtop *server);
|
||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
76
include/glibtop/procwd.h
Normal file
76
include/glibtop/procwd.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/* Copyright (C) 2007 Benoît Dejean
|
||||
This file is part of LibGTop 2.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCWD_H__
|
||||
#define __GLIBTOP_PROCWD_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
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_MAX_PROC_WD 3
|
||||
|
||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
|
||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
|
||||
|
||||
struct _glibtop_proc_wd
|
||||
{
|
||||
guint64 flags;
|
||||
guint32 number;
|
||||
char root[GLIBTOP_PROC_WD_ROOT_LEN+1];
|
||||
char exe[GLIBTOP_PROC_WD_EXE_LEN+1];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_WD
|
||||
|
||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_p
|
||||
void _glibtop_init_proc_wd_p(glibtop *server);
|
||||
char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
#else
|
||||
|
||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_s
|
||||
void _glibtop_init_proc_wd_s(glibtop *server);
|
||||
char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -46,17 +44,17 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
||||
|
||||
struct _glibtop_sem_limits
|
||||
{
|
||||
guint64 flags,
|
||||
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||
semmnu, /* GLIBTOP_IPC_SEMMNU */
|
||||
semmsl, /* GLIBTOP_IPC_SEMMSL */
|
||||
semopm, /* GLIBTOP_IPC_SEMOPM */
|
||||
semume, /* GLIBTOP_IPC_SEMUME */
|
||||
semusz, /* GLIBTOP_IPC_SEMUSZ */
|
||||
semvmx, /* GLIBTOP_IPC_SEMVMX */
|
||||
semaem; /* GLIBTOP_IPC_SEMAEM */
|
||||
guint64 flags;
|
||||
guint64 semmap; /* GLIBTOP_IPC_SEMMAP */
|
||||
guint64 semmni; /* GLIBTOP_IPC_SEMMNI */
|
||||
guint64 semmns; /* GLIBTOP_IPC_SEMMNS */
|
||||
guint64 semmnu; /* GLIBTOP_IPC_SEMMNU */
|
||||
guint64 semmsl; /* GLIBTOP_IPC_SEMMSL */
|
||||
guint64 semopm; /* GLIBTOP_IPC_SEMOPM */
|
||||
guint64 semume; /* GLIBTOP_IPC_SEMUME */
|
||||
guint64 semusz; /* GLIBTOP_IPC_SEMUSZ */
|
||||
guint64 semvmx; /* GLIBTOP_IPC_SEMVMX */
|
||||
guint64 semaem; /* GLIBTOP_IPC_SEMAEM */
|
||||
};
|
||||
|
||||
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
||||
@@ -70,10 +68,10 @@ void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
void glibtop_init_sem_limits_p (glibtop *server);
|
||||
void _glibtop_init_sem_limits_p (glibtop *server);
|
||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
||||
#else
|
||||
void glibtop_init_sem_limits_s (glibtop *server);
|
||||
void _glibtop_init_sem_limits_s (glibtop *server);
|
||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -39,16 +37,23 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
|
||||
/**
|
||||
* glibtop_shm_limits:
|
||||
*/
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
guint64 flags,
|
||||
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||
shmseg, /* GLIBTOP_IPC_SHMSEG */
|
||||
shmall; /* GLIBTOP_IPC_SHMALL */
|
||||
guint64 flags;
|
||||
guint64 shmmax; /* GLIBTOP_IPC_SHMMAX */
|
||||
guint64 shmmin; /* GLIBTOP_IPC_SHMMIN */
|
||||
guint64 shmmni; /* GLIBTOP_IPC_SHMMNI */
|
||||
guint64 shmseg; /* GLIBTOP_IPC_SHMSEG */
|
||||
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
|
||||
@@ -57,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);
|
||||
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);
|
||||
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
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -41,12 +39,12 @@ typedef struct _glibtop_swap glibtop_swap;
|
||||
|
||||
struct _glibtop_swap
|
||||
{
|
||||
guint64 flags,
|
||||
total, /* GLIBTOP_SWAP_TOTAL */
|
||||
used, /* GLIBTOP_SWAP_USED */
|
||||
free, /* GLIBTOP_SWAP_FREE */
|
||||
pagein, /* GLIBTOP_SWAP_PAGEIN */
|
||||
pageout; /* GLIBTOP_SWAP_PAGEOUT */
|
||||
guint64 flags;
|
||||
guint64 total; /* GLIBTOP_SWAP_TOTAL */
|
||||
guint64 used; /* GLIBTOP_SWAP_USED */
|
||||
guint64 free; /* GLIBTOP_SWAP_FREE */
|
||||
guint64 pagein; /* GLIBTOP_SWAP_PAGEIN */
|
||||
guint64 pageout; /* GLIBTOP_SWAP_PAGEOUT */
|
||||
};
|
||||
|
||||
void
|
||||
@@ -61,10 +59,10 @@ glibtop_get_swap(glibtop_swap *buf);
|
||||
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SWAP
|
||||
void glibtop_init_swap_p (glibtop *server);
|
||||
void _glibtop_init_swap_p (glibtop *server);
|
||||
void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
|
||||
#else
|
||||
void glibtop_init_swap_s (glibtop *server);
|
||||
void _glibtop_init_swap_s (glibtop *server);
|
||||
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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 +51,13 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SYSDEPS_PPP 22
|
||||
#define GLIBTOP_SYSDEPS_NETLIST 23
|
||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 25
|
||||
#define GLIBTOP_MAX_SYSDEPS 27
|
||||
|
||||
/* The 'features' args to glibtop_init_* is an unsigned long */
|
||||
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
|
||||
|
||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||
|
||||
@@ -62,32 +65,34 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
||||
|
||||
struct _glibtop_sysdeps
|
||||
{
|
||||
guint64 flags,
|
||||
features, /* server features */
|
||||
cpu, /* glibtop_cpu */
|
||||
mem, /* glibtop_mem */
|
||||
swap, /* glibtop_swap */
|
||||
uptime, /* glibtop_uptime */
|
||||
loadavg, /* glibtop_loadavg */
|
||||
shm_limits, /* glibtop_shm_limits */
|
||||
msg_limits, /* glibtop_msg_limits */
|
||||
sem_limits, /* glibtop_sem_limits */
|
||||
proclist, /* glibtop_proclist */
|
||||
proc_state, /* glibtop_proc_state */
|
||||
proc_uid, /* glibtop_proc_uid */
|
||||
proc_mem, /* glibtop_proc_mem */
|
||||
proc_time, /* glibtop_proc_time */
|
||||
proc_signal, /* glibtop_proc_signal */
|
||||
proc_kernel, /* glibtop_proc_kernel */
|
||||
proc_segment, /* glibtop_proc_segment */
|
||||
proc_args, /* glibtop_proc_args */
|
||||
proc_map, /* glibtop_proc_map */
|
||||
proc_open_files, /* glibtop_proc_open_files */
|
||||
mountlist, /* glibtop_mountlist */
|
||||
fsusage, /* glibtop_fsusage */
|
||||
netlist, /* glibtop_netlist */
|
||||
netload, /* glibtop_netload */
|
||||
ppp; /* glibtop_ppp */
|
||||
guint64 flags;
|
||||
guint64 features; /* server features */
|
||||
guint64 cpu; /* glibtop_cpu */
|
||||
guint64 mem; /* glibtop_mem */
|
||||
guint64 swap; /* glibtop_swap */
|
||||
guint64 uptime; /* glibtop_uptime */
|
||||
guint64 loadavg; /* glibtop_loadavg */
|
||||
guint64 shm_limits; /* glibtop_shm_limits */
|
||||
guint64 msg_limits; /* glibtop_msg_limits */
|
||||
guint64 sem_limits; /* glibtop_sem_limits */
|
||||
guint64 proclist; /* glibtop_proclist */
|
||||
guint64 proc_state; /* glibtop_proc_state */
|
||||
guint64 proc_uid; /* glibtop_proc_uid */
|
||||
guint64 proc_mem; /* glibtop_proc_mem */
|
||||
guint64 proc_time; /* glibtop_proc_time */
|
||||
guint64 proc_signal; /* glibtop_proc_signal */
|
||||
guint64 proc_kernel; /* glibtop_proc_kernel */
|
||||
guint64 proc_segment; /* glibtop_proc_segment */
|
||||
guint64 proc_args; /* glibtop_proc_args */
|
||||
guint64 proc_map; /* glibtop_proc_map */
|
||||
guint64 proc_open_files; /* glibtop_proc_open_files */
|
||||
guint64 mountlist; /* glibtop_mountlist */
|
||||
guint64 fsusage; /* glibtop_fsusage */
|
||||
guint64 netlist; /* glibtop_netlist */
|
||||
guint64 netload; /* glibtop_netload */
|
||||
guint64 ppp; /* glibtop_ppp */
|
||||
guint64 proc_wd; /* glibtop_proc_wd */
|
||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||
};
|
||||
|
||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -50,7 +48,8 @@ struct _glibtop_entry
|
||||
|
||||
struct _glibtop_sysinfo
|
||||
{
|
||||
guint64 flags, ncpu;
|
||||
guint64 flags;
|
||||
guint64 ncpu;
|
||||
glibtop_entry cpuinfo [GLIBTOP_NCPU];
|
||||
};
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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 +42,8 @@
|
||||
#include <glibtop/procargs.h>
|
||||
#include <glibtop/procmap.h>
|
||||
#include <glibtop/procopenfiles.h>
|
||||
#include <glibtop/procwd.h>
|
||||
#include <glibtop/procaffinity.h>
|
||||
|
||||
#include <glibtop/mountlist.h>
|
||||
#include <glibtop/fsusage.h>
|
||||
@@ -82,6 +82,8 @@ union _glibtop_union
|
||||
glibtop_netload netload;
|
||||
glibtop_ppp ppp;
|
||||
glibtop_proc_open_files proc_open_files;
|
||||
glibtop_proc_wd proc_wd;
|
||||
glibtop_proc_affinity proc_affinity;
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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__
|
||||
@@ -40,8 +38,8 @@ typedef struct _glibtop_uptime glibtop_uptime;
|
||||
struct _glibtop_uptime
|
||||
{
|
||||
guint64 flags;
|
||||
double uptime, /* GLIBTOP_UPTIME_UPTIME */
|
||||
idletime; /* GLIBTOP_UPTIME_IDLETIME */
|
||||
double uptime; /* GLIBTOP_UPTIME_UPTIME */
|
||||
double idletime; /* GLIBTOP_UPTIME_IDLETIME */
|
||||
guint64 boot_time;
|
||||
};
|
||||
|
||||
@@ -56,10 +54,10 @@ void glibtop_get_uptime (glibtop_uptime *buf);
|
||||
void glibtop_get_uptime_l (glibtop *server, glibtop_uptime *buf);
|
||||
|
||||
#if GLIBTOP_SUID_UPTIME
|
||||
void glibtop_init_uptime_p (glibtop *server);
|
||||
void _glibtop_init_uptime_p (glibtop *server);
|
||||
void glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf);
|
||||
#else
|
||||
void glibtop_init_uptime_s (glibtop *server);
|
||||
void _glibtop_init_uptime_s (glibtop *server);
|
||||
void glibtop_get_uptime_s (glibtop *server, glibtop_uptime *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_VERSION_H__
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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,8 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
libgtop.la
|
||||
*.lo
|
||||
lib.c
|
||||
error.loT
|
@@ -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-regex "^[^_].*"
|
||||
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
|
||||
@@ -16,7 +16,40 @@ lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def
|
||||
$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
||||
mv lib-t lib.c
|
||||
|
||||
EXTRA_DIST = lib.pl
|
||||
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/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);
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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>
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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>
|
||||
@@ -37,6 +36,43 @@ 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);
|
||||
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
|
||||
@@ -54,10 +90,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,
|
||||
|
175
lib/error.c
175
lib/error.c
@@ -1,175 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <glibtop/error.h>
|
||||
|
||||
#include <glib/gstrfuncs.h>
|
||||
#include <errno.h>
|
||||
|
||||
#define DEFAULT_NAME "LibGTop-Server"
|
||||
|
||||
/* Prints error message and exits. */
|
||||
|
||||
static void
|
||||
print_server_name (glibtop_server *server)
|
||||
{
|
||||
fprintf (stderr, "%s: ", server ?
|
||||
(server->name ? server->name : DEFAULT_NAME)
|
||||
: DEFAULT_NAME);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||
abort ();
|
||||
#else
|
||||
exit (1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, ": %s\n", g_strerror (error));
|
||||
|
||||
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||
abort ();
|
||||
#else
|
||||
exit (1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||
{
|
||||
print_server_name (server);
|
||||
vfprintf (stderr, format, args);
|
||||
fprintf (stderr, ": %s\n", g_strerror (error));
|
||||
|
||||
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||
abort ();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_error_io_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#ifndef __GNUC__
|
||||
|
||||
static void
|
||||
glibtop_error (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_warn (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_error_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void
|
||||
glibtop_warn_io (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#endif /* no __GNUC__ */
|
21
lib/init.c
21
lib/init.c
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -17,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>
|
||||
@@ -28,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
|
||||
@@ -143,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'",
|
||||
@@ -175,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;
|
||||
|
||||
@@ -211,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,7 +224,9 @@ glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
{
|
||||
glibtop *server;
|
||||
const glibtop_init_func_t *init_fkt;
|
||||
const _glibtop_init_func_t *init_fkt;
|
||||
|
||||
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
117
lib/inodedb.c
117
lib/inodedb.c
@@ -1,117 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glibtop/inodedb.h>
|
||||
|
||||
#include <pwd.h>
|
||||
#include <gdbm.h>
|
||||
|
||||
#ifndef SYSTEM_INODEDB
|
||||
#define SYSTEM_INODEDB "/usr/var/libgtop/inodedb.db"
|
||||
#endif
|
||||
|
||||
glibtop_inodedb *
|
||||
glibtop_inodedb_open_s (glibtop *server, unsigned databases,
|
||||
unsigned long cachesize)
|
||||
{
|
||||
glibtop_inodedb *inodedb;
|
||||
char filename [BUFSIZ];
|
||||
struct passwd *pwd;
|
||||
struct stat statb;
|
||||
|
||||
if (!databases)
|
||||
databases = GLIBTOP_INODEDB_ALL;
|
||||
|
||||
inodedb = g_malloc (sizeof (glibtop_inodedb));
|
||||
|
||||
if (stat (SYSTEM_INODEDB, &statb))
|
||||
databases &= ~GLIBTOP_INODEDB_SYSTEM;
|
||||
|
||||
if (databases & GLIBTOP_INODEDB_SYSTEM) {
|
||||
inodedb->system_dbf = gdbm_open
|
||||
(SYSTEM_INODEDB, 0, GDBM_READER, 0, 0);
|
||||
if (!inodedb->system_dbf)
|
||||
glibtop_error_io_r
|
||||
(server, "gdbm_open (%s)", SYSTEM_INODEDB);
|
||||
}
|
||||
|
||||
pwd = getpwuid (getuid ());
|
||||
if (!pwd) glibtop_error_io_r (server, "getpwuid");
|
||||
|
||||
sprintf (filename, "%s/var/libgtop/inodedb.db", pwd->pw_dir);
|
||||
|
||||
if (stat (filename, &statb))
|
||||
databases &= ~GLIBTOP_INODEDB_USER;
|
||||
|
||||
if (databases & GLIBTOP_INODEDB_USER) {
|
||||
inodedb->user_dbf = gdbm_open
|
||||
(filename, 0, GDBM_READER, 0, 0);
|
||||
if (!inodedb->user_dbf)
|
||||
glibtop_error_io_r
|
||||
(server, "gdbm_open (%s)", filename);
|
||||
}
|
||||
|
||||
return inodedb;
|
||||
}
|
||||
|
||||
const char *
|
||||
glibtop_inodedb_lookup_s (glibtop *server,
|
||||
glibtop_inodedb *inodedb,
|
||||
guint64 device, guint64 inode)
|
||||
{
|
||||
glibtop_inodedb_key key;
|
||||
datum d_key, d_content;
|
||||
|
||||
d_key.dptr = (void *) &key;
|
||||
d_key.dsize = sizeof (key);
|
||||
|
||||
key.device = device;
|
||||
key.inode = inode;
|
||||
|
||||
if (inodedb->system_dbf) {
|
||||
d_content = gdbm_fetch (inodedb->system_dbf, d_key);
|
||||
if (d_content.dptr) return d_content.dptr;
|
||||
}
|
||||
|
||||
if (inodedb->user_dbf) {
|
||||
d_content = gdbm_fetch (inodedb->user_dbf, d_key);
|
||||
if (d_content.dptr) return d_content.dptr;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb)
|
||||
{
|
||||
if (inodedb->system_dbf)
|
||||
gdbm_close (inodedb->system_dbf);
|
||||
|
||||
if (inodedb->user_dbf)
|
||||
gdbm_close (inodedb->user_dbf);
|
||||
|
||||
g_free (inodedb);
|
||||
}
|
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) . ',';
|
||||
|
77
lib/libgtop.sym
Normal file
77
lib/libgtop.sym
Normal file
@@ -0,0 +1,77 @@
|
||||
glibtop_call_l
|
||||
glibtop_close
|
||||
glibtop_close_r
|
||||
glibtop_get_cpu
|
||||
glibtop_get_cpu_l
|
||||
glibtop_get_fsusage
|
||||
glibtop_get_fsusage_l
|
||||
glibtop_get_loadavg
|
||||
glibtop_get_loadavg_l
|
||||
glibtop_get_mem
|
||||
glibtop_get_mem_l
|
||||
glibtop_get_mountlist
|
||||
glibtop_get_mountlist_l
|
||||
glibtop_get_msg_limits
|
||||
glibtop_get_msg_limits_l
|
||||
glibtop_get_netlist
|
||||
glibtop_get_netlist_l
|
||||
glibtop_get_netload
|
||||
glibtop_get_netload_l
|
||||
glibtop_get_parameter_l
|
||||
glibtop_get_ppp
|
||||
glibtop_get_ppp_l
|
||||
glibtop_get_proc_args
|
||||
glibtop_get_proc_args_l
|
||||
glibtop_get_proc_argv
|
||||
glibtop_get_proc_argv_l
|
||||
glibtop_get_proc_kernel
|
||||
glibtop_get_proc_kernel_l
|
||||
glibtop_get_proclist
|
||||
glibtop_get_proclist_l
|
||||
glibtop_get_proc_map
|
||||
glibtop_get_proc_map_l
|
||||
glibtop_get_proc_mem
|
||||
glibtop_get_proc_mem_l
|
||||
glibtop_get_proc_open_files
|
||||
glibtop_get_proc_open_files_l
|
||||
glibtop_get_proc_segment
|
||||
glibtop_get_proc_segment_l
|
||||
glibtop_get_proc_signal
|
||||
glibtop_get_proc_signal_l
|
||||
glibtop_get_proc_state
|
||||
glibtop_get_proc_state_l
|
||||
glibtop_get_proc_time
|
||||
glibtop_get_proc_time_l
|
||||
glibtop_get_proc_uid
|
||||
glibtop_get_proc_uid_l
|
||||
glibtop_get_proc_wd
|
||||
glibtop_get_proc_wd_l
|
||||
glibtop_get_sem_limits
|
||||
glibtop_get_sem_limits_l
|
||||
glibtop_get_shm_limits
|
||||
glibtop_get_shm_limits_l
|
||||
glibtop_get_proc_affinity
|
||||
glibtop_get_proc_affinity_l
|
||||
glibtop_get_swap
|
||||
glibtop_get_swap_l
|
||||
glibtop_get_sysdeps
|
||||
glibtop_get_sysdeps_r
|
||||
glibtop_get_sysinfo
|
||||
glibtop_get_uptime
|
||||
glibtop_get_uptime_l
|
||||
glibtop_global_server
|
||||
glibtop_init
|
||||
glibtop_init_r
|
||||
glibtop_internet_addr
|
||||
glibtop_make_connection
|
||||
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
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user