Compare commits
738 Commits
xemacs_20_
...
LIBGTOP_2_
Author | SHA1 | Date | |
---|---|---|---|
|
78add589c6 | ||
|
c234586bfa | ||
|
8d25899dc6 | ||
|
b7def65c7a | ||
|
9939d070b9 | ||
|
206c620fd6 | ||
|
057b16ec01 | ||
|
ef899af6f3 | ||
|
730c36e1fd | ||
|
96f9b4f199 | ||
|
3dbb6f1eca | ||
|
52ea02ba87 | ||
|
1b5fe965df | ||
|
7b274d19e4 | ||
|
934c7dca93 | ||
|
5fe502317e | ||
|
0e5efea6f1 | ||
|
b1111e2b2a | ||
|
64af09a8a2 | ||
|
77ced38c16 | ||
|
8963e38a7c | ||
|
a8f4eec9e6 | ||
|
a9e9fe07ef | ||
|
85b34b98af | ||
|
ab8bd67cdf | ||
|
5650b49719 | ||
|
71426ed454 | ||
|
4458d6ba13 | ||
|
70210721e0 | ||
|
b81f82e9a2 | ||
|
4df359b9d3 | ||
|
1c248d7e93 | ||
|
b2368f46ca | ||
|
890398bbb5 | ||
|
84cc3242fc | ||
|
2456c458c2 | ||
|
a6710fbfad | ||
|
6dca1e55d8 | ||
|
1516e5e192 | ||
|
f659523856 | ||
|
6b81006d08 | ||
|
b70be80aca | ||
|
f8fb49a428 | ||
|
18356c6ae6 | ||
|
807d4bf6ae | ||
|
c0350d38ae | ||
|
d3a9e47ffb | ||
|
c8a3e46433 | ||
|
222706a0d4 | ||
|
2168cc5f71 | ||
|
08808384f4 | ||
|
0f1306a20f | ||
|
84b05c0219 | ||
|
6916ada308 | ||
|
5943c96d35 | ||
|
909a3e6512 | ||
|
ca94618e27 | ||
|
a478d380f4 | ||
|
af80d4d3d2 | ||
|
973dc2d37c | ||
|
97b32c7046 | ||
|
fb8184afba | ||
|
16643866cf | ||
|
aa9299f344 | ||
|
6f69cd863b | ||
|
7262bf39d8 | ||
|
9e773390cc | ||
|
54cbdb8158 | ||
|
c70b11ee00 | ||
|
965b26c926 | ||
|
384cd6b2db | ||
|
b055e3710b | ||
|
669c6fd670 | ||
|
617c4568d2 | ||
|
93c998cf7a | ||
|
46a0750736 | ||
|
e9227d1a2e | ||
|
41b7120527 | ||
|
0ad6ae0a12 | ||
|
6197e3ad47 | ||
|
e577717013 | ||
|
6b19a0090a | ||
|
a515242f17 | ||
|
a7b13c7d83 | ||
|
849d2da085 | ||
|
d4b195045a | ||
|
c269f0adb8 | ||
|
4f65ee018c | ||
|
8a8b975d08 | ||
|
64955004a0 | ||
|
4ef82847fe | ||
|
9da5658ba1 | ||
|
b300842f47 | ||
|
9a49872026 | ||
|
1aa7aae2f6 | ||
|
70ba9e2559 | ||
|
13323e55ee | ||
|
57d96878de | ||
|
10de82e256 | ||
|
29240a5a96 | ||
|
1baa2ef8ff | ||
|
0bd5a6c082 | ||
|
2698263164 | ||
|
85d53a69cf | ||
|
0a42a8d018 | ||
|
9d772e3c07 | ||
|
ddd9d11c71 | ||
|
b161b5bb72 | ||
|
5607fefe30 | ||
|
9d9aed4023 | ||
|
62edf91314 | ||
|
38e55efd2d | ||
|
67c9c8e3e3 | ||
|
013ab1841d | ||
|
88c5d4fd61 | ||
|
adbe42cda3 | ||
|
2e6e310a3e | ||
|
818e941413 | ||
|
dfa868ce82 | ||
|
dc353a4172 | ||
|
4da65d5d0b | ||
|
a2043e3aaf | ||
|
f03304a920 | ||
|
beedc57724 | ||
|
3049619931 | ||
|
ddb0c913c1 | ||
|
c7244ba1ba | ||
|
146ccb2511 | ||
|
91c35548e4 | ||
|
8705ef6b65 | ||
|
d5b27269d8 | ||
|
6915f098ca | ||
|
376613ddd4 | ||
|
6a9cd61fd9 | ||
|
18a3526ea7 | ||
|
333c85736c | ||
|
df5ec3c02a | ||
|
368e94c8e1 | ||
|
f5de8e4ead | ||
|
715975f7ed | ||
|
f13099194c | ||
|
1dd8a8e8fc | ||
|
d9fb27e57c | ||
|
dde1a2c1aa | ||
|
5bff21b7b4 | ||
|
e58c732f54 | ||
|
48404428a2 | ||
|
d009071e40 | ||
|
33b1fcf4f9 | ||
|
c0a9dedc4b | ||
|
7ab96d212d | ||
|
bd6e248adf | ||
|
9abfb85080 | ||
|
fdef2d5b38 | ||
|
641eb24a8b | ||
|
8754f434d1 | ||
|
f656208234 | ||
|
0df1594f31 | ||
|
1ab7936ced | ||
|
dcd43f8a15 | ||
|
7f7c5506f7 | ||
|
b0a4cb2379 | ||
|
8c06ed1516 | ||
|
56154e50f2 | ||
|
902670623f | ||
|
0e5d856065 | ||
|
35b6acfc22 | ||
|
0830a0b8a7 | ||
|
f4be080d63 | ||
|
a599e04eb6 | ||
|
0dec9a7b70 | ||
|
75958ce2ab | ||
|
20bbc17f6b | ||
|
19ffa1419a | ||
|
1e568f294e | ||
|
7752a312e9 | ||
|
23c7449898 | ||
|
64b3db2dc0 | ||
|
e94b4882b6 | ||
|
1e629c9a86 | ||
|
6b6e1261f1 | ||
|
bbc872138b | ||
|
3555a6ca0c | ||
|
e5928d0b13 | ||
|
5bb7e07e95 | ||
|
043f4a498f | ||
|
94297b8460 | ||
|
0f5b941b15 | ||
|
df6d645afd | ||
|
9ac47c7839 | ||
|
8d734d1296 | ||
|
7fa43bba5d | ||
|
e2e01a9405 | ||
|
5530697ab8 | ||
|
95f279d1a7 | ||
|
1904a463e2 | ||
|
7ce1f9e9d7 | ||
|
5221f6d4f8 | ||
|
ac175a4cbf | ||
|
f53d1a69bc | ||
|
adaa9cad97 | ||
|
7201ec7790 | ||
|
113525a7d7 | ||
|
d6e62e85d2 | ||
|
ee153445f0 | ||
|
50b43a0f41 | ||
|
25c26a6620 | ||
|
0438b9d69a | ||
|
90c01f24fe | ||
|
dc0f442247 | ||
|
017f4d20c7 | ||
|
c021ce7851 | ||
|
93ab9882c3 | ||
|
a0477c6212 | ||
|
6780e78a6b | ||
|
d8871029eb | ||
|
6799ce187b | ||
|
2b6b2578be | ||
|
1b0a9fd291 | ||
|
43e070dd8b | ||
|
b0d18119ff | ||
|
be05f8163a | ||
|
d6cdf95d83 | ||
|
2256a9127f | ||
|
e6507a80be | ||
|
8411e566b4 | ||
|
40854f4179 | ||
|
41062d0262 | ||
|
58c882a860 | ||
|
789d156972 | ||
|
19c24da036 | ||
|
929a025f53 | ||
|
6a7c289305 | ||
|
b65a4a7dcb | ||
|
39b2fffe83 | ||
|
efb913acff | ||
|
79e756a2f7 | ||
|
b08968e644 | ||
|
dff497d2fa | ||
|
38de742ca4 | ||
|
e0d3401bc4 | ||
|
aae2b5a94d | ||
|
a5bd38fc19 | ||
|
931b8f065e | ||
|
f7885e488f | ||
|
8122db69ee | ||
|
ab13d4919d | ||
|
1d955fbf1f | ||
|
8af25a2003 | ||
|
12eb6a25ec | ||
|
77ced087a1 | ||
|
983475d0c1 | ||
|
70b65c05e5 | ||
|
293995a277 | ||
|
991da49977 | ||
|
cbf3bc895e | ||
|
75c105d65d | ||
|
e83cb0acf7 | ||
|
db4d801792 | ||
|
f17e45bcc3 | ||
|
b912c83b8b | ||
|
ec280b5bd0 | ||
|
3f39ec8d37 | ||
|
8bbdeca6b5 | ||
|
00960e6a04 | ||
|
8f4bb6c9c4 | ||
|
f33814d409 | ||
|
1a501c271a | ||
|
5b43466d5f | ||
|
83d8b9aedc | ||
|
cf611f9157 | ||
|
8ec7d76b35 | ||
|
ce4f660965 | ||
|
e46306d2f9 | ||
|
21b2aee946 | ||
|
d379bb6acb | ||
|
3ad9e06909 | ||
|
9ba9f4fa8f | ||
|
9142e721bb | ||
|
b7e1c60b40 | ||
|
72a3f5aaa1 | ||
|
3c9b2e3d9f | ||
|
35995577ca | ||
|
eaf527d66a | ||
|
a7bdfcb951 | ||
|
9146d53ecc | ||
|
38a4f74c1a | ||
|
0da389347e | ||
|
ba563cf615 | ||
|
27fbdef425 | ||
|
b27412def1 | ||
|
e5cb661a95 | ||
|
4def53aabb | ||
|
ce45801873 | ||
|
a22d3fad36 | ||
|
1272d38f72 | ||
|
2b96f77245 | ||
|
c2fdf05f2b | ||
|
69fed8d42d | ||
|
1da8264984 | ||
|
2deb3c30c4 | ||
|
00f0791ebd | ||
|
ad7aca6105 | ||
|
1ea58b48ff | ||
|
dd17160a5f | ||
|
1086496f93 | ||
|
896729108c | ||
|
f5397c79b0 | ||
|
4fbfde4d1c | ||
|
cd7cd23403 | ||
|
48e5a13495 | ||
|
137bbe308c | ||
|
eca7c245f8 | ||
|
4d220ddb26 | ||
|
3f6800469b | ||
|
af4dadde0b | ||
|
8773604ef1 | ||
|
411a1c8e84 | ||
|
5b38a14a44 | ||
|
208c7a0ce0 | ||
|
96542d050e | ||
|
7790965d45 | ||
|
505c175cb6 | ||
|
7af22c51b9 | ||
|
1cadb2c3be | ||
|
6e278d98f1 | ||
|
17a1b6b1cb | ||
|
8a25330615 | ||
|
ce52ba2dbe | ||
|
bfe951b32a | ||
|
7bdcc494c3 | ||
|
7922e3bcc7 | ||
|
f2c8347f34 | ||
|
413283849c | ||
|
6dd6173874 | ||
|
16da233b6d | ||
|
3f0e166e3f | ||
|
8262f295b7 | ||
|
73a334727e | ||
|
059992ef36 | ||
|
df20c8534b | ||
|
8ba42b25e0 | ||
|
3b270123eb | ||
|
a66b6cc86d | ||
|
e491343151 | ||
|
688e65fbec | ||
|
c1c629eb37 | ||
|
5566a5cde2 | ||
|
364130c6e1 | ||
|
394d4dc226 | ||
|
ce80f111df | ||
|
abdeeda9c0 | ||
|
e0d4139bf2 | ||
|
17962b4548 | ||
|
2f12b5aec2 | ||
|
be97f1b90a | ||
|
a9928eb8a8 | ||
|
3dfd759826 | ||
|
48191c7111 | ||
|
5a0b925037 | ||
|
58e1e76a06 | ||
|
4bc0213ca9 | ||
|
266d9e013f | ||
|
3b1626912d | ||
|
c0eb843fc4 | ||
|
b89011bce9 | ||
|
acd110f1cc | ||
|
b4d0ee6df2 | ||
|
6d62e9c466 | ||
|
6ea9c2e2cb | ||
|
d884adbf7f | ||
|
f2074892ae | ||
|
e890aaaf28 | ||
|
b1f8913794 | ||
|
3daeda7307 | ||
|
9e41d36684 | ||
|
e140f93bf5 | ||
|
3393adefa7 | ||
|
5599022989 | ||
|
1520ee7083 | ||
|
ee9812e9af | ||
|
2f20f2b7ff | ||
|
dd4ec711a9 | ||
|
c9f66159f0 | ||
|
34133fe238 | ||
|
d6e0aa2942 | ||
|
0bda0d4fc9 | ||
|
29145f7c11 | ||
|
3da3f1b03f | ||
|
cd7ca97fc5 | ||
|
e3dd231a3d | ||
|
d396bb6258 | ||
|
6ccd22ae04 | ||
|
f720f21e07 | ||
|
da51ae35c0 | ||
|
25a6834aae | ||
|
2795790ab6 | ||
|
4ca23b4e06 | ||
|
ceabdfd2dc | ||
|
20f3c3eb60 | ||
|
151c5ee80e | ||
|
213fb37f26 | ||
|
fd77db5f8d | ||
|
50e4bdfc93 | ||
|
b7e5a6da2d | ||
|
67a344b9d4 | ||
|
d414a22ee3 | ||
|
0b315c266b | ||
|
c90462bc26 | ||
|
6760a41ad9 | ||
|
83d51392dc | ||
|
6b736f1f87 | ||
|
5fed8969c6 | ||
|
079ddfae31 | ||
|
a701fc7aa6 | ||
|
cd7976f3cd | ||
|
bdbc251228 | ||
|
12b9e30f1c | ||
|
ef36d36060 | ||
|
11c7fad8d4 | ||
|
9c0ec8c69f | ||
|
4ac6972be6 | ||
|
7a0a779311 | ||
|
92f1bf261c | ||
|
6abcbd5458 | ||
|
a637c8b406 | ||
|
d59234afc2 | ||
|
8e67a4cad1 | ||
|
0afb34b0c1 | ||
|
f24a4d9d22 | ||
|
44b03ba60b | ||
|
d46c6227fb | ||
|
fffabe63b7 | ||
|
ecaa9d9a35 | ||
|
45b63f5131 | ||
|
ee2d10729c | ||
|
b3262820c5 | ||
|
4371bc81c9 | ||
|
a6f7f0259e | ||
|
0882a71244 | ||
|
213647b203 | ||
|
44ca3f22f3 | ||
|
82fdca61c2 | ||
|
0fec2b7fb0 | ||
|
b70d0570c7 | ||
|
13d9120f93 | ||
|
1289b92d06 | ||
|
bdc4e08454 | ||
|
65e3bf19ab | ||
|
bb545f9aaa | ||
|
30bd1f269c | ||
|
9114af9fdf | ||
|
0e57efd4e5 | ||
|
6b548d62dd | ||
|
afe57f9ee9 | ||
|
38b00dfae0 | ||
|
a5f0bed342 | ||
|
1b6eb7b27d | ||
|
8f4611fe34 | ||
|
27b46e687b | ||
|
260ecffab8 | ||
|
92a4453165 | ||
|
05eb7e1f76 | ||
|
6407e9cdbf | ||
|
492c7788d0 | ||
|
f14684a685 | ||
|
d74b27fcb9 | ||
|
46779ed121 | ||
|
27a961b25d | ||
|
a1fd1f436a | ||
|
bb997fff98 | ||
|
671c02c5f2 | ||
|
abf854c16a | ||
|
691ce2b843 | ||
|
63e37821f3 | ||
|
77e926d754 | ||
|
ade863b5e3 | ||
|
4aaa1f5356 | ||
|
c965b623f9 | ||
|
d27d97d07b | ||
|
3af9d90f4a | ||
|
70bbae9b75 | ||
|
669f7a6b17 | ||
|
754a69a79a | ||
|
e81082d8ed | ||
|
f87c35d7b2 | ||
|
960d4aa3a9 | ||
|
34ce0648de | ||
|
127baf677b | ||
|
616923612c | ||
|
d1f3444da1 | ||
|
f3c73befd2 | ||
|
e894161eb2 | ||
|
f8fbb9198d | ||
|
2af3fb1c03 | ||
|
3b22c01a66 | ||
|
4b261a3f80 | ||
|
9b0aa47f17 | ||
|
3af2e87c77 | ||
|
8014f2590b | ||
|
960018d198 | ||
|
27c03c773b | ||
|
ac2bd3eda8 | ||
|
b1bae173de | ||
|
e35db38422 | ||
|
95525908bf | ||
|
cf0e724f7d | ||
|
0659b93dff | ||
|
afb07a1f8b | ||
|
d2448ea6f3 | ||
|
dfda639756 | ||
|
be63bf2d42 | ||
|
06d907146d | ||
|
bd4cd7b570 | ||
|
a444c860d2 | ||
|
0289863af0 | ||
|
210fc000cd | ||
|
93568304b0 | ||
|
23cdbd5336 | ||
|
17a37aa394 | ||
|
f082d4cb85 | ||
|
b5c90ca5a4 | ||
|
f4cde0843d | ||
|
fce4841810 | ||
|
02dfde47ab | ||
|
a8b0903fe7 | ||
|
6eed554232 | ||
|
c591e6ef33 | ||
|
a72db75b78 | ||
|
8f3c38219a | ||
|
0d56ca7d04 | ||
|
70347bbfe9 | ||
|
06437c5866 | ||
|
72c987735e | ||
|
8e752ed036 | ||
|
36911a1239 | ||
|
7cadf4450c | ||
|
2a2677ea66 | ||
|
37283cfdad | ||
|
b85a419f28 | ||
|
507da6f040 | ||
|
11daaa2e1c | ||
|
0d3113e6b9 | ||
|
94d7978b44 | ||
|
86de0911cc | ||
|
8279241591 | ||
|
88c34d1415 | ||
|
a331fb8e03 | ||
|
9d564134de | ||
|
731b2879f0 | ||
|
2f140e2168 | ||
|
2bf9475dda | ||
|
6fe6cfdc15 | ||
|
a6584c2f75 | ||
|
bdefedae37 | ||
|
af50e25023 | ||
|
abfda54900 | ||
|
0ea8e591f4 | ||
|
db3d7adbaa | ||
|
f353017948 | ||
|
f66f7fde8c | ||
|
9049a19434 | ||
|
f7da79ed88 | ||
|
9d0aa0fdc1 | ||
|
fb552b8e31 | ||
|
a0b502df75 | ||
|
5a7f1d7621 | ||
|
61fb170a1e | ||
|
ffbbc1e2e3 | ||
|
40ac07d0e0 | ||
|
7902405bd8 | ||
|
ef7c79a86b | ||
|
c6944b0ac8 | ||
|
333d78590a | ||
|
841cb61ad1 | ||
|
97902ce2dd | ||
|
302b785893 | ||
|
fd6b79d33d | ||
|
96e630a009 | ||
|
7ad67781ef | ||
|
616f4f4eaf | ||
|
513240b350 | ||
|
e0db8f3480 | ||
|
8f2b396347 | ||
|
3d611432e3 | ||
|
561becc92e | ||
|
1dd5bf2568 | ||
|
ad3fa88935 | ||
|
8dba7d8869 | ||
|
a2cacf7d6b | ||
|
bfb4474267 | ||
|
8cd96ef559 | ||
|
2fd0624294 | ||
|
59bb8d0ced | ||
|
739ce693dc | ||
|
77f56522c5 | ||
|
b40e08fb74 | ||
|
36657db940 | ||
|
486cc220c4 | ||
|
baea8b9603 | ||
|
e7b174f995 | ||
|
0f62dc7e3b | ||
|
2e670cc0d8 | ||
|
9248d72018 | ||
|
da622f70c7 | ||
|
a0cb2b913d | ||
|
71310d645d | ||
|
b05cfacb3d | ||
|
2356852a8c | ||
|
59a07e10f1 | ||
|
974eb766de | ||
|
d48e4086d5 | ||
|
d9361d388c | ||
|
b6885555c1 | ||
|
d44df22180 | ||
|
2e4ec2a85c | ||
|
260440e6ee | ||
|
8b8ceec1bf | ||
|
0bb5215f84 | ||
|
59f5f092fb | ||
|
32c0ced22a | ||
|
fd95ab60a4 | ||
|
b4038c9828 | ||
|
e64dc16608 | ||
|
4e25a1dbd5 | ||
|
c0641998cf | ||
|
9cf583b2fa | ||
|
2d1d157fc4 | ||
|
9c97f59c15 | ||
|
82daee6f29 | ||
|
e329617831 | ||
|
6d8c10d4ae | ||
|
13cf3ae4d0 | ||
|
6893d89fd8 | ||
|
35e900692a | ||
|
8e8cb05168 | ||
|
a510ed1271 | ||
|
3b4e0378f9 | ||
|
bb1c7f9192 | ||
|
e7c77a85e9 | ||
|
d72da1bb2f | ||
|
4b3fcf149a | ||
|
09e1353d0d | ||
|
79f5a9c667 | ||
|
864867aeeb | ||
|
8750ff351e | ||
|
bfcc8c3944 | ||
|
bf19661382 | ||
|
20016762a6 | ||
|
0a7bd78704 | ||
|
2e454140f1 | ||
|
fc506344ea | ||
|
e7f5588ee9 | ||
|
b55ee6117f | ||
|
902b6a8f16 | ||
|
d18a6cf2ce | ||
|
8ced0f5889 | ||
|
a33b97ef9d | ||
|
3c3118521d | ||
|
f07551a43d | ||
|
37eb76e767 | ||
|
e2196888ca | ||
|
8b9b984701 | ||
|
aa6d16e47b | ||
|
f3f051ecba | ||
|
51c5c3ac22 | ||
|
61c262dd7e | ||
|
954a78f200 | ||
|
a90bffbbf6 | ||
|
6bf243c901 | ||
|
dd5c4a716b | ||
|
0dc0c2d7f0 | ||
|
a584809b1c | ||
|
5e97af535f | ||
|
7efcda3082 | ||
|
5a1fa089f3 | ||
|
a129a83c45 | ||
|
65fbcf1ea3 | ||
|
d145edb435 | ||
|
fc2d1f07c3 | ||
|
694ad7adb7 | ||
|
d8a7175820 | ||
|
fe56feb875 | ||
|
5e9d34c91a | ||
|
0e086aef25 | ||
|
540385da7e | ||
|
540cd68691 | ||
|
c41d6e5a77 | ||
|
74ca45f795 | ||
|
5f4131f248 | ||
|
4bfef8c254 | ||
|
f77eba3d57 | ||
|
f18952a9d8 | ||
|
16cb163bb0 | ||
|
f8bdfa9a43 | ||
|
61f887fc67 | ||
|
9fd8936e93 | ||
|
ef693a93bc | ||
|
aa04293fc3 | ||
|
345a657d2c | ||
|
da7d7ff116 | ||
|
c5263a881e | ||
|
49adb94af0 | ||
|
b991ecaf9a | ||
|
2c8ae09776 | ||
|
8ecb7f296e | ||
|
3477d30dc5 | ||
|
f30dfecaf7 | ||
|
8a666eb5a4 | ||
|
61071132bf | ||
|
b177c3930d | ||
|
eb8d28b694 | ||
|
0b4f757b2b | ||
|
2aa20e2060 | ||
|
7d8ff8f72e | ||
|
576dde394a | ||
|
1d7491be0d | ||
|
15cc0113a9 | ||
|
9532dadc2e | ||
|
94715ef718 | ||
|
44bb75cf6e | ||
|
4d2072ce65 | ||
|
eb36f97c50 | ||
|
a76522a990 | ||
|
71187a5e51 | ||
|
b54a5d2dfd | ||
|
134ec106b3 | ||
|
1b90ed4fcc | ||
|
3fcc477b25 | ||
|
81c75477f4 | ||
|
8b025ff2c2 | ||
|
2de9ea5c7d | ||
|
d9e6288b7a | ||
|
8d78559597 | ||
|
2a281d0a53 | ||
|
28dfff5752 | ||
|
7d0d3db11c | ||
|
63c475d400 |
15
.cvsignore
15
.cvsignore
@@ -1,19 +1,18 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
alpha-dec-osf1
|
||||
autoh31167
|
||||
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-0.01.tar.gz
|
||||
libgtop-mirror.sh.swp
|
||||
libgtopConf.sh
|
||||
libtool
|
||||
@@ -21,6 +20,16 @@ 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
|
||||
|
225
ABOUT-NLS
225
ABOUT-NLS
@@ -1,225 +0,0 @@
|
||||
Notes on the Free Translation Project
|
||||
*************************************
|
||||
|
||||
Free software is going international! The Free Translation Project
|
||||
is a way to get maintainers of free software, translators, and users all
|
||||
together, so that will gradually become able to speak many languages.
|
||||
A few packages already provide translations for their messages.
|
||||
|
||||
If you found this `ABOUT-NLS' file inside a distribution, you may
|
||||
assume that the distributed package does use GNU `gettext' internally,
|
||||
itself available at your nearest GNU archive site. But you do *not*
|
||||
need to install GNU `gettext' prior to configuring, installing or using
|
||||
this package with messages translated.
|
||||
|
||||
Installers will find here some useful hints. These notes also
|
||||
explain how users should proceed for getting the programs to use the
|
||||
available translations. They tell how people wanting to contribute and
|
||||
work at translations should contact the appropriate team.
|
||||
|
||||
When reporting bugs in the `intl/' directory or bugs which may be
|
||||
related to internationalization, you should tell about the version of
|
||||
`gettext' which is used. The information can be found in the
|
||||
`intl/VERSION' file, in internationalized packages.
|
||||
|
||||
One advise in advance
|
||||
=====================
|
||||
|
||||
If you want to exploit the full power of internationalization, you
|
||||
should configure it using
|
||||
|
||||
./configure --with-included-gettext
|
||||
|
||||
to force usage of internationalizing routines provided within this
|
||||
package, despite the existence of internationalizing capabilities in the
|
||||
operating system where this package is being installed. So far, only
|
||||
the `gettext' implementation in the GNU C library version 2 provides as
|
||||
many features (such as locale alias or message inheritance) as the
|
||||
implementation here. It is also not possible to offer this additional
|
||||
functionality on top of a `catgets' implementation. Future versions of
|
||||
GNU `gettext' will very likely convey even more functionality. So it
|
||||
might be a good idea to change to GNU `gettext' as soon as possible.
|
||||
|
||||
So you need not provide this option if you are using GNU libc 2 or
|
||||
you have installed a recent copy of the GNU gettext package with the
|
||||
included `libintl'.
|
||||
|
||||
INSTALL Matters
|
||||
===============
|
||||
|
||||
Some packages are "localizable" when properly installed; the
|
||||
programs they contain can be made to speak your own native language.
|
||||
Most such packages use GNU `gettext'. Other packages have their own
|
||||
ways to internationalization, predating GNU `gettext'.
|
||||
|
||||
By default, this package will be installed to allow translation of
|
||||
messages. It will automatically detect whether the system provides
|
||||
usable `catgets' (if using this is selected by the installer) or
|
||||
`gettext' functions. If neither is available, the GNU `gettext' own
|
||||
library will be used. This library is wholly contained within this
|
||||
package, usually in the `intl/' subdirectory, so prior installation of
|
||||
the GNU `gettext' package is *not* required. Installers may use
|
||||
special options at configuration time for changing the default
|
||||
behaviour. The commands:
|
||||
|
||||
./configure --with-included-gettext
|
||||
./configure --with-catgets
|
||||
./configure --disable-nls
|
||||
|
||||
will respectively bypass any pre-existing `catgets' or `gettext' to use
|
||||
the internationalizing routines provided within this package, enable
|
||||
the use of the `catgets' functions (if found on the locale system), or
|
||||
else, *totally* disable translation of messages.
|
||||
|
||||
When you already have GNU `gettext' installed on your system and run
|
||||
configure without an option for your new package, `configure' will
|
||||
probably detect the previously built and installed `libintl.a' file and
|
||||
will decide to use this. This might be not what is desirable. You
|
||||
should use the more recent version of the GNU `gettext' library. I.e.
|
||||
if the file `intl/VERSION' shows that the library which comes with this
|
||||
package is more recent, you should use
|
||||
|
||||
./configure --with-included-gettext
|
||||
|
||||
to prevent auto-detection.
|
||||
|
||||
By default the configuration process will not test for the `catgets'
|
||||
function and therefore they will not be used. The reasons are already
|
||||
given above: the emulation on top of `catgets' cannot provide all the
|
||||
extensions provided by the GNU `gettext' library. If you nevertheless
|
||||
want to use the `catgets' functions use
|
||||
|
||||
./configure --with-catgets
|
||||
|
||||
to enable the test for `catgets' (this causes no harm if `catgets' is
|
||||
not available on your system). If you really select this option we
|
||||
would like to hear about the reasons because we cannot think of any
|
||||
good one ourself.
|
||||
|
||||
Internationalized packages have usually many `po/LL.po' files, where
|
||||
LL gives an ISO 639 two-letter code identifying the language. Unless
|
||||
translations have been forbidden at `configure' time by using the
|
||||
`--disable-nls' switch, all available translations are installed
|
||||
together with the package. However, the environment variable `LINGUAS'
|
||||
may be set, prior to configuration, to limit the installed set.
|
||||
`LINGUAS' should then contain a space separated list of two-letter
|
||||
codes, stating which languages are allowed.
|
||||
|
||||
Using This Package
|
||||
==================
|
||||
|
||||
As a user, if your language has been installed for this package, you
|
||||
only have to set the `LANG' environment variable to the appropriate
|
||||
ISO 639 `LL' two-letter code prior to using the programs in the
|
||||
package. For example, let's suppose that you speak German. At the
|
||||
shell prompt, merely execute `setenv LANG de' (in `csh'),
|
||||
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
|
||||
can be done from your `.login' or `.profile' file, once and for all.
|
||||
|
||||
An operating system might already offer message localization for
|
||||
many of its programs, while other programs have been installed locally
|
||||
with the full capabilities of GNU `gettext'. Just using `gettext'
|
||||
extended syntax for `LANG' would break proper localization of already
|
||||
available operating system programs. In this case, users should set
|
||||
both `LANGUAGE' and `LANG' variables in their environment, as programs
|
||||
using GNU `gettext' give preference to `LANGUAGE'. For example, some
|
||||
Swedish users would rather read translations in German than English for
|
||||
when Swedish is not available. This is easily accomplished by setting
|
||||
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
|
||||
|
||||
Translating Teams
|
||||
=================
|
||||
|
||||
For the Free Translation Project to be a success, we need interested
|
||||
people who like their own language and write it well, and who are also
|
||||
able to synergize with other translators speaking the same language.
|
||||
Each translation team has its own mailing list, courtesy of Linux
|
||||
International. You may reach your translation team at the address
|
||||
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
|
||||
language. Language codes are *not* the same as the country codes given
|
||||
in ISO 3166. The following translation teams exist, as of August 1997:
|
||||
|
||||
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
|
||||
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
|
||||
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
|
||||
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
|
||||
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
|
||||
Swedish `sv', and Turkish `tr'.
|
||||
|
||||
For example, you may reach the Chinese translation team by writing to
|
||||
`zh@li.org'.
|
||||
|
||||
If you'd like to volunteer to *work* at translating messages, you
|
||||
should become a member of the translating team for your own language.
|
||||
The subscribing address is *not* the same as the list itself, it has
|
||||
`-request' appended. For example, speakers of Swedish can send a
|
||||
message to `sv-request@li.org', having this message body:
|
||||
|
||||
subscribe
|
||||
|
||||
Keep in mind that team members are expected to participate
|
||||
*actively* in translations, or at solving translational difficulties,
|
||||
rather than merely lurking around. If your team does not exist yet and
|
||||
you want to start one, or if you are unsure about what to do or how to
|
||||
get started, please write to `translation@iro.umontreal.ca' to reach the
|
||||
coordinator for all translator teams.
|
||||
|
||||
The English team is special. It works at improving and uniformizing
|
||||
the terminology in use. Proven linguistic skill are praised more than
|
||||
programming skill, here.
|
||||
|
||||
Available Packages
|
||||
==================
|
||||
|
||||
Languages are not equally supported in all packages. The following
|
||||
matrix shows the current state of internationalization, as of August
|
||||
1997. The matrix shows, in regard of each package, for which languages
|
||||
PO files have been submitted to translation coordination.
|
||||
|
||||
Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
|
||||
.-------------------------------------------------.
|
||||
bash | [] [] [] | 3
|
||||
bison | [] [] [] | 3
|
||||
clisp | [] [] [] [] | 4
|
||||
cpio | [] [] [] [] [] | 5
|
||||
diffutils | [] [] [] [] [] | 5
|
||||
enscript | [] [] [] [] [] [] | 6
|
||||
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
|
||||
findutils | [] [] [] [] [] [] [] [] | 8
|
||||
flex | [] [] [] [] | 4
|
||||
gcal | [] [] [] [] [] | 5
|
||||
gettext | [] [] [] [] [] [] [] [] [] [] | 11
|
||||
grep | [] [] [] [] [] [] [] [] [] | 9
|
||||
hello | [] [] [] [] [] [] [] [] [] [] | 10
|
||||
id-utils | [] [] [] | 3
|
||||
indent | [] [] [] [] | 4
|
||||
libc | [] [] [] [] [] [] [] | 7
|
||||
m4 | [] [] [] [] [] | 5
|
||||
make | [] [] [] [] [] [] | 6
|
||||
music | [] [] | 2
|
||||
ptx | [] [] [] [] [] [] [] [] | 8
|
||||
recode | [] [] [] [] [] [] [] [] [] | 9
|
||||
sh-utils | [] [] [] [] [] [] [] | 7
|
||||
sharutils | [] [] [] [] [] | 5
|
||||
tar | [] [] [] [] [] [] [] [] [] [] | 10
|
||||
texinfo | [] | 1
|
||||
textutils | [] [] [] [] [] [] [] [] [] | 9
|
||||
wdiff | [] [] [] [] [] [] [] [] | 8
|
||||
`-------------------------------------------------'
|
||||
16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
|
||||
27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
|
||||
|
||||
Some counters in the preceding matrix are higher than the number of
|
||||
visible blocks let us expect. This is because a few extra PO files are
|
||||
used for implementing regional variants of languages, or language
|
||||
dialects.
|
||||
|
||||
For a PO file in the matrix above to be effective, the package to
|
||||
which it applies should also have been internationalized and
|
||||
distributed as such by its maintainer. There might be an observable
|
||||
lag between the mere existence a PO file and its wide availability in a
|
||||
distribution.
|
||||
|
||||
If August 1997 seems to be old, you may fetch a more recent copy of
|
||||
this `ABOUT-NLS' file on most GNU archive sites.
|
||||
|
95
ANNOUNCE
95
ANNOUNCE
@@ -1,95 +0,0 @@
|
||||
Hi all,
|
||||
|
||||
I just uploaded the first working draft alpha version 0.01 to my website:
|
||||
|
||||
http://www.home-of-linux.org/gnome/libgtop/
|
||||
|
||||
Libgtop is a library that fetches information about the running system such as cpu and
|
||||
memory usage, active processes etc. On Linux systems, these information are taken directly
|
||||
from the /proc filesystem. For other systems such as Solaris, where such programs need to be
|
||||
suid root (or only setgid kmem/mem on some systems), it provides a suid/setgid server that
|
||||
fetches those information and a client-side library that talks to this server. Main idea
|
||||
was to have the same interface for all operating systems, thus all system dependent details
|
||||
are hidden in the implementation of that server.
|
||||
|
||||
Currently, it only works for Linux, documentation on how to port it to other systems is on
|
||||
the way. I'm planning to keep this site an up-to-date mirror of my local machine (which is
|
||||
connected to the internet over some expensive dialup connection, so I'll upload it about
|
||||
once every day I made significant changes) so that you can always find the latest version
|
||||
of the software here.
|
||||
|
||||
I've written a simple guile interface for the library to show which information it can
|
||||
already fetch. See examples/third for details.
|
||||
|
||||
===========================================================================================
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
|
||||
#include <glibtop/cpu.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop server;
|
||||
glibtop_cpu cpu;
|
||||
unsigned i, *ptr;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
|
||||
glibtop_open (&server, argv [0]);
|
||||
|
||||
glibtop_get_cpu (&server, &cpu);
|
||||
|
||||
fprintf (stderr, "CPU: %lu, %lu, %lu, %lu, %lu\n",
|
||||
cpu.total, cpu.user, cpu.nice, cpu.sys, cpu.idle);
|
||||
|
||||
glibtop_close (&server);
|
||||
|
||||
exit (0);
|
||||
}
|
||||
|
||||
===========================================================================================
|
||||
|
||||
The following scheme code is used in examples/third to show all information that is
|
||||
currently available:
|
||||
|
||||
(display (get-cpu)) (newline)
|
||||
(display (get-mem)) (newline)
|
||||
(display (get-swap)) (newline)
|
||||
(display (get-uptime)) (newline)
|
||||
(display (get-loadavg)) (newline)
|
||||
(display (get-shm_limits)) (newline)
|
||||
(display (get-msg_limits)) (newline)
|
||||
(display (get-sem_limits)) (newline)
|
||||
(display (get-sysdeps)) (newline)
|
||||
(display (get-proclist)) (newline)
|
||||
|
||||
On my system, this yields:
|
||||
|
||||
(3796245 348706 66 89999 3357474)
|
||||
(31715328 31354880 360448 13385728 401408 7237632 17567744)
|
||||
(133885952 42160128 91725824)
|
||||
(37962.49 33574.74)
|
||||
(0.01 0.02 0.0)
|
||||
(33554432 1 128 128 4194304)
|
||||
(2048 16384 4056 16384 128 16 16384)
|
||||
(4096 128 4096 4096 32 32 32 20 32767 16383)
|
||||
(31 127 7 3 1 31 127 1023 3)
|
||||
(71 4 284 1 2 3 246 247 210 8 48 81 83 153 157 167 170 171 172 173 174 175 178 181 195 191 200 203 207 248 215 216 217 220 222 227 245 249 250 251 253 254 315 267 331 373 338 334 335 345 337 372 374 342 343 344 375 14445 13119 6438 14555 13118 13801 6439 17362 18411 18455 6521 6522 6523 23979 23980 7905 7906)
|
||||
|
||||
===========================================================================================
|
||||
|
||||
Better documentation is on the way! There's still a little bit under the URL above.
|
||||
|
||||
Enjoy it!
|
||||
|
||||
Martin <martin@home-of-linux.org>
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
AUTHORS
1
AUTHORS
@@ -1 +1,2 @@
|
||||
Martin Baulig (martin@home-of-linux.org)
|
||||
Drazen Kacar (dave@srce.hr)
|
||||
|
28
LIBGTOP-VERSION
Normal file
28
LIBGTOP-VERSION
Normal file
@@ -0,0 +1,28 @@
|
||||
# Making releases:
|
||||
# LIBGTOP_MICRO_VERSION += 1;
|
||||
# LIBGTOP_INTERFACE_AGE += 1;
|
||||
# LIBGTOP_BINARY_AGE += 1;
|
||||
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
|
||||
# if backwards compatibility has been broken,
|
||||
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
|
||||
#
|
||||
LIBGTOP_MAJOR_VERSION=1
|
||||
LIBGTOP_MINOR_VERSION=90
|
||||
LIBGTOP_MICRO_VERSION=0
|
||||
|
||||
LIBGTOP_INTERFACE_AGE=0
|
||||
LIBGTOP_BINARY_AGE=0
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
LIBGTOP_VERSION_SUFFIX=
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
LIBGTOP_SERVER_VERSION=5
|
||||
|
||||
# Don't change this
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
|
||||
|
||||
# For automake.
|
||||
VERSION=$LIBGTOP_VERSION$LIBGTOP_VERSION_SUFFIX
|
||||
PACKAGE=libgtop
|
96
Makefile.am
96
Makefile.am
@@ -1,32 +1,52 @@
|
||||
## Process this file with automake to produce Makefile.in.
|
||||
|
||||
if GLIBTOP_EXAMPLES
|
||||
examples_SUBDIRS = examples
|
||||
if EXAMPLES
|
||||
examples_SUBDIRS = examples
|
||||
else
|
||||
examples_SUBDIRS =
|
||||
endif
|
||||
|
||||
built_SUBDIRS = include sysdeps lib src
|
||||
if BUILD_GNOME_SUPPORT
|
||||
support = support
|
||||
endif
|
||||
|
||||
SUBDIRS = po intl support macros $(built_SUBDIRS) $(examples_SUBDIRS)
|
||||
SUBDIRS = po $(support) misc include sysdeps lib src \
|
||||
$(examples_SUBDIRS) doc
|
||||
|
||||
DIST_SUBDIRS = po intl macros include sysdeps src lib examples
|
||||
libgtopinclude_HEADERS = glibtop.h
|
||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
|
||||
include_HEADERS = glibtop.h
|
||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
|
||||
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
|
||||
RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
|
||||
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
|
||||
|
||||
EXTRA_DIST = autogen.sh libgtop.spec copyright.txt libgtopConf.sh.in
|
||||
dist-hook:
|
||||
cp libgtop.spec $(distdir)
|
||||
|
||||
release:
|
||||
$(MAKE) dist distdir=$(PACKAGE)$(VERSION)
|
||||
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
|
||||
|
||||
## Put `exec' in the name because this should be installed by
|
||||
## `install-exec', not `install-data'.
|
||||
confexecdir=$(libdir)
|
||||
confexec_DATA = $(top_builddir)/libgtopConf.sh
|
||||
## confexecdir = $(libdir)
|
||||
## confexec_DATA = $(top_builddir)/libgtopConf.sh \
|
||||
## $(top_builddir)/libgtop-features.def
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libgtop-2.0.pc
|
||||
|
||||
CLEANFILES=libgtopConf.sh
|
||||
|
||||
## bin_SCRIPTS = $(top_builddir)/libgtop-config
|
||||
|
||||
## to automatically rebuild aclocal.m4 if any of the macros in
|
||||
## `macros/' change
|
||||
@MAINT@include macros/macros.dep
|
||||
@MAINT@macros/macros.dep: macros/Makefile.am
|
||||
@MAINT@ cd macros && $(MAKE) macros.dep
|
||||
## @MAINT@ include macros/macros.dep
|
||||
## @MAINT@macros/macros.dep: macros/Makefile.am
|
||||
## @MAINT@ cd macros && $(MAKE) macros.dep
|
||||
|
||||
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
|
||||
|
||||
## We create libgtopConf.sh here and not from configure because we want
|
||||
## to get the paths expanded correctly. Macros like srcdir are given
|
||||
@@ -34,20 +54,40 @@ confexec_DATA = $(top_builddir)/libgtopConf.sh
|
||||
## is an autoconf feature, not a bug).
|
||||
libgtopConf.sh: libgtopConf.sh.in Makefile
|
||||
## Use sed and then mv to avoid problems if the user interrupts.
|
||||
sed -e 's,\@LIBGTOP_LIBDIR\@,$(libdir),g' \
|
||||
-e 's,\@LIBGTOP_INCLUDEDIR\@,$(includedir),g' \
|
||||
-e 's,\@LIBGTOP_LIBS\@,$(LIBGTOP_LIBS),g' \
|
||||
-e 's,\@LIBGTOP_INCS\@,$(LIBGTOP_INCS),g' \
|
||||
-e 's,\@LIBGTOP_GUILE_LIBS\@,$(LIBGTOP_GUILE_LIBS),g' \
|
||||
-e 's,\@LIBGTOP_GUILE_INCS\@,$(LIBGTOP_GUILE_INCS),g' \
|
||||
-e 's,\@LIBGTOP_BINDIR\@,$(LIBGTOP_BINDIR),g' \
|
||||
-e 's,\@LIBGTOP_SERVER\@,$(LIBGTOP_SERVER),g' \
|
||||
-e 's,\@libgtop_sysdeps_dir\@,$(libgtop_sysdeps_dir),g' \
|
||||
-e 's,\@libgtop_need_server\@,$(libgtop_need_server),g' \
|
||||
-e 's,\@libgtop_use_machine_h\@,$(libgtop_use_machine_h),g' \
|
||||
-e 's,\@libgtop_guile_found\@,$(libgtop_guile_found),g' \
|
||||
-e 's,\@libgtop_want_names\@,$(libgtop_want_names),g' \
|
||||
-e 's,\@libgtop_want_guile_names\@,$(libgtop_want_guile_names),g' \
|
||||
-e 's,\@libgtop_want_examples\@,$(libgtop_want_examples),g' \
|
||||
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \
|
||||
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
|
||||
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
|
||||
-e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
|
||||
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
|
||||
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
|
||||
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
|
||||
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
|
||||
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
|
||||
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
|
||||
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
|
||||
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
|
||||
-e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \
|
||||
-e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \
|
||||
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
|
||||
&& mv libgtopConf.tmp libgtopConf.sh
|
||||
|
||||
# libgtop-config: libgtop-config.in Makefile
|
||||
# sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||
# < $(srcdir)/libgtop-config.in > libgtop-config.tmp \
|
||||
# && mv libgtop-config.tmp libgtop-config && \
|
||||
# chmod 755 libgtop-config
|
||||
|
||||
libgtop-features.def: features.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
|
258
NEWS
258
NEWS
@@ -1,244 +1,68 @@
|
||||
$Id$
|
||||
|
||||
Jun/01/1998
|
||||
===========
|
||||
|
||||
* We have some new ``suffix rules'':
|
||||
|
||||
'__l' is a function defined in the client part;
|
||||
'__s' is a function defined in the sysdeps part and
|
||||
'__p' is a function that needs special priviledges.
|
||||
'__r' is mapped either on '__p' or on '__s'.
|
||||
the function without suffix is mapped on '__l'.
|
||||
February 27, 2001:
|
||||
=================
|
||||
|
||||
* We now decide at runtime whether or not using the server
|
||||
is required for a particular function. All user programs
|
||||
now call the '__l' function defined in '-lgtop' (in the lib
|
||||
subdir). These functions either use 'glibtop_call__l' to
|
||||
call the server or call the '__r' function.
|
||||
* Released LibGTop 1.0.12 "Gerolzhofen".
|
||||
|
||||
* A function in the sysdeps directory now has the '__s' suffix
|
||||
if it do not need any priviledges (and thus can be called directly
|
||||
from client code) and the '__p' suffix otherwise (when it has to
|
||||
be called from the server).
|
||||
- fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
|
||||
|
||||
* If you call one of these functions:
|
||||
- fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
|
||||
`_KERNEL' instead of `KERNEL'). Bug #51334.
|
||||
|
||||
-> use the '__p' suffix to be sure to get the SUID-safe one
|
||||
(used in the server).
|
||||
-> use the '__s' suffix to be sure to get a function that
|
||||
doesn't need any priviledges.
|
||||
-> use the '__r' suffix otherwise (it is mapped either on the
|
||||
'__p' or on the '__s' one).
|
||||
|
||||
Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
|
||||
conditional, otherwise you'll get undefined symbols !
|
||||
|
||||
* The server is now started from 'glibtop_init__r', but only when
|
||||
it's really needed; for instance on DEC OSF/1 you only need it
|
||||
for the proc* features - if you program only fetches the CPU usage,
|
||||
now server will be started.
|
||||
- for BSDI, comment out `subnet' field in netload; this should make
|
||||
it compile, but there may be other problems. Bug #13345.
|
||||
|
||||
* Sorry, at the moment everything is a little bit unstable, I'm doing
|
||||
heavy changes. I've just some great ideas which still need some work:
|
||||
|
||||
-> I want to have a SUID server that only implements those features
|
||||
that need to be SUID; everything else uses the sysdeps code directly.
|
||||
This release is for GNOME 1.4 Beta2.
|
||||
|
||||
-> If a program only uses stuff that do not need the server, the
|
||||
server will not be started at all.
|
||||
February 14, 2001:
|
||||
=================
|
||||
|
||||
-> I'm working on some kind of proxy server that can be used on a remote
|
||||
host; in feature one can then use the MDI stuff from ghex in gtop to
|
||||
have notebook pages displaying processes from different hosts.
|
||||
* Released LibGTop 1.0.11 "Jasmin":
|
||||
|
||||
* Well it is as much unstable that it only works under Linux at the moment.
|
||||
[The release which was supposed to be called "Gerolzhofen".]
|
||||
|
||||
1998-06-01 Martin Baulig <martin@home-of-linux.org>
|
||||
- merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
|
||||
|
||||
* sysdeps/common/sysdeps.c: now using '__r' functions,
|
||||
they are #defined either as the '__p' or the '__s' ones.
|
||||
- minor OpenBSD fixes.
|
||||
|
||||
* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
|
||||
it now takes two additional arguments.
|
||||
- again a bunch of updated translations.
|
||||
|
||||
* examples/{first.c, second.c}: now using 'glibtop_init'
|
||||
instead of 'glibtop_init__r'.
|
||||
Please test the Solaris stuff and report and bugs and
|
||||
problems as soon as possible; I'll make a new release
|
||||
for the 2nd beta of GNOME 1.4 if necessary.
|
||||
|
||||
* include/glibtop/sysdeps.h: added 'dummy' member so
|
||||
'GLIBTOP_SYSDEPS_<feature>' now start with 1.
|
||||
November 20, 2000:
|
||||
=================
|
||||
|
||||
* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
|
||||
as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
|
||||
either as the '__p' or the '__s' function.
|
||||
* Released LibGTop 1.0.10 "November Rain":
|
||||
|
||||
* lib/*.c: removed #if's - we now decide at runtime
|
||||
whether to use the server or to call the appropriate
|
||||
function for the sysdeps directory.
|
||||
- this release contains a bunch of updated translations.
|
||||
|
||||
1998-05-28 Martin Baulig <baulig@merkur.uni-trier.de>
|
||||
May 25, 2000:
|
||||
============
|
||||
|
||||
* src/server/main.c: we now use the '__p' functions,
|
||||
but only if the appropriate 'GLIBTOP_SUID_<feature>'
|
||||
has a non-zero value.
|
||||
|
||||
* configure.in (@machine_incs@): always use
|
||||
`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
|
||||
longer conditional.
|
||||
* Released LibGTop 1.0.9 "Stuttgart".
|
||||
|
||||
* examples/Makefile.am: removed the '_linux' examples.
|
||||
|
||||
* sysdeps/linux/*.c: renamed all functions implementing
|
||||
features to '__s'.
|
||||
|
||||
* lib/*.c: renamed all functions implementing features
|
||||
to '__l'; we only emit code for those functions if the
|
||||
corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
|
||||
|
||||
* include/glibtop/*.h: added some new function suffixes:
|
||||
'__l' is a function defined in the client part;
|
||||
'__s' is a function defined in the sysdeps part and
|
||||
'__p' is a function that needs special priviledges.
|
||||
'__r' is mapped either on '__l' or on '__s'.
|
||||
|
||||
* sysdeps/linux/glibtop_server.h: New file -
|
||||
defines system dependent constants 'GLIBTOP_SUID_<feature>'
|
||||
being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
|
||||
whether or not this feature requires using the server.
|
||||
(LibGTop 1.0.8 "Frankfurt" was not publically released.)
|
||||
|
||||
* lib/sysdeps.c: removed that file; it is no longer
|
||||
needed.
|
||||
February 15, 2000:
|
||||
=================
|
||||
|
||||
* Released LibGTop 1.0.7 "Copenhagen":
|
||||
|
||||
- this is a bug fix release for the GUADEC CD-ROM;
|
||||
it contains fixes in both the Linux and *BSD sysdeps
|
||||
directory.
|
||||
|
||||
May/21/1998
|
||||
===========
|
||||
October 18, 1999:
|
||||
================
|
||||
|
||||
* doc/gnome-hackers.sgml: This is a short intro on how to use libgtop
|
||||
in the GNOME project. It covers especially the use of its 'configure'
|
||||
script and the automatically generated 'gtopConf.sh'.
|
||||
* Released LibGTop 1.0.6 "October LibGTop":
|
||||
|
||||
May/20/1998
|
||||
===========
|
||||
- compilation fixes for FreeBSD.
|
||||
- updated reference manual.
|
||||
|
||||
* 'gtopConf.sh' now defines 'GTOP_LIBS' and 'GTOP_INCS' in a manner
|
||||
that they contain everything that is needed to link some program with
|
||||
libgtop. It will use '-lgtop' only if the server is really needed and
|
||||
'-lgtop_sysdeps' otherwise;
|
||||
September 29, 1999:
|
||||
==================
|
||||
|
||||
* 'gtopConf.sh' additionally defines 'GTOP_GUILE_LIBS' and 'GTOP_GUILE_INCS'
|
||||
containing everything that is needed to link some program both with
|
||||
libgtop and its guile interface. They are identically to 'GTOP_LIBS'
|
||||
and 'GTOP_INCS' if building the guile interface is disabled or guile
|
||||
cannot be found on the system.
|
||||
* Released LibGTop 1.0.5.
|
||||
|
||||
* 'configure' takes additional arguments '--enable-libgtop-server' and
|
||||
'--disable-libgtop-server' to use the server even when it's not needed
|
||||
or to disable it's use where it's needed.
|
||||
|
||||
* 'configure' takes an argument '--without-libgtop-guile' to disable
|
||||
guile support.
|
||||
|
||||
* 'configure takes an argument '--without-libgtop-names' to remove
|
||||
'-lgtop_names' (and '-lgtop_guile_names' when we have guile) from
|
||||
'GTOP_LIBS'; in this case these libraries are not even built.
|
||||
|
||||
May/19/1998
|
||||
===========
|
||||
|
||||
* Libgtop is now in the GNOME CVS Repository.
|
||||
|
||||
May/17/1998
|
||||
===========
|
||||
|
||||
* we have now 'const char *glibtop_types_* []' consisting
|
||||
of the C types of the corresponding files of '_glibtop_*'.
|
||||
|
||||
* added guile function '(glibtop-types-*)' and '(glibtop-descriptions-*)'.
|
||||
|
||||
May/10/1998
|
||||
===========
|
||||
|
||||
* Port to DEC OSF1 3.0 has been made:
|
||||
|
||||
cpu (total, user, nice, sys, idle)
|
||||
mem (total, used, free)
|
||||
|
||||
loadavg (loadavg)
|
||||
uptime (uptime)
|
||||
|
||||
msg_limits (map, max, mnb, mni, tql)
|
||||
sem_limits (mni, msl, opm, vmx, aem)
|
||||
shm_limits (max, min, mni, seg)
|
||||
|
||||
The following need the server to be SUID root:
|
||||
|
||||
proclist (total, number, size)
|
||||
procdata (cmd, state, uid, pid, ppid, pgrp, tty, k_flags,
|
||||
session, tpgid, sigignore, sigcatch, signal, nice,
|
||||
priority, resident, rss, vsize, utime, stime,
|
||||
cutime, cstime, trs, drs)
|
||||
|
||||
May/07/1998
|
||||
===========
|
||||
|
||||
* 'flags' member of sysdeps/linux/procdata.c is now
|
||||
'unsigned long flags [2]'.
|
||||
|
||||
* When we give glibtop_get_procdata () a pid of zero, only
|
||||
the flags are returned.
|
||||
|
||||
* We now use static constants instead of #defines for sysdeps flags.
|
||||
|
||||
May/03/1998
|
||||
===========
|
||||
|
||||
* VPATH-Build now working; sometimes it's necessary to copy
|
||||
$(top_srcdir)/po/cat-id-tbl.c to $(top_builddir)/po.
|
||||
|
||||
* The library has been tested on the following systems:
|
||||
|
||||
- i686-pc-linux-gnu
|
||||
- sparc-sun-sunos4.1.1
|
||||
- alpha-dec-osf1 (that's DEC OSF1 3.0 and 3.2)
|
||||
|
||||
* Compilation has been tested on the following systems (I have no root
|
||||
access there and cannot test the library because of this):
|
||||
|
||||
- sparc-sun-solaris2
|
||||
- i386-bsdi
|
||||
|
||||
* Does no longer require Gnome.
|
||||
|
||||
* Guile-Parts are compiled only if guile can be found.
|
||||
|
||||
* Some of the executables are statically linked to copy them more easily
|
||||
between machines.
|
||||
|
||||
May/02/1998
|
||||
===========
|
||||
|
||||
* Global changes to the interfaces, all functions except glibtop_open()
|
||||
and glibtop_close() that took a server argument have now a '__r' suffix;
|
||||
the original name is now a macro that uses glibtop_global_server.
|
||||
|
||||
Apr/10/1998
|
||||
===========
|
||||
Added new directory sysdeps/guile/names. It is the guile interface
|
||||
to the gtop_names library found in sysdeps/names. Changed
|
||||
GLIBTOP_DESCRIPTIONS to GLIBTOP_NAMES and added GLIBTOP_GUILE_NAMES
|
||||
to the header files.
|
||||
|
||||
Apr/09/1998
|
||||
===========
|
||||
Added new directories guile and names to sysdeps. In names are
|
||||
some string constants about the data stored in the structures.
|
||||
guile is a guile interface for the library. It is used in
|
||||
examples/third (which has been completely rewritten).
|
||||
The header files define things from names when GLIBTOP_DESCRIPTIONS
|
||||
if defined and/or from guile when HAVE_GUILE is defined.
|
||||
|
||||
Apr/08/1998
|
||||
===========
|
||||
|
||||
Added guile wrapper for the library (see examples/third).
|
||||
|
59
README
59
README
@@ -1,57 +1,8 @@
|
||||
Hi all,
|
||||
$Id$
|
||||
|
||||
[PLEASE READ THE FILE ``README.LATEST'' FOR LATEST NEWS]
|
||||
|
||||
this is the latest alpha version of libgtop, a library that fetches
|
||||
information about the running system such as cpu and memory usage,
|
||||
active processes etc. On Linux systems, these information are taken
|
||||
directly from the /proc filesystem. For other systems such as Solaris,
|
||||
where such programs need to be suid root (or only setgid kmem/mem on
|
||||
some systems), it provides a suid/setgid server that fetches those
|
||||
information and a client-side library that talks to this server.
|
||||
|
||||
Main idea was to have the same interface for all operating systems,
|
||||
thus all system dependent details are hidden in the implementation
|
||||
of that server.
|
||||
|
||||
Currently, it only works for Linux, documentation on how to port it
|
||||
to other systems is on the way. I'm planning to keep this site an
|
||||
up-to-date mirror of my local machine (which is connected to the
|
||||
internet over some expensive dialup connection, so I'll upload it about
|
||||
once every day I made significant changes) so that you can always find
|
||||
the latest version of the software here.
|
||||
|
||||
I've written a simple guile interface for the library to show which
|
||||
information it can already fetch. See examples/third for details.
|
||||
|
||||
Source Code:
|
||||
LATEST NEWS:
|
||||
===========
|
||||
|
||||
libgtop-current-cvs.cpio.gz is a cpio archive from the CVS repository
|
||||
libgtop-current.cpio.gz contains the lates checked out sources
|
||||
libgtop-stable.cpio.gz if present, it contains the last stable release
|
||||
|
||||
Documentation:
|
||||
=============
|
||||
|
||||
libgtop.sgml is the SGML source of the (DocBook) documentation
|
||||
|
||||
The next three files are only provided until they get too big to upload.
|
||||
|
||||
libgtop.tex TEX file of the documentation
|
||||
libgtop.dvi DVI file of the documentation
|
||||
libgtop.ps Postscript file of the documentation
|
||||
|
||||
HTML-Documentation:
|
||||
==================
|
||||
|
||||
libgtop.shtml Start here to browse the HTML documentation
|
||||
|
||||
Other stuff:
|
||||
===========
|
||||
|
||||
README, NEWS, ChangeLog copied from the sources
|
||||
|
||||
Enjoy it!
|
||||
|
||||
Martin (martin@home-of-linux.org - baulig@merkur.uni-trier.de)
|
||||
Please look also in the file 'NEWS' for latest news.
|
||||
|
||||
Martin
|
||||
|
@@ -1,8 +0,0 @@
|
||||
$Id$
|
||||
|
||||
LATEST NEWS:
|
||||
===========
|
||||
|
||||
Please look also in the file 'NEWS' for latest news.
|
||||
|
||||
Martin
|
146
RELNOTES-0.25
Normal file
146
RELNOTES-0.25
Normal file
@@ -0,0 +1,146 @@
|
||||
RELEASE NOTES FOR LIBGTOP 0.25 STABLE
|
||||
=====================================
|
||||
|
||||
OVERVIEW
|
||||
--------
|
||||
|
||||
LibGTop is a library that read information about processes and the running
|
||||
systems. This information include:
|
||||
|
||||
General System Information
|
||||
|
||||
cpu - CPU Usage
|
||||
mem - Memory Usage
|
||||
swap - Swap Usage (including paging activity)
|
||||
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||
|
||||
SYS V IPC Limits:
|
||||
|
||||
shm_limits - Shared Memory Limits
|
||||
msg_limits - Message Queue Limits
|
||||
sem_limits - Semaphore Set Limits
|
||||
|
||||
Process List:
|
||||
|
||||
proclist - List of processes
|
||||
|
||||
Process information:
|
||||
|
||||
proc_state - cmd, state, uid, gid
|
||||
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||
session,tty,tpgid,priority,nice
|
||||
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||
timeout,it_real_value,frequency
|
||||
proc_signal - signal,blocked,sigignore,sigcatch
|
||||
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||
kstk_esp,kstk_eip,nwchan,wchan
|
||||
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||
start_code,end_code,start_stack
|
||||
|
||||
Process maps:
|
||||
|
||||
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||
|
||||
File system usage:
|
||||
|
||||
mountlist - List of currently mounted filesystems
|
||||
fsusage - File system usage
|
||||
|
||||
PORTABILITY:
|
||||
-----------
|
||||
|
||||
LibGtop is designed to be as portable as possible. None of the functions
|
||||
and retrieved information should be specific to a specific operating
|
||||
system. So you only need to port the system dependent part of the library
|
||||
to a new system and all application programs can then use libgtop on this
|
||||
new system.
|
||||
|
||||
CLIENT/SERVER MODEL:
|
||||
-------------------
|
||||
|
||||
Some systems like DEC OSF/1 or BSD require special priviledges for the calling
|
||||
proces to fetch the required information (SUID root/SGID kmem). To solve this
|
||||
problem, I designed a client/server model which makes a call to a SUID/SGID
|
||||
server which fetches the required information whenever it is required. This
|
||||
server is only called for features that really require priviledges, otherwise
|
||||
the sysdeps code is called directory (every user can get the CPU usage on
|
||||
DEC OSF/1, but only root can get information about processes other than the
|
||||
current one).
|
||||
|
||||
There is also some kind of daemon which can be used to fetch information from
|
||||
remote systems (still experimental). This daemon normally runs as nobody and
|
||||
calls the SUID/SGID itself when needed.
|
||||
|
||||
GNOME APPLETS:
|
||||
--------------
|
||||
|
||||
There are some applets and applications which already use LibGTop. They can
|
||||
be found in the `libgtop-apps' module in the GNOME CVS tree:
|
||||
|
||||
* Applets: cpuload, cpumemusage - they need LibGTop to get their information
|
||||
on all systems other than Linux.
|
||||
|
||||
* Applets: diskusage - just uses the mountlist/fsusage features of LibGTop,
|
||||
the one in gnome-core also works on other systems.
|
||||
|
||||
* Applets: multiload - I enhanced the cpuload applet a little bit, it is
|
||||
now a multi applet and can display CPU, Memory and
|
||||
Swap usages.
|
||||
|
||||
GTOP:
|
||||
----
|
||||
|
||||
This cool GNOME app has been ported to use LibGTop. It can be found in
|
||||
`libgtop-apps/gtop' in the GNOME CVS tree.
|
||||
|
||||
You can now use nearly the full functionality of GTop on FreeBSD !
|
||||
|
||||
|
||||
PLATTFORM SPECIFIC NOTES FOR LINUX:
|
||||
==================================
|
||||
|
||||
Under Linux, LibGTop should work without problems and read everything
|
||||
from /proc.
|
||||
|
||||
There is also an experimental kernel interface to read this information
|
||||
directly from the kernel with a system call - but this is still experimental
|
||||
and not well tested while I made this release.
|
||||
|
||||
PLATTFORM SPECIFIC NOTES FOR FREEBSD:
|
||||
====================================
|
||||
|
||||
LibGTop should now work under FreeBSD and give you the full functionality
|
||||
of GTop.
|
||||
|
||||
There are a few caveats:
|
||||
|
||||
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to kmem
|
||||
after installation and mount the /proc filesystem of FreeBSD
|
||||
(/proc/<pid>/mem is used withing kvm_uread ()).
|
||||
|
||||
* To get the filenames of the process maps displayed in GTop, you need to
|
||||
configure with the `--with-libgtop-inodedb' option (you need GDBM for this
|
||||
to work).
|
||||
|
||||
* You have then to create an inode database which is used to look up to
|
||||
filenames. This is done using the `mkinodedb' program which comes along
|
||||
with libgtop.
|
||||
|
||||
See the file src/inodedb/README for details:
|
||||
|
||||
The `mkinodedb' program which is build in this directory takes two
|
||||
command line arguments: the full pathname of the database to be created
|
||||
and the name of a configuration file consisting of directory and file names
|
||||
each on a line by itself - see `/etc/ld.so.conf' for an example.
|
||||
|
||||
Putting a directory name in this file means all regular files found in this
|
||||
directory are included in the database, but it will not recursively descend
|
||||
into subdirectories (for instance, we want everythink in `/usr/lib' but not
|
||||
every single file in `/usr/lib/sgml'). You can also use filenames to include
|
||||
a single file.
|
||||
|
||||
Have fun,
|
||||
|
||||
Martin <martin@home-of-linux.org>
|
163
RELNOTES-1.0
Normal file
163
RELNOTES-1.0
Normal file
@@ -0,0 +1,163 @@
|
||||
RELEASE NOTES FOR LIBGTOP 1.0 STABLE
|
||||
====================================
|
||||
|
||||
OVERVIEW
|
||||
--------
|
||||
|
||||
LibGTop is a library that read information about processes and the
|
||||
running systems. This information include:
|
||||
|
||||
General System Information:
|
||||
|
||||
cpu - CPU Usage
|
||||
mem - Memory Usage
|
||||
swap - Swap Usage (including paging activity)
|
||||
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||
|
||||
SYS V IPC Limits:
|
||||
|
||||
shm_limits - Shared Memory Limits
|
||||
msg_limits - Message Queue Limits
|
||||
sem_limits - Semaphore Set Limits
|
||||
|
||||
Network:
|
||||
|
||||
netload - Network load
|
||||
ppp - PPP statistics
|
||||
|
||||
Process List:
|
||||
|
||||
proclist - List of processes
|
||||
|
||||
Process information:
|
||||
|
||||
proc_state - cmd, state, uid, gid
|
||||
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||
session,tty,tpgid,priority,nice
|
||||
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||
timeout,it_real_value,frequency
|
||||
proc_signal - signal,blocked,sigignore,sigcatch
|
||||
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||
kstk_esp,kstk_eip,nwchan,wchan
|
||||
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||
start_code,end_code,start_stack
|
||||
|
||||
Process maps:
|
||||
|
||||
proc_args - Command line arguments
|
||||
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||
|
||||
File system usage:
|
||||
|
||||
mountlist - List of currently mounted filesystems
|
||||
fsusage - File system usage
|
||||
|
||||
PORTABILITY:
|
||||
-----------
|
||||
|
||||
LibGTop is designed to be as portable as possible. None of the
|
||||
functions and retrieved information should be specific to a specific
|
||||
operating system. So you only need to port the system dependent part
|
||||
of the library to a new system and all application programs can then
|
||||
use libgtop on this new system.
|
||||
|
||||
CLIENT/SERVER MODEL:
|
||||
-------------------
|
||||
|
||||
Some systems like DEC OSF/1 or BSD require special privileges for the
|
||||
calling process to fetch the required information (SUID root/SGID
|
||||
kmem). To solve this problem, I designed a client/server model which
|
||||
makes a call to a SUID/SGID server which fetches the required
|
||||
information whenever it is required. This server is only called for
|
||||
features that really require privileges, otherwise the sysdeps code
|
||||
is called directory (every user can get the CPU usage on DEC OSF/1,
|
||||
but only root can get information about processes other than the
|
||||
current one).
|
||||
|
||||
There is also some kind of daemon which can be used to fetch
|
||||
information from remote systems (still experimental). This daemon
|
||||
normally runs as nobody and calls the SUID/SGID itself when needed.
|
||||
|
||||
LIBGTOP AND GNOME:
|
||||
-----------------
|
||||
|
||||
LibGTop is currently used in various places in the GNOME Project,
|
||||
for instance in some of the applets in gnome-core and - of cause -
|
||||
this ultra-cool application called GTop ...
|
||||
|
||||
Although LibGTop is not specific to GNOME and under GPL license, I
|
||||
spent most my time during the last months to work in the GNOME project
|
||||
so this is the primary use for LibGTop (and currently the only one).
|
||||
|
||||
However, you can also give its configure.in script the `--without-gnome'
|
||||
parameter and then use it fully without GNOME in your own applications.
|
||||
|
||||
LIBGTOP AND GNOME - PART II:
|
||||
---------------------------
|
||||
|
||||
LibGTop was tested with FreeBSD 3.0 but it should also work with
|
||||
FreeBSD 2.2.7, NetBSD and OpenBSD.
|
||||
|
||||
Currently my primary aim is to help the GNOME people with our 1.0 release
|
||||
so I won't have much time to test it with any other system than Linux.
|
||||
|
||||
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
|
||||
LibGTop and whenever I get bug reports I will do my best to fix them as
|
||||
quickly as possible.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR LINUX:
|
||||
==================================
|
||||
|
||||
Under Linux, LibGTop should work without problems and read everything
|
||||
from /proc.
|
||||
|
||||
LibGTop 0.25 also had an experimental kernel interface to read this
|
||||
information directly from the kernel with a system call - but I have
|
||||
currently dropped support for this as I am too busy with GNOME
|
||||
development to keep current with kernel hacking.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR SOLARIS:
|
||||
====================================
|
||||
|
||||
Since so many people were asking me about this:
|
||||
|
||||
LibGTop currently does not have any support for Solaris, and it will
|
||||
never have until some volunteer writes the code for it. I can't do this
|
||||
myself since I do not have any machine to test it on.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR BSD:
|
||||
=================================
|
||||
|
||||
There are a few caveats:
|
||||
|
||||
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
|
||||
kmem after installation and mount the /proc file system of FreeBSD
|
||||
(/proc/<pid>/mem is used within kvm_uread ()).
|
||||
|
||||
* To get the filenames of the process maps displayed in GTop, you need
|
||||
to configure with the `--with-libgtop-inodedb' option (you need GDBM
|
||||
for this to work).
|
||||
|
||||
You have then to create an inode database which is used to look up
|
||||
filenames. This is done using the `mkinodedb' program which comes
|
||||
along with libgtop.
|
||||
|
||||
See the file src/inodedb/README for details:
|
||||
|
||||
The `mkinodedb' program which is build in this directory takes two
|
||||
command line arguments: the full pathname of the database to be
|
||||
created and the name of a configuration file consisting of directory
|
||||
and file names each on a line by itself - see `/etc/ld.so.conf' for
|
||||
an example.
|
||||
|
||||
Putting a directory name in this file means all regular files found
|
||||
in this directory are included in the database, but it will not
|
||||
recursively descend into subdirectories (for instance, we want
|
||||
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
|
||||
You can also use filenames to include a single file.
|
||||
|
||||
Have fun,
|
||||
|
||||
Martin <martin@home-of-linux.org>
|
172
RELNOTES-1.0.x
Normal file
172
RELNOTES-1.0.x
Normal file
@@ -0,0 +1,172 @@
|
||||
RELEASE NOTES FOR LIBGTOP 1.0.7
|
||||
===============================
|
||||
|
||||
OVERVIEW
|
||||
--------
|
||||
|
||||
LibGTop is a library that read information about processes and the
|
||||
running systems. This information include:
|
||||
|
||||
General System Information:
|
||||
|
||||
cpu - CPU Usage
|
||||
mem - Memory Usage
|
||||
swap - Swap Usage (including paging activity)
|
||||
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||
|
||||
SYS V IPC Limits:
|
||||
|
||||
shm_limits - Shared Memory Limits
|
||||
msg_limits - Message Queue Limits
|
||||
sem_limits - Semaphore Set Limits
|
||||
|
||||
Network:
|
||||
|
||||
netload - Network load
|
||||
ppp - PPP statistics
|
||||
|
||||
Process List:
|
||||
|
||||
proclist - List of processes
|
||||
|
||||
Process information:
|
||||
|
||||
proc_state - cmd, state, uid, gid
|
||||
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||
session,tty,tpgid,priority,nice
|
||||
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||
timeout,it_real_value,frequency
|
||||
proc_signal - signal,blocked,sigignore,sigcatch
|
||||
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||
kstk_esp,kstk_eip,nwchan,wchan
|
||||
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||
start_code,end_code,start_stack
|
||||
|
||||
Process maps:
|
||||
|
||||
proc_args - Command line arguments
|
||||
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||
|
||||
File system usage:
|
||||
|
||||
mountlist - List of currently mounted filesystems
|
||||
fsusage - File system usage
|
||||
|
||||
PORTABILITY:
|
||||
-----------
|
||||
|
||||
LibGTop is designed to be as portable as possible. None of the
|
||||
functions and retrieved information should be specific to a specific
|
||||
operating system. So you only need to port the system dependent part
|
||||
of the library to a new system and all application programs can then
|
||||
use libgtop on this new system.
|
||||
|
||||
CLIENT/SERVER MODEL:
|
||||
-------------------
|
||||
|
||||
Some systems like DEC OSF/1 or BSD require special privileges for the
|
||||
calling process to fetch the required information (SUID root/SGID
|
||||
kmem). To solve this problem, I designed a client/server model which
|
||||
makes a call to a SUID/SGID server which fetches the required
|
||||
information whenever it is required. This server is only called for
|
||||
features that really require privileges, otherwise the sysdeps code
|
||||
is called directory (every user can get the CPU usage on DEC OSF/1,
|
||||
but only root can get information about processes other than the
|
||||
current one).
|
||||
|
||||
There is also some kind of daemon which can be used to fetch
|
||||
information from remote systems (still experimental). This daemon
|
||||
normally runs as nobody and calls the SUID/SGID itself when needed.
|
||||
|
||||
LIBGTOP AND GNOME:
|
||||
-----------------
|
||||
|
||||
Although LibGTop is part of the GNOME desktop environment, its main
|
||||
interface is totally independent from any particular desktop environment,
|
||||
so you can also use it as a standalone library in any piece of GPLed
|
||||
software which makes it also a valuable part of the GNU project.
|
||||
|
||||
LibGTop is currently used in various places in the GNOME Project,
|
||||
for instance in some of the applets in gnome-core and - of cause -
|
||||
this ultra-cool application called GTop ...
|
||||
|
||||
However, you need to give the configure.in script the `--without-gnome'
|
||||
parameter when you want to use LibGTop without GNOME (this is because,
|
||||
if you want to use it with GNOME, you need to compile it after the main
|
||||
GNOME libraries and I wanted to avoid getting unnecessary bug reports
|
||||
about this).
|
||||
|
||||
LIBGTOP AND GNOME - PART II:
|
||||
---------------------------
|
||||
|
||||
LibGTop was tested with FreeBSD 3.0 but it should also work with
|
||||
FreeBSD 2.2.7, NetBSD and OpenBSD.
|
||||
|
||||
Unfortunately, I don't have the power and disk space to install all
|
||||
possible operating systems out there on my machine and test things myself,
|
||||
so I depend on people telling me whether it works and sending me bug
|
||||
reports and patches if not.
|
||||
|
||||
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
|
||||
LibGTop and whenever I get bug reports I will do my best to fix them as
|
||||
quickly as possible.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR LINUX:
|
||||
==================================
|
||||
|
||||
[I am speaking of the Linux kernel here.]
|
||||
|
||||
Under Linux, LibGTop should work without problems and read everything
|
||||
from /proc.
|
||||
|
||||
LibGTop 0.25 also had an experimental kernel interface to read this
|
||||
information directly from the kernel with a system call - but I have
|
||||
currently dropped support for this as I am too busy with GNOME
|
||||
development to keep current with kernel hacking.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR SOLARIS:
|
||||
====================================
|
||||
|
||||
The development branch of LibGTop (the 1.1.x series) has a first version
|
||||
of the Solaris port which works at least on Solaris 7.
|
||||
|
||||
If you are on a Solaris system and want to give it a try, just fetch the
|
||||
latest 1.1.x tarball from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
|
||||
and try it out.
|
||||
|
||||
PLATFORM SPECIFIC NOTES FOR BSD:
|
||||
=================================
|
||||
|
||||
There are a few caveats:
|
||||
|
||||
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
|
||||
kmem after installation and mount the /proc file system of FreeBSD
|
||||
(/proc/<pid>/mem is used within kvm_uread ()).
|
||||
|
||||
* To get the filenames of the process maps displayed in GTop, you need
|
||||
to configure with the `--with-libgtop-inodedb' option (you need GDBM
|
||||
for this to work).
|
||||
|
||||
You have then to create an inode database which is used to look up
|
||||
filenames. This is done using the `mkinodedb' program which comes
|
||||
along with libgtop.
|
||||
|
||||
See the file src/inodedb/README for details:
|
||||
|
||||
The `mkinodedb' program which is build in this directory takes two
|
||||
command line arguments: the full pathname of the database to be
|
||||
created and the name of a configuration file consisting of directory
|
||||
and file names each on a line by itself - see `/etc/ld.so.conf' for
|
||||
an example.
|
||||
|
||||
Putting a directory name in this file means all regular files found
|
||||
in this directory are included in the database, but it will not
|
||||
recursively descend into subdirectories (for instance, we want
|
||||
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
|
||||
You can also use filenames to include a single file.
|
||||
|
||||
Have fun,
|
||||
|
||||
Martin <martin@home-of-linux.org>
|
133
acconfig.h
133
acconfig.h
@@ -1,5 +1,24 @@
|
||||
|
||||
/* Define if gethostname () must be declared. */
|
||||
#undef NEED_DECLARATION_GETHOSTNAME
|
||||
|
||||
/* Define if setreuid () must be declared. */
|
||||
#undef NEED_DECLARATION_SETREUID
|
||||
|
||||
/* Define if setregid () must be declared. */
|
||||
#undef NEED_DECLARATION_SETREGID
|
||||
|
||||
/* Define if getpagesize () must be declared. */
|
||||
#undef NEED_DECLARATION_GETPAGESIZE
|
||||
|
||||
/* Define if program_invocation_name must be declared. */
|
||||
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
|
||||
|
||||
@TOP@
|
||||
|
||||
#undef ENABLE_NLS
|
||||
#undef HAVE_CATGETS
|
||||
#undef GETTEXT_PACKAGE
|
||||
#undef HAVE_GETTEXT
|
||||
#undef HAVE_LC_MESSAGES
|
||||
#undef HAVE_STPCPY
|
||||
@@ -12,28 +31,140 @@
|
||||
|
||||
/* Do not remove this comments and the empty lines; they are needed */
|
||||
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
|
||||
/* Define if you have the Andrew File System. */
|
||||
#undef AFS
|
||||
|
||||
/* Define one of the following to indicate how a program can
|
||||
get a list of mounted filesystems. */
|
||||
|
||||
/* Define if there is no specific function for reading the list of
|
||||
mounted filesystems. fread will be used to read /etc/mnttab. [SVR2] */
|
||||
#undef MOUNTED_FREAD
|
||||
|
||||
/* Define if (like SVR2) there is no specific function for reading the
|
||||
list of mounted filesystems, and your system has these header files:
|
||||
<sys/fstyp.h> and <sys/statfs.h>. [SVR3] */
|
||||
#undef MOUNTED_FREAD_FSTYP
|
||||
|
||||
/* Define if there is a function named getfsstat for reading the list
|
||||
of mounted filesystems. [DEC Alpha running OSF/1] */
|
||||
#undef MOUNTED_GETFSSTAT
|
||||
|
||||
/* Define if there is a function named getmnt for reading the list of
|
||||
mounted filesystems. [Ultrix] */
|
||||
#undef MOUNTED_GETMNT
|
||||
|
||||
/* Define if there is a function named getmntent for reading the list
|
||||
of mounted filesystems, and that function takes a single argument.
|
||||
[4.3BSD, SunOS, HP-UX, Dynix, Irix] */
|
||||
#undef MOUNTED_GETMNTENT1
|
||||
|
||||
/* Define if there is a function named getmntent for reading the list of
|
||||
mounted filesystems, and that function takes two arguments. [SVR4] */
|
||||
#undef MOUNTED_GETMNTENT2
|
||||
|
||||
/* Define if there is a function named getmntinfo for reading the list
|
||||
of mounted filesystems. [4.4BSD] */
|
||||
#undef MOUNTED_GETMNTINFO
|
||||
|
||||
/* Define if there is a function named listmntent that can be used to
|
||||
list all mounted filesystems. [UNICOS] */
|
||||
#undef MOUNTED_LISTMNTENT
|
||||
|
||||
/* Define if there is a function named mntctl that can be used to read
|
||||
the list of mounted filesystems, and there is a system header file
|
||||
that declares `struct vmount.' [AIX] */
|
||||
#undef MOUNTED_VMOUNT
|
||||
|
||||
/* Define one of the following to indicate how a program can obtain
|
||||
filesystems usage information. */
|
||||
|
||||
/* Define if statfs takes 3 args. [DEC Alpha running OSF/1] */
|
||||
#undef STAT_STATFS3_OSF1
|
||||
|
||||
/* Define if there is no specific function for reading filesystems usage
|
||||
information and you have the <sys/filsys.h> header file. [SVR2] */
|
||||
#undef STAT_READ_FILSYS
|
||||
|
||||
/* Define if statfs takes 2 args and struct statfs has a field named f_bsize.
|
||||
[4.3BSD, SunOS 4, HP-UX, AIX PS/2] */
|
||||
#undef STAT_STATFS2_BSIZE
|
||||
|
||||
/* Define if statfs takes 2 args and struct statfs has a field named f_fsize.
|
||||
[4.4BSD, NetBSD] */
|
||||
#undef STAT_STATFS2_FSIZE
|
||||
|
||||
/* Define if statfs takes 2 args and the second argument has
|
||||
type struct fs_data. [Ultrix] */
|
||||
#undef STAT_STATFS2_FS_DATA
|
||||
|
||||
/* Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin] */
|
||||
#undef STAT_STATFS4
|
||||
|
||||
/* Define if there is a function named statvfs. [SVR4] */
|
||||
#undef STAT_STATVFS
|
||||
|
||||
/* Define if the block counts reported by statfs may be truncated to 2GB
|
||||
and the correct values may be stored in the f_spare array.
|
||||
[SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
|
||||
SunOS 4.1.1 seems not to be affected.] */
|
||||
#undef STATFS_TRUNCATES_BLOCK_COUNTS
|
||||
|
||||
|
||||
/* to fix a bug in autoheader on DEC OSF1. */
|
||||
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||
|
||||
#undef HAVE_SOCKETS
|
||||
#undef HAVE_SOCKADDR_SUN_LEN
|
||||
|
||||
#undef HAVE_LIBJPEG
|
||||
#undef HAVE_LIBGIF
|
||||
#undef HAVE_LIBTIFF
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBPNG
|
||||
#undef GNOME_ENABLE_DEBUG
|
||||
#undef HAVE_GMP2_INCLUDE_DIR
|
||||
#undef HAVE_GUILE
|
||||
|
||||
#undef ssize_t
|
||||
#undef u_int64_t
|
||||
#undef int64_t
|
||||
|
||||
#undef HAVE_GLIBTOP_MACHINE_H
|
||||
|
||||
#undef GLIBTOP_NAMES
|
||||
#undef GLIBTOP_GUILE
|
||||
#undef GLIBTOP_GUILE_NAMES
|
||||
#undef GLIBTOP_EXAMPLES
|
||||
#undef GLIBTOP_INODEDB
|
||||
|
||||
#undef NEED_LIBGTOP
|
||||
|
||||
#undef HAVE_LINUX_TABLE
|
||||
#undef HAVE_LIBGTOP_SMP
|
||||
|
||||
#undef HAVE_XAUTH
|
||||
|
||||
/* Define if your have the I4B package. */
|
||||
#undef HAVE_I4B
|
||||
#undef HAVE_I4B_ACCT
|
||||
|
||||
/* Define to enable debugging. */
|
||||
#undef LIBGTOP_ENABLE_DEBUG
|
||||
#undef LIBGTOP_FATAL_WARNINGS
|
||||
|
||||
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
|
||||
* the running kernel (if we don't have configured kernel sources).
|
||||
*/
|
||||
#undef GLIBTOP_LINUX_VERSION_CODE
|
||||
|
||||
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
|
||||
#undef GLIBTOP_SOLARIS_RELEASE
|
||||
|
||||
/* Define if you want to use LibGTop without GNOME. */
|
||||
#undef WITHOUT_GNOME
|
||||
|
||||
/* Define if you have the <procfs.h> header file */
|
||||
#undef HAVE_PROCFS_H
|
||||
|
||||
/* Define if you have the <sys/procfs.h> header file */
|
||||
#undef HAVE_SYS_PROCFS_H
|
||||
|
1322
acinclude.m4
1322
acinclude.m4
File diff suppressed because it is too large
Load Diff
@@ -14,4 +14,8 @@ PKG_NAME="Gnome Top Library"
|
||||
exit 1
|
||||
}
|
||||
|
||||
. $srcdir/macros/autogen.sh
|
||||
which gnome-autogen.sh || {
|
||||
echo "You need to install gnome-common from the GNOME CVS"
|
||||
exit 1
|
||||
}
|
||||
USE_GNOME2_MACROS=1 . gnome-autogen.sh
|
||||
|
883
config.guess
vendored
883
config.guess
vendored
@@ -1,883 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Written by Per Bothner <bothner@cygnus.com>.
|
||||
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
||||
PATH=$PATH:/.attbin ; export PATH
|
||||
fi
|
||||
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
alpha:OSF1:*:*)
|
||||
if test $UNAME_RELEASE = "V4.0"; then
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||
fi
|
||||
# A Vn.n version is a released version.
|
||||
# A Tn.n version is a released field test version.
|
||||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
cat <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
|
||||
exit 0 ;;
|
||||
21064:Windows_NT:50:3)
|
||||
echo alpha-dec-winnt3.5
|
||||
exit 0 ;;
|
||||
Amiga*:UNIX_System_V:4.0:*)
|
||||
echo m68k-cbm-sysv4
|
||||
exit 0;;
|
||||
amiga:NetBSD:*:*)
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
amiga:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arc64:OpenBSD:*:*)
|
||||
echo mips64el-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arc:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hkmips:OpenBSD:*:*)
|
||||
echo mips-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
pmax:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sgi:OpenBSD:*:*)
|
||||
echo mips-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
wgrisc:OpenBSD:*:*)
|
||||
echo mipsel-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
arm32:NetBSD:*:*)
|
||||
echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
SR2?01:HI-UX/MPP:*:*)
|
||||
echo hppa1.1-hitachi-hiuxmpp
|
||||
exit 0;;
|
||||
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
|
||||
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
|
||||
if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
||||
echo pyramid-pyramid-sysv3
|
||||
else
|
||||
echo pyramid-pyramid-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
NILE:*:*:dcosx)
|
||||
echo pyramid-pyramid-svr4
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||
# it's likely to be more like Solaris than SunOS4.
|
||||
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:*:*)
|
||||
case "`/usr/bin/arch -k`" in
|
||||
Series*|S4*)
|
||||
UNAME_RELEASE=`uname -v`
|
||||
;;
|
||||
esac
|
||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
|
||||
exit 0 ;;
|
||||
sun3*:SunOS:*:*)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun*:*:4.2BSD:*)
|
||||
UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
||||
case "`/bin/arch`" in
|
||||
sun3)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
;;
|
||||
sun4)
|
||||
echo sparc-sun-sunos${UNAME_RELEASE}
|
||||
;;
|
||||
esac
|
||||
exit 0 ;;
|
||||
aushp:SunOS:*:*)
|
||||
echo sparc-auspex-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:NetBSD:*:*)
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mvme68k:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mvme88k:OpenBSD:*:*)
|
||||
echo m88k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
powerpc:machten:*:*)
|
||||
echo powerpc-apple-machten${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RISC*:Mach:*:*)
|
||||
echo mips-dec-mach_bsd4.3
|
||||
exit 0 ;;
|
||||
RISC*:ULTRIX:*:*)
|
||||
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
VAX*:ULTRIX*:*:*)
|
||||
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
2020:CLIX:*:*)
|
||||
echo clipper-intergraph-clix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:*:UMIPS | mips:*:*:RISCos)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
int main (argc, argv) int argc; char **argv; {
|
||||
#if defined (host_mips) && defined (MIPSEB)
|
||||
#if defined (SYSTYPE_SYSV)
|
||||
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_SVR4)
|
||||
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
|
||||
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
exit (-1);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy \
|
||||
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
|
||||
&& rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
Night_Hawk:Power_UNIX:*:*)
|
||||
echo powerpc-harris-powerunix
|
||||
exit 0 ;;
|
||||
m88k:CX/UX:7*:*)
|
||||
echo m88k-harris-cxux7
|
||||
exit 0 ;;
|
||||
m88k:*:4*:R4*)
|
||||
echo m88k-motorola-sysv4
|
||||
exit 0 ;;
|
||||
m88k:*:3*:R3*)
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||
else
|
||||
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||
fi
|
||||
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit 0 ;;
|
||||
M88*:*:R3*:*)
|
||||
# Delta 88k system running SVR3
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
||||
echo m88k-tektronix-sysv3
|
||||
exit 0 ;;
|
||||
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
||||
echo m68k-tektronix-bsd
|
||||
exit 0 ;;
|
||||
*:IRIX*:*:*)
|
||||
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
|
||||
exit 0 ;;
|
||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||
i?86:AIX:*:*)
|
||||
echo i386-ibm-aix
|
||||
exit 0 ;;
|
||||
*:AIX:2:3)
|
||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <sys/systemcfg.h>
|
||||
|
||||
main()
|
||||
{
|
||||
if (!__power_pc())
|
||||
exit(1);
|
||||
puts("powerpc-ibm-aix3.2.5");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo rs6000-ibm-aix3.2.5
|
||||
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
echo rs6000-ibm-aix3.2.4
|
||||
else
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:4)
|
||||
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
IBM_ARCH=powerpc
|
||||
fi
|
||||
if [ -x /usr/bin/oslevel ] ; then
|
||||
IBM_REV=`/usr/bin/oslevel`
|
||||
else
|
||||
IBM_REV=4.${UNAME_RELEASE}
|
||||
fi
|
||||
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||
exit 0 ;;
|
||||
*:AIX:*:*)
|
||||
echo rs6000-ibm-aix
|
||||
exit 0 ;;
|
||||
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||
echo romp-ibm-bsd4.4
|
||||
exit 0 ;;
|
||||
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||
*:BOSX:*:*)
|
||||
echo rs6000-bull-bosx
|
||||
exit 0 ;;
|
||||
DPX/2?00:B.O.S.:*:*)
|
||||
echo m68k-bull-sysv3
|
||||
exit 0 ;;
|
||||
9000/[34]??:4.3bsd:1.*:*)
|
||||
echo m68k-hp-bsd
|
||||
exit 0 ;;
|
||||
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||
echo m68k-hp-bsd4.4
|
||||
exit 0 ;;
|
||||
9000/[3478]??:HP-UX:*:*)
|
||||
case "${UNAME_MACHINE}" in
|
||||
9000/31? ) HP_ARCH=m68000 ;;
|
||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
|
||||
9000/8?? ) HP_ARCH=hppa1.0 ;;
|
||||
esac
|
||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||
results, however. */
|
||||
if (CPU_IS_PA_RISC (cpu))
|
||||
{
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||
}
|
||||
}
|
||||
else if (CPU_IS_HP_MC68K (cpu))
|
||||
puts ("m68k-hitachi-hiuxwe2");
|
||||
else puts ("unknown-hitachi-hiuxwe2");
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo unknown-hitachi-hiuxwe2
|
||||
exit 0 ;;
|
||||
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
|
||||
echo hppa1.1-hp-bsd
|
||||
exit 0 ;;
|
||||
9000/8??:4.3bsd:*:*)
|
||||
echo hppa1.0-hp-bsd
|
||||
exit 0 ;;
|
||||
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
|
||||
echo hppa1.1-hp-osf
|
||||
exit 0 ;;
|
||||
hp8??:OSF1:*:*)
|
||||
echo hppa1.0-hp-osf
|
||||
exit 0 ;;
|
||||
i?86:OSF1:*:*)
|
||||
if [ -x /usr/sbin/sysversion ] ; then
|
||||
echo ${UNAME_MACHINE}-unknown-osf1mk
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-osf1
|
||||
fi
|
||||
exit 0 ;;
|
||||
parisc*:Lites*:*:*)
|
||||
echo hppa1.1-hp-lites
|
||||
exit 0 ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY*[A-Z]90:*:*:*)
|
||||
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
|
||||
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
|
||||
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
|
||||
exit 0 ;;
|
||||
CRAY*TS:*:*:*)
|
||||
echo t90-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
F300:UNIX_System_V:*:*)
|
||||
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit 0 ;;
|
||||
F301:UNIX_System_V:*:*)
|
||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
hp300:OpenBSD:*:*)
|
||||
echo m68k-unknown-openbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i?86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
*:FreeBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit 0 ;;
|
||||
*:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
*:OpenBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
i*:CYGWIN*:*)
|
||||
echo i386-pc-cygwin32
|
||||
exit 0 ;;
|
||||
i*:MINGW*:*)
|
||||
echo i386-pc-mingw32
|
||||
exit 0 ;;
|
||||
p*:CYGWIN*:*)
|
||||
echo powerpcle-unknown-cygwin32
|
||||
exit 0 ;;
|
||||
prep*:SunOS:5.*:*)
|
||||
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
*:GNU:*:*)
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
exit 0 ;;
|
||||
*:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us.
|
||||
ld_help_string=`ld --help 2>&1`
|
||||
ld_supported_emulations=`echo $ld_help_string \
|
||||
| sed -ne '/supported emulations:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported emulations: *//
|
||||
s/ .*//
|
||||
p'`
|
||||
case "$ld_supported_emulations" in
|
||||
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
|
||||
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
|
||||
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
|
||||
esac
|
||||
|
||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
||||
sed 's/^ //' <<EOF >dummy.s
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
.frame \$30,0,\$26,0
|
||||
.prologue 0
|
||||
.long 0x47e03d80 # implver $0
|
||||
lda \$2,259
|
||||
.long 0x47e20c21 # amask $2,$1
|
||||
srl \$1,8,\$2
|
||||
sll \$2,2,\$2
|
||||
sll \$0,3,\$0
|
||||
addl \$1,\$0,\$0
|
||||
addl \$2,\$0,\$0
|
||||
ret \$31,(\$26),1
|
||||
.end main
|
||||
EOF
|
||||
LIBC=""
|
||||
${CC-cc} dummy.s -o dummy 2>/dev/null
|
||||
if test "$?" = 0 ; then
|
||||
./dummy
|
||||
case "$?" in
|
||||
7)
|
||||
UNAME_MACHINE="alpha"
|
||||
;;
|
||||
15)
|
||||
UNAME_MACHINE="alphaev5"
|
||||
;;
|
||||
14)
|
||||
UNAME_MACHINE="alphaev56"
|
||||
;;
|
||||
10)
|
||||
UNAME_MACHINE="alphapca56"
|
||||
;;
|
||||
16)
|
||||
UNAME_MACHINE="alphaev6"
|
||||
;;
|
||||
esac
|
||||
|
||||
objdump --private-headers dummy | \
|
||||
grep ld.so.1 > /dev/null
|
||||
if test "$?" = 0 ; then
|
||||
LIBC="libc1"
|
||||
fi
|
||||
fi
|
||||
rm -f dummy.s dummy
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "mips" ; then
|
||||
cat >dummy.c <<EOF
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __MIPSEB__
|
||||
printf ("%s-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
#ifdef __MIPSEL__
|
||||
printf ("%sel-unknown-linux-gnu\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
else
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld)
|
||||
# or one that does not give us useful --help.
|
||||
# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
|
||||
# If ld does not provide *any* "supported emulations:"
|
||||
# that means it is gnuoldld.
|
||||
echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
|
||||
test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
|
||||
|
||||
case "${UNAME_MACHINE}" in
|
||||
i?86)
|
||||
VENDOR=pc;
|
||||
;;
|
||||
*)
|
||||
VENDOR=unknown;
|
||||
;;
|
||||
esac
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
cat >dummy.c <<EOF
|
||||
#include <features.h>
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __ELF__
|
||||
# ifdef __GLIBC__
|
||||
# if __GLIBC__ >= 2
|
||||
printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
# else
|
||||
printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
|
||||
# endif
|
||||
#else
|
||||
printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
fi ;;
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||
# are messed up and put the nodename in both sysname and nodename.
|
||||
i?86:DYNIX/ptx:4*:*)
|
||||
echo i386-sequent-sysv4
|
||||
exit 0 ;;
|
||||
i?86:UNIX_SV:4.2MP:2.*)
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# I just have to hope. -- rms.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||
exit 0 ;;
|
||||
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i?86:*:3.2:*)
|
||||
if test -f /usr/options/cb.name; then
|
||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
|
||||
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||
&& UNAME_MACHINE=i586
|
||||
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-pc-sysv32
|
||||
fi
|
||||
exit 0 ;;
|
||||
pc:*:*:*)
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i386.
|
||||
echo i386-pc-msdosdjgpp
|
||||
exit 0 ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit 0 ;;
|
||||
paragon:*:*:*)
|
||||
echo i860-intel-osf1
|
||||
exit 0 ;;
|
||||
i860:*:4.*:*) # i860-SVR4
|
||||
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
||||
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
|
||||
else # Add other i860-SVR4 vendors below as they are discovered.
|
||||
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
|
||||
fi
|
||||
exit 0 ;;
|
||||
mini*:CTIX:SYS*5:*)
|
||||
# "miniframe"
|
||||
echo m68010-convergent-sysv
|
||||
exit 0 ;;
|
||||
M68*:*:R3V[567]*:*)
|
||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
|
||||
OS_REL=''
|
||||
test -r /etc/.relid \
|
||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||
m68*:LynxOS:2.*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mc68030:UNIX_System_V:4.*:*)
|
||||
echo m68k-atari-sysv4
|
||||
exit 0 ;;
|
||||
i?86:LynxOS:2.*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.*:*)
|
||||
echo sparc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
echo mips-dde-sysv${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RM*:SINIX-*:*:*)
|
||||
echo mips-sni-sysv4
|
||||
exit 0 ;;
|
||||
*:SINIX-*:*:*)
|
||||
if uname -p 2>/dev/null >/dev/null ; then
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
echo ${UNAME_MACHINE}-sni-sysv4
|
||||
else
|
||||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit 0 ;;
|
||||
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit 0 ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
echo hppa1.1-stratus-sysv4
|
||||
exit 0 ;;
|
||||
*:*:*:FTX*)
|
||||
# From seanf@swdc.stratus.com.
|
||||
echo i860-stratus-sysv4
|
||||
exit 0 ;;
|
||||
mc68*:A/UX:*:*)
|
||||
echo m68k-apple-aux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
news*:NEWS-OS:*:6*)
|
||||
echo mips-sony-newsos6
|
||||
exit 0 ;;
|
||||
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-pc-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
#if !defined (ultrix)
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
#else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
954
config.sub
vendored
954
config.sub
vendored
@@ -1,954 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
#
|
||||
# This file 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., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
# Each package is responsible for reporting which valid configurations
|
||||
# it does not support. The user should be able to distinguish
|
||||
# a failure to support a valid configuration from a meaningless
|
||||
# configuration.
|
||||
|
||||
# The goal of this file is to map all the various variations of a given
|
||||
# machine specification into a single specification in the form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or in some cases, the newer four-part form:
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
linux-gnu*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
*)
|
||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||
if [ $basic_machine != $1 ]
|
||||
then os=`echo $1 | sed 's/.*-/-/'`
|
||||
else os=; fi
|
||||
;;
|
||||
esac
|
||||
|
||||
### Let's recognize common machines as not being operating systems so
|
||||
### that things like config.sub decstation-3100 work. We also
|
||||
### recognize some manufacturers as not being operating systems, so we
|
||||
### can provide default operating systems below.
|
||||
case $os in
|
||||
-sun*os*)
|
||||
# Prevent following clause from handling this invalid input.
|
||||
;;
|
||||
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
|
||||
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
|
||||
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
-sco5)
|
||||
os=sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco4)
|
||||
os=-sco3.2v4
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2v[4-9]*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-isc)
|
||||
os=-isc2.2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-clix*)
|
||||
basic_machine=clipper-intergraph
|
||||
;;
|
||||
-isc*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-lynx*)
|
||||
os=-lynxos
|
||||
;;
|
||||
-ptx*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-windowsnt*)
|
||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||
;;
|
||||
-psos*)
|
||||
os=-psos
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode aliases for certain CPU-COMPANY combinations.
|
||||
case $basic_machine in
|
||||
# Recognize the basic CPU types without company name.
|
||||
# Some are omitted here because they have special meanings below.
|
||||
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
|
||||
| arme[lb] | pyramid | mn10200 | mn10300 \
|
||||
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
|
||||
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
|
||||
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
|
||||
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| sparc | sparclet | sparclite | sparc64 | v850)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i[3456]86)
|
||||
basic_machine=$basic_machine-pc
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
*-*-*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
|
||||
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
|
||||
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
|
||||
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
|
||||
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
|
||||
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
|
||||
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
|
||||
| sparc64-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| f301-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
basic_machine=m68000-att
|
||||
;;
|
||||
3b*)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
alliant | fx80)
|
||||
basic_machine=fx80-alliant
|
||||
;;
|
||||
altos | altos3068)
|
||||
basic_machine=m68k-altos
|
||||
;;
|
||||
am29k)
|
||||
basic_machine=a29k-none
|
||||
os=-bsd
|
||||
;;
|
||||
amdahl)
|
||||
basic_machine=580-amdahl
|
||||
os=-sysv
|
||||
;;
|
||||
amiga | amiga-*)
|
||||
basic_machine=m68k-cbm
|
||||
;;
|
||||
amigaos | amigados)
|
||||
basic_machine=m68k-cbm
|
||||
os=-amigaos
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
basic_machine=m68k-apollo
|
||||
os=-sysv
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
;;
|
||||
balance)
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c2)
|
||||
basic_machine=c2-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c32)
|
||||
basic_machine=c32-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c34)
|
||||
basic_machine=c34-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c38)
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
da30 | da30-*)
|
||||
basic_machine=m68k-da30
|
||||
;;
|
||||
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||
basic_machine=mips-dec
|
||||
;;
|
||||
delta | 3300 | motorola-3300 | motorola-delta \
|
||||
| 3300-motorola | delta-motorola)
|
||||
basic_machine=m68k-motorola
|
||||
;;
|
||||
delta88)
|
||||
basic_machine=m88k-motorola
|
||||
os=-sysv3
|
||||
;;
|
||||
dpx20 | dpx20-*)
|
||||
basic_machine=rs6000-bull
|
||||
os=-bosx
|
||||
;;
|
||||
dpx2* | dpx2*-bull)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
ebmon29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-ebmon
|
||||
;;
|
||||
elxsi)
|
||||
basic_machine=elxsi-elxsi
|
||||
os=-bsd
|
||||
;;
|
||||
encore | umax | mmax)
|
||||
basic_machine=ns32k-encore
|
||||
;;
|
||||
fx2800)
|
||||
basic_machine=i860-alliant
|
||||
;;
|
||||
genix)
|
||||
basic_machine=ns32k-ns
|
||||
;;
|
||||
gmicro)
|
||||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
h8300hms)
|
||||
basic_machine=h8300-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
harris)
|
||||
basic_machine=m88k-harris
|
||||
os=-sysv3
|
||||
;;
|
||||
hp300-*)
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp300bsd)
|
||||
basic_machine=m68k-hp
|
||||
os=-bsd
|
||||
;;
|
||||
hp300hpux)
|
||||
basic_machine=m68k-hp
|
||||
os=-hpux
|
||||
;;
|
||||
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||
basic_machine=m68000-hp
|
||||
;;
|
||||
hp9k3[2-9][0-9])
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||
basic_machine=hppa1.1-hp
|
||||
;;
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
i370-ibm* | ibm*)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||
i[3456]86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i[3456]86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i[3456]86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i[3456]86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
iris | iris4d)
|
||||
basic_machine=mips-sgi
|
||||
case $os in
|
||||
-irix*)
|
||||
;;
|
||||
*)
|
||||
os=-irix4
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
isi68 | isi)
|
||||
basic_machine=m68k-isi
|
||||
os=-sysv
|
||||
;;
|
||||
m88k-omron*)
|
||||
basic_machine=m88k-omron
|
||||
;;
|
||||
magnum | m3230)
|
||||
basic_machine=mips-mips
|
||||
os=-sysv
|
||||
;;
|
||||
merlin)
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
mipsel*-linux*)
|
||||
basic_machine=mipsel-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips*-linux*)
|
||||
basic_machine=mips-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
mips3*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
;;
|
||||
news | news700 | news800 | news900)
|
||||
basic_machine=m68k-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news1000)
|
||||
basic_machine=m68030-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news-3600 | risc-news)
|
||||
basic_machine=mips-sony
|
||||
os=-newsos
|
||||
;;
|
||||
next | m*-next )
|
||||
basic_machine=m68k-next
|
||||
case $os in
|
||||
-nextstep* )
|
||||
;;
|
||||
-ns2*)
|
||||
os=-nextstep2
|
||||
;;
|
||||
*)
|
||||
os=-nextstep3
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
nh3000)
|
||||
basic_machine=m68k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nh[45]000)
|
||||
basic_machine=m88k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nindy960)
|
||||
basic_machine=i960-intel
|
||||
os=-nindy
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
pa-hitachi)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
paragon)
|
||||
basic_machine=i860-intel
|
||||
os=-osf
|
||||
;;
|
||||
pbd)
|
||||
basic_machine=sparc-tti
|
||||
;;
|
||||
pbb)
|
||||
basic_machine=m68k-tti
|
||||
;;
|
||||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pentium | p5)
|
||||
basic_machine=i586-intel
|
||||
;;
|
||||
pentiumpro | p6)
|
||||
basic_machine=i686-intel
|
||||
;;
|
||||
pentium-* | p5-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
k5)
|
||||
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
|
||||
basic_machine=i586-amd
|
||||
;;
|
||||
nexen)
|
||||
# We don't have specific support for Nexgen yet, so just call it a Pentium
|
||||
basic_machine=i586-nexgen
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
rm[46]00)
|
||||
basic_machine=mips-siemens
|
||||
;;
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sps7)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv2
|
||||
;;
|
||||
spur)
|
||||
basic_machine=spur-unknown
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
sun2os3)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun2os4)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun3os3)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun3os4)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4os3)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun4os4)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4sol2)
|
||||
basic_machine=sparc-sun
|
||||
os=-solaris2
|
||||
;;
|
||||
sun3 | sun3-*)
|
||||
basic_machine=m68k-sun
|
||||
;;
|
||||
sun4)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
tx39)
|
||||
basic_machine=mipstx39-unknown
|
||||
;;
|
||||
tx39el)
|
||||
basic_machine=mipstx39el-unknown
|
||||
;;
|
||||
tower | tower-32)
|
||||
basic_machine=m68k-ncr
|
||||
;;
|
||||
udi29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
ultra3)
|
||||
basic_machine=a29k-nyu
|
||||
os=-sym1
|
||||
;;
|
||||
vaxv)
|
||||
basic_machine=vax-dec
|
||||
os=-sysv
|
||||
;;
|
||||
vms)
|
||||
basic_machine=vax-dec
|
||||
os=-vms
|
||||
;;
|
||||
vpp*|vx|vx-*)
|
||||
basic_machine=f301-fujitsu
|
||||
;;
|
||||
vxworks960)
|
||||
basic_machine=i960-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks68)
|
||||
basic_machine=m68k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks29k)
|
||||
basic_machine=a29k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
;;
|
||||
|
||||
# Here we handle the default manufacturer of certain CPU types. It is in
|
||||
# some cases the only manufacturer, in others, it is the most popular.
|
||||
mips)
|
||||
if [ x$os = x-linux-gnu ]; then
|
||||
basic_machine=mips-unknown
|
||||
else
|
||||
basic_machine=mips-mips
|
||||
fi
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
rs6000)
|
||||
basic_machine=rs6000-ibm
|
||||
;;
|
||||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sparc)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
orion)
|
||||
basic_machine=orion-highlevel
|
||||
;;
|
||||
orion105)
|
||||
basic_machine=clipper-highlevel
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we canonicalize certain aliases for manufacturers.
|
||||
case $basic_machine in
|
||||
*-digital*)
|
||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||
;;
|
||||
*-commodore*)
|
||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
-solaris)
|
||||
os=-solaris2
|
||||
;;
|
||||
-svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-unixware*)
|
||||
os=-sysv4.2uw
|
||||
;;
|
||||
-gnu/linux*)
|
||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||
;;
|
||||
# First accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -uxpv*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-linux*)
|
||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||
;;
|
||||
-sunos5*)
|
||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||
;;
|
||||
-sunos6*)
|
||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
-dynix*)
|
||||
os=-bsd
|
||||
;;
|
||||
-acis*)
|
||||
os=-aos
|
||||
;;
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
-sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
;;
|
||||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-triton*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-svr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
-svr3)
|
||||
os=-sysv3
|
||||
;;
|
||||
-sysvr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
# This must come after -sysvr4.
|
||||
-sysv*)
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
# Get rid of the `-' at the beginning of $os.
|
||||
os=`echo $os | sed 's/[^-]*-//'`
|
||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
||||
# Here we handle the default operating systems that come with various machines.
|
||||
# The value should be what the vendor currently ships out the door with their
|
||||
# machine or put another way, the most popular os provided with the machine.
|
||||
|
||||
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
||||
# "-sun"), then you have to tell the case statement up towards the top
|
||||
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
||||
# will signal an error saying that MANUFACTURER isn't an operating
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
*-acorn)
|
||||
os=-riscix1.2
|
||||
;;
|
||||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
pdp11-*)
|
||||
os=-none
|
||||
;;
|
||||
*-dec | vax-*)
|
||||
os=-ultrix4.2
|
||||
;;
|
||||
m68*-apollo)
|
||||
os=-domain
|
||||
;;
|
||||
i386-sun)
|
||||
os=-sunos4.0.2
|
||||
;;
|
||||
m68000-sun)
|
||||
os=-sunos3
|
||||
# This also exists in the configure program, but was not the
|
||||
# default.
|
||||
# os=-sunos4
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=-sysv3
|
||||
;;
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-hp)
|
||||
os=-hpux
|
||||
;;
|
||||
*-hitachi)
|
||||
os=-hiux
|
||||
;;
|
||||
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
||||
os=-sysv
|
||||
;;
|
||||
*-cbm)
|
||||
os=-amigaos
|
||||
;;
|
||||
*-dg)
|
||||
os=-dgux
|
||||
;;
|
||||
*-dolphin)
|
||||
os=-sysv3
|
||||
;;
|
||||
m68k-ccur)
|
||||
os=-rtu
|
||||
;;
|
||||
m88k-omron*)
|
||||
os=-luna
|
||||
;;
|
||||
*-next )
|
||||
os=-nextstep
|
||||
;;
|
||||
*-sequent)
|
||||
os=-ptx
|
||||
;;
|
||||
*-crds)
|
||||
os=-unos
|
||||
;;
|
||||
*-ns)
|
||||
os=-genix
|
||||
;;
|
||||
i370-*)
|
||||
os=-mvs
|
||||
;;
|
||||
*-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
*-gould)
|
||||
os=-sysv
|
||||
;;
|
||||
*-highlevel)
|
||||
os=-bsd
|
||||
;;
|
||||
*-encore)
|
||||
os=-bsd
|
||||
;;
|
||||
*-sgi)
|
||||
os=-irix
|
||||
;;
|
||||
*-siemens)
|
||||
os=-sysv4
|
||||
;;
|
||||
*-masscomp)
|
||||
os=-rtu
|
||||
;;
|
||||
f301-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*)
|
||||
os=-none
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Here we handle the case where we know the os, and the CPU type, but not the
|
||||
# manufacturer. We pick the logical manufacturer.
|
||||
vendor=unknown
|
||||
case $basic_machine in
|
||||
*-unknown)
|
||||
case $os in
|
||||
-riscix*)
|
||||
vendor=acorn
|
||||
;;
|
||||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-hpux*)
|
||||
vendor=hp
|
||||
;;
|
||||
-hiux*)
|
||||
vendor=hitachi
|
||||
;;
|
||||
-unos*)
|
||||
vendor=crds
|
||||
;;
|
||||
-dgux*)
|
||||
vendor=dg
|
||||
;;
|
||||
-luna*)
|
||||
vendor=omron
|
||||
;;
|
||||
-genix*)
|
||||
vendor=ns
|
||||
;;
|
||||
-mvs*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-ptx*)
|
||||
vendor=sequent
|
||||
;;
|
||||
-vxsim* | -vxworks*)
|
||||
vendor=wrs
|
||||
;;
|
||||
-aux*)
|
||||
vendor=apple
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
420
configure.in
420
configure.in
@@ -1,19 +1,70 @@
|
||||
dnl
|
||||
Mnl Configure script for the Gnome library
|
||||
dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
AC_INIT(copyright.txt)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
AM_ACLOCAL_INCLUDE(macros)
|
||||
LIBGTOP_MAJOR_VERSION=2
|
||||
LIBGTOP_MINOR_VERSION=0
|
||||
LIBGTOP_MICRO_VERSION=0
|
||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
||||
LIBGTOP_INTERFACE_AGE=0
|
||||
LIBGTOP_BINARY_AGE=0
|
||||
|
||||
# you can set this to `-snap' for instance to create
|
||||
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||
LIBGTOP_VERSION_SUFFIX=
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
LIBGTOP_SERVER_VERSION=5
|
||||
|
||||
# Version code calculation
|
||||
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
|
||||
|
||||
AC_SUBST(LIBGTOP_MAJOR_VERSION)
|
||||
AC_SUBST(LIBGTOP_MINOR_VERSION)
|
||||
AC_SUBST(LIBGTOP_MICRO_VERSION)
|
||||
AC_SUBST(LIBGTOP_INTERFACE_AGE)
|
||||
AC_SUBST(LIBGTOP_BINARY_AGE)
|
||||
AC_SUBST(LIBGTOP_SERVER_VERSION)
|
||||
AC_SUBST(LIBGTOP_VERSION)
|
||||
AC_SUBST(LIBGTOP_VERSION_CODE)
|
||||
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
|
||||
|
||||
# libtool versioning
|
||||
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
||||
LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
|
||||
LT_REVISION=$LIBGTOP_INTERFACE_AGE
|
||||
LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
|
||||
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
|
||||
AC_SUBST(LT_VERSION_INFO)
|
||||
AC_SUBST(LT_RELEASE)
|
||||
AC_SUBST(LT_CURRENT)
|
||||
AC_SUBST(LT_REVISION)
|
||||
AC_SUBST(LT_AGE)
|
||||
|
||||
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
||||
|
||||
AC_ISC_POSIX
|
||||
AC_PROG_CC
|
||||
AC_STDC_HEADERS
|
||||
AC_ARG_PROGRAM
|
||||
dnl AC_ARG_PROGRAM
|
||||
|
||||
AC_PROG_AWK
|
||||
dnl We need this at some places.
|
||||
libgtop_top_builddir=`pwd`
|
||||
AC_SUBST(libgtop_top_builddir)
|
||||
|
||||
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
|
||||
dnl does not work for libgtop.
|
||||
AC_CHECK_PROGS(AWK, gawk awk, )
|
||||
test -z "$AWK" && AC_MSG_ERROR([Sorry, you need a working awk interpreter.])
|
||||
|
||||
dnl Most people should have a working perl interpreter on their system
|
||||
AC_CHECK_PROGS(PERL, perl5 perl)
|
||||
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
||||
|
||||
AC_CHECK_TOOL(CC,gcc)
|
||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||
@@ -32,44 +83,112 @@ export cross_compiling
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
AM_INIT_AUTOMAKE(libgtop, 0.01)
|
||||
dnl Let the user enable compiler warnings
|
||||
dnl GNOME_COMPILE_WARNINGS
|
||||
|
||||
dnl If you want to use libgtop without gnome, comment the following line out.
|
||||
GNOME_INIT_HOOK(gnome_found=yes)
|
||||
dnl GNOME_INIT_HOOK(gnome_found=yes)
|
||||
|
||||
if test "x$gnome_found" != xyes; then
|
||||
GNOME_SUPPORT_CHECKS
|
||||
else
|
||||
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
dnl if test "x$gnome_found" != xyes; then
|
||||
dnl if test "x$want_gnome" != xno ; then
|
||||
dnl AC_MSG_ERROR([
|
||||
dnl *** GNOME was not found on this system. ***
|
||||
dnl
|
||||
dnl *** If you want to use LibGTop without GNOME, you need
|
||||
dnl *** to give configure the --without-gnome parameter.
|
||||
dnl ])
|
||||
dnl else
|
||||
dnl AC_DEFINE(WITHOUT_GNOME)
|
||||
dnl fi
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
dnl else
|
||||
dnl if test "x$want_gnome" != xno ; then
|
||||
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||
dnl else
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
dnl fi
|
||||
dnl fi
|
||||
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||
|
||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
|
||||
GNOME_LIBGTOP_SYSDEPS
|
||||
GNOME_LIBGTOP_TYPES
|
||||
|
||||
dnl AC_ARG_WITH(libgtop-guile,
|
||||
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
|
||||
dnl [build_guile="$withval"], [build_guile=yes])
|
||||
|
||||
dnl if test x$build_guile != xno ; then
|
||||
dnl GNOME_CHECK_GUILE
|
||||
dnl fi
|
||||
|
||||
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
|
||||
|
||||
AC_LC_SYSDEPS
|
||||
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
||||
|
||||
if test x$libgtop_want_guile = xyes ; then
|
||||
GNOME_CHECK_GUILE
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
if test x$libgtop_want_names = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_GUILE_NAMES)
|
||||
fi
|
||||
guile_examples='third third_static'
|
||||
guile_subdirs='guile'
|
||||
else
|
||||
guile_examples=
|
||||
guile_subdirs=
|
||||
fi
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_INODEDB)
|
||||
fi
|
||||
|
||||
AC_DEFINE(GLIBTOP_NAMES)
|
||||
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_GUILE)
|
||||
AC_DEFINE(GLIBTOP_GUILE_NAMES)
|
||||
libgtop_guile_found=yes
|
||||
guile_examples='third'
|
||||
guile_static_examples='third_static'
|
||||
guile_subdirs='guile'
|
||||
else
|
||||
libgtop_guile_found=no
|
||||
guile_examples=
|
||||
guile_static_examples=
|
||||
guile_subdirs=
|
||||
fi
|
||||
|
||||
if test x$libgtop_smp = xyes ; then
|
||||
smp_examples='smp'
|
||||
smp_static_examples='smp_static'
|
||||
else
|
||||
smp_examples=
|
||||
smp_static_examples=
|
||||
fi
|
||||
|
||||
if test "x$enable_static" != xno; then
|
||||
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
|
||||
else
|
||||
static_targets=""
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
||||
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
||||
|
||||
AC_SUBST(static_targets)
|
||||
AC_SUBST(smp_examples)
|
||||
AC_SUBST(guile_examples)
|
||||
AC_SUBST(guile_subdirs)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl You need to uncomment the following line if you want to use libgtop without Gnome.
|
||||
dnl GNOME_SUPPORT_CHECKS
|
||||
GLIB_REQUIRED=2.0.0
|
||||
|
||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
|
||||
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
|
||||
|
||||
dnl You need to uncomment the following line if you want to use
|
||||
dnl libGTop without Gnome.
|
||||
GNOME_SUPPORT_CHECKS
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
@@ -87,11 +206,75 @@ AC_CHECK_TYPE(ssize_t, int)
|
||||
AC_CHECK_HEADERS(memory.h)
|
||||
AC_CHECK_HEADERS(string.h strings.h, break)
|
||||
AC_REPLACE_FUNCS(strerror)
|
||||
AC_CHECK_LIB(kvm, kvm_open)
|
||||
|
||||
dnl dlopen() and dlsym()
|
||||
DL_LIB=
|
||||
AC_CHECK_FUNCS(dlopen,,[
|
||||
AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
|
||||
AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
|
||||
AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
|
||||
])
|
||||
])
|
||||
])
|
||||
oLIBS="$LIBS"
|
||||
LIBS="$LIBS $DL_LIB"
|
||||
AC_CHECK_FUNCS(dlerror,,)
|
||||
LIBS="$oLIBS"
|
||||
AC_SUBST(DL_LIB)
|
||||
|
||||
dnl Solaris
|
||||
AC_CHECK_LIB(kstat, kstat_open)
|
||||
AC_CHECK_FUNCS(getloadavg swapctl)
|
||||
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
||||
|
||||
dnl Some versions of Solaris require -lelf for -lkvm
|
||||
AC_CHECK_LIB(kvm, kvm_open,[
|
||||
LIBS="-lkvm $LIBS"
|
||||
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
||||
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
||||
[ac_save_LIBS="$LIBS"
|
||||
LIBS="-lkvm -lelf $LIBS"
|
||||
AC_TRY_LINK([char kvm_open();], [kvm_open()],
|
||||
ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
|
||||
LIBS="$ac_save_LIBS"
|
||||
])
|
||||
if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LIBS="-lkvm -lelf $LIBS"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl For DEC OSF1
|
||||
AC_CHECK_LIB(mach, vm_statistics)
|
||||
|
||||
dnl For some broken libc5 systems (Debian 1.3)
|
||||
saved_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
||||
GCC_NEED_DECLARATION(program_invocation_name, [
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
])
|
||||
|
||||
CFLAGS=$saved_CFLAGS
|
||||
|
||||
AC_CHECK_FUNC(socket,
|
||||
[AC_CHECK_HEADER(netinet/in.h,
|
||||
[AC_CHECK_HEADER(arpa/inet.h, [
|
||||
AC_DEFINE(HAVE_SOCKETS)
|
||||
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
||||
AC_TRY_LINK([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
],
|
||||
[static struct sockaddr_un x; x.sun_len = 1;],
|
||||
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
||||
[AC_MSG_RESULT(no)])])])])
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
AC_FUNC_MMAP
|
||||
@@ -99,11 +282,23 @@ AC_TYPE_SIGNAL
|
||||
AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||
|
||||
ALL_LINGUAS="fr"
|
||||
AM_GNU_GETTEXT
|
||||
dnl ## 'es_ES' is only needed for format numbers different of 'es'
|
||||
ALL_LINGUAS="az ca da de el es es_ES fi fr ga gl hu ja ko ms nl nn no pl pt pt_BR ru sk sl sv tr uk vi zh_CN zh_TW"
|
||||
|
||||
GETTEXT_PACKAGE=libgtop-2.0
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
|
||||
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
dnl For Solaris
|
||||
dnl Please don't move this before AC_PATH_XTRA
|
||||
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
|
||||
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
|
||||
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
|
||||
|
||||
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
|
||||
dnl So we use the following instead.
|
||||
dnl XE_SPACE(var, words)
|
||||
@@ -115,57 +310,75 @@ $1="$T"
|
||||
|
||||
dnl Autodetect Xauth
|
||||
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
|
||||
test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) }
|
||||
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
||||
test -z "$with_xauth" && with_xauth=yes
|
||||
if test "$with_xauth" = "yes"; then
|
||||
AC_DEFINE(HAVE_XAUTH)
|
||||
XE_SPACE(libs_xauth, $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
|
||||
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
||||
fi
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
AC_SUBST(libs_xauth)
|
||||
|
||||
dnl For diskusage stuff
|
||||
GNOME_FILEUTILS_CHECKS
|
||||
|
||||
CFLAGS="$CFLAGS -D_IN_LIBGTOP"
|
||||
dnl Debugging
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
|
||||
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
|
||||
|
||||
AC_SUBST(CFLAGS)
|
||||
AC_SUBST(CPPFLAGS)
|
||||
AC_SUBST(LDFLAGS)
|
||||
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(GNOME_ENABLE_DEBUG),)
|
||||
|
||||
dnl If you want to use libgtop without gnome, uncomment the following paragraph:
|
||||
dnl LIBSUPPORT=
|
||||
dnl SUPPORTINCS=
|
||||
dnl if test "$need_gnome_support" = yes; then
|
||||
dnl LIBSUPPORT='$(top_builddir)/support/libgnomesupport.la'
|
||||
dnl SUPPORTINCS='-I$(top_srcdir)/support'
|
||||
dnl fi
|
||||
dnl AC_SUBST(LIBSUPPORT)
|
||||
dnl AC_SUBST(SUPPORTINCS)
|
||||
|
||||
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS, we include it here.
|
||||
echo "$GNOME_LIBS" | grep -q -e '-lgnomesupport'
|
||||
if test $? = 0 ; then
|
||||
if test "x$gnome_found" = xyes ; then
|
||||
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||
SUPPORTINCS="$GNOME_INCLUDEDIR"
|
||||
else
|
||||
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
|
||||
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
|
||||
fi
|
||||
|
||||
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
|
||||
dnl we include it here.
|
||||
case "$GNOME_LIBS" in
|
||||
'*-lgnomesupport*' )
|
||||
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
|
||||
esac
|
||||
AC_SUBST(LIBSUPPORT)
|
||||
AC_SUBST(SUPPORTINCS)
|
||||
|
||||
dnl These definitions are expanded in make.
|
||||
LIBGTOP_LIBS='-L$(libdir)'
|
||||
LIBGTOP_INCS='-I$(includedir)'
|
||||
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
|
||||
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
|
||||
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
|
||||
LIBGTOP_BINDIR='$(bindir)'
|
||||
LIBGTOP_SERVER='$(bindir)/gtop_server'
|
||||
LIBGTOP_SERVER='$(bindir)/libgtop_server'
|
||||
|
||||
sysdeps_dir="$libgtop_sysdeps_dir"
|
||||
AC_SUBST(sysdeps_dir)
|
||||
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
|
||||
libgtop_guile_found=yes
|
||||
else
|
||||
libgtop_guile_found=no
|
||||
@@ -173,63 +386,74 @@ fi
|
||||
|
||||
AC_SUBST(libgtop_guile_found)
|
||||
|
||||
if test x$libgtop_want_names = xyes ; then
|
||||
if test x$ac_cv_guile_found = xyes ; then
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names"
|
||||
libgtop_want_guile_names=yes
|
||||
else
|
||||
libgtop_want_guile_names=no
|
||||
fi
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_names"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_names"
|
||||
fi
|
||||
|
||||
AC_SUBST(libgtop_want_guile_names)
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_common"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_common"
|
||||
|
||||
if test "x$need_server" = "xyes" ; then
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop"
|
||||
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
||||
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
||||
else
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop_sysdeps"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_sysdeps"
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
||||
fi
|
||||
|
||||
if test "x$ac_cv_guile_found" = "xyes" ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS $GUILE_INCS"
|
||||
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS $GUILE_INCS"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
|
||||
fi
|
||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
||||
|
||||
machine_incs='-I$(top_srcdir)/sysdeps/@sysdeps_dir@'
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
|
||||
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
|
||||
|
||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
|
||||
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
|
||||
|
||||
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
|
||||
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
|
||||
|
||||
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
|
||||
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
|
||||
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
|
||||
|
||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
||||
|
||||
AC_SUBST(machine_incs)
|
||||
|
||||
if test x$libgtop_guile_found = xyes ; then
|
||||
guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
|
||||
else
|
||||
guile_def=""
|
||||
fi
|
||||
|
||||
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
||||
|
||||
AC_SUBST(INCLUDES)
|
||||
|
||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
AC_SUBST(LIBGTOP_LIBS)
|
||||
AC_SUBST(LIBGTOP_INCS)
|
||||
AC_SUBST(LIBGTOP_NAMES_LIBS)
|
||||
AC_SUBST(LIBGTOP_NAMES_INCS)
|
||||
AC_SUBST(LIBGTOP_GUILE_LIBS)
|
||||
AC_SUBST(LIBGTOP_GUILE_INCS)
|
||||
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
|
||||
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
|
||||
AC_SUBST(LIBGTOP_BINDIR)
|
||||
AC_SUBST(LIBGTOP_SERVER)
|
||||
|
||||
LIBSUPPORT=
|
||||
SUPPORTINCS=
|
||||
if test "$need_gnome_support" = yes; then
|
||||
if test "x$gnome_found" = xyes ; then
|
||||
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||
SUPPORTINCS="$GNOME_INCLUDEDIR"
|
||||
else
|
||||
LIBSUPPORT='$(top_builddir)/support/libgnomesupport.la'
|
||||
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
|
||||
fi
|
||||
if test x$libgtop_need_server = xyes ; then
|
||||
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
||||
server_programs='libgtop_server'
|
||||
else
|
||||
sysdeps_suid_lib=
|
||||
server_programs=
|
||||
fi
|
||||
AC_SUBST(sysdeps_suid_lib)
|
||||
AC_SUBST(server_programs)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
libgtop.spec
|
||||
po/Makefile.in
|
||||
intl/Makefile
|
||||
misc/Makefile
|
||||
include/Makefile
|
||||
include/glibtop/Makefile
|
||||
sysdeps/Makefile
|
||||
@@ -238,15 +462,19 @@ sysdeps/names/Makefile
|
||||
sysdeps/guile/Makefile
|
||||
sysdeps/guile/names/Makefile
|
||||
sysdeps/stub/Makefile
|
||||
sysdeps/stub_suid/Makefile
|
||||
sysdeps/sun4/Makefile
|
||||
sysdeps/osf1/Makefile
|
||||
sysdeps/linux/Makefile
|
||||
sysdeps/kernel/Makefile
|
||||
sysdeps/freebsd/Makefile
|
||||
sysdeps/solaris/Makefile
|
||||
src/Makefile
|
||||
src/server/Makefile
|
||||
src/proxy/Makefile
|
||||
src/daemon/Makefile
|
||||
src/inodedb/Makefile
|
||||
lib/Makefile
|
||||
examples/Makefile
|
||||
doc/Makefile
|
||||
support/Makefile
|
||||
macros/Makefile],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
|
||||
libgtop-2.0.pc
|
||||
])
|
||||
|
@@ -1,21 +1,23 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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.
|
||||
*/
|
||||
|
||||
|
9
debian/.cvsignore
vendored
Normal file
9
debian/.cvsignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
control
|
||||
rules
|
||||
build
|
||||
tmp
|
||||
*.postinst
|
||||
*.debhelper
|
||||
*.files
|
||||
files
|
||||
substvars
|
9
debian/README.Debian
vendored
Normal file
9
debian/README.Debian
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
LibGTop CVS snapshots for Debian
|
||||
--------------------------------
|
||||
|
||||
This is a debian package made from a stable release of LibGTop, but it
|
||||
should be considered "unofficial" since I'm not a Debian Maintainer.
|
||||
|
||||
|
||||
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100
|
||||
|
121
debian/changelog
vendored
Normal file
121
debian/changelog
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
libgtop (1.0.7-1) unstable; urgency=low
|
||||
* New upstream source (1.0.7 "Copenhagen" release)
|
||||
* Non-maintainer upload; since I'm not a Debian maintainer, this is some
|
||||
kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
|
||||
can be considered stable and working.
|
||||
|
||||
-- Martin Baulig <martin@home-of-linux.org> Wed, 16 Feb 2000 16:40:50 +0100
|
||||
|
||||
libgtop (1.0.6-1) unstable; urgency=low
|
||||
* New upstream source
|
||||
|
||||
-- Ian Lynagh (wibble) <igloo@debian.org> Wed, 20 Oct 1999 16:16:27 +0100
|
||||
|
||||
libgtop (1.0.4.5pre1-1) frozen unstable; urgency=low
|
||||
* New upstream source (1.0.5 pre release)
|
||||
* Maintainer e-mail address changed to igloo@debian.org
|
||||
|
||||
-- Ian Lynagh (wibble) <igloo@debian.org> Thu, 30 Sep 1999 22:37:33 +0100
|
||||
|
||||
libgtop (1.0.4-1) frozen unstable; urgency=low
|
||||
* New upstream source
|
||||
* Removed nasty sed stuff from the rules in favour of make install prefix=...
|
||||
* Added .la files to libgtop-dev
|
||||
* Added info to the copyright file
|
||||
* Wrote simple man page for libgtop-config.
|
||||
* Recompiled with later debhelper so docs go to /usr/share/doc as per FHS
|
||||
* changed infodir to /usr/share/info
|
||||
|
||||
-- Ian Lynagh (wibble) <igloo@debian.org> Mon, 20 Sep 1999 00:06:16 +0100
|
||||
|
||||
libgtop (1.0.1-2) frozen unstable; urgency=low
|
||||
|
||||
* Didn't actually use wildcards in libgtop-dev.files because tar complained
|
||||
* Set section names properly
|
||||
|
||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
|
||||
|
||||
libgtop (1.0.1-1) frozen unstable; urgency=low
|
||||
|
||||
* SONAME changed back to 1. Fun fun fun.
|
||||
* Added RELNOTES-1.0 to debian/libgtop1.docs and debian/rules
|
||||
* Changed libgtop1.README.Debian to at least make sense
|
||||
* Used wildcards in libgtop-dev.files
|
||||
|
||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 7 Mar 1999 00:53:50 +0000
|
||||
|
||||
libgtop (1.0.1-0.1) unstable; urgency=low
|
||||
|
||||
* Non-maintainer upload for GNOME 1.0
|
||||
|
||||
-- Jules Bean <jules@debian.org> Thu, 4 Mar 1999 22:34:12 +0000
|
||||
|
||||
libgtop (0.99.2-0.2) unstable; urgency=low
|
||||
|
||||
* Oops, forgot some files.
|
||||
|
||||
-- Jim Pick <jim@jimpick.com> Sun, 24 Jan 1999 02:12:24 -0800
|
||||
|
||||
libgtop (0.99.2-0.1) unstable; urgency=low
|
||||
|
||||
* Non-maintainer upload.
|
||||
* New upstream source.
|
||||
* SONAME is now 0 again. Hmmm.
|
||||
|
||||
-- Jim Pick <jim@jimpick.com> Sat, 23 Jan 1999 20:21:38 -0800
|
||||
|
||||
libgtop (0.26.2-4) frozen unstable; urgency=low
|
||||
|
||||
* Upstream changelog installed as changelog
|
||||
* debian/shlibs.local removed in favour of the LD_LIBRARY_PATH line
|
||||
|
||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Thu, 26 Nov 1998 17:20:24 +0000
|
||||
|
||||
libgtop (0.26.2-3.1) frozen unstable; urgency=low
|
||||
|
||||
* Non-maintainer upload.
|
||||
* Upload to frozen, corrects Bug #29110, Bug #29111, which were
|
||||
already fixed.
|
||||
* Noticed that guile option is no longer being used, so I removed
|
||||
the dependency.
|
||||
* Added changelog (to fix lintian error).
|
||||
* Changed control file to use macro substitutions. This is a much
|
||||
less error-prone way of building dependencies than doing them by
|
||||
hand.
|
||||
* Added -V option to dh_makeshlibs to put version number on shlibs
|
||||
file.
|
||||
* Added shlibs.local file with null entry for "libgtop 1" (and
|
||||
others) so libgtop1 doesn't declare a relationship on itself.
|
||||
|
||||
-- Jim Pick <jim@jimpick.com> Wed, 25 Nov 1998 12:03:12 -0800
|
||||
|
||||
libgtop (0.26.2-3) frozen unstable; urgency=low
|
||||
|
||||
* libgtop0 changed to libgtop1
|
||||
* Added an #ifndef strstr around the prototype of strstr in
|
||||
sysdeps/common/mountlist.c as this is a macro under glibc 2.1.
|
||||
|
||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Sun, 8 Nov 1998 12:06:09 +0000
|
||||
|
||||
libgtop (0.26.2-2) frozen unstable; urgency=low
|
||||
|
||||
* Fixes minor bugs in debian/rules
|
||||
|
||||
-- Ian Lynagh <ian@lynagh.demon.co.uk> Fri, 16 Oct 1998 05:30:16 +0200
|
||||
|
||||
libgtop (0.26.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream version
|
||||
* Non-maintainer release
|
||||
|
||||
-- Martin Schulze <joey@finlandia.infodrom.north.de> Fri, 16 Oct 1998 05:30:16 +0200
|
||||
|
||||
libgtop (0.26.0-1) unstable; urgency=low
|
||||
|
||||
* Initial Release.
|
||||
|
||||
-- Jim Pick <jim@jimpick.com> Thu, 24 Sep 1998 18:42:48 -0700
|
||||
|
||||
Local variables:
|
||||
mode: debian-changelog
|
||||
End:
|
33
debian/control.in
vendored
Normal file
33
debian/control.in
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
Source: libgtop@SUFFIX@
|
||||
Maintainer: Martin Baulig <martin@home-of-linux.org>
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Standards-Version: 3.0.0
|
||||
|
||||
Package: libgtop1@SUFFIX@
|
||||
Architecture: any
|
||||
Section: libs
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: Portable system access library (part of Gnome)
|
||||
Gnome is the "GNU Network Object Model Environment"
|
||||
.
|
||||
It is a project to build a complete, user-friendly desktop based
|
||||
entirely on free software.
|
||||
.
|
||||
This package contains the gtop libraries which read information about
|
||||
processes and the running systems.
|
||||
|
||||
Package: libgtop-dev@SUFFIX@
|
||||
Architecture: any
|
||||
Section: devel
|
||||
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
|
||||
Description: Dev libraries for the portable system access library (part of Gnome)
|
||||
Gnome is the "GNU Network Object Model Environment"
|
||||
.
|
||||
It is a project to build a complete, user-friendly desktop based
|
||||
entirely on free software.
|
||||
.
|
||||
This package contains the include files and static library for the
|
||||
gtop libraries which read information about processes and the running
|
||||
systems.
|
||||
|
109
debian/debconfigure
vendored
Executable file
109
debian/debconfigure
vendored
Executable file
@@ -0,0 +1,109 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# debconfigure
|
||||
#
|
||||
# A script to generate a debian/rules file, with options.
|
||||
#
|
||||
# By Jim Pick <jim@jimpick.com>, GPL'd of course.
|
||||
# Adjusted for LibGTop by Martin Baulig <martin@home-of-linux.org>
|
||||
#
|
||||
|
||||
if [ ! -r rules.in ]; then
|
||||
echo "Please run the debconfigure script in the debian directory" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
debtype='official'
|
||||
prefix='/usr'
|
||||
gnomeprefix='/usr'
|
||||
localstatedir='/var/lib'
|
||||
pkgsuffix=''
|
||||
|
||||
for dc_option
|
||||
do
|
||||
case "$dc_option" in
|
||||
-*=*) dc_optarg=`echo "$dc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) dc_optarg= ;;
|
||||
esac
|
||||
|
||||
case "$dc_option" in
|
||||
|
||||
--clean)
|
||||
rm -f control rules *~ core *files *menu *substvars *.postinst *.debhelper
|
||||
exit ;;
|
||||
|
||||
--prefix=*)
|
||||
prefix="$dc_optarg" ;;
|
||||
|
||||
--localstatedir=*)
|
||||
prefix="$dc_optarg" ;;
|
||||
|
||||
--pkgsuffix=*)
|
||||
pkgsuffix="$dc_optarg" ;;
|
||||
|
||||
--gnome-prefix=*)
|
||||
gnomeprefix="$dc_optarg" ;;
|
||||
|
||||
--debtype=*)
|
||||
debtype="$dc_optarg" ;;
|
||||
|
||||
*)
|
||||
cat <<EOF 1>&2
|
||||
Usage: debconfigure [options]
|
||||
Options: [defaults in brackets after descriptions]
|
||||
--help print this message
|
||||
--clean remove generated files
|
||||
--prefix=PREFIX install files under under PREFIX dir [/usr]
|
||||
--gnome-prefix=PREFIX look for GNOME under PREFIX dir [/usr]
|
||||
--localstatedir=DIR directory for things like game scores [/var/lib]
|
||||
--pkgsuffix=SUFFIX append SUFFIX onto package names []
|
||||
--debtype=DEBTYPE enable macros with the name of DEBTYPE [official]
|
||||
EOF
|
||||
exit ;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
# Strip leading slash
|
||||
prefix=`expr $prefix : '/\(.*\)'`
|
||||
gnomeprefix=`expr $gnomeprefix : '/\(.*\)'`
|
||||
localstatedir=`expr $localstatedir : '/\(.*\)'`
|
||||
|
||||
for infile in `ls control.in rules.in`
|
||||
do
|
||||
tofile=`expr $infile : '\(.*\)\.in'`
|
||||
cat $infile | \
|
||||
sed "s,@SUFFIX@,$pkgsuffix,g" | \
|
||||
sed "s,@PREFIX@,$prefix,g" | \
|
||||
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
|
||||
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
|
||||
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
|
||||
done
|
||||
chmod +x rules
|
||||
|
||||
for filesfile in `ls *.files.in`
|
||||
do
|
||||
tofile=`expr $filesfile : '\(.*\)\.files\.in'`
|
||||
tofile=`echo $tofile$pkgsuffix.files`
|
||||
cat $filesfile | \
|
||||
sed "s,@SUFFIX@,$pkgsuffix,g" | \
|
||||
sed "s,@PREFIX@,$prefix,g" | \
|
||||
sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
|
||||
sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
|
||||
sed "s,%$debtype>,," | sed '/^%/d' > $tofile
|
||||
done
|
||||
|
||||
for postinst in libgtop1$pkgsuffix
|
||||
do
|
||||
|
||||
cat > $postinst.postinst <<EOF
|
||||
#! /bin/sh
|
||||
|
||||
set -e
|
||||
ldconfig
|
||||
|
||||
#DEBHELPER#
|
||||
EOF
|
||||
|
||||
done
|
||||
|
34
debian/libgtop-config.1
vendored
Normal file
34
debian/libgtop-config.1
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
.TH GTOP l "15 September 1999"
|
||||
.SH NAME
|
||||
\fBlibgtop-config\fP \- libgtop libraries and component information retrieval.
|
||||
.SH SYNTAX
|
||||
.B libgtop-config
|
||||
.RI [ --version ]
|
||||
.RI [ --config ]
|
||||
.RI [ --features-def-file ]
|
||||
.SH DESCRIPTION
|
||||
.B libgtop-config
|
||||
is used to retrieve information from installed libraries in the system.
|
||||
|
||||
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
|
||||
.LP
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-\-version
|
||||
.PD
|
||||
Prints the version of libgtop that you're using.
|
||||
.TP
|
||||
.B \-\-config
|
||||
.PD
|
||||
Prints the location of libgtopConf.sh.
|
||||
.TP
|
||||
.B \-\-version
|
||||
.PD
|
||||
Prints the location of libgtop-features.def.
|
||||
.SH BUGS
|
||||
None known
|
||||
|
||||
.SH AUTHORS
|
||||
Martin Baulig (martin@home-of-linux.org)
|
||||
.TP
|
||||
Josh Sled (jsled@scam.XCF.Berkeley.EDU)
|
24
debian/libgtop-dev.files.in
vendored
Normal file
24
debian/libgtop-dev.files.in
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
@PREFIX@/lib/libgtop.a
|
||||
@PREFIX@/lib/libgtop_common.a
|
||||
@PREFIX@/lib/libgtop_names.a
|
||||
@PREFIX@/lib/libgtop_suid_common.a
|
||||
@PREFIX@/lib/libgtop_sysdeps.a
|
||||
@PREFIX@/lib/libgtop.la
|
||||
@PREFIX@/lib/libgtop_common.la
|
||||
@PREFIX@/lib/libgtop_names.la
|
||||
@PREFIX@/lib/libgtop_suid_common.la
|
||||
@PREFIX@/lib/libgtop_sysdeps.la
|
||||
@PREFIX@/lib/libgtopConf.sh
|
||||
@PREFIX@/lib/libgtop.so
|
||||
@PREFIX@/lib/libgtop_common.so
|
||||
@PREFIX@/lib/libgtop_names.so
|
||||
@PREFIX@/lib/libgtop_suid_common.so
|
||||
@PREFIX@/lib/libgtop_sysdeps.so
|
||||
@PREFIX@/lib/libgtop-features.def
|
||||
@PREFIX@/lib/libgtop/include/*.h
|
||||
@PREFIX@/include/glibtop/*.h
|
||||
@PREFIX@/include/glibtop.h
|
||||
@PREFIX@/include/glibtop_server.h
|
||||
@PREFIX@/include/glibtop_machine.h
|
||||
@PREFIX@/info/libgtop.info
|
||||
@PREFIX@/bin/libgtop-config
|
5
debian/libgtop1.README.Debian
vendored
Normal file
5
debian/libgtop1.README.Debian
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
The Debian package of libgtop, a GNOME library.
|
||||
|
||||
--
|
||||
Martin Baulig <martin@home-of-linux.org>
|
12
debian/libgtop1.copyright
vendored
Normal file
12
debian/libgtop1.copyright
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
libgtop is released under the GPL.
|
||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
||||
Public License can be found in /usr/share/common-licenses/GPL
|
||||
|
||||
Original authors: Martin Baulig <martin@home-of-linux.org>
|
||||
Drazen Kacar <dave@srce.hr>
|
||||
|
||||
Originally Debianised by Jim Pick <jim@jimpick.com>
|
||||
Then re-Debianised in October 1998 by Martin Schulze
|
||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
|
||||
<ian@lynagh.demon.co.uk> in November 1998.
|
5
debian/libgtop1.docs
vendored
Normal file
5
debian/libgtop1.docs
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
RELNOTES-0.25
|
||||
RELNOTES-1.0.x
|
||||
NEWS
|
||||
AUTHORS
|
||||
debian/changelog
|
4
debian/libgtop1.files.in
vendored
Normal file
4
debian/libgtop1.files.in
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9][0-9].[0-9]
|
||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9].[0-9]
|
||||
@PREFIX@/lib/libgtop*.so.[0-9]
|
||||
@PREFIX@/share/locale/*/*/libgtop.mo
|
115
debian/rules.in
vendored
Executable file
115
debian/rules.in
vendored
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/make -f
|
||||
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
|
||||
# This version is for a hypothetical package that builds an
|
||||
# architecture-dependant package, as well as an architecture-independent
|
||||
# package.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
i=$(shell pwd)/debian/tmp
|
||||
b=$(shell pwd)/debian/build
|
||||
|
||||
configure: configure.in
|
||||
@echo "--- Making configure script and configuring"
|
||||
chmod +x autogen.sh
|
||||
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
||||
--localstatedir=/@LOCALSTATEDIR@
|
||||
|
||||
Makefile: configure
|
||||
@echo "--- Configuring"
|
||||
./configure --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
||||
--localstatedir=/@LOCALSTATEDIR@
|
||||
|
||||
build: configure Makefile build-debstamp
|
||||
build-debstamp:
|
||||
@echo "--- Compiling"
|
||||
dh_testdir
|
||||
$(MAKE) all
|
||||
touch build-debstamp
|
||||
|
||||
clean: Makefile
|
||||
@echo "--- Cleaning"
|
||||
dh_testdir
|
||||
dh_clean
|
||||
-rm -rf static shared
|
||||
-rm -f build-debstamp install-debstamp
|
||||
-make -k distclean
|
||||
-rm -f `find . -name "*~"`
|
||||
-rm -f `find . -name "*\.la"`
|
||||
-rm -rf `find . -name "\.deps"`
|
||||
-rm -rf `find . -name "\.libs"`
|
||||
-rm -rf `find . -name "*\.rej"`
|
||||
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
|
||||
-rm -f debian/*substvars
|
||||
|
||||
install: build install-debstamp
|
||||
install-debstamp:
|
||||
@echo "--- Installing"
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -rf $(b)
|
||||
$(MAKE) install prefix=$(i)/@PREFIX@ exec_prefix=$(i)/@PREFIX@ \
|
||||
localstatedir=$(i)/@LOCALSTATEDIR@
|
||||
touch install-debstamp
|
||||
|
||||
install-save: install
|
||||
rm -rf $(i).saved
|
||||
cp -a $(i) $(i).saved
|
||||
|
||||
install-saved:
|
||||
rm -rf $(i)
|
||||
cp -a $(i).saved $(i)
|
||||
rm -rf $(b)
|
||||
touch install-debstamp
|
||||
|
||||
binary-indep: build install
|
||||
|
||||
binary-arch: build install \
|
||||
libgtop1@SUFFIX@ \
|
||||
libgtop-dev@SUFFIX@
|
||||
|
||||
#
|
||||
# libgtop1@SUFFIX@
|
||||
#
|
||||
|
||||
libgtop1@SUFFIX@: install
|
||||
@echo "--- Building: $@"
|
||||
dh_installdocs -p$@ -P$(b)/$@ README NEWS AUTHORS
|
||||
dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
|
||||
dh_movefiles -p$@ -P$(b)/$@
|
||||
dh_strip -p$@ -P$(b)/$@
|
||||
dh_compress -p$@ -P$(b)/$@
|
||||
dh_fixperms -p$@ -P$(b)/$@
|
||||
dh_installdeb -p$@ -P$(b)/$@
|
||||
dh_shlibdeps -p$@ -P$(b)/$@
|
||||
dh_gencontrol -p$@ -P$(b)/$@
|
||||
dh_makeshlibs -p$@ -P$(b)/$@ -V
|
||||
dh_md5sums -p$@ -P$(b)/$@
|
||||
dh_builddeb -p$@ -P$(b)/$@
|
||||
|
||||
#
|
||||
# libgtop-dev
|
||||
#
|
||||
|
||||
libgtop-dev@SUFFIX@: install
|
||||
@echo "--- Building: $@"
|
||||
mkdir -p $(b)/$@/usr/doc
|
||||
cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@
|
||||
dh_movefiles -p$@ -P$(b)/$@
|
||||
dh_strip -p$@ -P$(b)/$@
|
||||
dh_compress -p$@ -P$(b)/$@
|
||||
dh_fixperms -p$@ -P$(b)/$@
|
||||
dh_installdeb -p$@ -P$(b)/$@
|
||||
dh_shlibdeps -p$@ -P$(b)/$@
|
||||
dh_gencontrol -p$@ -P$(b)/$@
|
||||
dh_makeshlibs -p$@ -P$(b)/$@ -V
|
||||
dh_undocumented -p$@ -P$(b)/$@ \
|
||||
libgtop-config.1
|
||||
dh_md5sums -p$@ -P$(b)/$@
|
||||
dh_builddeb -p$@ -P$(b)/$@
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: binary clean binary-indep binary-arch build install install-save install-saved
|
||||
|
||||
|
@@ -1,22 +1,10 @@
|
||||
*.shml
|
||||
.timestamp
|
||||
.timestamp2
|
||||
.timestamp3
|
||||
dbtohtml-1.shtml
|
||||
dbtohtml-2.shtml
|
||||
dbtohtml-3.shtml
|
||||
dbtohtml.shtml
|
||||
gnome-hackers
|
||||
gnome-hackers.ced
|
||||
libgtop
|
||||
libgtop-1.shtml
|
||||
libgtop-2.shtml
|
||||
libgtop-3.shtml
|
||||
libgtop-4.shtml
|
||||
libgtop-5.shtml
|
||||
libgtop-INDEX.shtml
|
||||
libgtop-ref
|
||||
libgtop-ref.ced
|
||||
libgtop.ced
|
||||
libgtop.fot
|
||||
libgtop.shtml
|
||||
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
|
||||
|
49
doc/ChangeLog
Normal file
49
doc/ChangeLog
Normal file
@@ -0,0 +1,49 @@
|
||||
2002-03-12 James Henstridge <james@daa.com.au>
|
||||
|
||||
* Makefile.am (MAKEINFO): using += seems to screw up the build
|
||||
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
|
||||
to be compatible with both.
|
||||
|
||||
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
|
||||
* about.texi: Very minor update.
|
||||
|
||||
1999-10-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* about.texi: Added a note about LibGTop and GNOME.
|
||||
|
||||
* reference.texi (glibtop_proc_state): Fix description of the `state'
|
||||
field for LibGTop 1.0.x.
|
||||
|
||||
1999-09-29 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am (MAKEINFO): Add `-I @libgtop_top_builddir@/doc' here.
|
||||
|
||||
1999-05-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* main.texi: This is now the main file which will @include all
|
||||
chapter files so we can use `texinfo-multiple-files-update'.
|
||||
|
||||
* reference.texi: Added all missing sections with a "not yet written"
|
||||
notice.
|
||||
|
||||
1999-05-16 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* white-paper.texi: Initial version of the LibGTop White Paper.
|
||||
|
||||
* Makefile.am: Create `auto-macros.texi' from `auto-macros.texi.in'
|
||||
which will contain some `@set' commands for the LibGTop version etc.
|
||||
|
||||
* auto-macros.texi.in: New file. This is a template for
|
||||
`auto-macros.texi' which will be automatically generated.
|
||||
|
||||
1999-05-09 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* about.texi: Split the `libgtop.texi' into one file pro chapter,
|
||||
this is the "About LibGTop".
|
||||
|
||||
* reference.texi: The "LibGTop Reference Manual".
|
||||
|
||||
* libgtop.texi: Initial version of the new LibGTop Manual.
|
||||
|
22
doc/Makefile
22
doc/Makefile
@@ -1,22 +0,0 @@
|
||||
all: .timestamp .timestamp2 .timestamp3
|
||||
|
||||
.timestamp: libgtop.sgml
|
||||
rm -rf libgtop
|
||||
mkdir libgtop
|
||||
jade -D /usr/lib/sgml/jade_dsl -d libgtop.dsl -t sgml \
|
||||
-V %no-make-index% libgtop.sgml > /dev/null && \
|
||||
touch .timestamp
|
||||
|
||||
.timestamp2: gnome-hackers.sgml
|
||||
rm -rf gnome-hackers
|
||||
mkdir gnome-hackers
|
||||
jade -D /usr/lib/sgml/jade_dsl -d gnome-hackers.dsl -t sgml \
|
||||
-V %no-make-index% gnome-hackers.sgml > /dev/null && \
|
||||
touch .timestamp2
|
||||
|
||||
.timestamp3: libgtop-ref.sgml ../guile/reference.sgml
|
||||
rm -rf libgtop-ref
|
||||
mkdir libgtop-ref
|
||||
jade -D /usr/lib/sgml/jade_dsl -d libgtop-ref.dsl -t sgml \
|
||||
-V %no-make-index% libgtop-ref.sgml > /dev/null && \
|
||||
touch .timestamp3
|
45
doc/Makefile.am
Normal file
45
doc/Makefile.am
Normal file
@@ -0,0 +1,45 @@
|
||||
info_TEXINFOS = libgtop2.texi
|
||||
|
||||
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
||||
auto-macros.texi version.texi main.texi \
|
||||
white-paper.texi
|
||||
|
||||
MAKEINFO = @MAKEINFO@ -I @libgtop_top_builddir@/doc
|
||||
|
||||
EXTRA_DIST = auto-macros.texi.in
|
||||
|
||||
auto-macros.texi: auto-macros.texi.in Makefile
|
||||
## Use sed and then mv to avoid problems if the user interrupts.
|
||||
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
|
||||
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
|
||||
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
|
||||
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
|
||||
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
|
||||
-e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \
|
||||
-e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
|
||||
-e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
|
||||
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
|
||||
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
|
||||
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
|
||||
-e 's#\%LIBGTOP_MINOR_VERSION\%#$(LIBGTOP_MINOR_VERSION)#g' \
|
||||
-e 's#\%LIBGTOP_MICRO_VERSION\%#$(LIBGTOP_MICRO_VERSION)#g' \
|
||||
-e 's#\%LIBGTOP_VERSION\%#$(LIBGTOP_VERSION)#g' \
|
||||
-e 's#\%LIBGTOP_VERSION_CODE\%#$(LIBGTOP_VERSION_CODE)#g' \
|
||||
-e 's#\%LIBGTOP_SERVER_VERSION\%#$(LIBGTOP_SERVER_VERSION)#g' \
|
||||
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
|
||||
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
|
||||
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
|
||||
-e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \
|
||||
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
|
||||
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
|
||||
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
|
||||
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
|
||||
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
|
||||
else \
|
||||
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
|
||||
fi
|
||||
mv auto-macros.tmp auto-macros.texi
|
123
doc/about.texi
Normal file
123
doc/about.texi
Normal file
@@ -0,0 +1,123 @@
|
||||
@node About, White Paper, Top, Top
|
||||
@chapter About LibGTop
|
||||
|
||||
LibGTop is a library to get system specific data such as CPU and Memory Usage
|
||||
and information about running Processes.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
@menu
|
||||
* Availability:: Where to get LibGTop
|
||||
* Supported Platforms:: Supported Platforms
|
||||
* Mailing List:: Helping with LibGTop development
|
||||
* Thanks:: People who contributed to LibGTop
|
||||
@end menu
|
||||
|
||||
@node Availability, Supported Platforms, About, About
|
||||
@section Availability
|
||||
|
||||
The master source of LibGTop is the GNOME CVS tree
|
||||
(see @uref{http://www.gnome.org} for details), but you can also get the
|
||||
latest release tarballs from
|
||||
|
||||
@display
|
||||
@uref{ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/}
|
||||
@end display
|
||||
|
||||
@noindent
|
||||
or any of its mirror sites.
|
||||
|
||||
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
|
||||
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
|
||||
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
|
||||
currently versioned 1.90.0.
|
||||
|
||||
@node Supported Platforms, Mailing List, Availability, About
|
||||
@section Supported Platforms
|
||||
|
||||
The stable branch currently supports the following platforms:
|
||||
|
||||
@itemize @bullet
|
||||
@item All versions of Linux
|
||||
|
||||
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
|
||||
it should also work without problems on SparcLinux or Linux 2.4.x.
|
||||
|
||||
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
|
||||
|
||||
@item FreeBSD, NetBSD and OpenBSD
|
||||
|
||||
LibGTop was tested under FreeBSD 2.2.6 and 3.0, NetBSD 1.3.2 and OpenBSD 2.4.
|
||||
Support for NetBSD 1.4 was added in LibGTop 1.0.2.
|
||||
|
||||
@end itemize
|
||||
|
||||
The platforms listed above are known to be stable and working. However, if
|
||||
you're using the latest development version, you can use it on the following
|
||||
platforms as well:
|
||||
|
||||
@itemize @bullet
|
||||
@item BSD/OS
|
||||
|
||||
There is a port for BSD/OS (aka BSDI) 2.x and 3.x from Timur Bakeyev which
|
||||
should also work with 4.x. This isn't tested very well, but it should be
|
||||
working.
|
||||
|
||||
@item Digital Unix
|
||||
|
||||
There is some basic support for Digital Unix (formerly DEC OSF/1) V3.2C, but
|
||||
this may still be a bit unstable. I'm currently working on this port as time
|
||||
permits so it should be fully supported soon.
|
||||
|
||||
@item Solaris
|
||||
|
||||
The Solaris port currently works on Solaris 7 and maybe also on other releases.
|
||||
Thanks a lot to Drazen Kacar and everyone who helped working on this port. They
|
||||
have really done excellent work here and I'm pretty sure that this port will be
|
||||
fully functional on most Solaris versions in near future.
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Mailing List, Thanks, Supported Platforms, About
|
||||
@section Mailing List
|
||||
|
||||
There is a @email{libgtop-devel-list@@egroups.com} mailing list for people who
|
||||
want to help with the development of LibGTop.
|
||||
|
||||
It is meant as a low-traffic, but high content-list where we can discuss
|
||||
technical details such as adding new sysdeps ports etc.
|
||||
|
||||
Especially, I'd like to see people with a deeper knowledge of operating systems
|
||||
internals joining my list so we can discuss technical details of the sysdeps
|
||||
code.
|
||||
|
||||
It is *not* for users that want to know how to compile LibGTop etc.
|
||||
|
||||
You can subscribe to this mailing list and view the mailing list archives
|
||||
on the LibGTop Page at @uref{http://www.home-of-linux.org/gnome/libgtop}.
|
||||
|
||||
@node Thanks, , Mailing List, About
|
||||
@section Thanks
|
||||
|
||||
At the place I'd like to thank the following people who contributed to
|
||||
LibGTop (listed in chronological order):
|
||||
|
||||
@itemize @bullet
|
||||
@item Sebastian Wilhelmi who had the initial idea of LibGTop and helped
|
||||
me a lot in the early beginning.
|
||||
@item Josh Sled for the initial FreeBSD port.
|
||||
@item Jeremy Lea for his BSD patches.
|
||||
@item Timur Bakeyev for the BSDI port.
|
||||
@item Drazen Kacar and the other people on the LibGTop development mailing
|
||||
list for the Solaris port.
|
||||
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
|
||||
@item All people sending me patches, having good ideas, ...
|
||||
@item Everyone I have forgotten in this list ...
|
||||
@end itemize
|
||||
|
12
doc/auto-macros.texi.in
Normal file
12
doc/auto-macros.texi.in
Normal file
@@ -0,0 +1,12 @@
|
||||
@c LibGTop major, minor and micro version.
|
||||
@set LIBGTOP_MAJOR_VERSION %LIBGTOP_MAJOR_VERSION%
|
||||
@set LIBGTOP_MINOR_VERSION %LIBGTOP_MINOR_VERSION%
|
||||
@set LIBGTOP_MICRO_VERSION %LIBGTOP_MICRO_VERSION%
|
||||
|
||||
@c LibGTop version and numerical version code ("1.234.567" -> 1234567).
|
||||
@set LIBGTOP_VERSION "%LIBGTOP_VERSION%"
|
||||
@set LIBGTOP_VERSION_CODE %LIBGTOP_VERSION_CODE%
|
||||
|
||||
@c LibGTop server version, increased each time the protocol changes.
|
||||
@set LIBGTOP_SERVER_VERSION %LIBGTOP_SERVER_VERSION%
|
||||
|
@@ -1,3 +0,0 @@
|
||||
PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd"
|
||||
PUBLIC "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" "dsssl.dtd"
|
||||
PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" "style-sheet.dtd"
|
1627
doc/dbtohtml.dsl
1627
doc/dbtohtml.dsl
File diff suppressed because it is too large
Load Diff
@@ -1,12 +0,0 @@
|
||||
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
|
||||
]>
|
||||
|
||||
<style-specification id="gnomehackersdbotohtml" use="dbtohtml">
|
||||
|
||||
(define %output-basename% "gnome-hackers")
|
||||
(define %output-directory% "gnome-hackers")
|
||||
|
||||
</style-specification>
|
||||
|
||||
<external-specification id="dbtohtml" document="dbtohtml.dsl">
|
@@ -1,393 +0,0 @@
|
||||
<!-- $Id$ -->
|
||||
|
||||
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
|
||||
<!entity libgtopConf.sh SYSTEM "../libgtopConf.sh" >
|
||||
]>
|
||||
<book>
|
||||
<bookinfo>
|
||||
<title>Using LibGTop in the Gnome Project</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Martin</firstname>
|
||||
<surname>Baulig</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>martin@home-of-linux.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<copyright>
|
||||
<year>1998</year>
|
||||
<holder>Martin Baulig</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
|
||||
<para>
|
||||
This documentation 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.
|
||||
|
||||
<para>
|
||||
This library 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.
|
||||
|
||||
<para>
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
MA 02111-1307 USA
|
||||
|
||||
<para>
|
||||
For more details see the file COPYING in the source
|
||||
distribution of LibGTop.</para>
|
||||
|
||||
</legalnotice>
|
||||
|
||||
<abstract>
|
||||
|
||||
<para>
|
||||
This is a short introduction in how to use
|
||||
<productname>libgtop</productname> in the GNOME project.
|
||||
It describes the additional options <filename>configure</filename>
|
||||
takes and the information stored in the automatically generated
|
||||
<filename>libgtopConf.sh</filename> configuration script.
|
||||
|
||||
</abstract>
|
||||
|
||||
</bookinfo>
|
||||
|
||||
<toc></toc>
|
||||
|
||||
<chapter id="macros">
|
||||
<title>Autoconf macros</title>
|
||||
|
||||
<sect1 id="gnome-libgtop-check">
|
||||
<title><filename>macros/gnome-libgtop-check.m4</filename></title>
|
||||
|
||||
<para>
|
||||
Contains all that you need to include libgtop in any Gnome application. It defines
|
||||
<function>GNOME_INIT_LIBGTOP</function> which you can use in the same way like
|
||||
<function>GNOME_INIT</function> to check whether libgtop is installed and to read
|
||||
its <filename>libgtopConf.sh</filename> script. It automatically invokes
|
||||
<function>GNOME_LIBGTOP_SYSDEPS</function>.
|
||||
|
||||
<para>
|
||||
When libgtop can be found, it defines <parameter>HAVE_LIBGTOP</parameter>. There's
|
||||
also an automake conditional <parameter>HAVE_LIBGTOP</parameter> which you can use.
|
||||
|
||||
<sect1 id="gnome-libgtop-sysdeps">
|
||||
<title><filename>macros/gnome-libgtop-sysdeps.m4</filename></title>
|
||||
|
||||
<para>
|
||||
This file defines <function>GNOME_LIBGTOP_SYSDEPS</function> which you can
|
||||
use to check which sysdeps directory <productname>libgtop</productname> should
|
||||
use and whether the <filename>gtop_server</filename> is needed.
|
||||
|
||||
<para>
|
||||
It defines the following variables:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_sysdeps_dir</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
The sysdeps dir <productname>libgtop</productname> uses.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_use_machine_h</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Some of the system dependent parts of <productname>libgtop</productname>
|
||||
provide a structure <structname>_glibtop_machine</structname> defined in
|
||||
a header file <filename>glibtop_machine.h</filename> they provide. This
|
||||
structure gets inserted into the <structfield>machine</structfield> member
|
||||
of <structname>_glibtop</structname> when <filename>config.h</filename>
|
||||
defines <parameter>HAVE_GLIBTOP_MACHINE_H</parameter>.
|
||||
|
||||
<para>
|
||||
This variable is either <literal>yes</literal> or <literal>no</literal> and
|
||||
tells you whether this is the case. If it is true, this macro wil automatically
|
||||
define <parameter>HAVE_GLIBTOP_MACHINE_H</parameter>.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_need_server</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether the server is needed. If it is needed, it will automatically
|
||||
define <parameter>NEED_LIBGTOP</parameter>.
|
||||
|
||||
<para>
|
||||
This macro also provides a conditional <parameter>NEED_LIBGTOP</parameter>
|
||||
which you can use in you <filename>Makefile.am</filename>.
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect1>
|
||||
|
||||
<chapter id="configure">
|
||||
<title>Configuration</title>
|
||||
|
||||
<para>
|
||||
The <filename>configure</filename> script of <productname>libgtop</productname>
|
||||
takes some non-standard options to let you decide which parts of the library
|
||||
should be build.
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
|
||||
<para>
|
||||
Normally, <filename>configure</filename> decides whether or not using the
|
||||
server is required. Depending upon this decision, it adds either
|
||||
<literal>-lgtop</literal> (when it's needed) or
|
||||
<literal>-lgtop_systems</literal> (when it's not needed) to
|
||||
<parameter>LIBGTOP_LIBS</parameter> and <parameter>LIBGTOP_GUILE_LIBS</parameter>.
|
||||
|
||||
<para>
|
||||
You can change this behaviour with the following options:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-libgtop-server</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Use the server regardless whether or not it is required.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libgtop-server</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Do not use the server regardless wheter or not it is required.
|
||||
|
||||
</variablelist>
|
||||
|
||||
<listitem>
|
||||
|
||||
<para>
|
||||
Normally, the guile interface of <productname>libgtop</productname> is build
|
||||
when <productname>guile</productname> can be found on the system.
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libgtop-guile</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disables building the guile interface even if you have
|
||||
<productname>guile</productname> installed.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-libgtop-guile</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Has no effect at all since you cannot build the guile interface without
|
||||
having <productname>guile</productname> installed on your system.
|
||||
|
||||
</variablelist>
|
||||
|
||||
<listitem>
|
||||
|
||||
<para>
|
||||
If you do not need the <filename>names</filename> subdirs, you can disable
|
||||
their building with the following option:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libgtop-names</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disables building of the <filename>names</filename> subdirs.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-libgtop-names</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is the default.
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>
|
||||
If it is enables, <parameter>GLIBTOP_NAMES</parameter> will be defined.
|
||||
|
||||
<listitem>
|
||||
|
||||
<para>
|
||||
To disable building of the examples, you can say:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-examples</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disables building of the examples.
|
||||
|
||||
</variablelist>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<chapter id="libgtopConf">
|
||||
<title>The <filename>libgtopConf.sh</filename> script</title>
|
||||
|
||||
<para>
|
||||
After a successful build of <productname>libgtop</productname>, a
|
||||
<filename>libgtopConf.sh</filename> script is generated which will later
|
||||
be used to decide how to link a program with <filename>libgtop</filename>.
|
||||
|
||||
<para>
|
||||
It defines the following variables:
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_LIBDIR</parameter>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defaults to <literal>$(prefix)/lib</literal>. It is the directory
|
||||
where the <productname>libgtop</productname> libraries get installed.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_INCLUDEDIR</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defaults to <literal>$(prefix)/include</literal>. It is the directory
|
||||
where the <productname>libgtop</productname> header files get installed.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_LIBS</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Contains everything that you need to add to the <parameter>_LDADD</parameter>
|
||||
variable of <productname>automake</productname> to link a program with
|
||||
<productname>libgtop</productname>.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_INCS</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Contains everything that you need to add to the <parameter>_INCLUDES</parameter>
|
||||
variable of <productname>automake</productname> to compile a program that uses
|
||||
<productname>libgtop</productname>.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_GUILE_INCS</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Contains everything that you need to add to the <parameter>_INCLUDES</parameter>
|
||||
variable of <productname>automake</productname> to compile a program that uses both
|
||||
<productname>libgtop</productname> and its guile interface.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_BINDIR</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defaults to <literal>$(bindir)</literal>. It is the directory where the
|
||||
<productname>libgtop</productname> binaries get installed.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>LIBGTOP_SERVER</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defaults to <literal>$(bindir)/gtop_server</literal>. It is the full pathname
|
||||
where the server gets installed.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_sysdeps_dir</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
The sysdeps directory that is used on your system.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_need_server</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether using the server is needed or not.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_use_machine_h</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether <filename>glibtop_machine_h</filename> should be included in
|
||||
<filename>glibtop.h</filename>.
|
||||
|
||||
The system dependent part of the library may provide an additional header
|
||||
file, <filename>glibtop_machine_h</filename>. In this case, they define
|
||||
a structure <structname>_glibtop_machine</structname> in this header file.
|
||||
This structure represents the <structfield>machine</structfield> member of
|
||||
<structname>_glibtop</structname>.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_guile_found</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether <productname>guile</productname> has been found on your system
|
||||
(or if building the guile interface was disabled).
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_want_names</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether the <filename>sysdeps/names</filename> subdirectory was build.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_want_guile_names</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether the <filename>sysdeps/guile/names</filename> subdirectory was build.
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libgtop_want_examples</parameter></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Is either <literal>yes</literal> or <literal>no</literal> and tells you
|
||||
whether the examples were build.
|
||||
|
||||
</variablelist>
|
||||
|
||||
<example>
|
||||
<title>Sample <filename>libgtopConf.sh</filename></title>
|
||||
|
||||
<programlisting>&libgtopConf.sh;</programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
</book>
|
@@ -1,12 +0,0 @@
|
||||
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
|
||||
]>
|
||||
|
||||
<style-specification id="libgtoprefdbtohtml" use="dbtohtml">
|
||||
|
||||
(define %output-basename% "libgtop-ref")
|
||||
(define %output-directory% "libgtop-ref")
|
||||
|
||||
</style-specification>
|
||||
|
||||
<external-specification id="dbtohtml" document="dbtohtml.dsl">
|
@@ -1,67 +0,0 @@
|
||||
<!-- $Id$ -->
|
||||
|
||||
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
|
||||
<!entity reference.sgml SYSTEM "../guile/reference.sgml" >
|
||||
]>
|
||||
<book>
|
||||
<bookinfo>
|
||||
<title>LibGTop Reference Manual</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Martin</firstname>
|
||||
<surname>Baulig</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>martin@home-of-linux.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<abstract>
|
||||
<para>
|
||||
<literal>$Id$</literal>
|
||||
|
||||
<para>
|
||||
This reference manual is automatically generated from <filename>doc/make-docbook.scm</filename>.
|
||||
It uses the guile interface of <productname>libgtop</productname> to get the names of all
|
||||
features the library defines and a description of the structures.
|
||||
</abstract>
|
||||
|
||||
<copyright>
|
||||
<year>1998</year>
|
||||
<holder>Martin Baulig</holder>
|
||||
</copyright>
|
||||
<legalnotice>
|
||||
|
||||
<para>
|
||||
This documentation 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.
|
||||
|
||||
<para>
|
||||
This library 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.
|
||||
|
||||
<para>
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this program; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
MA 02111-1307 USA
|
||||
|
||||
<para>
|
||||
For more details see the file COPYING in the source
|
||||
distribution of LibGTop.</para>
|
||||
|
||||
</legalnotice>
|
||||
</bookinfo>
|
||||
|
||||
<toc></toc>
|
||||
|
||||
&reference.sgml;
|
||||
|
||||
</book>
|
@@ -1,12 +0,0 @@
|
||||
<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||
<!ENTITY dbtohtml.dsl SYSTEM "dbtohtml.dsl" CDATA DSSSL >
|
||||
]>
|
||||
|
||||
<style-specification id="libgtopdbtohtml" use="dbtohtml">
|
||||
|
||||
(define %output-basename% "libgtop")
|
||||
(define %output-directory% "libgtop")
|
||||
|
||||
</style-specification>
|
||||
|
||||
<external-specification id="dbtohtml" document="dbtohtml.dsl">
|
1332
doc/libgtop.sgml
1332
doc/libgtop.sgml
File diff suppressed because it is too large
Load Diff
89
doc/libgtop2.texi
Normal file
89
doc/libgtop2.texi
Normal file
@@ -0,0 +1,89 @@
|
||||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
@setfilename libgtop2.info
|
||||
@settitle LibGTop Reference Manual
|
||||
@setchapternewpage odd
|
||||
@c %**end of header
|
||||
|
||||
@include auto-macros.texi
|
||||
@include version.texi
|
||||
|
||||
@ifinfo
|
||||
This is the LibGTop Reference Manual version @value{VERSION}
|
||||
(last modified @value{UPDATED}).
|
||||
|
||||
Copyright 1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim
|
||||
copies of this manual provided the copyright notice and
|
||||
this permission notice are preserved on all copies.
|
||||
|
||||
@ignore
|
||||
Permission is granted to process this file through TeX
|
||||
and print the results, provided the printed document
|
||||
carries a copying permission notice identical to this
|
||||
one except for the removal of this paragraph (this
|
||||
paragraph not being relevant to the printed manual).
|
||||
|
||||
@end ignore
|
||||
Permission is granted to copy and distribute modified
|
||||
versions of this manual under the conditions for
|
||||
verbatim copying, provided also that the sections
|
||||
entitled ``Copying'' and ``GNU General Public License''
|
||||
are included exactly as in the original, and provided
|
||||
that the entire resulting derived work is distributed
|
||||
under the terms of a permission notice identical to this
|
||||
one.
|
||||
|
||||
Permission is granted to copy and distribute
|
||||
translations of this manual into another language,
|
||||
under the above conditions for modified versions,
|
||||
except that this permission notice may be stated in a
|
||||
translation approved by the Free Software Foundation.
|
||||
|
||||
@format
|
||||
@dircategory Libraries:
|
||||
@direntry
|
||||
* LibGTop2: (libgtop2). Library to get system specific data
|
||||
such as cpu and memory usage, active
|
||||
processes
|
||||
@end direntry
|
||||
@end format
|
||||
|
||||
@end ifinfo
|
||||
|
||||
@titlepage
|
||||
@title LibGTop Reference Manual
|
||||
@subtitle Version @value{VERSION} - @value{UPDATED}
|
||||
@author Martin Baulig
|
||||
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
Copyright @copyright{} 1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim
|
||||
copies of this manual provided the copyright notice and
|
||||
this permission notice are preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified
|
||||
versions of this manual under the conditions for
|
||||
verbatim copying, provided also that the sections
|
||||
entitled ``Copying'' and ``GNU General Public License''
|
||||
are included exactly as in the original, and provided
|
||||
that the entire resulting derived work is distributed
|
||||
under the terms of a permission notice identical to this
|
||||
one.
|
||||
|
||||
Permission is granted to copy and distribute
|
||||
translations of this manual into another language,
|
||||
under the above conditions for modified versions,
|
||||
except that this permission notice may be stated in a
|
||||
translation approved by the Free Software Foundation.
|
||||
@end titlepage
|
||||
|
||||
@contents
|
||||
|
||||
@include main.texi
|
||||
|
||||
@bye
|
||||
|
68
doc/main.texi
Normal file
68
doc/main.texi
Normal file
@@ -0,0 +1,68 @@
|
||||
@node Top, About, (dir), (dir)
|
||||
|
||||
@menu
|
||||
* About:: About LibGTop
|
||||
* White Paper:: LibGTop White Paper
|
||||
* Reference Manual:: LibGTop Reference Manual
|
||||
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
About LibGTop
|
||||
|
||||
* Availability:: Where to get LibGTop
|
||||
* Supported Platforms:: Supported Platforms
|
||||
* Mailing List:: Helping with LibGTop development
|
||||
* Thanks:: People who contributed to LibGTop
|
||||
|
||||
LibGTop White Paper
|
||||
|
||||
* Introduction:: Introduction
|
||||
* Overview:: Overview
|
||||
|
||||
Overview
|
||||
|
||||
* Interface Design:: Things that need to be considered
|
||||
* Server Implementation:: The LibGTop "server"
|
||||
|
||||
LibGTop Reference Manual
|
||||
|
||||
* System Dependent:: System Dependent Functions.
|
||||
* Common Functions:: Common Functions.
|
||||
* Library Functions:: Library Functions.
|
||||
|
||||
System Dependent Functions
|
||||
|
||||
* glibtop_cpu:: CPU Usage.
|
||||
* glibtop_mem:: Memory Usage.
|
||||
* glibtop_swap:: Swap Usage.
|
||||
* glibtop_uptime:: System Uptime.
|
||||
* glibtop_loadavg:: Load Average.
|
||||
* glibtop_proclist:: Process List.
|
||||
* glibtop_proc_state:: Process State.
|
||||
* glibtop_proc_uid:: Process UID and TTY Information.
|
||||
* glibtop_proc_mem:: Process Memory Information.
|
||||
* glibtop_proc_time:: Process Time Information.
|
||||
* glibtop_proc_signal:: Process Signal Information.
|
||||
* glibtop_proc_kernel:: Process Kernel Data Information.
|
||||
* glibtop_proc_segment:: Process Segment Information.
|
||||
* glibtop_proc_args:: Process Arguments.
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
|
||||
Common Functions
|
||||
|
||||
* glibtop_mountlist:: Mount List.
|
||||
* glibtop_fsusage:: File System Usage.
|
||||
|
||||
Library Functions
|
||||
|
||||
* glibtop_init:: Server Initialization.
|
||||
* glibtop_sysdeps:: Server Sysdeps.
|
||||
* Library Parameters:: Library Parameters.
|
||||
@end menu
|
||||
|
||||
@include about.texi
|
||||
@include white-paper.texi
|
||||
@include reference.texi
|
||||
|
1807
doc/reference.texi
Normal file
1807
doc/reference.texi
Normal file
File diff suppressed because it is too large
Load Diff
90
doc/white-paper.texi
Normal file
90
doc/white-paper.texi
Normal file
@@ -0,0 +1,90 @@
|
||||
@node White Paper, Reference Manual, About, Top
|
||||
@chapter LibGTop White Paper
|
||||
|
||||
@menu
|
||||
* Introduction:: Introduction
|
||||
* Overview:: Overview
|
||||
@end menu
|
||||
|
||||
@node Introduction, Overview, White Paper, White Paper
|
||||
@section Introduction
|
||||
|
||||
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.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
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.
|
||||
|
||||
@item
|
||||
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).
|
||||
|
||||
@item
|
||||
Linux has a very nice @file{/proc} filesystem, but reading and parsing
|
||||
@file{/proc} is very slow and inefficient.
|
||||
|
||||
@item
|
||||
Solaris is a bit better, but you still need to be in the @code{sys} group or
|
||||
even root to get some data.
|
||||
@end itemize
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
@node Overview, , Introduction, White Paper
|
||||
@section Overview
|
||||
|
||||
This section should give you a short overview on how LibGTop was developed, which
|
||||
things needed to be considered and how it works.
|
||||
|
||||
@menu
|
||||
* Interface Design:: Things that need to be considered
|
||||
* Server Implementation:: The LibGTop "server"
|
||||
@end menu
|
||||
|
||||
@node Interface Design, Server Implementation, Overview, Overview
|
||||
@subsection Interface Design
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
@node Server Implementation, , Interface Design, Overview
|
||||
@subsection Server Implementation
|
||||
|
||||
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.
|
||||
|
||||
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.
|
@@ -11,3 +11,6 @@ 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
|
||||
|
@@ -1,3 +1,86 @@
|
||||
2001-01-14 Abel Cheung <maddog@linux.org.hk>
|
||||
|
||||
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
|
||||
|
||||
* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
|
||||
compile for now, by disabling chunks which should belong to
|
||||
HEAD branch.
|
||||
|
||||
1999-05-28 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
|
||||
so we can more easily merge the code into LIBGTOP_STABLE_1_0.
|
||||
|
||||
1999-05-07 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* timings.c (timersub): Renamed this to `libgtop_timersub' and define
|
||||
it on all systems.
|
||||
|
||||
Fri Apr 9 00:14:52 1999 Timur Bakeyev <timur@gnu.org>
|
||||
|
||||
* timings.c: Added timersub defenition, to make code compilable on
|
||||
BSDI.
|
||||
|
||||
1999-03-24 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* timings.c: New example.
|
||||
|
||||
1999-03-17 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* first.c, second.c: Fixed a bug that caused a core dump when
|
||||
the sysdeps code does not return all data.
|
||||
|
||||
1998-11-22 Martin Baulig <baulig@taurus.uni-trier.de>
|
||||
|
||||
* netload.c: Call inet_ntoa () to get address and subnet
|
||||
in quatted dot notation (like 136.199.14.201) and not just
|
||||
as a number (like 0xc90ec788).
|
||||
|
||||
1998-11-02 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* sysdeps.c: New example.
|
||||
|
||||
1998-10-26 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* netload.c: New file. Gets network load for the interface
|
||||
given as command line argument.
|
||||
|
||||
1998-10-26 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* first.c (glibtop_get_proc_args): Get command line arguments.
|
||||
* second.c: Likewise.
|
||||
|
||||
1998-10-25 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* first.c (glibtop_get_ppp): Get PPP/ISDN statistics.
|
||||
|
||||
1998-09-28 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* Makefile.am: Install everything in $(libexecdir)/libgtop.
|
||||
|
||||
1998-09-09 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
|
||||
|
||||
* smp.c: New file. Nice tool to show CPU statistics on SMP systems.
|
||||
|
||||
1998-08-25 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* first.c, second.c, procmap.c: Fixed some compiler warnings.
|
||||
|
||||
1998-08-18 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* procmap.c: We now display filenames when compiled
|
||||
`--with-libgtop-inodedb'.
|
||||
|
||||
1998-08-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* second.c: Works a little bit more like `ps' - you can
|
||||
give an optional command line argument to get information
|
||||
about a single process.
|
||||
|
||||
1998-07-22 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* mountlist.c: New file.
|
||||
|
||||
1998-06-12 Martin Baulig <martin@home-of-linux.org>
|
||||
|
||||
* test.scm: New file.
|
||||
|
@@ -2,52 +2,120 @@
|
||||
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = -I$(top_builddir) -I$(top_srcdir) @machine_incs@ \
|
||||
-I$(top_srcdir)/include -I$(top_srcdir)/intl @GUILE_INCS@ \
|
||||
-DGTOPLOCALEDIR=\"$(datadir)/locale\" -D_GNU_SOURCE
|
||||
|
||||
CFLAGS = -Wall -W @CFLAGS@ -O0
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
DEFS = @DEFS@
|
||||
|
||||
bin_PROGRAMS = first first_static second second_static \
|
||||
@guile_examples@
|
||||
# We install it in `libexec' since this will make it more easy
|
||||
# to put the examples into an extra RPM package.
|
||||
|
||||
EXTRA_PROGRAMS = third third_static
|
||||
libgtopdir = $(libexecdir)/libgtop
|
||||
|
||||
libgtop_PROGRAMS = first second\
|
||||
mountlist procmap netload sysdeps timings \
|
||||
@static_targets@ @guile_examples@ @smp_examples@
|
||||
|
||||
EXTRA_PROGRAMS = first_static second_static \
|
||||
mountlist_static procmap_static \
|
||||
third third_static smp smp_static \
|
||||
netload_static sysdeps_static \
|
||||
timings_static
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
first_static_SOURCES = $(first_SOURCES)
|
||||
first_static_LDADD = $(first_LDADD)
|
||||
first_static_LDFLAGS = -static
|
||||
|
||||
second_SOURCES = second.c
|
||||
second_LDADD = $(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@INTLLIBS@ @LIBSUPPORT@
|
||||
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
second_static_SOURCES = $(second_SOURCES)
|
||||
second_static_LDADD = $(second_LDADD)
|
||||
second_static_LDFLAGS = -static
|
||||
|
||||
if GLIBTOP_NAMES
|
||||
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la
|
||||
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names.la
|
||||
endif
|
||||
procmap_SOURCES = procmap.c
|
||||
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
|
||||
|
||||
procmap_static_SOURCES = $(procmap_SOURCES)
|
||||
procmap_static_LDADD = $(procmap_LDADD)
|
||||
procmap_static_LDFLAGS = -static
|
||||
|
||||
netload_SOURCES = netload.c
|
||||
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
netload_static_SOURCES = $(netload_SOURCES)
|
||||
netload_static_LDADD = $(netload_LDADD)
|
||||
netload_static_LDFLAGS = -static
|
||||
|
||||
sysdeps_SOURCES = sysdeps.c
|
||||
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
|
||||
sysdeps_static_LDADD = $(sysdeps_LDADD)
|
||||
sysdeps_static_LDFLAGS = -static
|
||||
|
||||
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la
|
||||
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
|
||||
|
||||
third_SOURCES = third.c
|
||||
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile.la \
|
||||
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \
|
||||
$(third_guile_names_LIBS) $(third_names_LIBS) \
|
||||
$(top_builddir)/lib/libgtop.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
|
||||
@GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@
|
||||
$(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
third_static_SOURCES = $(third_SOURCES)
|
||||
third_static_LDADD = $(third_LDADD)
|
||||
third_static_LDFLAGS = -static
|
||||
|
||||
mountlist_SOURCES = mountlist.c
|
||||
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
mountlist_static_SOURCES= $(mountlist_SOURCES)
|
||||
mountlist_static_LDADD = $(mountlist_LDADD)
|
||||
mountlist_static_LDFLAGS= -static
|
||||
|
||||
|
||||
smp_SOURCES = smp.c
|
||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
smp_static_SOURCES = $(smp_SOURCES)
|
||||
smp_static_LDADD = $(smp_LDADD)
|
||||
smp_static_LDFLAGS = -static
|
||||
|
||||
timings_SOURCES = timings.c
|
||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||
@LIBSUPPORT@ @INTLLIBS@
|
||||
|
||||
timings_static_SOURCES = $(timings_SOURCES)
|
||||
timings_static_LDADD = $(timings_LDADD)
|
||||
timings_static_LDFLAGS = -static
|
||||
|
||||
|
710
examples/first.c
710
examples/first.c
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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 <locale.h>
|
||||
|
||||
@@ -26,9 +28,13 @@
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
#include <sys/resource.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1
|
||||
#endif
|
||||
@@ -38,107 +44,192 @@ main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned c, count, i, *ptr;
|
||||
unsigned c, method, count, port, i, *ptr;
|
||||
char buffer [BUFSIZ];
|
||||
pid_t pid, ppid;
|
||||
char *args;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init ();
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
printf ("Command = '%s'\n", buffer);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
||||
|
||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_cpu (&data.cpu);
|
||||
|
||||
fprintf (stderr, "CPU (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
data.cpu.flags, data.cpu.total, data.cpu.user, data.cpu.nice,
|
||||
data.cpu.sys, data.cpu.idle, data.cpu.frequency);
|
||||
printf ("CPU (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.cpu.flags,
|
||||
(unsigned long) data.cpu.total,
|
||||
(unsigned long) data.cpu.user,
|
||||
(unsigned long) data.cpu.nice,
|
||||
(unsigned long) data.cpu.sys,
|
||||
(unsigned long) data.cpu.idle,
|
||||
(unsigned long) data.cpu.frequency);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_mem (&data.mem);
|
||||
|
||||
fprintf (stderr, "Memory (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
data.mem.flags, data.mem.total, data.mem.used, data.mem.free,
|
||||
data.mem.shared, data.mem.buffer, data.mem.cached,
|
||||
data.mem.user, data.mem.locked);
|
||||
printf ("Memory (0x%08lx): "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.mem.flags,
|
||||
(unsigned long) data.mem.total,
|
||||
(unsigned long) data.mem.used,
|
||||
(unsigned long) data.mem.free,
|
||||
(unsigned long) data.mem.shared,
|
||||
(unsigned long) data.mem.buffer,
|
||||
(unsigned long) data.mem.cached,
|
||||
(unsigned long) data.mem.user,
|
||||
(unsigned long) data.mem.locked);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_swap (&data.swap);
|
||||
|
||||
fprintf (stderr, "Swap (0x%08lx): %lu, %lu, %lu\n", data.swap.flags,
|
||||
data.swap.total, data.swap.used, data.swap.free);
|
||||
printf ("Swap (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.swap.flags,
|
||||
(unsigned long) data.swap.total,
|
||||
(unsigned long) data.swap.used,
|
||||
(unsigned long) data.swap.free,
|
||||
(unsigned long) data.swap.pagein,
|
||||
(unsigned long) data.swap.pageout);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_uptime (&data.uptime);
|
||||
|
||||
fprintf (stderr, "Uptime (0x%08lx): %f, %f\n", data.uptime.flags,
|
||||
data.uptime.uptime, data.uptime.idletime);
|
||||
printf ("Uptime (0x%08lx): %f, %f\n",
|
||||
(unsigned long) data.uptime.flags,
|
||||
data.uptime.uptime, data.uptime.idletime);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_loadavg (&data.loadavg);
|
||||
|
||||
fprintf (stderr, "Loadavg (0x%08lx): %f, %f, %f\n", data.loadavg.flags,
|
||||
data.loadavg.loadavg [0], data.loadavg.loadavg [1],
|
||||
data.loadavg.loadavg [2]);
|
||||
printf ("Loadavg (0x%08lx): %f, %f, %f - %lu, %lu, %lu\n",
|
||||
(unsigned long) data.loadavg.flags,
|
||||
(double) data.loadavg.loadavg [0],
|
||||
(double) data.loadavg.loadavg [1],
|
||||
(double) data.loadavg.loadavg [2],
|
||||
(unsigned long) data.loadavg.nr_running,
|
||||
(unsigned long) data.loadavg.nr_tasks,
|
||||
(unsigned long) data.loadavg.last_pid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_shm_limits (&data.shm_limits);
|
||||
|
||||
fprintf (stderr, "Shm Limits (0x%08lx): %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.shm_limits.flags, data.shm_limits.shmmax,
|
||||
data.shm_limits.shmmin, data.shm_limits.shmmni,
|
||||
data.shm_limits.shmseg, data.shm_limits.shmall);
|
||||
printf ("Shm Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.shm_limits.flags,
|
||||
(unsigned long) data.shm_limits.shmmax,
|
||||
(unsigned long) data.shm_limits.shmmin,
|
||||
(unsigned long) data.shm_limits.shmmni,
|
||||
(unsigned long) data.shm_limits.shmseg,
|
||||
(unsigned long) data.shm_limits.shmall);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_msg_limits (&data.msg_limits);
|
||||
|
||||
fprintf (stderr, "Msg Limits (0x%08lx): %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.msg_limits.flags, data.msg_limits.msgpool,
|
||||
data.msg_limits.msgmap, data.msg_limits.msgmax,
|
||||
data.msg_limits.msgmnb, data.msg_limits.msgmni,
|
||||
data.msg_limits.msgssz, data.msg_limits.msgtql);
|
||||
printf ("Msg Limits (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.msg_limits.flags,
|
||||
(unsigned long) data.msg_limits.msgpool,
|
||||
(unsigned long) data.msg_limits.msgmap,
|
||||
(unsigned long) data.msg_limits.msgmax,
|
||||
(unsigned long) data.msg_limits.msgmnb,
|
||||
(unsigned long) data.msg_limits.msgmni,
|
||||
(unsigned long) data.msg_limits.msgssz,
|
||||
(unsigned long) data.msg_limits.msgtql);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_sem_limits (&data.sem_limits);
|
||||
|
||||
fprintf (stderr, "Sem Limits (0x%08lx): "
|
||||
"%ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
|
||||
data.sem_limits.flags, data.sem_limits.semmap,
|
||||
data.sem_limits.semmni, data.sem_limits.semmns,
|
||||
data.sem_limits.semmnu, data.sem_limits.semmsl,
|
||||
data.sem_limits.semopm, data.sem_limits.semume,
|
||||
data.sem_limits.semusz, data.sem_limits.semvmx,
|
||||
data.sem_limits.semaem);
|
||||
printf ("Sem Limits (0x%08lx): "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) data.sem_limits.flags,
|
||||
(unsigned long) data.sem_limits.semmap,
|
||||
(unsigned long) data.sem_limits.semmni,
|
||||
(unsigned long) data.sem_limits.semmns,
|
||||
(unsigned long) data.sem_limits.semmnu,
|
||||
(unsigned long) data.sem_limits.semmsl,
|
||||
(unsigned long) data.sem_limits.semopm,
|
||||
(unsigned long) data.sem_limits.semume,
|
||||
(unsigned long) data.sem_limits.semusz,
|
||||
(unsigned long) data.sem_limits.semvmx,
|
||||
(unsigned long) data.sem_limits.semaem);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
printf ("\n");
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_ppp (&data.ppp, 0);
|
||||
|
||||
printf ("PPP (0x%08lx): %lu, %lu, %lu\n",
|
||||
(unsigned long) data.ppp.flags,
|
||||
(unsigned long) data.ppp.state,
|
||||
(unsigned long) data.ppp.bytes_in,
|
||||
(unsigned long) data.ppp.bytes_out);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
fprintf (stderr, "Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
sysdeps.flags, sysdeps.cpu, sysdeps.mem, sysdeps.swap,
|
||||
sysdeps.uptime, sysdeps.loadavg, sysdeps.shm_limits,
|
||||
sysdeps.msg_limits, sysdeps.sem_limits,
|
||||
sysdeps.proclist, sysdeps.proc_state,
|
||||
sysdeps.proc_uid, sysdeps.proc_mem,
|
||||
sysdeps.proc_time, sysdeps.proc_signal,
|
||||
sysdeps.proc_kernel, sysdeps.proc_segment);
|
||||
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) sysdeps.flags,
|
||||
(unsigned long) sysdeps.cpu,
|
||||
(unsigned long) sysdeps.mem,
|
||||
(unsigned long) sysdeps.swap,
|
||||
(unsigned long) sysdeps.uptime,
|
||||
(unsigned long) sysdeps.loadavg,
|
||||
(unsigned long) sysdeps.shm_limits,
|
||||
(unsigned long) sysdeps.msg_limits,
|
||||
(unsigned long) sysdeps.sem_limits,
|
||||
(unsigned long) sysdeps.proclist,
|
||||
(unsigned long) sysdeps.proc_state,
|
||||
(unsigned long) sysdeps.proc_uid,
|
||||
(unsigned long) sysdeps.proc_mem,
|
||||
(unsigned long) sysdeps.proc_time,
|
||||
(unsigned long) sysdeps.proc_signal,
|
||||
(unsigned long) sysdeps.proc_kernel,
|
||||
(unsigned long) sysdeps.proc_segment,
|
||||
(unsigned long) sysdeps.proc_args,
|
||||
(unsigned long) sysdeps.proc_map,
|
||||
(unsigned long) sysdeps.mountlist,
|
||||
(unsigned long) sysdeps.fsusage,
|
||||
(unsigned long) sysdeps.netload,
|
||||
(unsigned long) sysdeps.ppp);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
printf ("\n");
|
||||
|
||||
ptr = glibtop_get_proclist (&data.proclist);
|
||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
|
||||
fprintf (stderr, "Proclist (0x%08lx): %ld, %ld, %ld\n",
|
||||
data.proclist.flags, data.proclist.number,
|
||||
data.proclist.size, data.proclist.total);
|
||||
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
|
||||
(unsigned long) data.proclist.flags,
|
||||
(unsigned long) data.proclist.number,
|
||||
(unsigned long) data.proclist.size,
|
||||
(unsigned long) data.proclist.total);
|
||||
|
||||
if (ptr) {
|
||||
fprintf (stderr, "\nProcess: ");
|
||||
printf ("\nProcess: ");
|
||||
for (i = 0; i < data.proclist.number; i++)
|
||||
fprintf (stderr, "%s%u", i ? ", " : "", ptr [i]);
|
||||
fprintf (stderr, "\n");
|
||||
printf ("%s%u", i ? ", " : "", ptr [i]);
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
glibtop_free (ptr);
|
||||
@@ -146,218 +237,339 @@ main (int argc, char *argv [])
|
||||
pid = getpid ();
|
||||
ppid = getppid ();
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
printf ("\n");
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
fprintf (stderr, "Proc_State PID %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
pid, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
printf ("Proc_State PID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
|
||||
(int) pid, (unsigned long) data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
(unsigned long) data.proc_state.uid,
|
||||
(unsigned long) data.proc_state.gid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
pid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
printf ("Proc_Uid PID %5d (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
|
||||
(unsigned long) data.proc_uid.flags,
|
||||
data.proc_uid.uid, data.proc_uid.euid,
|
||||
data.proc_uid.gid, data.proc_uid.egid,
|
||||
data.proc_uid.pid, data.proc_uid.ppid,
|
||||
data.proc_uid.pgrp, data.proc_uid.session,
|
||||
data.proc_uid.tty, data.proc_uid.tpgid,
|
||||
data.proc_uid.priority, data.proc_uid.nice);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", pid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
printf ("Proc_Mem PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_mem.flags,
|
||||
(unsigned long) data.proc_mem.size,
|
||||
(unsigned long) data.proc_mem.vsize,
|
||||
(unsigned long) data.proc_mem.resident,
|
||||
(unsigned long) data.proc_mem.share,
|
||||
(unsigned long) data.proc_mem.rss,
|
||||
(unsigned long) data.proc_mem.rss_rlim);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", pid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", pid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", pid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", pid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
printf ("Proc_Segment PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_segment.flags,
|
||||
(unsigned long) data.proc_segment.text_rss,
|
||||
(unsigned long) data.proc_segment.shlib_rss,
|
||||
(unsigned long) data.proc_segment.data_rss,
|
||||
(unsigned long) data.proc_segment.stack_rss,
|
||||
(unsigned long) data.proc_segment.dirty_size,
|
||||
(unsigned long) data.proc_segment.start_code,
|
||||
(unsigned long) data.proc_segment.end_code,
|
||||
(unsigned long) data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
printf ("Proc_Time PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_time.flags,
|
||||
(unsigned long) data.proc_time.start_time,
|
||||
(unsigned long) data.proc_time.rtime,
|
||||
(unsigned long) data.proc_time.utime,
|
||||
(unsigned long) data.proc_time.stime,
|
||||
(unsigned long) data.proc_time.cutime,
|
||||
(unsigned long) data.proc_time.cstime,
|
||||
(unsigned long) data.proc_time.timeout,
|
||||
(unsigned long) data.proc_time.it_real_value,
|
||||
(unsigned long) data.proc_time.frequency);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_signal.flags,
|
||||
(unsigned long) data.proc_signal.signal,
|
||||
(unsigned long) data.proc_signal.blocked,
|
||||
(unsigned long) data.proc_signal.sigignore,
|
||||
(unsigned long) data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
printf ("Proc_Kernel PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
|
||||
(unsigned long) data.proc_kernel.flags,
|
||||
(unsigned long) data.proc_kernel.k_flags,
|
||||
(unsigned long) data.proc_kernel.min_flt,
|
||||
(unsigned long) data.proc_kernel.maj_flt,
|
||||
(unsigned long) data.proc_kernel.cmin_flt,
|
||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
||||
(unsigned long) data.proc_kernel.kstk_esp,
|
||||
(unsigned long) data.proc_kernel.kstk_eip,
|
||||
(unsigned long) data.proc_kernel.nwchan,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
|
||||
|
||||
for (i = 0; i < data.proc_args.size; i++) {
|
||||
if (args [i]) continue;
|
||||
args [i] = '|';
|
||||
}
|
||||
|
||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
|
||||
(unsigned long) data.proc_args.flags,
|
||||
(unsigned long) data.proc_args.size,
|
||||
args ? args : "");
|
||||
|
||||
glibtop_free (args);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_state (&data.proc_state, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_State PPID %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
ppid, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
printf ("Proc_State PPID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
|
||||
(int) ppid, (unsigned long) data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
(unsigned long) data.proc_state.uid,
|
||||
(unsigned long) data.proc_state.gid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_uid (&data.proc_uid, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PPID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
ppid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
printf ("Proc_Uid PPID %5d (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) ppid,
|
||||
(unsigned long) data.proc_uid.flags,
|
||||
data.proc_uid.uid, data.proc_uid.euid,
|
||||
data.proc_uid.gid, data.proc_uid.egid,
|
||||
data.proc_uid.pid, data.proc_uid.ppid,
|
||||
data.proc_uid.pgrp, data.proc_uid.session,
|
||||
data.proc_uid.tty, data.proc_uid.tpgid,
|
||||
data.proc_uid.priority, data.proc_uid.nice);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_mem (&data.proc_mem, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", ppid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
printf ("Proc_Mem PPID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
||||
(unsigned long) data.proc_mem.flags,
|
||||
(unsigned long) data.proc_mem.size,
|
||||
(unsigned long) data.proc_mem.vsize,
|
||||
(unsigned long) data.proc_mem.resident,
|
||||
(unsigned long) data.proc_mem.share,
|
||||
(unsigned long) data.proc_mem.rss,
|
||||
(unsigned long) data.proc_mem.rss_rlim);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", ppid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PPID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", ppid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PPID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", ppid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_segment (&data.proc_segment, ppid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PPID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", ppid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
printf ("Proc_Segment PPID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
||||
(unsigned long) data.proc_segment.flags,
|
||||
(unsigned long) data.proc_segment.text_rss,
|
||||
(unsigned long) data.proc_segment.shlib_rss,
|
||||
(unsigned long) data.proc_segment.data_rss,
|
||||
(unsigned long) data.proc_segment.stack_rss,
|
||||
(unsigned long) data.proc_segment.dirty_size,
|
||||
(unsigned long) data.proc_segment.start_code,
|
||||
(unsigned long) data.proc_segment.end_code,
|
||||
(unsigned long) data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, ppid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
printf ("Proc_Time PPID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
|
||||
(unsigned long) data.proc_time.flags,
|
||||
(unsigned long) data.proc_time.start_time,
|
||||
(unsigned long) data.proc_time.rtime,
|
||||
(unsigned long) data.proc_time.utime,
|
||||
(unsigned long) data.proc_time.stime,
|
||||
(unsigned long) data.proc_time.cutime,
|
||||
(unsigned long) data.proc_time.cstime,
|
||||
(unsigned long) data.proc_time.timeout,
|
||||
(unsigned long) data.proc_time.it_real_value,
|
||||
(unsigned long) data.proc_time.frequency);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, ppid);
|
||||
|
||||
printf ("Proc_Signal PPID %5d (0x%08lx): %lu %lu %lu %lu\n",
|
||||
(int) ppid, (unsigned long) data.proc_signal.flags,
|
||||
(unsigned long) data.proc_signal.signal,
|
||||
(unsigned long) data.proc_signal.blocked,
|
||||
(unsigned long) data.proc_signal.sigignore,
|
||||
(unsigned long) data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, ppid);
|
||||
|
||||
printf ("Proc_Kernel PPID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
|
||||
(unsigned long) data.proc_kernel.flags,
|
||||
(unsigned long) data.proc_kernel.k_flags,
|
||||
(unsigned long) data.proc_kernel.min_flt,
|
||||
(unsigned long) data.proc_kernel.maj_flt,
|
||||
(unsigned long) data.proc_kernel.cmin_flt,
|
||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
||||
(unsigned long) data.proc_kernel.kstk_esp,
|
||||
(unsigned long) data.proc_kernel.kstk_eip,
|
||||
(unsigned long) data.proc_kernel.nwchan,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
args = glibtop_get_proc_args (&data.proc_args, ppid, 0);
|
||||
|
||||
for (i = 0; i < data.proc_args.size; i++) {
|
||||
if (args [i]) continue;
|
||||
args [i] = '|';
|
||||
}
|
||||
|
||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
|
||||
(unsigned long) data.proc_args.flags,
|
||||
(unsigned long) data.proc_args.size,
|
||||
args ? args : "");
|
||||
|
||||
glibtop_free (args);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_state (&data.proc_state, 1);
|
||||
|
||||
fprintf (stderr, "Proc_State INIT %5u (0x%08lx): '%s', %c, %u, %u\n",
|
||||
1, data.proc_state.flags, data.proc_state.cmd,
|
||||
data.proc_state.state, data.proc_state.uid,
|
||||
data.proc_state.gid);
|
||||
printf ("Proc_State INIT %5d (0x%08lx): '%s', %c, %lu, %lu\n", 1,
|
||||
(unsigned long) data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
(unsigned long) data.proc_state.uid,
|
||||
(unsigned long) data.proc_state.gid);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_uid (&data.proc_uid, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Uid INIT %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
1, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
printf ("Proc_Uid INIT %5d (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", 1,
|
||||
(unsigned long) data.proc_uid.flags,
|
||||
data.proc_uid.uid, data.proc_uid.euid,
|
||||
data.proc_uid.gid, data.proc_uid.egid,
|
||||
data.proc_uid.pid, data.proc_uid.ppid,
|
||||
data.proc_uid.pgrp, data.proc_uid.session,
|
||||
data.proc_uid.tty, data.proc_uid.tpgid,
|
||||
data.proc_uid.priority, data.proc_uid.nice);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_mem (&data.proc_mem, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Mem INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", 1, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
printf ("Proc_Mem INIT %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu\n", 1,
|
||||
(unsigned long) data.proc_mem.flags,
|
||||
(unsigned long) data.proc_mem.size,
|
||||
(unsigned long) data.proc_mem.vsize,
|
||||
(unsigned long) data.proc_mem.resident,
|
||||
(unsigned long) data.proc_mem.share,
|
||||
(unsigned long) data.proc_mem.rss,
|
||||
(unsigned long) data.proc_mem.rss_rlim);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Time INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", 1, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Signal INIT %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", 1, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel INIT %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
for (c = 0; c < count; c++)
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_segment (&data.proc_segment, 1);
|
||||
|
||||
fprintf (stderr, "Proc_Segment INIT %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", 1, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
printf ("Proc_Segment INIT %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
||||
(unsigned long) data.proc_segment.flags,
|
||||
(unsigned long) data.proc_segment.text_rss,
|
||||
(unsigned long) data.proc_segment.shlib_rss,
|
||||
(unsigned long) data.proc_segment.data_rss,
|
||||
(unsigned long) data.proc_segment.stack_rss,
|
||||
(unsigned long) data.proc_segment.dirty_size,
|
||||
(unsigned long) data.proc_segment.start_code,
|
||||
(unsigned long) data.proc_segment.end_code,
|
||||
(unsigned long) data.proc_segment.start_stack);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_time (&data.proc_time, 1);
|
||||
|
||||
printf ("Proc_Time INIT %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
|
||||
(unsigned long) data.proc_time.flags,
|
||||
(unsigned long) data.proc_time.start_time,
|
||||
(unsigned long) data.proc_time.rtime,
|
||||
(unsigned long) data.proc_time.utime,
|
||||
(unsigned long) data.proc_time.stime,
|
||||
(unsigned long) data.proc_time.cutime,
|
||||
(unsigned long) data.proc_time.cstime,
|
||||
(unsigned long) data.proc_time.timeout,
|
||||
(unsigned long) data.proc_time.it_real_value,
|
||||
(unsigned long) data.proc_time.frequency);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_signal (&data.proc_signal, 1);
|
||||
|
||||
printf ("Proc_Signal INIT %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu\n", 1,
|
||||
(unsigned long) data.proc_signal.flags,
|
||||
(unsigned long) data.proc_signal.signal,
|
||||
(unsigned long) data.proc_signal.blocked,
|
||||
(unsigned long) data.proc_signal.sigignore,
|
||||
(unsigned long) data.proc_signal.sigcatch);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, 1);
|
||||
|
||||
printf ("Proc_Kernel INIT %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
|
||||
(unsigned long) data.proc_kernel.flags,
|
||||
(unsigned long) data.proc_kernel.k_flags,
|
||||
(unsigned long) data.proc_kernel.min_flt,
|
||||
(unsigned long) data.proc_kernel.maj_flt,
|
||||
(unsigned long) data.proc_kernel.cmin_flt,
|
||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
||||
(unsigned long) data.proc_kernel.kstk_esp,
|
||||
(unsigned long) data.proc_kernel.kstk_eip,
|
||||
(unsigned long) data.proc_kernel.nwchan,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
args = glibtop_get_proc_args (&data.proc_args, 1, 0);
|
||||
|
||||
for (i = 0; i < data.proc_args.size; i++) {
|
||||
if (args [i]) continue;
|
||||
args [i] = '|';
|
||||
}
|
||||
|
||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", 1,
|
||||
(unsigned long) data.proc_args.flags,
|
||||
(unsigned long) data.proc_args.size,
|
||||
args ? args : "");
|
||||
|
||||
glibtop_free (args);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
||||
|
113
examples/mountlist.c
Normal file
113
examples/mountlist.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/* $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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <glibtop/mountlist.h>
|
||||
#include <glibtop/fsusage.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1000
|
||||
#endif
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_fsusage fsusage;
|
||||
glibtop_mountlist mount_list;
|
||||
glibtop_mountentry *mount_entries;
|
||||
unsigned c, index, method, count, port;
|
||||
char buffer [BUFSIZ];
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
printf ("Command = '%s'\n", buffer);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
||||
|
||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||
|
||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
||||
|
||||
glibtop_free (mount_entries);
|
||||
}
|
||||
|
||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
||||
|
||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
||||
|
||||
if (mount_entries == NULL)
|
||||
_exit (1);
|
||||
|
||||
for (index = 0; index < mount_list.number; index++)
|
||||
printf ("Mount_Entry: %-30s %-10s %-20s\n",
|
||||
mount_entries [index].mountdir,
|
||||
mount_entries [index].type,
|
||||
mount_entries [index].devname);
|
||||
|
||||
printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n",
|
||||
"", "Blocks", "Free", "Avail", "Files", "Free");
|
||||
|
||||
for (index = 0; index < mount_list.number; index++) {
|
||||
glibtop_get_fsusage (&fsusage,
|
||||
mount_entries [index].mountdir);
|
||||
|
||||
printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n",
|
||||
mount_entries [index].mountdir,
|
||||
fsusage.blocks, fsusage.bfree,
|
||||
fsusage.bavail, fsusage.files,
|
||||
fsusage.ffree);
|
||||
}
|
||||
|
||||
glibtop_free (mount_entries);
|
||||
|
||||
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
125
examples/netload.c
Normal file
125
examples/netload.c
Normal file
@@ -0,0 +1,125 @@
|
||||
/* $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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <glibtop/netload.h>
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1
|
||||
#endif
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_netload netload;
|
||||
unsigned method, count, port;
|
||||
struct in_addr addr, subnet;
|
||||
char *address_string, *subnet_string;
|
||||
char buffer [BUFSIZ];
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
printf ("Command = '%s'\n", buffer);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
||||
|
||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
if (argc != 2)
|
||||
glibtop_error ("Usage: %s interface", argv [0]);
|
||||
|
||||
glibtop_get_netload (&netload, argv [1]);
|
||||
|
||||
addr.s_addr = netload.address;
|
||||
subnet.s_addr = netload.subnet;
|
||||
|
||||
address_string = glibtop_strdup (inet_ntoa (addr));
|
||||
subnet_string = glibtop_strdup (inet_ntoa (subnet));
|
||||
|
||||
printf ("Network Load (0x%08lx):\n\n"
|
||||
"\tInterface Flags:\t0x%08lx\n"
|
||||
"\tAddress:\t\t0x%08lx - %s\n"
|
||||
"\tSubnet:\t\t\t0x%08lx - %s\n\n"
|
||||
"\tMTU:\t\t\t%ld\n"
|
||||
"\tCollisions:\t\t%ld\n\n"
|
||||
"\tPackets In:\t\t%ld\n"
|
||||
"\tPackets Out:\t\t%ld\n"
|
||||
"\tPackets Total:\t\t%ld\n\n"
|
||||
"\tBytes In:\t\t%ld\n"
|
||||
"\tBytes Out:\t\t%ld\n"
|
||||
"\tBytes Total:\t\t%ld\n\n"
|
||||
"\tErrors In:\t\t%ld\n"
|
||||
"\tErrors Out:\t\t%ld\n"
|
||||
"\tErrors Total:\t\t%ld\n\n",
|
||||
(unsigned long) netload.flags,
|
||||
(unsigned long) netload.if_flags,
|
||||
(unsigned long) netload.address, address_string,
|
||||
(unsigned long) netload.subnet, subnet_string,
|
||||
(unsigned long) netload.mtu,
|
||||
(unsigned long) netload.collisions,
|
||||
(unsigned long) netload.packets_in,
|
||||
(unsigned long) netload.packets_out,
|
||||
(unsigned long) netload.packets_total,
|
||||
(unsigned long) netload.bytes_in,
|
||||
(unsigned long) netload.bytes_out,
|
||||
(unsigned long) netload.bytes_total,
|
||||
(unsigned long) netload.errors_in,
|
||||
(unsigned long) netload.errors_out,
|
||||
(unsigned long) netload.errors_total);
|
||||
|
||||
glibtop_free (address_string);
|
||||
glibtop_free (subnet_string);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
164
examples/procmap.c
Normal file
164
examples/procmap.c
Normal file
@@ -0,0 +1,164 @@
|
||||
/* $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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <glibtop/procmap.h>
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
#include <glibtop/inodedb.h>
|
||||
#endif
|
||||
|
||||
#include <sys/resource.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1
|
||||
#endif
|
||||
|
||||
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;
|
||||
char buffer [BUFSIZ];
|
||||
pid_t pid;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
printf ("Command = '%s'\n", buffer);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
||||
|
||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||
glibtop_error ("Usage: %s pid", argv [0]);
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
inodedb = glibtop_inodedb_open (0, 0);
|
||||
#endif
|
||||
|
||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
||||
|
||||
maps = glibtop_get_proc_map (&procmap, pid);
|
||||
|
||||
for (i = 0; i < procmap.number; i++) {
|
||||
const char *filename = NULL;
|
||||
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' : '-';
|
||||
perm [3] = (maps [i].perm & GLIBTOP_MAP_PERM_SHARED) ? 's' : '-';
|
||||
perm [4] = (maps [i].perm & GLIBTOP_MAP_PERM_PRIVATE) ? 'p' : '-';
|
||||
|
||||
device = (unsigned long) maps [i].device;
|
||||
device_minor = (device & 255);
|
||||
device_major = ((device >> 8) & 255);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if (filename && (filename != maps [i].filename))
|
||||
glibtop_free (filename);
|
||||
}
|
||||
|
||||
glibtop_free (maps);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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 <locale.h>
|
||||
|
||||
@@ -29,39 +31,255 @@
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
static void
|
||||
output (pid_t pid)
|
||||
{
|
||||
glibtop_union data;
|
||||
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;
|
||||
int ncpu;
|
||||
#endif
|
||||
|
||||
printf ("\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
printf ("Proc_State PID %5d (0x%08lx): "
|
||||
"'%s', %c, %lu, %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
(unsigned long) data.proc_state.uid,
|
||||
(unsigned long) data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
printf ("Proc_Uid PID %5d (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
|
||||
(unsigned long) data.proc_uid.flags,
|
||||
data.proc_uid.uid, data.proc_uid.euid,
|
||||
data.proc_uid.gid, data.proc_uid.egid,
|
||||
data.proc_uid.pid, data.proc_uid.ppid,
|
||||
data.proc_uid.pgrp, data.proc_uid.session,
|
||||
data.proc_uid.tty, data.proc_uid.tpgid,
|
||||
data.proc_uid.priority, data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
printf ("Proc_Mem PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_mem.flags,
|
||||
(unsigned long) data.proc_mem.size,
|
||||
(unsigned long) data.proc_mem.vsize,
|
||||
(unsigned long) data.proc_mem.resident,
|
||||
(unsigned long) data.proc_mem.share,
|
||||
(unsigned long) data.proc_mem.rss,
|
||||
(unsigned long) data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
printf ("Proc_Segment PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_segment.flags,
|
||||
(unsigned long) data.proc_segment.text_rss,
|
||||
(unsigned long) data.proc_segment.shlib_rss,
|
||||
(unsigned long) data.proc_segment.data_rss,
|
||||
(unsigned long) data.proc_segment.stack_rss,
|
||||
(unsigned long) data.proc_segment.dirty_size,
|
||||
(unsigned long) data.proc_segment.start_code,
|
||||
(unsigned long) data.proc_segment.end_code,
|
||||
(unsigned long) data.proc_segment.start_stack);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
printf ("Proc_Time PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_time.flags,
|
||||
(unsigned long) data.proc_time.start_time,
|
||||
(unsigned long) data.proc_time.rtime,
|
||||
(unsigned long) data.proc_time.utime,
|
||||
(unsigned long) data.proc_time.stime,
|
||||
(unsigned long) data.proc_time.cutime,
|
||||
(unsigned long) data.proc_time.cstime,
|
||||
(unsigned long) data.proc_time.timeout,
|
||||
(unsigned long) data.proc_time.it_real_value,
|
||||
(unsigned long) data.proc_time.frequency);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
printf ("Proc_Signal PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu\n", (int) pid,
|
||||
(unsigned long) data.proc_signal.flags,
|
||||
(unsigned long) data.proc_signal.signal,
|
||||
(unsigned long) data.proc_signal.blocked,
|
||||
(unsigned long) data.proc_signal.sigignore,
|
||||
(unsigned long) data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
printf ("Proc_Kernel PID %5d (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
|
||||
(unsigned long) data.proc_kernel.flags,
|
||||
(unsigned long) data.proc_kernel.k_flags,
|
||||
(unsigned long) data.proc_kernel.min_flt,
|
||||
(unsigned long) data.proc_kernel.maj_flt,
|
||||
(unsigned long) data.proc_kernel.cmin_flt,
|
||||
(unsigned long) data.proc_kernel.cmaj_flt,
|
||||
(unsigned long) data.proc_kernel.kstk_esp,
|
||||
(unsigned long) data.proc_kernel.kstk_eip,
|
||||
(unsigned long) data.proc_kernel.nwchan,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
args = glibtop_get_proc_args (&data.proc_args, pid, 0);
|
||||
|
||||
for (i = 0; i < data.proc_args.size; i++) {
|
||||
if (args [i]) continue;
|
||||
args [i] = '|';
|
||||
}
|
||||
|
||||
printf ("Proc_Args PID %5d (0x%08lx): %lu - '%s'\n", (int) pid,
|
||||
(unsigned long) data.proc_args.flags,
|
||||
(unsigned long) data.proc_args.size,
|
||||
args ? args : "");
|
||||
|
||||
glibtop_free (args);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
#if HAVE_LIBGTOP_SMP
|
||||
ncpu = glibtop_global_server->ncpu;
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
total = (unsigned long) data.proc_time.utime +
|
||||
(unsigned long) data.proc_time.stime;
|
||||
|
||||
p_total = total ? (double) total : 1.0;
|
||||
|
||||
p_utime = (double) data.proc_time.utime * 100.0 / p_total;
|
||||
p_stime = (double) data.proc_time.stime * 100.0 / p_total;
|
||||
|
||||
b_total = p_total / ncpu;
|
||||
b_utime = (double) data.proc_time.utime / ncpu;
|
||||
b_stime = (double) data.proc_time.stime / ncpu;
|
||||
|
||||
s_total = 0.0; s_utime = 0.0; s_stime = 0.0;
|
||||
|
||||
printf ("Proc_Time PID %5d (0x%08lx): %12lu %12lu %12lu\n", (int) pid,
|
||||
(unsigned long) data.proc_time.flags, total,
|
||||
(unsigned long) data.proc_time.utime,
|
||||
(unsigned long) data.proc_time.stime);
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
unsigned long this_total;
|
||||
|
||||
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
|
||||
(unsigned long) data.proc_time.xcpu_stime [i];
|
||||
|
||||
printf ("CPU %3d PID %5d (0x%08lx): %12lu %12lu %12lu\n", i,
|
||||
(int) pid, (unsigned long) data.proc_time.flags, this_total,
|
||||
(unsigned long) data.proc_time.xcpu_utime [i],
|
||||
(unsigned long) data.proc_time.xcpu_stime [i]);
|
||||
|
||||
s_total += fabs (((double) this_total) - b_total);
|
||||
s_utime += fabs (((double) data.proc_time.xcpu_utime [i]) - b_utime);
|
||||
s_stime += fabs (((double) data.proc_time.xcpu_stime [i]) - b_stime);
|
||||
}
|
||||
|
||||
printf ("\n");
|
||||
|
||||
printf ("Proc_Time PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", (int) pid,
|
||||
(unsigned long) data.proc_time.flags, 100.0, p_utime, p_stime);
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
double this_p_total, this_p_utime, this_p_stime;
|
||||
unsigned long this_total;
|
||||
|
||||
this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
|
||||
(unsigned long) data.proc_time.xcpu_stime [i];
|
||||
|
||||
this_p_total = (double) this_total * 100.0 / p_total;
|
||||
|
||||
this_p_utime = (double) data.proc_time.xcpu_utime [i] * 100.0 / p_total;
|
||||
this_p_stime = (double) data.proc_time.xcpu_stime [i] * 100.0 / p_total;
|
||||
|
||||
printf ("CPU %3d PID %5d (0x%08lx): %12.3f %12.3f %12.3f\n", i,
|
||||
(int) pid, (unsigned long) data.proc_time.flags,
|
||||
this_p_total, this_p_utime, this_p_stime);
|
||||
}
|
||||
|
||||
printf ("\n");
|
||||
|
||||
my_utime = (unsigned long) data.proc_time.utime ?
|
||||
(double) data.proc_time.utime : 1.0;
|
||||
my_stime = (unsigned long) data.proc_time.stime ?
|
||||
(double) data.proc_time.stime : 1.0;
|
||||
|
||||
printf ("SPIN: %31s %12.3f %12.3f %12.3f\n", "", s_total * 100.0 / p_total,
|
||||
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
||||
|
||||
printf ("\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_proclist proclist;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned *ptr, pid, i;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init ();
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
fprintf (stderr, "Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
sysdeps.flags, sysdeps.cpu, sysdeps.mem, sysdeps.swap,
|
||||
sysdeps.uptime, sysdeps.loadavg, sysdeps.shm_limits,
|
||||
sysdeps.msg_limits, sysdeps.sem_limits,
|
||||
sysdeps.proclist, sysdeps.proc_state,
|
||||
sysdeps.proc_uid, sysdeps.proc_mem,
|
||||
sysdeps.proc_time, sysdeps.proc_signal,
|
||||
sysdeps.proc_kernel, sysdeps.proc_segment);
|
||||
printf ("Sysdeps (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
|
||||
"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
|
||||
(unsigned long) sysdeps.flags,
|
||||
(unsigned long) sysdeps.cpu,
|
||||
(unsigned long) sysdeps.mem,
|
||||
(unsigned long) sysdeps.swap,
|
||||
(unsigned long) sysdeps.uptime,
|
||||
(unsigned long) sysdeps.loadavg,
|
||||
(unsigned long) sysdeps.shm_limits,
|
||||
(unsigned long) sysdeps.msg_limits,
|
||||
(unsigned long) sysdeps.sem_limits,
|
||||
(unsigned long) sysdeps.proclist,
|
||||
(unsigned long) sysdeps.proc_state,
|
||||
(unsigned long) sysdeps.proc_uid,
|
||||
(unsigned long) sysdeps.proc_mem,
|
||||
(unsigned long) sysdeps.proc_time,
|
||||
(unsigned long) sysdeps.proc_signal,
|
||||
(unsigned long) sysdeps.proc_kernel,
|
||||
(unsigned long) sysdeps.proc_segment);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
ptr = glibtop_get_proclist (&proclist);
|
||||
if ((argc == 2) && (sscanf (argv [1], "%d", &pid) == 1)) {
|
||||
output (pid);
|
||||
|
||||
fprintf (stderr, "Proclist (0x%08lx): %ld, %ld, %ld\n",
|
||||
proclist.flags, proclist.number, proclist.size,
|
||||
proclist.total);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
printf ("\n");
|
||||
|
||||
ptr = glibtop_get_proclist (&proclist, 0, 0);
|
||||
|
||||
printf ("Proclist (0x%08lx): %lu, %lu, %lu\n",
|
||||
(unsigned long) proclist.flags,
|
||||
(unsigned long) proclist.number,
|
||||
(unsigned long) proclist.size,
|
||||
(unsigned long) proclist.total);
|
||||
|
||||
if (!ptr) exit (1);
|
||||
|
||||
@@ -69,74 +287,13 @@ main (int argc, char *argv [])
|
||||
|
||||
pid = ptr [i];
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
fprintf (stderr, "Proc_State PID %5u (0x%08lx): "
|
||||
"'%s', %c, %u, %u\n", pid, data.proc_state.flags,
|
||||
data.proc_state.cmd, data.proc_state.state,
|
||||
data.proc_state.uid, data.proc_state.gid);
|
||||
|
||||
glibtop_get_proc_uid (&data.proc_uid, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Uid PID %5u (0x%08lx): "
|
||||
"%d %d %d %d %d %d %d %d %d %d %d %d\n",
|
||||
pid, data.proc_uid.flags, data.proc_uid.uid,
|
||||
data.proc_uid.euid, data.proc_uid.gid,
|
||||
data.proc_uid.egid, data.proc_uid.pid,
|
||||
data.proc_uid.ppid, data.proc_uid.pgrp,
|
||||
data.proc_uid.session, data.proc_uid.tty,
|
||||
data.proc_uid.tpgid, data.proc_uid.priority,
|
||||
data.proc_uid.nice);
|
||||
|
||||
glibtop_get_proc_mem (&data.proc_mem, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Mem PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld\n", pid, data.proc_mem.flags,
|
||||
data.proc_mem.size, data.proc_mem.vsize,
|
||||
data.proc_mem.resident, data.proc_mem.share,
|
||||
data.proc_mem.rss, data.proc_mem.rss_rlim);
|
||||
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Time PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %ld %ld %ld\n", pid, data.proc_time.flags,
|
||||
data.proc_time.start_time, data.proc_time.utime,
|
||||
data.proc_time.stime, data.proc_time.cutime,
|
||||
data.proc_time.cstime, data.proc_time.timeout,
|
||||
data.proc_time.it_real_value);
|
||||
|
||||
glibtop_get_proc_signal (&data.proc_signal, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Signal PID %5u (0x%08lx): "
|
||||
"%d %d %d %d\n", pid, data.proc_signal.flags,
|
||||
data.proc_signal.signal, data.proc_signal.blocked,
|
||||
data.proc_signal.sigignore, data.proc_signal.sigcatch);
|
||||
|
||||
glibtop_get_proc_kernel (&data.proc_kernel, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Kernel PID %5u (0x%08lx): "
|
||||
"%lu %lu %lu %lu %lu %lu %lu %lu\n", pid,
|
||||
data.proc_kernel.flags, data.proc_kernel.k_flags,
|
||||
data.proc_kernel.min_flt, data.proc_kernel.maj_flt,
|
||||
data.proc_kernel.cmin_flt, data.proc_kernel.cmaj_flt,
|
||||
data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
|
||||
data.proc_kernel.wchan);
|
||||
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
fprintf (stderr, "Proc_Segment PID %5u (0x%08lx): "
|
||||
"%ld %ld %ld %ld %lu %lu %lu\n", pid, data.proc_segment.flags,
|
||||
data.proc_segment.trs, data.proc_segment.lrs,
|
||||
data.proc_segment.drs, data.proc_segment.dt,
|
||||
data.proc_segment.start_code, data.proc_segment.end_code,
|
||||
data.proc_segment.start_stack);
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
output (pid);
|
||||
}
|
||||
|
||||
glibtop_free (ptr);
|
||||
|
||||
exit (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
124
examples/smp.c
Normal file
124
examples/smp.c
Normal file
@@ -0,0 +1,124 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, September 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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/cpu.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_cpu cpu;
|
||||
unsigned long frequency;
|
||||
double total, user, nice, sys, idle;
|
||||
double b_total, b_user, b_nice, b_sys, b_idle;
|
||||
double s_total, s_user, s_nice, s_sys, s_idle;
|
||||
char separator [BUFSIZ], buffer [BUFSIZ];
|
||||
int ncpu, i;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_get_cpu (&cpu);
|
||||
|
||||
ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
|
||||
|
||||
frequency = (unsigned long) cpu.frequency;
|
||||
|
||||
total = ((unsigned long) cpu.total) ? ((double) cpu.total) : 1.0;
|
||||
user = ((unsigned long) cpu.user) ? ((double) cpu.user) : 1.0;
|
||||
nice = ((unsigned long) cpu.nice) ? ((double) cpu.nice) : 1.0;
|
||||
sys = ((unsigned long) cpu.sys) ? ((double) cpu.sys) : 1.0;
|
||||
idle = ((unsigned long) cpu.idle) ? ((double) cpu.idle) : 1.0;
|
||||
|
||||
s_total = s_user = s_nice = s_sys = s_idle = 0.0;
|
||||
|
||||
b_total = total / ncpu;
|
||||
b_user = user / ncpu;
|
||||
b_nice = nice / ncpu;
|
||||
b_sys = sys / ncpu;
|
||||
b_idle = idle / ncpu;
|
||||
|
||||
memset (separator, '-', 91);
|
||||
separator [92] = '\0';
|
||||
|
||||
sprintf (buffer, _("Ticks (%ld per second):"), frequency);
|
||||
|
||||
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
|
||||
_("Total"), _("User"), _("Nice"), _("Sys"), _("Idle"), separator);
|
||||
|
||||
printf (_("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n"),
|
||||
(unsigned long) cpu.flags, total, user, nice, sys, idle);
|
||||
|
||||
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
||||
printf (_("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"), i,
|
||||
(unsigned long) cpu.flags,
|
||||
(unsigned long) cpu.xcpu_total [i],
|
||||
(unsigned long) cpu.xcpu_user [i],
|
||||
(unsigned long) cpu.xcpu_nice [i],
|
||||
(unsigned long) cpu.xcpu_sys [i],
|
||||
(unsigned long) cpu.xcpu_idle [i]);
|
||||
|
||||
s_total += fabs (((double) cpu.xcpu_total [i]) - b_total);
|
||||
s_user += fabs (((double) cpu.xcpu_user [i]) - b_user);
|
||||
s_nice += fabs (((double) cpu.xcpu_nice [i]) - b_nice);
|
||||
s_sys += fabs (((double) cpu.xcpu_sys [i]) - b_sys);
|
||||
s_idle += fabs (((double) cpu.xcpu_idle [i]) - b_idle);
|
||||
}
|
||||
|
||||
printf ("%s\n\n\n", separator);
|
||||
|
||||
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", _("Percent:"),
|
||||
_("Total (%)"), _("User (%)"), _("Nice (%)"), _("Sys (%)"),
|
||||
_("Idle (%)"), separator);
|
||||
|
||||
printf (_("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n"),
|
||||
(unsigned long) cpu.flags, (double) total * 100.0 / total,
|
||||
(double) user * 100.0 / total,
|
||||
(double) nice * 100.0 / total,
|
||||
(double) sys * 100.0 / total,
|
||||
(double) idle * 100.0 / total);
|
||||
|
||||
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
||||
double p_total, p_user, p_nice, p_sys, p_idle;
|
||||
|
||||
p_total = ((double) cpu.xcpu_total [i]) * 100.0 / total;
|
||||
p_user = ((double) cpu.xcpu_user [i]) * 100.0 / user;
|
||||
p_nice = ((double) cpu.xcpu_nice [i]) * 100.0 / nice;
|
||||
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
|
||||
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
|
||||
|
||||
printf (_("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"),
|
||||
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
|
||||
p_sys, p_idle);
|
||||
}
|
||||
|
||||
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
|
||||
_("Spin:"), s_total * 100.0 / total, s_user * 100.0 / user,
|
||||
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
|
||||
|
||||
exit (0);
|
||||
}
|
148
examples/sysdeps.c
Normal file
148
examples/sysdeps.c
Normal file
@@ -0,0 +1,148 @@
|
||||
/* $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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 1
|
||||
#endif
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned method, count, port;
|
||||
char buffer [BUFSIZ];
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
|
||||
|
||||
printf ("Method = %d\n", method);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
printf ("Command = '%s'\n", buffer);
|
||||
|
||||
count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
|
||||
buffer [count] = 0;
|
||||
|
||||
glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
|
||||
|
||||
printf ("Host = '%s' - %u\n\n", buffer, port);
|
||||
|
||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||
|
||||
glibtop_get_sysdeps (&sysdeps);
|
||||
|
||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
|
||||
|
||||
printf ("Sysdeps (0x%08lx):\n\n"
|
||||
"\tfeatures:\t\t0x%08lx\n\n"
|
||||
"\tcpu:\t\t%d\t0x%08lx\n"
|
||||
"\tmem:\t\t%d\t0x%08lx\n"
|
||||
"\tswap:\t\t%d\t0x%08lx\n\n"
|
||||
"\tuptime:\t\t%d\t0x%08lx\n"
|
||||
"\tloadavg:\t%d\t0x%08lx\n\n"
|
||||
"\tshm_limits:\t%d\t0x%08lx\n"
|
||||
"\tmsg_limits:\t%d\t0x%08lx\n"
|
||||
"\tsem_limits:\t%d\t0x%08lx\n\n"
|
||||
"\tproclist:\t%d\t0x%08lx\n\n"
|
||||
"\tproc_state:\t%d\t0x%08lx\n"
|
||||
"\tproc_uid:\t%d\t0x%08lx\n"
|
||||
"\tproc_mem:\t%d\t0x%08lx\n"
|
||||
"\tproc_time:\t%d\t0x%08lx\n"
|
||||
"\tproc_signal:\t%d\t0x%08lx\n"
|
||||
"\tproc_kernel:\t%d\t0x%08lx\n"
|
||||
"\tproc_segment:\t%d\t0x%08lx\n\n"
|
||||
"\tproc_args:\t%d\t0x%08lx\n"
|
||||
"\tproc_map:\t%d\t0x%08lx\n\n"
|
||||
"\tmountlist:\t%d\t0x%08lx\n"
|
||||
"\tfsusage:\t%d\t0x%08lx\n\n"
|
||||
"\tnetload:\t%d\t0x%08lx\n"
|
||||
"\tppp:\t\t%d\t0x%08lx\n\n",
|
||||
(unsigned long) sysdeps.flags,
|
||||
(unsigned long) sysdeps.features,
|
||||
FEATURE_CHECK(CPU),
|
||||
(unsigned long) sysdeps.cpu,
|
||||
FEATURE_CHECK(MEM),
|
||||
(unsigned long) sysdeps.mem,
|
||||
FEATURE_CHECK(SWAP),
|
||||
(unsigned long) sysdeps.swap,
|
||||
FEATURE_CHECK(UPTIME),
|
||||
(unsigned long) sysdeps.uptime,
|
||||
FEATURE_CHECK(LOADAVG),
|
||||
(unsigned long) sysdeps.loadavg,
|
||||
FEATURE_CHECK(SHM_LIMITS),
|
||||
(unsigned long) sysdeps.shm_limits,
|
||||
FEATURE_CHECK(MSG_LIMITS),
|
||||
(unsigned long) sysdeps.msg_limits,
|
||||
FEATURE_CHECK(SEM_LIMITS),
|
||||
(unsigned long) sysdeps.sem_limits,
|
||||
FEATURE_CHECK(PROCLIST),
|
||||
(unsigned long) sysdeps.proclist,
|
||||
FEATURE_CHECK(PROC_STATE),
|
||||
(unsigned long) sysdeps.proc_state,
|
||||
FEATURE_CHECK(PROC_UID),
|
||||
(unsigned long) sysdeps.proc_uid,
|
||||
FEATURE_CHECK(PROC_MEM),
|
||||
(unsigned long) sysdeps.proc_mem,
|
||||
FEATURE_CHECK(PROC_TIME),
|
||||
(unsigned long) sysdeps.proc_time,
|
||||
FEATURE_CHECK(PROC_SIGNAL),
|
||||
(unsigned long) sysdeps.proc_signal,
|
||||
FEATURE_CHECK(PROC_KERNEL),
|
||||
(unsigned long) sysdeps.proc_kernel,
|
||||
FEATURE_CHECK(PROC_SEGMENT),
|
||||
(unsigned long) sysdeps.proc_segment,
|
||||
FEATURE_CHECK(PROC_ARGS),
|
||||
(unsigned long) sysdeps.proc_args,
|
||||
FEATURE_CHECK(PROC_MAP),
|
||||
(unsigned long) sysdeps.proc_map,
|
||||
FEATURE_CHECK(MOUNTLIST),
|
||||
(unsigned long) sysdeps.mountlist,
|
||||
FEATURE_CHECK(FSUSAGE),
|
||||
(unsigned long) sysdeps.fsusage,
|
||||
FEATURE_CHECK(NETLOAD),
|
||||
(unsigned long) sysdeps.netload,
|
||||
FEATURE_CHECK(PPP),
|
||||
(unsigned long) sysdeps.ppp);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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 <locale.h>
|
||||
|
||||
@@ -36,8 +38,8 @@ int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
gh_enter (argc, argv, main_prog);
|
||||
exit (0);
|
||||
|
357
examples/timings.c
Normal file
357
examples/timings.c
Normal file
@@ -0,0 +1,357 @@
|
||||
/* $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 <locale.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
#include <glibtop/close.h>
|
||||
#include <glibtop/xmalloc.h>
|
||||
|
||||
#include <glibtop/parameter.h>
|
||||
|
||||
#include <glibtop/union.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
#include <sys/times.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#ifndef PROFILE_COUNT
|
||||
#define PROFILE_COUNT 100000L
|
||||
#endif
|
||||
|
||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
||||
#define PROFILE_COUNT_EXPENSIVE 10000L
|
||||
#endif
|
||||
|
||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
||||
#define ELAPSED_STIME ((unsigned long) elapsed_stime.tv_sec * 1000000 + (unsigned long) elapsed_stime.tv_usec)
|
||||
|
||||
#define libgtop_timeradd(tvp, uvp, vvp) \
|
||||
do { \
|
||||
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
|
||||
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
|
||||
if ((vvp)->tv_usec >= 1000000) { \
|
||||
(vvp)->tv_sec++; \
|
||||
(vvp)->tv_usec -= 1000000; \
|
||||
} \
|
||||
} while (0)
|
||||
#define libgtop_timersub(tvp, uvp, vvp) \
|
||||
do { \
|
||||
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
|
||||
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
|
||||
if ((vvp)->tv_usec < 0) { \
|
||||
(vvp)->tv_sec--; \
|
||||
(vvp)->tv_usec += 1000000; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
unsigned c, count, *ptr;
|
||||
struct rusage total_start, total_end;
|
||||
struct rusage rusage_start, rusage_end;
|
||||
struct timeval elapsed_utime, elapsed_stime;
|
||||
pid_t pid;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
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);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_cpu (&data.cpu);
|
||||
|
||||
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 ("CPU (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.cpu.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_EXPENSIVE; c++)
|
||||
glibtop_get_mem (&data.mem);
|
||||
|
||||
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 ("Memory (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.mem.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_EXPENSIVE; c++)
|
||||
glibtop_get_swap (&data.swap);
|
||||
|
||||
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 ("Swap (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.swap.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_uptime (&data.uptime);
|
||||
|
||||
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 ("Uptime (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.uptime.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_loadavg (&data.loadavg);
|
||||
|
||||
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 ("Loadavg (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.loadavg.flags, PROFILE_COUNT,
|
||||
(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);
|
||||
glibtop_free (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 ("Proclist (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);
|
||||
|
||||
pid = getpid ();
|
||||
|
||||
printf ("\n");
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT; c++)
|
||||
glibtop_get_proc_state (&data.proc_state, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_State (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_state.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_uid (&data.proc_uid, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Uid (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_uid.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_mem (&data.proc_mem, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Mem (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_mem.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_segment (&data.proc_segment, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Segment (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_segment.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);
|
||||
|
||||
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_Time (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_time.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_signal (&data.proc_signal, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Signal (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_signal.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_kernel (&data.proc_kernel, pid);
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_end);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("Proc_Kernel (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||
(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
getrusage (RUSAGE_SELF, &total_end);
|
||||
|
||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
||||
&elapsed_utime);
|
||||
|
||||
libgtop_timersub (&total_end.ru_stime, &total_start.ru_stime,
|
||||
&elapsed_stime);
|
||||
|
||||
printf ("-------------------------------------------"
|
||||
"---------------\n");
|
||||
|
||||
printf ("%-36s %9lu - %9lu\n\n", "TOTAL",
|
||||
ELAPSED_UTIME, ELAPSED_STIME);
|
||||
|
||||
printf ("All timings are in clock ticks "
|
||||
"(1000000 ticks per second).\n\n");
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
38
features.def
38
features.def
@@ -1,16 +1,22 @@
|
||||
cpu ulong(total,user,nice,sys,idle,frequency)
|
||||
mem ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||
swap ulong(total,used,free)
|
||||
uptime double(uptime,idletime)
|
||||
loadavg double(loadavg[0],loadavg[1],loadavg[2])
|
||||
shm_limits ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||
msg_limits ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||
sem_limits ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||
proclist ulong(number,size,total)
|
||||
proc_state str(cmd):char(state):ulong(uid,gid)
|
||||
proc_uid long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)
|
||||
proc_mem long(size,vsize,resident,share,rss,rss_rlim)
|
||||
proc_time long(start_time,utime,stime,cutime,cstime,timeout,it_real_value)
|
||||
proc_signal long(signal,blocked,sigignore,sigcatch)
|
||||
proc_kernel ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,wchan)
|
||||
proc_segment long(trs,lrs,drs,dt):ulong(start_code,end_code,start_stack)
|
||||
void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[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_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)
|
||||
|
63
glibtop.h
63
glibtop.h
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_H__
|
||||
#define __GLIBTOP_H__
|
||||
@@ -31,16 +33,26 @@
|
||||
#include <glibtop_machine.h>
|
||||
#endif
|
||||
|
||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||
#endif
|
||||
|
||||
typedef struct _glibtop glibtop;
|
||||
|
||||
#include <glibtop/sysdeps.h>
|
||||
|
||||
struct _glibtop
|
||||
{
|
||||
int fd; /* Server file descriptor */
|
||||
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 */
|
||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||
unsigned long os_version_code; /* Version code of the operating system */
|
||||
const char *name; /* Program name for error messages */
|
||||
const char *server_command; /* Command used to invoke server */
|
||||
@@ -48,6 +60,9 @@ struct _glibtop
|
||||
const char *server_user; /* Name of the user on the target host */
|
||||
const char *server_rsh; /* Command used to connect to the target host */
|
||||
unsigned long features; /* Server is required for this features */
|
||||
unsigned long server_port; /* Port on which daemon is listening */
|
||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||
glibtop_sysdeps required; /* Required feature list */
|
||||
pid_t pid; /* PID of the server */
|
||||
};
|
||||
|
||||
@@ -57,15 +72,23 @@ extern const unsigned long glibtop_server_features;
|
||||
|
||||
#define glibtop_init() glibtop_init_r(&glibtop_global_server, 0, 0);
|
||||
|
||||
#define glibtop_close() glibtop_close_r(&glibtop_global_server);
|
||||
#define glibtop_close() glibtop_close_r(glibtop_global_server);
|
||||
|
||||
extern glibtop *glibtop_init_r __P((glibtop **, const unsigned long, const unsigned));
|
||||
glibtop *
|
||||
glibtop_init_r (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr,
|
||||
unsigned long features,
|
||||
unsigned flags);
|
||||
|
||||
#ifdef GLIBTOP_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern void glibtop_boot_guile __P((void));
|
||||
void glibtop_boot_guile (void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -73,7 +96,7 @@ extern void glibtop_boot_guile __P((void));
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern void glibtop_boot_guile_names __P((void));
|
||||
void glibtop_boot_guile_names (void);
|
||||
|
||||
#ifndef GLIBTOP_NAMES
|
||||
#define GLIBTOP_NAMES
|
||||
|
@@ -1 +0,0 @@
|
||||
reference.sgml
|
440
guile/header.scm
440
guile/header.scm
@@ -1,440 +0,0 @@
|
||||
;; $Id$
|
||||
|
||||
(define cpu-type '(("name" . "cpu")
|
||||
("label" . "CPU Usage")
|
||||
("fields" . (list
|
||||
(("name" . "total")
|
||||
("label" . "Total CPU Usage")
|
||||
("type" . "unsigned long"))
|
||||
(("name" . "user")
|
||||
("type" . "unsigned long"))
|
||||
(("name" . "nice")
|
||||
("type" . "unsigned long"))
|
||||
(("name" . "sys")
|
||||
("type" . "unsigned long"))
|
||||
(("name" . "idle")
|
||||
("type" . "unsigned long"))
|
||||
(("name" . "name")
|
||||
("type" . "const char")
|
||||
("pointer" . #t))
|
||||
(("name" . "test"))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define main-function
|
||||
(lambda (definition)
|
||||
(letrec ((default-type "unsigned long")
|
||||
(struct-label-comments #t)
|
||||
(struct-name-comments #f)
|
||||
(default-name-tabs-first 3)
|
||||
(default-name-tabs 4)
|
||||
(default-type-tabs 2)
|
||||
(default-comment-tabs 5)
|
||||
(default-definition-tabs 3)
|
||||
(default-definition-value-tabs 2)
|
||||
(default-max-line-length 60)
|
||||
;; set default values for unspecified fields
|
||||
(check-field-definition
|
||||
(lambda (fields)
|
||||
(let ((newlist (list)))
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(if (not (assoc-ref field "type"))
|
||||
(set! field (assoc-set! field "type" default-type)))
|
||||
(if (assoc-ref field "label")
|
||||
(set! field (assoc-set! field "has-label" #t))
|
||||
(begin
|
||||
(set! field (assoc-set! field "label" (assoc-ref field "name")))
|
||||
(set! field (assoc-set! field "has-label" #f))
|
||||
)
|
||||
)
|
||||
(set! newlist (append newlist (list field)))
|
||||
)
|
||||
(cdr fields))
|
||||
(set-cdr! fields newlist)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; number fields sequentially
|
||||
(make-field-numbers
|
||||
(lambda (fields)
|
||||
(let ((pos 0) (newlist (list)))
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(set! field (assoc-set! field "number" pos))
|
||||
(set! newlist (append newlist (list field)))
|
||||
(set! pos (+ pos 1))
|
||||
)
|
||||
(cdr fields))
|
||||
(set-cdr! fields newlist)
|
||||
(set! definition (assoc-set! definition "max-fields" pos))
|
||||
)
|
||||
)
|
||||
)
|
||||
;; pad string with up to 'tabs' tabs
|
||||
(tabify-string
|
||||
(lambda (string tabs)
|
||||
(let ((length (string-length string))
|
||||
(tlength (* tabs 8)))
|
||||
(if (> tlength length)
|
||||
(let* ((diff (- tlength length))
|
||||
(count (quotient (+ diff 7) 8)))
|
||||
(string-append string
|
||||
(make-string count #\tab))
|
||||
)
|
||||
(string-append string
|
||||
#\space)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; pad string with spaces
|
||||
(spacify-string
|
||||
(lambda (string tabs)
|
||||
(let ((length (string-length string))
|
||||
(tlength (* tabs 8)))
|
||||
(if (> tlength length)
|
||||
(string-append string
|
||||
(make-string (- tlength length) #\space))
|
||||
(string-append string
|
||||
#\space)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; creates comment string
|
||||
(make-comment-string
|
||||
(lambda (comment)
|
||||
(if comment
|
||||
(string "/* "
|
||||
(spacify-string comment
|
||||
default-comment-tabs)
|
||||
" */")
|
||||
(string)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create constant for entry (eg. GLIBTOP_CPU_TOTAL)
|
||||
(entry-constant-name
|
||||
(lambda (name)
|
||||
(string-upcase! (string "GLIBTOP_"
|
||||
(assoc-ref definition "name")
|
||||
"_"
|
||||
name
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create text that is displayed as comment along with entry
|
||||
(entry-comment-text
|
||||
(lambda (name label)
|
||||
(if label
|
||||
(if struct-label-comments label #f)
|
||||
(if struct-name-comments (entry-constant-name name) #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; starts struct definition
|
||||
(make-struct-definition-head
|
||||
(lambda ()
|
||||
(let* ((class (assoc-ref definition "name"))
|
||||
)
|
||||
(string "struct _glibtop_" class "\n"
|
||||
"{\n"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; terminates struct definition
|
||||
(make-struct-definition-tail
|
||||
(lambda ()
|
||||
(string "};\n\n")
|
||||
)
|
||||
)
|
||||
;; generate struct definition body
|
||||
(make-struct-definition-body
|
||||
(lambda (fields)
|
||||
(letrec ((output (string))
|
||||
(is-first-entry #t)
|
||||
(current-type #f)
|
||||
(current-name #f)
|
||||
(current-label #f)
|
||||
(current-pointer #f)
|
||||
;; close entry (other = next entry is of other type)
|
||||
(entry-end
|
||||
(lambda (other)
|
||||
(let ((old-first is-first-entry))
|
||||
(set! is-first-entry other)
|
||||
(if current-type
|
||||
(string (tabify-string (string (string (if current-pointer "*" ""))
|
||||
current-name
|
||||
(string (if other ";" ","))
|
||||
)
|
||||
(if old-first
|
||||
default-name-tabs-first
|
||||
default-name-tabs
|
||||
)
|
||||
)
|
||||
(make-comment-string (entry-comment-text
|
||||
current-name current-label))
|
||||
"\n")
|
||||
(string)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; start new entry
|
||||
(entry-start
|
||||
(lambda (name type)
|
||||
(if current-type
|
||||
(if (equal? current-type type)
|
||||
(string (entry-end #f) "\t\t")
|
||||
(string (entry-end #t) "\t"
|
||||
(tabify-string type default-type-tabs)
|
||||
)
|
||||
)
|
||||
(string "\t"
|
||||
(tabify-string type default-type-tabs)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; main function
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(let ((name (assoc-ref field "name"))
|
||||
(type (assoc-ref field "type"))
|
||||
(pointer (assoc-ref field "pointer"))
|
||||
(label (if (assoc-ref field "has-label")
|
||||
(assoc-ref field "label")
|
||||
#f)
|
||||
)
|
||||
)
|
||||
(set! output (string-append output
|
||||
(string (entry-start name type))
|
||||
)
|
||||
)
|
||||
;; save current data
|
||||
(set! current-type type)
|
||||
(set! current-name name)
|
||||
(set! current-label label)
|
||||
(set! current-pointer pointer)
|
||||
)
|
||||
)
|
||||
(cdr fields))
|
||||
;; close last entry
|
||||
(string-append output (entry-end #t))
|
||||
)
|
||||
)
|
||||
)
|
||||
;; display complete struct definition
|
||||
(make-struct-definition
|
||||
(lambda (fields)
|
||||
(string-append (make-struct-definition-head)
|
||||
(make-struct-definition-body fields)
|
||||
(make-struct-definition-tail)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; make constant definition
|
||||
(make-const-definition
|
||||
(lambda (name value comment)
|
||||
(let* ((nstring (string-upcase! (string "GLIBTOP_" name)))
|
||||
(tabname (tabify-string nstring default-definition-tabs))
|
||||
(tabvalue (if comment
|
||||
(tabify-string (string value) default-definition-value-tabs)
|
||||
(string value))
|
||||
)
|
||||
(ctext (make-comment-string comment))
|
||||
(line (string "#define " tabname tabvalue ctext "\n"))
|
||||
)
|
||||
line)
|
||||
)
|
||||
)
|
||||
;; creates constant definitions
|
||||
(make-struct-constants
|
||||
(lambda (fields)
|
||||
(let ((class (assoc-ref definition "name"))
|
||||
(output (string))
|
||||
)
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(let* ((name (assoc-ref field "name"))
|
||||
(number (assoc-ref field "number"))
|
||||
(key (string class "_" name))
|
||||
(value (number->string number))
|
||||
(label (if (assoc-ref field "has-label")
|
||||
(assoc-ref field "label")
|
||||
#f)
|
||||
)
|
||||
(line (make-const-definition key
|
||||
value
|
||||
(entry-comment-text name label)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! output (string-append output line))
|
||||
)
|
||||
)
|
||||
(cdr fields))
|
||||
output)
|
||||
)
|
||||
)
|
||||
;; creates definition of maximum constant
|
||||
(make-struct-max-constant
|
||||
(lambda ()
|
||||
(let* ((class (assoc-ref definition "name"))
|
||||
(max (assoc-ref definition "max-fields"))
|
||||
)
|
||||
(make-const-definition (string "MAX_" class)
|
||||
(number->string max)
|
||||
#f)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; adds new list element to string, inserting newline if necessary
|
||||
(add-to-string
|
||||
(lambda (output line element separator indent max-length)
|
||||
(let* ((slen (string-length line))
|
||||
(elen (string-length element))
|
||||
(tlen (+ slen elen))
|
||||
(bsep (if separator
|
||||
(string separator " ")
|
||||
(string)
|
||||
)
|
||||
)
|
||||
(nsep (string (if separator separator "") "\n"))
|
||||
)
|
||||
(if (and (> slen 0) (> tlen max-length))
|
||||
(begin
|
||||
(set! output (string-append output line nsep))
|
||||
(set! line (string indent element))
|
||||
)
|
||||
(set! line (string-append line bsep element))
|
||||
)
|
||||
(list output line)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create general list definition
|
||||
(make-general-list-definition
|
||||
(lambda (fields name symbol line-length make-element-string)
|
||||
(letrec ((class (assoc-ref definition "name"))
|
||||
(make-general-list-definition-head
|
||||
(lambda ()
|
||||
(string "const char *"
|
||||
"glibtop_"
|
||||
symbol
|
||||
"_"
|
||||
class
|
||||
" "
|
||||
"[GLIBTOP_MAX_"
|
||||
(string-upcase! (string class))
|
||||
"] = \n{ "
|
||||
)
|
||||
)
|
||||
)
|
||||
(make-general-list-definition-tail
|
||||
(lambda ()
|
||||
(string "\n};\n")
|
||||
)
|
||||
)
|
||||
(make-general-list-definition-body
|
||||
(lambda ()
|
||||
(let* ((first #t) (output (string)) (line (string)))
|
||||
(for-each
|
||||
(lambda (field)
|
||||
(let* ((element (assoc-ref field name))
|
||||
(olist (add-to-string output line
|
||||
(make-element-string element)
|
||||
(if first #f ",")
|
||||
" "
|
||||
line-length))
|
||||
)
|
||||
(set! output (car olist))
|
||||
(set! line (car (cdr olist)))
|
||||
(set! first #f)
|
||||
)
|
||||
)
|
||||
(cdr fields))
|
||||
(set! output (string-append output line))
|
||||
output)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; main function
|
||||
(string-append (make-general-list-definition-head)
|
||||
(make-general-list-definition-body)
|
||||
(make-general-list-definition-tail)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create name list definition
|
||||
(make-name-list-definition
|
||||
(lambda (fields)
|
||||
(make-general-list-definition fields
|
||||
"name"
|
||||
"names"
|
||||
default-max-line-length
|
||||
(lambda (x)
|
||||
(string #\" x #\")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create label list definition
|
||||
(make-label-list-definition
|
||||
(lambda (fields)
|
||||
(make-general-list-definition fields
|
||||
"label"
|
||||
"labels"
|
||||
0
|
||||
(lambda (x)
|
||||
(string "gettext_noop (" #\" x #\" ")")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; create description list definition
|
||||
(make-description-list-definition
|
||||
(lambda (fields)
|
||||
(make-general-list-definition fields
|
||||
"description"
|
||||
"descriptions"
|
||||
default-max-line-length
|
||||
(lambda (x)
|
||||
(if x
|
||||
(string "gettext_noop (" #\" x #\" ")")
|
||||
(string "NULL")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;; start of main function
|
||||
(let ((fielddef (assoc-ref definition "fields")))
|
||||
(display fielddef) (newline) (newline)
|
||||
(check-field-definition fielddef)
|
||||
(make-field-numbers fielddef)
|
||||
(display fielddef) (newline) (newline)
|
||||
(display (make-struct-definition fielddef))
|
||||
(display (make-struct-constants fielddef)) (newline)
|
||||
(display (make-struct-max-constant)) (newline) (newline)
|
||||
(display (make-name-list-definition fielddef)) (newline)
|
||||
(display (make-label-list-definition fielddef)) (newline)
|
||||
(display (make-description-list-definition fielddef)) (newline)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(begin
|
||||
(main-function cpu-type)
|
||||
(newline)
|
||||
)
|
||||
|
@@ -1,311 +0,0 @@
|
||||
;; $Id$
|
||||
|
||||
(define sysdeps-list '())
|
||||
|
||||
(define make-sysdeps-list
|
||||
(lambda ()
|
||||
(letrec ((names (glibtop-names-sysdeps))
|
||||
(labels (glibtop-labels-sysdeps))
|
||||
(descriptions (glibtop-descriptions-sysdeps))
|
||||
)
|
||||
(for-each (lambda (feature)
|
||||
(let* ((label (car labels))
|
||||
(description (car descriptions))
|
||||
(list '())
|
||||
)
|
||||
(set! labels (cdr labels))
|
||||
(set! descriptions (cdr descriptions))
|
||||
(set! list (assoc-set! list 'name feature))
|
||||
(set! list (assoc-set! list 'label label))
|
||||
(set! list (assoc-set! list 'description description))
|
||||
(set! sysdeps-list (assoc-set! sysdeps-list feature list))
|
||||
)
|
||||
)
|
||||
names)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-function-reference
|
||||
(lambda (feature)
|
||||
(let* ((names (eval-string (string "(glibtop-names-" feature ")")))
|
||||
(types (eval-string (string "(glibtop-types-" feature ")")))
|
||||
(labels (eval-string (string "(glibtop-labels-" feature ")")))
|
||||
(sysdeps (assoc-ref sysdeps-list feature)) (retval "void")
|
||||
(name (assoc-ref sysdeps 'name))
|
||||
(label (assoc-ref sysdeps 'label))
|
||||
(description (assoc-ref sysdeps 'description))
|
||||
(descriptions (eval-string (string "(glibtop-descriptions-" feature ")")))
|
||||
(decl-list '()) (field-list '())
|
||||
|
||||
(synopsis-start-string
|
||||
(string "<para>Automatically generated function synopsis:\n\n"))
|
||||
|
||||
(section-string
|
||||
(string "<sect1>\n"
|
||||
"<title><function>glibtop_get_" feature "()</function> - "
|
||||
label "</title>\n\n")
|
||||
)
|
||||
|
||||
(description-string
|
||||
(string "<para>\nAutomatically generated description:\n\n"
|
||||
"<blockquote>\n<literallayout>\n"
|
||||
description "\n"
|
||||
"</literallayout>\n</blockquote>\n\n")
|
||||
)
|
||||
|
||||
(definition-start-string
|
||||
(string "<para>Automatically generated declaration of "
|
||||
"<structname>_glibtop_" feature "</structname>:\n\n")
|
||||
)
|
||||
|
||||
(param-description-start-string
|
||||
(string "<para>Automatically generated descriptions of "
|
||||
"<structname>_glibtop_" feature "</structname>:\n\n")
|
||||
)
|
||||
|
||||
(funcsynopsisinfo-string
|
||||
(string "<funcsynopsisinfo>\n"
|
||||
"#include <glibtop.h>\n"
|
||||
"#include <glibtop/" feature ".h>"
|
||||
"</funcsynopsisinfo>")
|
||||
)
|
||||
|
||||
(funcdef-string
|
||||
(string "<funcdef>" retval " "
|
||||
"<function>glibtop_get_" feature "__r</function>"
|
||||
"</funcdef>\n")
|
||||
)
|
||||
|
||||
(paramdef-string
|
||||
(string "<paramdef>glibtop *<parameter>server</parameter>, "
|
||||
"glibtop_" feature " *<parameter>" feature "</parameter>\n"
|
||||
"</paramdef>")
|
||||
)
|
||||
|
||||
(funcdef-noserver-string
|
||||
(string "<funcdef>" retval " "
|
||||
"<function>glibtop_get_" feature "</function>"
|
||||
"</funcdef>\n")
|
||||
)
|
||||
|
||||
(paramdef-noserver-string
|
||||
(string "<paramdef>glibtop_" feature " *"
|
||||
"<parameter>" feature "</parameter>\n"
|
||||
"</paramdef>")
|
||||
)
|
||||
|
||||
(field-name-constant
|
||||
(lambda (name field)
|
||||
(string "GLIBTOP_"
|
||||
(string-upcase! (string name))
|
||||
"_"
|
||||
(string-upcase! (string field)))
|
||||
)
|
||||
)
|
||||
|
||||
(make-struct-name
|
||||
(lambda (type)
|
||||
(string "glibtop_" (assoc-ref type "name"))
|
||||
)
|
||||
)
|
||||
|
||||
(tab-pad-string
|
||||
(lambda (string tabs)
|
||||
(let* ((slength (string-length string))
|
||||
(tlength (* tabs 8)))
|
||||
(string-append string
|
||||
(make-string
|
||||
(if (> tlength slength)
|
||||
(- tlength slength)
|
||||
1
|
||||
)
|
||||
#\space))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(make-field-list
|
||||
(lambda (name type fields)
|
||||
(let* ((output (string)) (pos 1))
|
||||
(map
|
||||
(lambda (x)
|
||||
(let* ((sep (if (= pos (length fields)) ";" ","))
|
||||
(start (if (= pos 1)
|
||||
(string "\t"
|
||||
(tab-pad-string (string type) 2))
|
||||
(string "\t\t"))
|
||||
)
|
||||
(comment (string (if (= pos 1) "" "\t") "/* "
|
||||
(tab-pad-string
|
||||
(field-name-constant name (car x)) 4)
|
||||
" */"))
|
||||
(field (tab-pad-string
|
||||
(string-append (string (car x)) sep) 2))
|
||||
)
|
||||
(set! pos (+ pos 1))
|
||||
(string-append start field comment "\n")
|
||||
)
|
||||
)
|
||||
fields)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(init-field-list
|
||||
(lambda ()
|
||||
(let* ((old-type #f)
|
||||
(type-list types)
|
||||
(new-type #f)
|
||||
(fields (list))
|
||||
)
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(set! new-type (car type-list))
|
||||
(set! type-list (cdr type-list))
|
||||
(if (equal? old-type new-type)
|
||||
(set-car! fields
|
||||
(append (list new-type)
|
||||
(cdr (car fields))
|
||||
(list (list x))
|
||||
)
|
||||
)
|
||||
(if (equal? old-type #f)
|
||||
(set! fields (list (list new-type (list x))))
|
||||
(set! fields (append (list (list new-type (list x))) fields))
|
||||
)
|
||||
)
|
||||
(set! old-type new-type)
|
||||
)
|
||||
names)
|
||||
fields)
|
||||
)
|
||||
)
|
||||
|
||||
(make-struct-body
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (assoc-ref type "fields"))
|
||||
(output (string))
|
||||
)
|
||||
(for-each
|
||||
(lambda (y)
|
||||
(for-each
|
||||
(lambda (z)
|
||||
(set! output (string-append output z))
|
||||
)
|
||||
y)
|
||||
)
|
||||
(map
|
||||
(lambda (x) (make-field-list name (car x) (cdr x)))
|
||||
data)
|
||||
)
|
||||
output)
|
||||
)
|
||||
)
|
||||
|
||||
(make-struct
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (assoc-ref type "fields"))
|
||||
(output (string-append
|
||||
(tab-pad-string
|
||||
(string "typedef struct _glibtop_" name)
|
||||
5)
|
||||
(string "glibtop_" name ";\n\n"
|
||||
"struct glibtop_" name "\n{\n\t"
|
||||
"unsigned long\tflags;\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
(string-append output (make-struct-body type) "};\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(make-param-description
|
||||
(lambda ()
|
||||
(let* ((label-list labels)
|
||||
(description-list descriptions)
|
||||
(output (string))
|
||||
)
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(let* ((label (car label-list))
|
||||
(description (car description-list))
|
||||
)
|
||||
(set! label-list (cdr label-list))
|
||||
(set! description-list (cdr description-list))
|
||||
(set! output
|
||||
(string-append output
|
||||
(string "<varlistentry>\n"
|
||||
"<term><parameter>"
|
||||
name
|
||||
"</parameter></term>\n\n"
|
||||
"<listitem>\n<para>\n"
|
||||
description "\n\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
names)
|
||||
output)
|
||||
)
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
(set! decl-list (assoc-set! decl-list "name" name))
|
||||
(set! decl-list (assoc-set! decl-list "label" label))
|
||||
(set! decl-list (assoc-set! decl-list "fields" (init-field-list)))
|
||||
|
||||
(string-append section-string
|
||||
description-string
|
||||
synopsis-start-string
|
||||
(string "<blockquote>\n<funcsynopsis>\n")
|
||||
funcsynopsisinfo-string
|
||||
funcdef-noserver-string
|
||||
paramdef-noserver-string
|
||||
(string "</funcsynopsis>\n")
|
||||
(string "<funcsynopsis>\n")
|
||||
funcdef-string
|
||||
paramdef-string
|
||||
(string "</funcsynopsis>\n</blockquote>\n")
|
||||
definition-start-string
|
||||
(string "<blockquote>\n<literallayout>\n")
|
||||
(make-struct decl-list)
|
||||
(string "</literallayout>\n</blockquote>\n")
|
||||
param-description-start-string
|
||||
"<variablelist>\n\n"
|
||||
(make-param-description)
|
||||
"</variablelist>\n\n"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; <sect2 id="glibtop-get-cpu">
|
||||
;; <title><function>glibtop_get_cpu()</function> - get CPU usage</title>
|
||||
;;
|
||||
;; <funcsynopsis>
|
||||
;; <funcsynopsisinfo>
|
||||
;; #include <glibtop.h>
|
||||
;; #include <glibtop/cpu.h></funcsynopsisinfo>
|
||||
;; <funcdef>void <function>glibtop_get_cpu</function></funcdef>
|
||||
;; <paramdef>glibtop *<parameter>server</parameter>, glibtop_cpu *<parameter>cpu_usage</parameter>
|
||||
;; </paramdef></funcsynopsis>
|
||||
|
||||
|
||||
|
||||
(begin
|
||||
(make-sysdeps-list)
|
||||
|
||||
(display (string "<chapter id=\"functions\">\n"
|
||||
"<title>Function Reference List</title>\n\n")
|
||||
)
|
||||
|
||||
(for-each (lambda (x)
|
||||
(display (make-function-reference x))
|
||||
)
|
||||
(glibtop-names-sysdeps))
|
||||
)
|
@@ -1,195 +0,0 @@
|
||||
(define cpu-type '(("name" . "cpu")
|
||||
("label" . "CPU Usage")
|
||||
("fields" . (("unsigned long" ("total" "Total CPU Usage")
|
||||
("user") ("nice") ("sys") ("idle"))
|
||||
("const char" ("name"))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; computes constant for struct field (eg. GLIBTOP_CPU_TOTAL)
|
||||
|
||||
(define field-name-constant
|
||||
(lambda (name field)
|
||||
(string "GLIBTOP_"
|
||||
(string-upcase! (string name))
|
||||
"_"
|
||||
(string-upcase! (string field)))
|
||||
)
|
||||
)
|
||||
|
||||
;; computes structure name (eg. glibtop_cpu)
|
||||
|
||||
(define make-struct-name
|
||||
(lambda (type)
|
||||
(string "glibtop_" (assoc-ref type "name"))
|
||||
)
|
||||
)
|
||||
|
||||
(define tab-pad-string
|
||||
(lambda (string tabs)
|
||||
(string-append string (make-string (- (* tabs 8) (string-length string)) #\space))
|
||||
)
|
||||
)
|
||||
|
||||
(define make-field-list
|
||||
(lambda (name type fields)
|
||||
(let* ((output (string)) (pos 1))
|
||||
(map
|
||||
(lambda (x)
|
||||
(let* ((sep (if (= pos (length fields)) ";" ","))
|
||||
(start (if (= pos 1)
|
||||
(string "\t"
|
||||
(tab-pad-string (string type) 2))
|
||||
(string "\t\t"))
|
||||
)
|
||||
(comment (string (if (= pos 1) "" "\t") "/* "
|
||||
(tab-pad-string (field-name-constant name (car x)) 3)
|
||||
" */"))
|
||||
(field (tab-pad-string (string-append (string (car x)) sep) 2))
|
||||
)
|
||||
(set! pos (+ pos 1))
|
||||
(string-append start field comment "\n")
|
||||
)
|
||||
)
|
||||
fields)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-struct-body
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (assoc-ref type "fields"))
|
||||
(output (string))
|
||||
)
|
||||
(for-each
|
||||
(lambda (y)
|
||||
(for-each
|
||||
(lambda (z)
|
||||
(set! output (string-append output z))
|
||||
)
|
||||
y)
|
||||
)
|
||||
(map
|
||||
(lambda (x) (make-field-list name (car x) (cdr x)))
|
||||
data)
|
||||
)
|
||||
output)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-struct
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (assoc-ref type "fields"))
|
||||
(output (string-append
|
||||
(tab-pad-string
|
||||
(string "typedef struct _glibtop_" name)
|
||||
5)
|
||||
(string "glibtop_" name ";\n\n"
|
||||
"struct glibtop_" name "\n{\n\t"
|
||||
"unsigned long\tflags;\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
(string-append output (make-struct-body type) "};\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-field-name-list
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (assoc-ref type "fields"))
|
||||
(return (list))
|
||||
)
|
||||
(map
|
||||
(lambda (x)
|
||||
(map
|
||||
(lambda (y) (set! return (append return (list (car y)))))
|
||||
(cdr x)
|
||||
)
|
||||
)
|
||||
data)
|
||||
return)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-field-constants
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
(data (make-field-name-list type))
|
||||
(output (string
|
||||
(tab-pad-string
|
||||
(string "#define GLIBTOP_MAX_"
|
||||
(string-upcase! (string name))
|
||||
) 5)
|
||||
(number->string (length data))
|
||||
"\n\n"
|
||||
)
|
||||
)
|
||||
(pos 0)
|
||||
)
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(set! output (string-append output (string
|
||||
(tab-pad-string
|
||||
(string "#define GLIBTOP_"
|
||||
(string-upcase! (string name))
|
||||
"_"
|
||||
(string-upcase! (string x))
|
||||
) 5)
|
||||
(number->string pos)
|
||||
"\n"
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! pos (+ pos 1))
|
||||
)
|
||||
data)
|
||||
output)
|
||||
)
|
||||
)
|
||||
|
||||
(define make-extern-defs
|
||||
(lambda (type)
|
||||
(let* ((name (assoc-ref type "name"))
|
||||
)
|
||||
(string
|
||||
(tab-pad-string (string "extern void glibtop_get_" name) 6)
|
||||
"__P(glibtop *, glibtop_" name " *);\n\n"
|
||||
"#ifdef HAVE_GUILE\n\n"
|
||||
"/* You need to link with -lgtop_guile to get this stuff here. */\n\n"
|
||||
(tab-pad-string (string "extern SCM glibtop_get_" name) 6)
|
||||
"__P(void);\n\n"
|
||||
"#endif /* HAVE_GUILE */\n\n"
|
||||
"#ifdef GLIBTOP_GUILE_NAMES\n\n"
|
||||
"/* You need to link with -lgtop_guile_names to get this stuff here. */\n\n"
|
||||
(tab-pad-string (string "extern SCM glibtop_guile_names_" name) 6)
|
||||
"__P(void);\n"
|
||||
(tab-pad-string (string "extern SCM glibtop_guile_labels_" name) 6)
|
||||
"__P(void);\n"
|
||||
(tab-pad-string (string "extern SCM glibtop_guile_descriptions_" name) 6)
|
||||
"__P(void);\n\n"
|
||||
"#endif /* GLIBTOP_GUILE_NAMES */\n\n"
|
||||
"#ifdef GLIBTOP_NAMES\n\n"
|
||||
"/* You need to link with -lgtop_names to get this stuff here. */\n\n"
|
||||
(tab-pad-string (string "extern const char *glibtop_names_" name) 6)
|
||||
"[];\n"
|
||||
(tab-pad-string (string "extern const char *glibtop_labels_" name) 6)
|
||||
"[];\n"
|
||||
(tab-pad-string (string "extern const char *glibtop_descriptions_" name) 6)
|
||||
"[];\n\n"
|
||||
"#endif /* GLIBTOP_NAMES */\n\n")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(begin
|
||||
(display (make-field-constants cpu-type)) (newline)
|
||||
(display (make-struct cpu-type)) (newline)
|
||||
(display (make-extern-defs cpu-type)) (newline)
|
||||
)
|
||||
|
@@ -1,8 +1,10 @@
|
||||
glibtopdir = $(includedir)/glibtop
|
||||
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 \
|
||||
procmem.h procuid.h swap.h write.h error.h open.h \
|
||||
procsegment.h read.h sysdeps.h xmalloc.h global.h \
|
||||
output.h procsignal.h read_data.h union.h
|
||||
procsignal.h read_data.h union.h types.h gnuserv.h \
|
||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h
|
||||
|
@@ -1,33 +1,38 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_CLOSE_H__
|
||||
#define __GLIBTOP_CLOSE_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
extern void glibtop_close_r __P((glibtop *));
|
||||
void glibtop_close_r (glibtop *server);
|
||||
|
||||
__END_DECLS
|
||||
void glibtop_close_s (glibtop *server);
|
||||
void glibtop_close_p (glibtop *server);
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,31 +1,34 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_COMMAND_H__
|
||||
#define __GLIBTOP_COMMAND_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/sysdeps.h>
|
||||
#include <glibtop/union.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_CMND_QUIT 0
|
||||
#define GLIBTOP_CMND_SYSDEPS 1
|
||||
@@ -47,23 +50,53 @@ __BEGIN_DECLS
|
||||
#define GLIBTOP_CMND_PROC_SIGNAL 15
|
||||
#define GLIBTOP_CMND_PROC_KERNEL 16
|
||||
#define GLIBTOP_CMND_PROC_SEGMENT 17
|
||||
#define GLIBTOP_CMND_PROC_ARGS 18
|
||||
#define GLIBTOP_CMND_PROC_MAP 19
|
||||
|
||||
#define GLIBTOP_MAX_CMND 18
|
||||
#define GLIBTOP_CMND_MOUNTLIST 20
|
||||
#define GLIBTOP_CMND_FSUSAGE 21
|
||||
#define GLIBTOP_CMND_NETLOAD 22
|
||||
#define GLIBTOP_CMND_PPP 23
|
||||
|
||||
typedef struct _glibtop_command glibtop_command;
|
||||
#define GLIBTOP_MAX_CMND 24
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
typedef struct _glibtop_command glibtop_command;
|
||||
|
||||
typedef struct _glibtop_response glibtop_response;
|
||||
typedef union _glibtop_response_union glibtop_response_union;
|
||||
|
||||
struct _glibtop_command
|
||||
{
|
||||
glibtop server;
|
||||
unsigned command;
|
||||
size_t size;
|
||||
u_int64_t command;
|
||||
u_int64_t size, data_size;
|
||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
||||
};
|
||||
|
||||
union _glibtop_response_union
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_sysdeps sysdeps;
|
||||
};
|
||||
|
||||
struct _glibtop_response
|
||||
{
|
||||
int64_t offset;
|
||||
u_int64_t size, data_size;
|
||||
glibtop_response_union u;
|
||||
};
|
||||
|
||||
#define glibtop_call(p1, p2, p3, p4) glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
|
||||
|
||||
extern void *glibtop_call_l __P((glibtop *, unsigned, size_t, void *, size_t, void *));
|
||||
extern void *glibtop_call_s __P((glibtop *, unsigned, size_t, void *, size_t, void *));
|
||||
void *
|
||||
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
const void *send_buf, size_t recv_size, void *recv_buf);
|
||||
|
||||
__END_DECLS
|
||||
void *
|
||||
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
|
||||
const void *send_buf, size_t recv_size, void *recv_buf);
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_CPU_H__
|
||||
#define __GLIBTOP_CPU_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_CPU_TOTAL 0
|
||||
#define GLIBTOP_CPU_USER 1
|
||||
@@ -34,19 +36,33 @@ __BEGIN_DECLS
|
||||
#define GLIBTOP_CPU_IDLE 4
|
||||
#define GLIBTOP_CPU_FREQUENCY 5
|
||||
|
||||
#define GLIBTOP_MAX_CPU 6
|
||||
#define GLIBTOP_XCPU_TOTAL 6
|
||||
#define GLIBTOP_XCPU_USER 7
|
||||
#define GLIBTOP_XCPU_NICE 8
|
||||
#define GLIBTOP_XCPU_SYS 9
|
||||
#define GLIBTOP_XCPU_IDLE 10
|
||||
|
||||
#define GLIBTOP_MAX_CPU 11
|
||||
|
||||
/* Nobody should really be using more than 4 processors. */
|
||||
#define GLIBTOP_NCPU 4
|
||||
|
||||
typedef struct _glibtop_cpu glibtop_cpu;
|
||||
|
||||
struct _glibtop_cpu
|
||||
{
|
||||
unsigned long flags,
|
||||
total, /* GLIBTOP_CPU_TOTAL */
|
||||
user, /* GLIBTOP_CPU_USER */
|
||||
nice, /* GLIBTOP_CPU_NICE */
|
||||
sys, /* GLIBTOP_CPU_SYS */
|
||||
idle, /* GLIBTOP_CPU_IDLE */
|
||||
frequency; /* GLIBTOP_CPU_FREQUENCY */
|
||||
u_int64_t flags,
|
||||
total, /* GLIBTOP_CPU_TOTAL */
|
||||
user, /* GLIBTOP_CPU_USER */
|
||||
nice, /* GLIBTOP_CPU_NICE */
|
||||
sys, /* GLIBTOP_CPU_SYS */
|
||||
idle, /* GLIBTOP_CPU_IDLE */
|
||||
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 */
|
||||
};
|
||||
|
||||
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
|
||||
@@ -57,31 +73,14 @@ struct _glibtop_cpu
|
||||
#define glibtop_get_cpu_r glibtop_get_cpu_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_cpu_l __P((glibtop *, glibtop_cpu *));
|
||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
||||
|
||||
#if GLIBTOP_SUID_CPU
|
||||
extern void glibtop_get_cpu_p __P((glibtop *, glibtop_cpu *));
|
||||
void glibtop_init_cpu_p (glibtop *server);
|
||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
||||
#else
|
||||
extern void glibtop_get_cpu_s __P((glibtop *, glibtop_cpu *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_cpu __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_cpu __P((void));
|
||||
extern SCM glibtop_guile_types_cpu __P((void));
|
||||
extern SCM glibtop_guile_labels_cpu __P((void));
|
||||
extern SCM glibtop_guile_descriptions_cpu __P((void));
|
||||
|
||||
void glibtop_init_cpu_s (glibtop *server);
|
||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -95,6 +94,6 @@ extern const char *glibtop_descriptions_cpu [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,30 +1,89 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_ERROR_H__
|
||||
#define __GLIBTOP_ERROR_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#ifndef G_GNUC_UNUSED
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||
#define G_GNUC_UNUSED \
|
||||
__attribute__((unused))
|
||||
#else /* !__GNUC__ */
|
||||
#define G_GNUC_UNUSED
|
||||
#endif /* !__GNUC__ */
|
||||
#endif /* defined G_GNUC_UNUSED */
|
||||
|
||||
void glibtop_error_vr (glibtop *server, char *format, va_list args);
|
||||
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
|
||||
|
||||
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_vr (server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_error_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_error_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
static void G_GNUC_UNUSED
|
||||
glibtop_warn_io_r (glibtop *server, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
glibtop_warn_io_vr (server, format, errno, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args)
|
||||
#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args)
|
||||
@@ -32,12 +91,46 @@ __BEGIN_DECLS
|
||||
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
|
||||
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
|
||||
|
||||
extern void glibtop_error_r __P((glibtop *, char *, ...));
|
||||
extern void glibtop_warn_r __P((glibtop *, char *, ...));
|
||||
#else /* no __GNUC__ */
|
||||
|
||||
extern void glibtop_error_io_r __P((glibtop *, char *, ...));
|
||||
extern void glibtop_warn_io_r __P((glibtop *, char *, ...));
|
||||
static void
|
||||
glibtop_error (char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start (args, format);
|
||||
glibtop_error_vr (glibtop_global_server, format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
__END_DECLS
|
||||
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__ */
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
72
include/glibtop/fsusage.h
Normal file
72
include/glibtop/fsusage.h
Normal file
@@ -0,0 +1,72 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_FSUSAGE_H__
|
||||
#define __GLIBTOP_FSUSAGE_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_FSUSAGE_BLOCKS 0
|
||||
#define GLIBTOP_FSUSAGE_BFREE 1
|
||||
#define GLIBTOP_FSUSAGE_BAVAIL 2
|
||||
#define GLIBTOP_FSUSAGE_FILES 3
|
||||
#define GLIBTOP_FSUSAGE_FFREE 4
|
||||
|
||||
#define GLIBTOP_MAX_FSUSAGE 5
|
||||
|
||||
typedef struct _glibtop_fsusage glibtop_fsusage;
|
||||
|
||||
struct _glibtop_fsusage
|
||||
{
|
||||
u_int64_t flags,
|
||||
blocks, /* Total blocks. */
|
||||
bfree, /* Free blocks available to superuser. */
|
||||
bavail, /* Free blocks available to non-superuser. */
|
||||
files, /* Total file nodes. */
|
||||
ffree; /* Free file nodes. */
|
||||
};
|
||||
|
||||
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
|
||||
|
||||
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
|
||||
|
||||
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_fsusage [];
|
||||
extern const unsigned glibtop_types_fsusage [];
|
||||
extern const char *glibtop_labels_fsusage [];
|
||||
extern const char *glibtop_descriptions_fsusage [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,55 +1,67 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_GLOBAL_H__
|
||||
#define __GLIBTOP_GLOBAL_H__
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
/* __BEGIN_DECLS should be used at the beginning of your declarations,
|
||||
so that C++ compilers don't mangle their names. Use __END_DECLS at
|
||||
the end of C declarations. */
|
||||
/*
|
||||
* All declarations are enclosed in BEGIN_LIBGTOP_DECLS and
|
||||
* END_LIBGTOP_DECLS so that C++ compilers don't mangle their names.
|
||||
*
|
||||
*/
|
||||
|
||||
#undef __BEGIN_DECLS
|
||||
#undef __END_DECLS
|
||||
#undef BEGIN_LIBGTOP_DECLS
|
||||
#undef END_LIBGTOP_DECLS
|
||||
#ifdef __cplusplus
|
||||
# define __BEGIN_DECLS extern "C" {
|
||||
# define __END_DECLS }
|
||||
# define BEGIN_LIBGTOP_DECLS extern "C" {
|
||||
# define END_LIBGTOP_DECLS }
|
||||
#else
|
||||
# define __BEGIN_DECLS /* empty */
|
||||
# define __END_DECLS /* empty */
|
||||
# define BEGIN_LIBGTOP_DECLS /* empty */
|
||||
# define END_LIBGTOP_DECLS /* empty */
|
||||
#endif
|
||||
|
||||
/* __P is a macro used to wrap function prototypes, so that compilers
|
||||
that don't understand ANSI C prototypes still work, and ANSI C
|
||||
compilers can issue warnings about type mismatches. */
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
#undef __P
|
||||
#if defined (__STDC__) || defined (_AIX) \
|
||||
|| (defined (__mips) && defined (_SYSTYPE_SVR4)) \
|
||||
|| defined(WIN32) || defined(__cplusplus)
|
||||
# define __P(protos) protos
|
||||
#else
|
||||
# define __P(protos) ()
|
||||
#endif
|
||||
/* Provide macros to feature the GCC function attribute.
|
||||
*/
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||
#define G_GNUC_NORETURN \
|
||||
__attribute__((noreturn))
|
||||
#define G_GNUC_CONST \
|
||||
__attribute__((const))
|
||||
#define G_GNUC_UNUSED \
|
||||
__attribute__((unused))
|
||||
#else /* !__GNUC__ */
|
||||
#define G_GNUC_NORETURN
|
||||
#define G_GNUC_CONST
|
||||
#define G_GNUC_UNUSED
|
||||
#endif /* !__GNUC__ */
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
@@ -62,7 +74,16 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
#ifdef NEED_GNOMESUPPORT_H
|
||||
#include <gnomesupport.h>
|
||||
#endif
|
||||
|
||||
#ifdef WITHOUT_GUILE
|
||||
#undef GLIBTOP_GUILE
|
||||
#undef GLIBTOP_GUILE_NAMES
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE
|
||||
#include <guile/gh.h>
|
||||
#endif
|
||||
|
||||
@@ -88,24 +109,34 @@
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
#ifdef _IN_LIBGTOP
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#ifndef _
|
||||
#define _(String) gettext (String)
|
||||
#define _(String) dgettext (PACKAGE, String)
|
||||
#define N_(String) (String)
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_STRERROR
|
||||
extern char *strerror __P((int));
|
||||
char *strerror (int errno);
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
#endif
|
||||
|
@@ -54,10 +54,8 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
* sockets with sysv ipc
|
||||
*/
|
||||
|
||||
|
||||
#define INTERNET_DOMAIN_SOCKETS
|
||||
#define UNIX_DOMAIN_SOCKETS
|
||||
/* #define SYSV_IPC */
|
||||
#define UNIX_DOMAIN_SOCKETS
|
||||
|
||||
/*
|
||||
* Define additional authentication protocols to be used. These methods will
|
||||
@@ -77,7 +75,9 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
* stuff related to supporting MIT-MAGIC-COOKIE-1
|
||||
*/
|
||||
|
||||
#define MCOOKIE_SCREEN "999" /* screen # to use as the gnuserv cookie */
|
||||
#if 0
|
||||
#define MCOOKIE_SCREEN "42980" /* screen # to use as the gnuserv cookie */
|
||||
#endif
|
||||
#define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */
|
||||
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */
|
||||
|
||||
@@ -91,15 +91,13 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
* Pick a default communication scheme, if none was specified.
|
||||
*/
|
||||
|
||||
#if !defined(SYSV_IPC) && !defined(UNIX_DOMAIN_SOCKETS) && !defined(INTERNET_DOMAIN_SOCKETS)
|
||||
#if !defined(UNIX_DOMAIN_SOCKETS) && !defined(INTERNET_DOMAIN_SOCKETS)
|
||||
|
||||
#ifdef HAVE_SYSVIPC
|
||||
#define SYSV_IPC /* SYSV systems use SYSV IPC by default */
|
||||
#endif /* HAVE_SYSVIPC */
|
||||
/* BSD systems use Unix Domain sockets by default */
|
||||
|
||||
#ifdef BSD
|
||||
#define UNIX_DOMAIN_SOCKETS /* BSD systems use Unix Domain sockets by default */
|
||||
#endif /* BSD */
|
||||
#define UNIX_DOMAIN_SOCKETS
|
||||
#endif
|
||||
|
||||
#endif /* No communication method pre-defined */
|
||||
|
||||
@@ -111,24 +109,6 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
* what you want.
|
||||
*/
|
||||
|
||||
# define GSERV_BUFSZ BUFSIZ
|
||||
|
||||
|
||||
#ifdef SYSV_IPC
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/msg.h>
|
||||
|
||||
#define send_string(s,str) \
|
||||
if (strlen(msgp->mtext) + strlen(str) < GSERV_BUFSZ) \
|
||||
strcat(msgp->mtext,str); \
|
||||
else \
|
||||
{ \
|
||||
fprintf(stderr,"%s: not enough message buffer space\n",progname); \
|
||||
exit(1); \
|
||||
} \
|
||||
|
||||
#endif /* SYSV_IPC */
|
||||
|
||||
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)
|
||||
#include <sys/socket.h>
|
||||
#endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */
|
||||
@@ -155,10 +135,6 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
||||
#undef TRUE
|
||||
#define TRUE 1
|
||||
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
extern char *progname;
|
||||
|
||||
/* The casts shut Sun's compiler up and are safe in the context these
|
||||
are actually used. */
|
||||
#define max2(x,y) (((int) (x) > (int) (y)) ? (x) : (y))
|
||||
@@ -177,15 +153,9 @@ extern char *progname;
|
||||
#define CONN_IPC 2
|
||||
|
||||
/* function declarations */
|
||||
int make_connection (char *hostarg, int portarg, int *s);
|
||||
#ifdef SYSV_IPC
|
||||
void disconnect_from_ipc_server();
|
||||
#endif
|
||||
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)
|
||||
void send_string (int s, const char *msg);
|
||||
void disconnect_from_server (int s, int echo);
|
||||
int read_line (int s, char *dest);
|
||||
#endif
|
||||
int glibtop_make_connection (const char *hostarg, int portarg, int *s);
|
||||
|
||||
#ifdef INTERNET_DOMAIN_SOCKETS
|
||||
int internet_addr (char *host);
|
||||
long glibtop_internet_addr (const char *host);
|
||||
#endif
|
||||
|
||||
|
67
include/glibtop/inodedb.h
Normal file
67
include/glibtop/inodedb.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/* 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
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
typedef struct _glibtop_inodedb glibtop_inodedb;
|
||||
|
||||
typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
||||
|
||||
struct _glibtop_inodedb_key
|
||||
{
|
||||
u_int64_t 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,
|
||||
u_int64_t device, u_int64_t inode);
|
||||
|
||||
void
|
||||
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_LOADAVG_H__
|
||||
#define __GLIBTOP_LOADAVG_H__
|
||||
@@ -25,18 +27,24 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_LOADAVG_LOADAVG 0
|
||||
#define GLIBTOP_LOADAVG_NR_RUNNING 1
|
||||
#define GLIBTOP_LOADAVG_NR_TASKS 2
|
||||
#define GLIBTOP_LOADAVG_LAST_PID 3
|
||||
|
||||
#define GLIBTOP_MAX_LOADAVG 1
|
||||
#define GLIBTOP_MAX_LOADAVG 4
|
||||
|
||||
typedef struct _glibtop_loadavg glibtop_loadavg;
|
||||
|
||||
struct _glibtop_loadavg
|
||||
{
|
||||
unsigned long flags;
|
||||
u_int64_t flags;
|
||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
||||
u_int64_t nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
|
||||
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||
};
|
||||
|
||||
#define glibtop_get_loadavg(loadavg) glibtop_get_loadavg_l(glibtop_global_server, loadavg)
|
||||
@@ -47,31 +55,14 @@ struct _glibtop_loadavg
|
||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_loadavg_l __P((glibtop *, glibtop_loadavg *));
|
||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
||||
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
extern void glibtop_get_loadavg_p __P((glibtop *, glibtop_loadavg *));
|
||||
void glibtop_init_loadavg_p (glibtop *server);
|
||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
||||
#else
|
||||
extern void glibtop_get_loadavg_s __P((glibtop *, glibtop_loadavg *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_loadavg __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_loadavg __P((void));
|
||||
extern SCM glibtop_guile_types_loadavg __P((void));
|
||||
extern SCM glibtop_guile_labels_loadavg __P((void));
|
||||
extern SCM glibtop_guile_descriptions_loadavg __P((void));
|
||||
|
||||
void glibtop_init_loadavg_s (glibtop *server);
|
||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -85,6 +76,6 @@ extern const char *glibtop_descriptions_loadavg [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_MEM_H__
|
||||
#define __GLIBTOP_MEM_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_MEM_TOTAL 0
|
||||
#define GLIBTOP_MEM_USED 1
|
||||
@@ -42,7 +44,7 @@ typedef struct _glibtop_mem glibtop_mem;
|
||||
|
||||
struct _glibtop_mem
|
||||
{
|
||||
unsigned long flags,
|
||||
u_int64_t flags,
|
||||
total, /* GLIBTOP_MEM_TOTAL */
|
||||
used, /* GLIBTOP_MEM_USED */
|
||||
free, /* GLIBTOP_MEM_FREE */
|
||||
@@ -61,31 +63,14 @@ struct _glibtop_mem
|
||||
#define glibtop_get_mem_r glibtop_get_mem_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_mem_l __P((glibtop *, glibtop_mem *));
|
||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MEM
|
||||
extern void glibtop_get_mem_p __P((glibtop *, glibtop_mem *));
|
||||
void glibtop_init_mem_p (glibtop *server);
|
||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
||||
#else
|
||||
extern void glibtop_get_mem_s __P((glibtop *, glibtop_mem *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_mem __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_mem __P((void));
|
||||
extern SCM glibtop_guile_types_mem __P((void));
|
||||
extern SCM glibtop_guile_labels_mem __P((void));
|
||||
extern SCM glibtop_guile_descriptions_mem __P((void));
|
||||
|
||||
void glibtop_init_mem_s (glibtop *server);
|
||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -99,6 +84,6 @@ extern const char *glibtop_descriptions_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
81
include/glibtop/mountlist.h
Normal file
81
include/glibtop/mountlist.h
Normal file
@@ -0,0 +1,81 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_MOUNTLIST_H__
|
||||
#define __GLIBTOP_MOUNTLIST_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_MOUNTLIST_NUMBER 0
|
||||
#define GLIBTOP_MOUNTLIST_TOTAL 1
|
||||
#define GLIBTOP_MOUNTLIST_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_MOUNTLIST 3
|
||||
|
||||
typedef struct _glibtop_mountentry glibtop_mountentry;
|
||||
|
||||
typedef struct _glibtop_mountlist glibtop_mountlist;
|
||||
|
||||
struct _glibtop_mountentry
|
||||
{
|
||||
u_int64_t dev;
|
||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_mountlist
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_mountlist(mountlist,all_fs) glibtop_get_mountlist_l(glibtop_global_server, mountlist, all_fs)
|
||||
|
||||
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
|
||||
|
||||
glibtop_mountentry *
|
||||
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);
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_mountlist [];
|
||||
extern const unsigned glibtop_types_mountlist [];
|
||||
extern const char *glibtop_labels_mountlist [];
|
||||
extern const char *glibtop_descriptions_mountlist [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_MSG_LIMITS_H__
|
||||
#define __GLIBTOP_MSG_LIMITS_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_MSGPOOL 0
|
||||
#define GLIBTOP_IPC_MSGMAP 1
|
||||
@@ -41,7 +43,7 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
||||
|
||||
struct _glibtop_msg_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
u_int64_t flags,
|
||||
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||
@@ -59,31 +61,14 @@ struct _glibtop_msg_limits
|
||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_msg_limits_l __P((glibtop *, glibtop_msg_limits *));
|
||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
extern void glibtop_get_msg_limits_p __P((glibtop *, glibtop_msg_limits *));
|
||||
void glibtop_init_msg_limits_p (glibtop *server);
|
||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
||||
#else
|
||||
extern void glibtop_get_msg_limits_s __P((glibtop *, glibtop_msg_limits *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_msg_limits __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_msg_limits __P((void));
|
||||
extern SCM glibtop_guile_types_msg_limits __P((void));
|
||||
extern SCM glibtop_guile_labels_msg_limits __P((void));
|
||||
extern SCM glibtop_guile_descriptions_msg_limits __P((void));
|
||||
|
||||
void glibtop_init_msg_limits_s (glibtop *server);
|
||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -97,6 +82,7 @@ extern const char *glibtop_descriptions_msg_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
||||
|
120
include/glibtop/netload.h
Normal file
120
include/glibtop/netload.h
Normal file
@@ -0,0 +1,120 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_NETLOAD_H__
|
||||
#define __GLIBTOP_NETLOAD_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_NETLOAD_IF_FLAGS 0
|
||||
#define GLIBTOP_NETLOAD_MTU 1
|
||||
#define GLIBTOP_NETLOAD_SUBNET 2
|
||||
#define GLIBTOP_NETLOAD_ADDRESS 3
|
||||
#define GLIBTOP_NETLOAD_PACKETS_IN 4
|
||||
#define GLIBTOP_NETLOAD_PACKETS_OUT 5
|
||||
#define GLIBTOP_NETLOAD_PACKETS_TOTAL 6
|
||||
#define GLIBTOP_NETLOAD_BYTES_IN 7
|
||||
#define GLIBTOP_NETLOAD_BYTES_OUT 8
|
||||
#define GLIBTOP_NETLOAD_BYTES_TOTAL 9
|
||||
#define GLIBTOP_NETLOAD_ERRORS_IN 10
|
||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
||||
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
||||
|
||||
#define GLIBTOP_MAX_NETLOAD 14
|
||||
|
||||
typedef struct _glibtop_netload glibtop_netload;
|
||||
|
||||
enum {
|
||||
GLIBTOP_IF_FLAGS_UP = 1,
|
||||
GLIBTOP_IF_FLAGS_BROADCAST,
|
||||
GLIBTOP_IF_FLAGS_DEBUG,
|
||||
GLIBTOP_IF_FLAGS_LOOPBACK,
|
||||
GLIBTOP_IF_FLAGS_POINTOPOINT,
|
||||
GLIBTOP_IF_FLAGS_RUNNING,
|
||||
GLIBTOP_IF_FLAGS_NOARP,
|
||||
GLIBTOP_IF_FLAGS_PROMISC,
|
||||
GLIBTOP_IF_FLAGS_ALLMULTI,
|
||||
GLIBTOP_IF_FLAGS_OACTIVE,
|
||||
GLIBTOP_IF_FLAGS_SIMPLEX,
|
||||
GLIBTOP_IF_FLAGS_LINK0,
|
||||
GLIBTOP_IF_FLAGS_LINK1,
|
||||
GLIBTOP_IF_FLAGS_LINK2,
|
||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||
GLIBTOP_IF_FLAGS_MULTICAST
|
||||
};
|
||||
|
||||
struct _glibtop_netload
|
||||
{
|
||||
u_int64_t flags,
|
||||
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||
mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
||||
address, /* GLIBTOP_NETLOAD_ADDRESS */
|
||||
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 */
|
||||
};
|
||||
|
||||
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
|
||||
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
#define glibtop_get_netload_r glibtop_get_netload_p
|
||||
#else
|
||||
#define glibtop_get_netload_r glibtop_get_netload_s
|
||||
#endif
|
||||
|
||||
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_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#else
|
||||
void glibtop_init_netload_s (glibtop *server);
|
||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_netload [];
|
||||
extern const unsigned glibtop_types_netload [];
|
||||
extern const char *glibtop_labels_netload [];
|
||||
extern const char *glibtop_descriptions_netload [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,21 +1,23 @@
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_OPEN_H__
|
||||
#define __GLIBTOP_OPEN_H__
|
||||
@@ -24,14 +26,48 @@
|
||||
#include <glibtop/read.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_OPEN_NO_OVERRIDE 1
|
||||
#define _GLIBTOP_INIT_STATE_INIT 0x10000
|
||||
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
|
||||
#define _GLIBTOP_INIT_STATE_SERVER 0x40000
|
||||
#define _GLIBTOP_INIT_STATE_SYSDEPS 0x80000
|
||||
|
||||
extern void glibtop_open_l __P((glibtop *, const char *, const unsigned long, const unsigned));
|
||||
#define GLIBTOP_INIT_NO_OPEN 1
|
||||
#define GLIBTOP_INIT_NO_INIT 2
|
||||
|
||||
extern void glibtop_open_r __P((glibtop *, const char *, const unsigned long, const unsigned));
|
||||
#define GLIBTOP_FEATURES_NO_SERVER 4
|
||||
#define GLIBTOP_FEATURES_EXCEPT 8
|
||||
|
||||
__END_DECLS
|
||||
#define GLIBTOP_METHOD_DIRECT 1
|
||||
#define GLIBTOP_METHOD_PIPE 2
|
||||
#define GLIBTOP_METHOD_INET 3
|
||||
#define GLIBTOP_METHOD_UNIX 4
|
||||
|
||||
#define GLIBTOP_ERROR_METHOD_IGNORE 0
|
||||
#define GLIBTOP_ERROR_METHOD_WARN_ONCE 1
|
||||
#define GLIBTOP_ERROR_METHOD_WARN 2
|
||||
#define GLIBTOP_ERROR_METHOD_ABORT 3
|
||||
|
||||
#define GLIBTOP_ERROR_METHOD_DEFAULT GLIBTOP_ERROR_METHOD_WARN_ONCE
|
||||
|
||||
void
|
||||
glibtop_open_l (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_init_p (glibtop *server, const unsigned long features,
|
||||
const unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_open_p (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
void
|
||||
glibtop_open_s (glibtop *server, const char *program_name,
|
||||
const unsigned long features, const unsigned flags);
|
||||
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,33 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef __GLIBTOP_OUTPUT_H__
|
||||
#define __GLIBTOP_OUTPUT_H__
|
||||
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern void glibtop_output __P((size_t, const void *));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif
|
51
include/glibtop/parameter.h
Normal file
51
include/glibtop/parameter.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/* 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_PARAMETER_H__
|
||||
#define __GLIBTOP_PARAMETER_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/open.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PARAM_METHOD 1
|
||||
#define GLIBTOP_PARAM_FEATURES 2
|
||||
#define GLIBTOP_PARAM_COMMAND 3
|
||||
#define GLIBTOP_PARAM_HOST 4
|
||||
#define GLIBTOP_PARAM_PORT 5
|
||||
#define GLIBTOP_PARAM_ERROR_METHOD 6
|
||||
#define GLIBTOP_PARAM_REQUIRED 7
|
||||
|
||||
#define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
|
||||
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
|
||||
|
||||
size_t
|
||||
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
|
||||
void *data_ptr, size_t data_size);
|
||||
|
||||
void
|
||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
||||
const void *data_ptr, size_t data_size);
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
85
include/glibtop/ppp.h
Normal file
85
include/glibtop/ppp.h
Normal file
@@ -0,0 +1,85 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PPP_H__
|
||||
#define __GLIBTOP_PPP_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PPP_STATE 0
|
||||
#define GLIBTOP_PPP_BYTES_IN 1
|
||||
#define GLIBTOP_PPP_BYTES_OUT 2
|
||||
|
||||
#define GLIBTOP_MAX_PPP 3
|
||||
|
||||
typedef struct _glibtop_ppp glibtop_ppp;
|
||||
|
||||
enum {
|
||||
GLIBTOP_PPP_STATE_UNKNOWN = 0,
|
||||
GLIBTOP_PPP_STATE_HANGUP,
|
||||
GLIBTOP_PPP_STATE_ONLINE
|
||||
};
|
||||
|
||||
struct _glibtop_ppp
|
||||
{
|
||||
u_int64_t flags,
|
||||
state, /* GLIBTOP_PPP_STATE */
|
||||
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
|
||||
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||
};
|
||||
|
||||
#define glibtop_get_ppp(ppp,device) glibtop_get_ppp_l(glibtop_global_server, ppp, device)
|
||||
|
||||
#if GLIBTOP_SUID_PPP
|
||||
#define glibtop_get_ppp_r glibtop_get_ppp_p
|
||||
#else
|
||||
#define glibtop_get_ppp_r glibtop_get_ppp_s
|
||||
#endif
|
||||
|
||||
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_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#else
|
||||
void glibtop_init_ppp_s (glibtop *server);
|
||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_ppp [];
|
||||
extern const unsigned glibtop_types_ppp [];
|
||||
extern const char *glibtop_labels_ppp [];
|
||||
extern const char *glibtop_descriptions_ppp [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
83
include/glibtop/procargs.h
Normal file
83
include/glibtop/procargs.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROC_ARGS_H__
|
||||
#define __GLIBTOP_PROC_ARGS_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_ARGS_SIZE 0
|
||||
|
||||
#define GLIBTOP_MAX_PROC_ARGS 1
|
||||
|
||||
typedef struct _glibtop_proc_args glibtop_proc_args;
|
||||
|
||||
struct _glibtop_proc_args
|
||||
{
|
||||
u_int64_t flags,
|
||||
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
#else
|
||||
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
#endif
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#else
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
pid_t pid, unsigned max_len);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_args [];
|
||||
extern const unsigned glibtop_types_proc_args [];
|
||||
extern const char *glibtop_labels_proc_args [];
|
||||
extern const char *glibtop_descriptions_proc_args [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCKERNEL_H__
|
||||
#define __GLIBTOP_PROCKERNEL_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
|
||||
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
|
||||
@@ -34,9 +36,10 @@ __BEGIN_DECLS
|
||||
#define GLIBTOP_PROC_KERNEL_CMAJ_FLT 4
|
||||
#define GLIBTOP_PROC_KERNEL_KSTK_ESP 5
|
||||
#define GLIBTOP_PROC_KERNEL_KSTK_EIP 6
|
||||
#define GLIBTOP_PROC_KERNEL_WCHAN 7
|
||||
#define GLIBTOP_PROC_KERNEL_NWCHAN 7
|
||||
#define GLIBTOP_PROC_KERNEL_WCHAN 8
|
||||
|
||||
#define GLIBTOP_MAX_PROC_KERNEL 8
|
||||
#define GLIBTOP_MAX_PROC_KERNEL 9
|
||||
|
||||
typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
@@ -44,8 +47,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
||||
|
||||
struct _glibtop_proc_kernel
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long k_flags, /* kernel flags for the process */
|
||||
u_int64_t flags;
|
||||
u_int64_t k_flags, /* kernel flags for the process */
|
||||
min_flt, /* number of minor page faults since
|
||||
* process start */
|
||||
maj_flt, /* number of major page faults since
|
||||
@@ -56,8 +59,9 @@ struct _glibtop_proc_kernel
|
||||
* child processes */
|
||||
kstk_esp, /* kernel stack pointer */
|
||||
kstk_eip, /* kernel stack pointer */
|
||||
wchan; /* address of kernel wait channel
|
||||
nwchan; /* address of kernel wait channel
|
||||
* proc is sleeping in */
|
||||
char wchan [40];
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_kernel(p1, p2) glibtop_get_proc_kernel_l(glibtop_global_server, p1, p2)
|
||||
@@ -68,31 +72,14 @@ struct _glibtop_proc_kernel
|
||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_kernel_l __P((glibtop *, glibtop_proc_kernel *, pid_t));
|
||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
extern void glibtop_get_proc_kernel_p __P((glibtop *, glibtop_proc_kernel *, pid_t));
|
||||
void glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_kernel_s __P((glibtop *, glibtop_proc_kernel *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_kernel __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_types_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_names_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_kernel __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_kernel __P((void));
|
||||
|
||||
void glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -106,6 +93,6 @@ extern const char *glibtop_descriptions_proc_kernel [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCLIST_H__
|
||||
#define __GLIBTOP_PROCLIST_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROCLIST_NUMBER 0
|
||||
#define GLIBTOP_PROCLIST_TOTAL 1
|
||||
@@ -33,17 +35,34 @@ __BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_MAX_PROCLIST 3
|
||||
|
||||
/* 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 */
|
||||
#define GLIBTOP_KERN_PROC_PID 1
|
||||
#define GLIBTOP_KERN_PROC_PGRP 2
|
||||
#define GLIBTOP_KERN_PROC_SESSION 3
|
||||
#define GLIBTOP_KERN_PROC_TTY 4
|
||||
#define GLIBTOP_KERN_PROC_UID 5
|
||||
#define GLIBTOP_KERN_PROC_RUID 6
|
||||
|
||||
#define GLIBTOP_KERN_PROC_MASK 15
|
||||
|
||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||
|
||||
typedef struct _glibtop_proclist glibtop_proclist;
|
||||
|
||||
struct _glibtop_proclist
|
||||
{
|
||||
unsigned long flags,
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proclist(proclist) glibtop_get_proclist_l(glibtop_global_server, proclist)
|
||||
#define glibtop_get_proclist(proclist,which,arg) glibtop_get_proclist_l(glibtop_global_server, proclist, which, arg)
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
#define glibtop_get_proclist_r glibtop_get_proclist_p
|
||||
@@ -51,31 +70,22 @@ struct _glibtop_proclist
|
||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
||||
#endif
|
||||
|
||||
extern unsigned *glibtop_get_proclist_l __P((glibtop *, glibtop_proclist *));
|
||||
unsigned *
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
extern unsigned *glibtop_get_proclist_p __P((glibtop *, glibtop_proclist *));
|
||||
void glibtop_init_proclist_p (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
#else
|
||||
extern unsigned *glibtop_get_proclist_s __P((glibtop *, glibtop_proclist *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proclist __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proclist __P((void));
|
||||
extern SCM glibtop_guile_types_proclist __P((void));
|
||||
extern SCM glibtop_guile_labels_proclist __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proclist __P((void));
|
||||
void glibtop_init_proclist_s (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||
int64_t which, int64_t arg);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -89,6 +99,6 @@ extern const char *glibtop_descriptions_proclist [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
110
include/glibtop/procmap.h
Normal file
110
include/glibtop/procmap.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROC_MAP_H__
|
||||
#define __GLIBTOP_PROC_MAP_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_MAP_NUMBER 0
|
||||
#define GLIBTOP_PROC_MAP_TOTAL 1
|
||||
#define GLIBTOP_PROC_MAP_SIZE 2
|
||||
|
||||
#define GLIBTOP_MAX_PROC_MAP 3
|
||||
|
||||
#define GLIBTOP_MAP_ENTRY_START 1
|
||||
#define GLIBTOP_MAP_ENTRY_END 2
|
||||
#define GLIBTOP_MAP_ENTRY_OFFSET 3
|
||||
#define GLIBTOP_MAP_ENTRY_PERM 4
|
||||
#define GLIBTOP_MAP_ENTRY_INODE 5
|
||||
#define GLIBTOP_MAP_ENTRY_DEVICE 6
|
||||
#define GLIBTOP_MAP_ENTRY_FILENAME 7
|
||||
|
||||
#define GLIBTOP_MAX_MAP_ENTRY 8
|
||||
|
||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
||||
|
||||
#define GLIBTOP_MAP_PERM_READ 1
|
||||
#define GLIBTOP_MAP_PERM_WRITE 2
|
||||
#define GLIBTOP_MAP_PERM_EXECUTE 4
|
||||
#define GLIBTOP_MAP_PERM_SHARED 8
|
||||
#define GLIBTOP_MAP_PERM_PRIVATE 16
|
||||
|
||||
typedef struct _glibtop_map_entry glibtop_map_entry;
|
||||
|
||||
typedef struct _glibtop_proc_map glibtop_proc_map;
|
||||
|
||||
struct _glibtop_map_entry
|
||||
{
|
||||
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||
};
|
||||
|
||||
struct _glibtop_proc_map
|
||||
{
|
||||
u_int64_t flags,
|
||||
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
||||
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
||||
size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_map(proc_map,pid) glibtop_get_proc_map_l(glibtop_global_server, proc_map, pid)
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
||||
#else
|
||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_s
|
||||
#endif
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
|
||||
extern const char *glibtop_names_proc_map [];
|
||||
extern const unsigned glibtop_types_proc_map [];
|
||||
extern const char *glibtop_labels_proc_map [];
|
||||
extern const char *glibtop_descriptions_proc_map [];
|
||||
|
||||
#endif
|
||||
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCMEM_H__
|
||||
#define __GLIBTOP_PROCMEM_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_MEM_SIZE 0
|
||||
#define GLIBTOP_PROC_MEM_VSIZE 1
|
||||
@@ -42,8 +44,8 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
||||
|
||||
struct _glibtop_proc_mem
|
||||
{
|
||||
unsigned long flags;
|
||||
long size, /* total # of pages of memory */
|
||||
u_int64_t flags,
|
||||
size, /* total # of pages of memory */
|
||||
vsize, /* number of pages of virtual memory ... */
|
||||
resident, /* number of resident set
|
||||
* (non-swapped) pages (4k) */
|
||||
@@ -61,31 +63,14 @@ struct _glibtop_proc_mem
|
||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_mem_l __P((glibtop *, glibtop_proc_mem *, pid_t));
|
||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
extern void glibtop_get_proc_mem_p __P((glibtop *, glibtop_proc_mem *, pid_t));
|
||||
void glibtop_init_proc_mem_p (glibtop *server);
|
||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_mem_s __P((glibtop *, glibtop_proc_mem *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_mem __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_types_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_names_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_mem __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_mem __P((void));
|
||||
|
||||
void glibtop_init_proc_mem_s (glibtop *server);
|
||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -99,6 +84,6 @@ extern const char *glibtop_descriptions_proc_mem [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCSEGMENT_H__
|
||||
#define __GLIBTOP_PROCSEGMENT_H__
|
||||
@@ -25,17 +27,18 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SEGMENT_TRS 0
|
||||
#define GLIBTOP_PROC_SEGMENT_LRS 1
|
||||
#define GLIBTOP_PROC_SEGMENT_DRS 2
|
||||
#define GLIBTOP_PROC_SEGMENT_DT 3
|
||||
#define GLIBTOP_PROC_SEGMENT_START_CODE 4
|
||||
#define GLIBTOP_PROC_SEGMENT_END_CODE 5
|
||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 6
|
||||
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
|
||||
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
|
||||
#define GLIBTOP_PROC_SEGMENT_DATA_RSS 2
|
||||
#define GLIBTOP_PROC_SEGMENT_STACK_RSS 3
|
||||
#define GLIBTOP_PROC_SEGMENT_DIRTY_SIZE 4
|
||||
#define GLIBTOP_PROC_SEGMENT_START_CODE 5
|
||||
#define GLIBTOP_PROC_SEGMENT_END_CODE 6
|
||||
#define GLIBTOP_PROC_SEGMENT_START_STACK 7
|
||||
|
||||
#define GLIBTOP_MAX_PROC_SEGMENT 7
|
||||
#define GLIBTOP_MAX_PROC_SEGMENT 8
|
||||
|
||||
typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
@@ -43,12 +46,13 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
||||
|
||||
struct _glibtop_proc_segment
|
||||
{
|
||||
unsigned long flags;
|
||||
long trs, /* text resident set size */
|
||||
lrs, /* shared-lib resident set size */
|
||||
drs, /* data resident set size */
|
||||
dt; /* dirty pages */
|
||||
unsigned long start_code,
|
||||
u_int64_t 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,
|
||||
/* address of beginning of code segment */
|
||||
end_code, /* address of end of code segment */
|
||||
start_stack; /* address of the bottom of stack segment */
|
||||
@@ -62,31 +66,14 @@ struct _glibtop_proc_segment
|
||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_segment_l __P((glibtop *, glibtop_proc_segment *, pid_t));
|
||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
extern void glibtop_get_proc_segment_p __P((glibtop *, glibtop_proc_segment *, pid_t));
|
||||
void glibtop_init_proc_segment_p (glibtop *server);
|
||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_segment_s __P((glibtop *, glibtop_proc_segment *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_segment __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_types_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_segment __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_segment __P((void));
|
||||
|
||||
void glibtop_init_proc_segment_s (glibtop *server);
|
||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -100,6 +87,6 @@ extern const char *glibtop_descriptions_proc_segment [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCSIGNAL_H__
|
||||
#define __GLIBTOP_PROCSIGNAL_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
|
||||
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
|
||||
@@ -40,11 +42,11 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
||||
|
||||
struct _glibtop_proc_signal
|
||||
{
|
||||
unsigned long flags;
|
||||
int signal, /* mask of pending signals */
|
||||
blocked, /* mask of blocked signals */
|
||||
sigignore, /* mask of ignored signals */
|
||||
sigcatch; /* mask of caught signals */
|
||||
u_int64_t 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 */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
|
||||
@@ -55,31 +57,14 @@ struct _glibtop_proc_signal
|
||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_signal_l __P((glibtop *, glibtop_proc_signal *, pid_t));
|
||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
extern void glibtop_get_proc_signal_p __P((glibtop *, glibtop_proc_signal *, pid_t));
|
||||
void glibtop_init_proc_signal_p (glibtop *server);
|
||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_signal_s __P((glibtop *, glibtop_proc_signal *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_signal __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_types_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_signal __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_signal __P((void));
|
||||
|
||||
void glibtop_init_proc_signal_s (glibtop *server);
|
||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -93,6 +78,6 @@ extern const char *glibtop_descriptions_proc_signal [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCSTATE_H__
|
||||
#define __GLIBTOP_PROCSTATE_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_STATE_CMD 0
|
||||
#define GLIBTOP_PROC_STATE_STATE 1
|
||||
@@ -40,7 +42,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||
|
||||
struct _glibtop_proc_state
|
||||
{
|
||||
unsigned long flags;
|
||||
u_int64_t flags;
|
||||
char cmd[40], /* basename of executable file in
|
||||
* call to exec(2) */
|
||||
state; /* single-char code for process state
|
||||
@@ -62,33 +64,16 @@ struct _glibtop_proc_state
|
||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_state_l __P((glibtop *, glibtop_proc_state *, pid_t));
|
||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
extern void glibtop_get_proc_state_p __P((glibtop *, glibtop_proc_state *, pid_t));
|
||||
void glibtop_init_proc_state_p (glibtop *server);
|
||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_state_s __P((glibtop *, glibtop_proc_state *, pid_t));
|
||||
void glibtop_init_proc_state_s (glibtop *server);
|
||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_state __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proc_state __P((void));
|
||||
extern SCM glibtop_guile_types_proc_state __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_state __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_state __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
|
||||
/* You need to link with -lgtop_names to get this stuff here. */
|
||||
@@ -100,6 +85,6 @@ extern const char *glibtop_descriptions_proc_state [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,41 +1,48 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCTIME_H__
|
||||
#define __GLIBTOP_PROCTIME_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/cpu.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_TIME_START_TIME 0
|
||||
#define GLIBTOP_PROC_TIME_UTIME 1
|
||||
#define GLIBTOP_PROC_TIME_STIME 2
|
||||
#define GLIBTOP_PROC_TIME_CUTIME 3
|
||||
#define GLIBTOP_PROC_TIME_CSTIME 4
|
||||
#define GLIBTOP_PROC_TIME_TIMEOUT 5
|
||||
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE 6
|
||||
#define GLIBTOP_PROC_TIME_RTIME 1
|
||||
#define GLIBTOP_PROC_TIME_UTIME 2
|
||||
#define GLIBTOP_PROC_TIME_STIME 3
|
||||
#define GLIBTOP_PROC_TIME_CUTIME 4
|
||||
#define GLIBTOP_PROC_TIME_CSTIME 5
|
||||
#define GLIBTOP_PROC_TIME_TIMEOUT 6
|
||||
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE 7
|
||||
#define GLIBTOP_PROC_TIME_FREQUENCY 8
|
||||
#define GLIBTOP_PROC_TIME_XCPU_UTIME 9
|
||||
#define GLIBTOP_PROC_TIME_XCPU_STIME 10
|
||||
|
||||
#define GLIBTOP_MAX_PROC_TIME 7
|
||||
#define GLIBTOP_MAX_PROC_TIME 11
|
||||
|
||||
typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
@@ -43,9 +50,10 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
struct _glibtop_proc_time
|
||||
{
|
||||
unsigned long flags;
|
||||
long start_time, /* start time of process --
|
||||
u_int64_t 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
|
||||
@@ -54,9 +62,12 @@ struct _glibtop_proc_time
|
||||
* reaped children */
|
||||
timeout, /* The time (in jiffies) of the process's
|
||||
* next timeout */
|
||||
it_real_value; /* The time (in jiffies) before the
|
||||
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. */
|
||||
};
|
||||
|
||||
#define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time_l(glibtop_global_server, p1, p2)
|
||||
@@ -67,31 +78,14 @@ struct _glibtop_proc_time
|
||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_time_l __P((glibtop *, glibtop_proc_time *, pid_t));
|
||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
extern void glibtop_get_proc_time_p __P((glibtop *, glibtop_proc_time *, pid_t));
|
||||
void glibtop_init_proc_time_p (glibtop *server);
|
||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_time_s __P((glibtop *, glibtop_proc_time *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_time __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proc_time __P((void));
|
||||
extern SCM glibtop_guile_types_proc_time __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_time __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_time __P((void));
|
||||
|
||||
void glibtop_init_proc_time_s (glibtop *server);
|
||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -105,6 +99,6 @@ extern const char *glibtop_descriptions_proc_time [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_PROCUID_H__
|
||||
#define __GLIBTOP_PROCUID_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_PROC_UID_UID 0
|
||||
#define GLIBTOP_PROC_UID_EUID 1
|
||||
@@ -48,7 +50,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||
|
||||
struct _glibtop_proc_uid
|
||||
{
|
||||
unsigned long flags;
|
||||
u_int64_t flags;
|
||||
int uid, /* user id */
|
||||
euid, /* effective user id */
|
||||
gid, /* group id */
|
||||
@@ -71,31 +73,14 @@ struct _glibtop_proc_uid
|
||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_proc_uid_l __P((glibtop *, glibtop_proc_uid *, pid_t));
|
||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
extern void glibtop_get_proc_uid_p __P((glibtop *, glibtop_proc_uid *, pid_t));
|
||||
void glibtop_init_proc_uid_p (glibtop *server);
|
||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#else
|
||||
extern void glibtop_get_proc_uid_s __P((glibtop *, glibtop_proc_uid *, pid_t));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_proc_uid __P((SCM));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_types_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_labels_proc_uid __P((void));
|
||||
extern SCM glibtop_guile_descriptions_proc_uid __P((void));
|
||||
|
||||
void glibtop_init_proc_uid_s (glibtop *server);
|
||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -109,6 +94,6 @@ extern const char *glibtop_descriptions_proc_uid [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_READ_H__
|
||||
#define __GLIBTOP_READ_H__
|
||||
@@ -25,13 +27,13 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
|
||||
|
||||
extern void glibtop_read_l __P((glibtop *, size_t, void *));
|
||||
extern void glibtop_read_s __P((glibtop *, size_t, void *));
|
||||
void glibtop_read_l (glibtop *server, size_t size, void *buf);
|
||||
void glibtop_read_s (glibtop *server, size_t size, void *buf);
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_READ_DATA_H__
|
||||
#define __GLIBTOP_READ_DATA_H__
|
||||
@@ -25,13 +27,13 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define glibtop_read_data() glibtop_read_data_r(glibtop_global_server)
|
||||
|
||||
extern void *glibtop_read_data_l __P((glibtop *));
|
||||
extern void *glibtop_read_data_s __P((glibtop *));
|
||||
void *glibtop_read_data_l (glibtop *server);
|
||||
void *glibtop_read_data_s (glibtop *server);
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_SEM_LIMITS_H__
|
||||
#define __GLIBTOP_SEM_LIMITS_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_SEMMAP 0
|
||||
#define GLIBTOP_IPC_SEMMNI 1
|
||||
@@ -44,7 +46,7 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
||||
|
||||
struct _glibtop_sem_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
u_int64_t flags,
|
||||
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||
@@ -65,31 +67,14 @@ struct _glibtop_sem_limits
|
||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_sem_limits_l __P((glibtop *, glibtop_sem_limits *));
|
||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
extern void glibtop_get_sem_limits_p __P((glibtop *, glibtop_sem_limits *));
|
||||
void glibtop_init_sem_limits_p (glibtop *server);
|
||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
||||
#else
|
||||
extern void glibtop_get_sem_limits_s __P((glibtop *, glibtop_sem_limits *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_sem_limits __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_types_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_labels_sem_limits __P((void));
|
||||
extern SCM glibtop_guile_descriptions_sem_limits __P((void));
|
||||
|
||||
void glibtop_init_sem_limits_s (glibtop *server);
|
||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -103,6 +88,6 @@ extern const char *glibtop_descriptions_sem_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
@@ -1,23 +1,25 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
This file is part of the Gnome Top Library.
|
||||
/* 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.
|
||||
|
||||
The Gnome Top Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library 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 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.
|
||||
|
||||
The Gnome Top Library 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
|
||||
Library General Public License for more details.
|
||||
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 Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
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_SHM_LIMITS_H__
|
||||
#define __GLIBTOP_SHM_LIMITS_H__
|
||||
@@ -25,7 +27,7 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
BEGIN_LIBGTOP_DECLS
|
||||
|
||||
#define GLIBTOP_IPC_SHMMAX 0
|
||||
#define GLIBTOP_IPC_SHMMIN 1
|
||||
@@ -39,7 +41,7 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||
|
||||
struct _glibtop_shm_limits
|
||||
{
|
||||
unsigned long flags,
|
||||
u_int64_t flags,
|
||||
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||
@@ -55,31 +57,14 @@ struct _glibtop_shm_limits
|
||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
||||
#endif
|
||||
|
||||
extern void glibtop_get_shm_limits_l __P((glibtop *, glibtop_shm_limits *));
|
||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
extern void glibtop_get_shm_limits_p __P((glibtop *, glibtop_shm_limits *));
|
||||
void glibtop_init_shm_limits_p (glibtop *server);
|
||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
||||
#else
|
||||
extern void glibtop_get_shm_limits_s __P((glibtop *, glibtop_shm_limits *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GUILE
|
||||
|
||||
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_get_shm_limits __P((void));
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_GUILE_NAMES
|
||||
|
||||
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||
|
||||
extern SCM glibtop_guile_names_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_types_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_labels_shm_limits __P((void));
|
||||
extern SCM glibtop_guile_descriptions_shm_limits __P((void));
|
||||
|
||||
void glibtop_init_shm_limits_s (glibtop *server);
|
||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
||||
#endif
|
||||
|
||||
#ifdef GLIBTOP_NAMES
|
||||
@@ -93,6 +78,6 @@ extern const char *glibtop_descriptions_shm_limits [];
|
||||
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
||||
END_LIBGTOP_DECLS
|
||||
|
||||
#endif
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user