Compare commits
	
		
			618 Commits
		
	
	
		
			LIBGTOP_2_
			...
			gnome-2-38
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 4ebe3ea5a3 | ||
|  | cab8791fdd | ||
|  | 4f36c74b68 | ||
|  | c65cb3e46b | ||
|  | b450bbc67c | ||
|  | f80b08a865 | ||
|  | 42b049f338 | ||
|  | b31bce292b | ||
|  | 32a02dfcdb | ||
|  | 286db6d137 | ||
|  | aa4b2dc5ee | ||
|  | d61659c143 | ||
|  | 9308027409 | ||
|  | 487e584a18 | ||
|  | e9775e1a40 | ||
|  | b50c07af1d | ||
|  | 68509e60d1 | ||
|  | f7ff106859 | ||
|  | ad8e73957c | ||
|  | 8a8c00f4fe | ||
|  | d30928e8d4 | ||
|  | 0c23240d5b | ||
|  | 947156e5d0 | ||
|  | 6d194c11d2 | ||
|  | 73b86f8744 | ||
|  | 7dcc6c51d6 | ||
|  | f5939dc69e | ||
|  | 0203aa18aa | ||
|  | f38d9c6523 | ||
|  | 9b966f6f1a | ||
|  | cb4721b27d | ||
|  | ed9248f04f | ||
|  | 609b8c7e1a | ||
|  | 72b6e2bad4 | ||
|  | 7a84a9260d | ||
|  | 74b92b5389 | ||
|  | 25f5de7d90 | ||
|  | 80a9763a7e | ||
|  | e54dd89d5e | ||
|  | d3df61ddbf | ||
|  | 44d46a18b3 | ||
|  | 2f08841044 | ||
|  | de6e0c1c90 | ||
|  | ba61b54eb3 | ||
|  | 0a00b3522a | ||
|  | 43740ddab7 | ||
|  | 063de1a712 | ||
|  | 779386cb15 | ||
|  | 2e2215c5b6 | ||
|  | ec8d59ab48 | ||
|  | 5880e04fcc | ||
|  | 1bf16bfffd | ||
|  | 6f04d33af2 | ||
|  | c22e7de346 | ||
|  | e611d16997 | ||
|  | aae804c3dc | ||
|  | ce020a63ba | ||
|  | 526d2e5a2f | ||
|  | ab6f7b39d3 | ||
|  | e73e7691d1 | ||
|  | 5c8593ec19 | ||
|  | 3403ef72b1 | ||
|  | 2f7e2438aa | ||
|  | 88ecae1d00 | ||
|  | 89a73e2746 | ||
|  | c29d7de9a0 | ||
|  | 07abbd2dfe | ||
|  | afec9bbf58 | ||
|  | b7a684fbbc | ||
|  | b589a4fcf0 | ||
|  | 1defc74f07 | ||
|  | 35bf89632a | ||
|  | 4285abe72b | ||
|  | dff7c5588e | ||
|  | 1a103bf142 | ||
|  | 3ff313dd03 | ||
|  | 01a56e2e30 | ||
|  | 7afc81f99d | ||
|  | b0ab056e99 | ||
|  | d2bc9b4331 | ||
|  | 70e00a0262 | ||
|  | f99bb61446 | ||
|  | a0166d2844 | ||
|  | 5f39f4f8f9 | ||
|  | e5e303d497 | ||
|  | 235ffb4cb6 | ||
|  | 59d9780eae | ||
|  | 305701c637 | ||
|  | b68b2ec65e | ||
|  | 1a8d18a17f | ||
|  | 04d39eca02 | ||
|  | 36110deac8 | ||
|  | 72f10ecfe6 | ||
|  | 1a8f092264 | ||
|  | 5522fae242 | ||
|  | 870dd5afa6 | ||
|  | 94968b4406 | ||
|  | 819bfe56ee | ||
|  | de408a6bba | ||
|  | 05cb14dbb2 | ||
|  | 7e3e4b6860 | ||
|  | 02070b7170 | ||
|  | fcfacf3213 | ||
|  | 7925f83b57 | ||
|  | 68104bdde1 | ||
|  | ac2aef0f47 | ||
|  | 9764518807 | ||
|  | 13f08cf164 | ||
|  | c8a4c3d2a1 | ||
|  | 52c35c1b81 | ||
|  | e528a7280b | ||
|  | 99ff3d4dff | ||
|  | f865e95e20 | ||
|  | eec96d8ae8 | ||
|  | d10a584e40 | ||
|  | a55eee5863 | ||
|  | 7437509412 | ||
|  | c9e73e52ac | ||
|  | 4c455ac8a0 | ||
|  | 56f03d0987 | ||
|  | a3b502ec3f | ||
|  | b74d6abf19 | ||
|  | ca42f1f3af | ||
|  | 106ee901bb | ||
|  | 0642c2d610 | ||
|  | 42e860e5ad | ||
|  | 8f2f236404 | ||
|  | 4e0d819264 | ||
|  | 5c6879baab | ||
|  | a0e97885c1 | ||
|  | d817bee619 | ||
|  | 58d50d3546 | ||
|  | d3a247a60f | ||
|  | 45c8452140 | ||
|  | 72b4aed8f1 | ||
|  | 0e8f911410 | ||
|  | db8ad19eef | ||
|  | d30fbb22e0 | ||
|  | 6762719e43 | ||
|  | ad7dc16d89 | ||
|  | f2e57d9fec | ||
|  | 1481823085 | ||
|  | 4e57a6222d | ||
|  | cf531d3faf | ||
|  | b447260691 | ||
|  | 1dbe133a24 | ||
|  | 5ee8d4cb58 | ||
|  | 3bd720ad81 | ||
|  | 6acebf416d | ||
|  | 51fd022bdd | ||
|  | 6239438dce | ||
|  | 0099cbb6b4 | ||
|  | cd5649f326 | ||
|  | d8a5e2162d | ||
|  | 185396d674 | ||
|  | 90f0e40395 | ||
|  | 172f0a50ba | ||
|  | 887092a05d | ||
|  | b2a2f6b5c2 | ||
|  | 6bdb9a76eb | ||
|  | fd29dae933 | ||
|  | 65c5ca842f | ||
|  | edd08e6fd6 | ||
|  | 82ff91b74c | ||
|  | ca6cabe41d | ||
|  | 4fb241097f | ||
|  | 214c3635da | ||
|  | fba67da65d | ||
|  | 119049b8c0 | ||
|  | 1908c00d32 | ||
|  | 70640d297e | ||
|  | c33623c097 | ||
|  | 6fe3b94f13 | ||
|  | f1a01a543c | ||
|  | 758862e272 | ||
|  | 6941e7e22f | ||
|  | ee2ac6d563 | ||
|  | 4c0632ccbd | ||
|  | 71c7d65b1d | ||
|  | 94aa63f796 | ||
|  | 931a8364ff | ||
|  | 598764c171 | ||
|  | aa7f9df00e | ||
|  | 4c4466292e | ||
|  | fcc1d9d957 | ||
|  | 0580b2fb2c | ||
|  | a206cfc728 | ||
|  | 58ca70eaee | ||
|  | 421419fdbf | ||
|  | ebb7f9d5e2 | ||
|  | 1f3b08e6dc | ||
|  | a870dfc8f2 | ||
|  | e0244ad3fc | ||
|  | 1156794b33 | ||
|  | 874771ec1c | ||
|  | 16f262985d | ||
|  | 0a94dc7992 | ||
|  | 50b5dea402 | ||
|  | f4b23ef0c6 | ||
|  | 1f41349a7e | ||
|  | 548f104f35 | ||
|  | 4808aac8ef | ||
|  | f04ce61b80 | ||
|  | c7f7e5a1c6 | ||
|  | e2348c24a0 | ||
|  | f76b37be1b | ||
|  | b2fee3e111 | ||
|  | 7b2416a8d1 | ||
|  | d006da7e54 | ||
|  | a93dc2526d | ||
|  | a3a16707b5 | ||
|  | fd53595189 | ||
|  | 0057bbbc47 | ||
|  | e6d776ee61 | ||
|  | c68e077909 | ||
|  | 72e46fc6b4 | ||
|  | 2ea8a156f3 | ||
|  | 40e1a86d52 | ||
|  | a101d6b27a | ||
|  | 9770db12d2 | ||
|  | a61052dc59 | ||
|  | 8985e7e239 | ||
|  | 1c1449306b | ||
|  | 3f8f65386e | ||
|  | 30d29e624b | ||
|  | bea8b6790a | ||
|  | 5e6c25d29d | ||
|  | b7e1219e0a | ||
|  | 057dcf77d6 | ||
|  | b7edd1542e | ||
|  | 7326f8816d | ||
|  | ed1b3f5834 | ||
|  | 7a3414d002 | ||
|  | 564506bb0d | ||
|  | 9e0843064d | ||
|  | d8d8aac9d3 | ||
|  | 9a887feed2 | ||
|  | 81dfeb526c | ||
|  | d9c01aac4a | ||
|  | 82c28b2ad2 | ||
|  | 05345dc032 | ||
|  | 63ba7b2c12 | ||
|  | 5371e8ec88 | ||
|  | e682094418 | ||
|  | 2e861977a6 | ||
|  | a39f290683 | ||
|  | 02b55313f3 | ||
|  | 596c42d7f1 | ||
|  | d4d4f7735a | ||
|  | 4cd3e4fed6 | ||
|  | c99ceeaa65 | ||
|  | ecbfade528 | ||
|  | 73d4679ad8 | ||
|  | df1db43032 | ||
|  | ff07ba102f | ||
|  | 07d2816d5b | ||
|  | 2caff8bf5c | ||
|  | 78e257e958 | ||
|  | efaaf6eb77 | ||
|  | 47bcd423b5 | ||
|  | 38bfee6739 | ||
|  | 3147bf2e34 | ||
|  | 2506662196 | ||
|  | b6eb0873e7 | ||
|  | 2c08229f04 | ||
|  | 753d9abb13 | ||
|  | af7e9cd1b6 | ||
|  | 552ea7ec3a | ||
|  | 43f19912e3 | ||
|  | 16bb5c8075 | ||
|  | bebcb377af | ||
|  | 4cffb2f094 | ||
|  | 5adaa90de3 | ||
|  | f9e8ae8dfc | ||
|  | efeb24a96c | ||
|  | 3c4ddb5572 | ||
|  | fec9e956e3 | ||
|  | 2ee4fa70a5 | ||
|  | 7a4b2d91ad | ||
|  | dc7eab4329 | ||
|  | a44392d948 | ||
|  | b013937b2c | ||
|  | 4bded8fa91 | ||
|  | f88a38aa52 | ||
|  | 37774dc02d | ||
|  | 4efe3721e7 | ||
|  | 31cbc3374d | ||
|  | c8a33802c2 | ||
|  | a3ff5fb398 | ||
|  | 8d5b3dd86a | ||
|  | fecedf8c72 | ||
|  | 183b7b0cf1 | ||
|  | 1523fae41e | ||
|  | a6d0d61175 | ||
|  | b0f4bee85e | ||
|  | 1d1d3fb907 | ||
|  | bd363a9ca6 | ||
|  | 46c1169ab1 | ||
|  | b11aa1517e | ||
|  | aa7572abfd | ||
|  | 17b03f33ab | ||
|  | dd46d6a00e | ||
|  | 7bd52fc397 | ||
|  | ff7cbcbe61 | ||
|  | d1d565aa60 | ||
|  | 169b76a88f | ||
|  | 0a265d05d4 | ||
|  | 08ac661b19 | ||
|  | 1baa3fcc6a | ||
|  | eaff15b741 | ||
|  | 4612e7c7eb | ||
|  | f66324f84d | ||
|  | 138889c4d6 | ||
|  | cac71bf6c4 | ||
|  | 2ea3da9da5 | ||
|  | 5144c3e127 | ||
|  | c4907672cd | ||
|  | 4c9a161eb5 | ||
|  | 32833323d9 | ||
|  | 0de702b142 | ||
|  | 4e24854dbf | ||
|  | 08fd95d253 | ||
|  | aa1a6766f2 | ||
|  | 537dc1bff1 | ||
|  | 93829c8cbb | ||
|  | cecf53394b | ||
|  | 62239cfe50 | ||
|  | 15ffb2d039 | ||
|  | 7f14f4409d | ||
|  | f8c573b78c | ||
|  | 49641cc363 | ||
|  | 46706961ac | ||
|  | edda30a4ad | ||
|  | c775a536c8 | ||
|  | 84a697a826 | ||
|  | 07c04634bc | ||
|  | 78a4292fb4 | ||
|  | 7bdc92f325 | ||
|  | b40f210d03 | ||
|  | 50bb0d51b3 | ||
|  | 3d0dc2b36e | ||
|  | 33f0825b3c | ||
|  | 3cc7b3aecb | ||
|  | f7e1ab5a0e | ||
|  | f6edec8c76 | ||
|  | ccf85794e2 | ||
|  | 9bd7b581cd | ||
|  | 825c28e04f | ||
|  | f787bfa0c7 | ||
|  | 93ceca1af2 | ||
|  | a1bc181e96 | ||
|  | 3db7ab8ddd | ||
|  | 5b64ff7b6e | ||
|  | f6347e796d | ||
|  | 26adc05a52 | ||
|  | 6a2464c4ad | ||
|  | 178420d1f7 | ||
|  | 81c1f668d1 | ||
|  | 2924b470ea | ||
|  | c36239c8ea | ||
|  | 8337a4af31 | ||
|  | a2cdb07c27 | ||
|  | 2fa17f308d | ||
|  | b57703888f | ||
|  | 85a793f117 | ||
|  | ed1d6cd9e7 | ||
|  | 4a17d9fef5 | ||
|  | f2d748162e | ||
|  | 363a6f9088 | ||
|  | e2686446bb | ||
|  | 1c01f08117 | ||
|  | 6768eddab9 | ||
|  | ed440c7d0b | ||
|  | 643005349a | ||
|  | cbb3f7dd5b | ||
|  | 72537d102d | ||
|  | a43d48f67c | ||
|  | c50eb6d494 | ||
|  | 010e3a1c9d | ||
|  | 3ea6e1caf0 | ||
|  | f66c9665bd | ||
|  | a80c80ca69 | ||
|  | f41ab3beed | ||
|  | 933683da39 | ||
|  | 2679fdde9a | ||
|  | 2458096acf | ||
|  | 1f44dbb385 | ||
|  | d99a29d217 | ||
|  | 15abcdbbf2 | ||
|  | 62bafe804e | ||
|  | 9f051c9569 | ||
|  | 231f4d2a14 | ||
|  | 4af6777d76 | ||
|  | c05776fa09 | ||
|  | f6b31585bb | ||
|  | f3c86c8767 | ||
|  | c26b6ead21 | ||
|  | 3d9f260bd4 | ||
|  | 2ed2120869 | ||
|  | 5d02f86549 | ||
|  | 6e3d067edd | ||
|  | bc19d07178 | ||
|  | 8e288b06be | ||
|  | ffcbac629f | ||
|  | 568144dcd7 | ||
|  | d75259cbca | ||
|  | 7e697f047a | ||
|  | c1fba7d0fa | ||
|  | d541cf22ef | ||
|  | 35a0ac4f2c | ||
|  | 391377ccf8 | ||
|  | c0d87d96d3 | ||
|  | a7f2a1db4a | ||
|  | 77fff173fc | ||
|  | 863da1cdfd | ||
|  | 23798fbd51 | ||
|  | 8399315a4f | ||
|  | ab3f8f58ef | ||
|  | e5fdd58fee | ||
|  | 86f43f408b | ||
|  | 1aab514cda | ||
|  | 3a8f2335c9 | ||
|  | 5b5c9215dc | ||
|  | bf13e02061 | ||
|  | 1e2c9d5517 | ||
|  | 5dccc423d8 | ||
|  | d58409351c | ||
|  | 1c20ceb694 | ||
|  | 3d4491494f | ||
|  | 10a04fc9c7 | ||
|  | 10e5124770 | ||
|  | f269f738d7 | ||
|  | bc86ee5421 | ||
|  | 7ea989c2b8 | ||
|  | 91b7ae4b11 | ||
|  | ce23ce407c | ||
|  | 7f779e078d | ||
|  | 229eab1213 | ||
|  | 791e0dd859 | ||
|  | f63973eac5 | ||
|  | 806a2d2d7e | ||
|  | af81e9be75 | ||
|  | 90fc3ca780 | ||
|  | 99e9437b37 | ||
|  | 6c7f40ac64 | ||
|  | e75261ada8 | ||
|  | dc5da30913 | ||
|  | 4d78d26932 | ||
|  | cd950bbf73 | ||
|  | c1b95643a8 | ||
|  | be8a371481 | ||
|  | fedd75b2b1 | ||
|  | a02e213373 | ||
|  | e3697c9a9e | ||
|  | 91e2e5a1b7 | ||
|  | 158280e297 | ||
|  | 62c741074c | ||
|  | 87a80ba430 | ||
|  | 7bb5abb9a8 | ||
|  | 40485978ec | ||
|  | 73c62a7bdb | ||
|  | e4d9c10a73 | ||
|  | 5d3f18e12c | ||
|  | d97b0c3419 | ||
|  | 960d12822d | ||
|  | f79f25f5ce | ||
|  | 3bb78c22c4 | ||
|  | 4971103dc3 | ||
|  | 35fab4d9aa | ||
|  | 2078320e14 | ||
|  | 46a29ac020 | ||
|  | d9c98b57c9 | ||
|  | 9ce9de7942 | ||
|  | 1409a8ef80 | ||
|  | bff4a84864 | ||
|  | 77524a1ad2 | ||
|  | a171755aa6 | ||
|  | 1d5f2cb395 | ||
|  | 86ace13645 | ||
|  | 57b1547333 | ||
|  | efee8728d1 | ||
|  | 9ae5202a78 | ||
|  | 07322469b7 | ||
|  | b797fcf578 | ||
|  | 7725fdff77 | ||
|  | e5298ca598 | ||
|  | 92d54e287a | ||
|  | 2d9656e82a | ||
|  | 8674e92349 | ||
|  | f5bbc36a91 | ||
|  | b058565419 | ||
|  | 2c6b951822 | ||
|  | 9b072525a6 | ||
|  | e2e0e3a555 | ||
|  | f37f72781a | ||
|  | 9618fe795f | ||
|  | 2e3231b051 | ||
|  | 7fd14852db | ||
|  | 73728a78c7 | ||
|  | 3f55d507dd | ||
|  | 13cec7830f | ||
|  | 665d65d164 | ||
|  | 21adc6b0c5 | ||
|  | 3529a1b59f | ||
|  | 8a0a3632ac | ||
|  | e6f9e07a9e | ||
|  | 755695c537 | ||
|  | dba423b6e7 | ||
|  | 83cda8c605 | ||
|  | 6856c690f3 | ||
|  | a9b3964675 | ||
|  | 44b360a521 | ||
|  | 699524ea6a | ||
|  | 2f4826b4d8 | ||
|  | 83160ef48c | ||
|  | 76bfbd3006 | ||
|  | 73c9b1dd20 | ||
|  | da878ec588 | ||
|  | f3c90e4b3a | ||
|  | f3959743b6 | ||
|  | 70a58a4cd4 | ||
|  | 600bb6f004 | ||
|  | d5ccf3404b | ||
|  | b17762a5ae | ||
|  | 1f2325b441 | ||
|  | b1757616d8 | ||
|  | 871f300a2c | ||
|  | 650c8f2582 | ||
|  | 28ae85c10b | ||
|  | ce37ceeb15 | ||
|  | 706c847b17 | ||
|  | 82be8d7f8d | ||
|  | 22e55d2e37 | ||
|  | 31844753e8 | ||
|  | 0ad36c2f62 | ||
|  | 79143ecad7 | ||
|  | 62dba864d7 | ||
|  | 21a763e55a | ||
|  | c81d6306e5 | ||
|  | 7270bcc9d5 | ||
|  | 3c39f89281 | ||
|  | e34f38d3fc | ||
|  | a207cc1580 | ||
|  | b219d3181e | ||
|  | bc848239ff | ||
|  | 0285e018f4 | ||
|  | 01f1e7e955 | ||
|  | ef34cfb38a | ||
|  | 1e0ba1d7aa | ||
|  | 6b0bafcafb | ||
|  | c0856a39bd | ||
|  | 270820a05c | ||
|  | 358660837c | ||
|  | e387c66aad | ||
|  | e774440e77 | ||
|  | c7295cd5f0 | ||
|  | 65fe248d66 | ||
|  | 5c479c9a45 | ||
|  | 6509ddff4c | ||
|  | ee78aaf29c | ||
|  | a5f59cb81a | ||
|  | a99011fd5c | ||
|  | 598374bb1c | ||
|  | b1acd4461e | ||
|  | 0e2fe6158c | ||
|  | f8b9e6f7cc | ||
|  | 8fc7451000 | ||
|  | aaab91cc20 | ||
|  | cde89c59b1 | ||
|  | 0ce04dd037 | ||
|  | 8e4c6df830 | ||
|  | da54431af5 | ||
|  | ace68aa492 | ||
|  | eee0cad2b6 | ||
|  | 785b30aeb6 | ||
|  | 3eb958dc6c | ||
|  | cd389851b9 | ||
|  | 7ee8dae9c5 | ||
|  | 4b9bb4ee71 | ||
|  | aa9fafe5c3 | ||
|  | e0c1214cdd | ||
|  | 82612af053 | ||
|  | 2f6439a239 | ||
|  | 44ff5b7599 | ||
|  | eb6c8b696f | ||
|  | 177d1aa841 | ||
|  | 021153bc49 | ||
|  | 89810a70ec | ||
|  | 504ff4ec59 | ||
|  | 04a5531a46 | ||
|  | 5a15e409cf | ||
|  | 747438e334 | ||
|  | 10211bf7da | ||
|  | 09f8aaec1e | ||
|  | 9f509067d4 | ||
|  | a085c85db6 | ||
|  | c6a7459bc9 | ||
|  | 3d06443c2c | ||
|  | 3f49e555fc | ||
|  | e156172e7c | ||
|  | c9385972bd | ||
|  | b411ee115f | ||
|  | 63fb94127a | ||
|  | 37fc9c1544 | ||
|  | 9055b90aef | ||
|  | 3f25ae9b43 | ||
|  | a288a086f7 | ||
|  | 25a398fc24 | ||
|  | 0b438b5250 | ||
|  | 0d2382e666 | ||
|  | 56b06c7433 | ||
|  | 84f690d318 | ||
|  | fef76514ed | ||
|  | 1bc8ce6f23 | ||
|  | 920a936511 | ||
|  | 648c28b332 | ||
|  | d9282f6102 | ||
|  | 1ca0e5c5e7 | 
							
								
								
									
										48
									
								
								.cvsignore
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								.cvsignore
									
									
									
									
									
								
							| @@ -1,48 +0,0 @@ | ||||
| Makefile | ||||
| Makefile.in | ||||
| aclocal.m4 | ||||
| config.cache | ||||
| config.h | ||||
| config.h.in | ||||
| config.log | ||||
| config.sub | ||||
| config.guess | ||||
| config.status | ||||
| configure | ||||
| gtopConf.sh | ||||
| i386-bsdi | ||||
| i686-pc-linux-gnu | ||||
| intl | ||||
| libgtop-mirror.sh.swp | ||||
| libgtopConf.sh | ||||
| libtool | ||||
| ltconfig | ||||
| ltmain.sh | ||||
| macros | ||||
| stamp-h | ||||
| stamp-h.in | ||||
| sun4 | ||||
| sun4sol2 | ||||
| support | ||||
| i386-freebsd | ||||
| alpha-dec-osf3.0 | ||||
| i686-pc-linux-gnu-linux | ||||
| libgtop-config | ||||
| ABOUT-NLS | ||||
| libgtop.spec | ||||
| libgtop*.tar.gz | ||||
| *-debstamp | ||||
| libgtop*.pc | ||||
| autom4te.cache | ||||
| COPYING | ||||
| INSTALL | ||||
| install-sh | ||||
| missing | ||||
| mkinstalldirs | ||||
| libgtopconfig.h | ||||
| intltool-extract.in | ||||
| intltool-extract | ||||
| intltool-merge.in | ||||
| intltool-merge | ||||
| intltool-update.in | ||||
| intltool-update | ||||
							
								
								
									
										95
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,95 @@ | ||||
| *.a | ||||
| *.bak | ||||
| *.core | ||||
| *.diff | ||||
| *.gmo | ||||
| *.header | ||||
| *.in | ||||
| *.la | ||||
| *.lo | ||||
| *.new | ||||
| *.o | ||||
| *.old | ||||
| *.out | ||||
| *.patch | ||||
| *.pot | ||||
| *.s | ||||
| *.sed | ||||
| *.sin | ||||
| *.stamp | ||||
| *.swp | ||||
| *~ | ||||
| .deps | ||||
| .libs | ||||
| ABOUT-NLS | ||||
| INSTALL | ||||
| Makefile | ||||
| Makevars.template | ||||
| Rules-quot | ||||
| \#*\# | ||||
| aclocal.m4 | ||||
| autom4te.cache/ | ||||
| compile | ||||
| config.guess | ||||
| config.h | ||||
| config.log | ||||
| config.status | ||||
| config.sub | ||||
| configure | ||||
| depcomp | ||||
| doc/libgtop2.info | ||||
| doc/mdate-sh | ||||
| doc/reference/html/ | ||||
| doc/reference/libgtop-decl-list.txt | ||||
| doc/reference/libgtop-decl.txt | ||||
| doc/reference/libgtop-undeclared.txt | ||||
| doc/reference/libgtop-undocumented.txt | ||||
| doc/reference/libgtop-unused.txt | ||||
| doc/reference/libgtop.args | ||||
| doc/reference/libgtop.hierarchy | ||||
| doc/reference/libgtop.interfaces | ||||
| doc/reference/libgtop.prerequisites | ||||
| doc/reference/libgtop.signals | ||||
| doc/reference/tmpl/ | ||||
| doc/reference/version.xml | ||||
| doc/reference/xml/ | ||||
| doc/stamp-vti | ||||
| doc/texinfo.tex | ||||
| doc/version.texi | ||||
| examples/affinity | ||||
| examples/df | ||||
| examples/diskio | ||||
| examples/first | ||||
| examples/free | ||||
| examples/mountlist | ||||
| examples/netlist | ||||
| examples/netload | ||||
| examples/openfiles | ||||
| examples/pprint | ||||
| examples/procargs | ||||
| examples/proclist | ||||
| examples/procmap | ||||
| examples/second | ||||
| examples/smp | ||||
| examples/sysdeps | ||||
| examples/timings | ||||
| examples/wd | ||||
| gtk-doc.make | ||||
| install-sh | ||||
| lib/GTop-2.0.gir | ||||
| lib/GTop-2.0.typelib | ||||
| lib/lib.c | ||||
| libgtop-2.0.pc | ||||
| libgtop.spec | ||||
| libgtopconfig.h | ||||
| libtool | ||||
| ltmain.sh | ||||
| m4/ | ||||
| missing | ||||
| po/POTFILES | ||||
| po/stamp-it | ||||
| src/daemon/libgtop_daemon2 | ||||
| src/daemon/libgtop_server2 | ||||
| stamp-h1 | ||||
| stamp-po | ||||
| tmp-* | ||||
							
								
								
									
										3
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -1,3 +1,4 @@ | ||||
| Martin Baulig (martin@home-of-linux.org) | ||||
| Drazen Kacar (dave@srce.hr) | ||||
| Benoît Dejean (tazforever@dlfp.org) | ||||
| Benoît Dejean (bdejean@gmail.com) | ||||
| Robert Roth (robert.roth.off@gmail.com) | ||||
|   | ||||
							
								
								
									
										340
									
								
								COPYING
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										340
									
								
								COPYING
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,340 @@ | ||||
| 		    GNU GENERAL PUBLIC LICENSE | ||||
| 		       Version 2, June 1991 | ||||
|  | ||||
|  Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||||
|      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  Everyone is permitted to copy and distribute verbatim copies | ||||
|  of this license document, but changing it is not allowed. | ||||
|  | ||||
| 			    Preamble | ||||
|  | ||||
|   The licenses for most software are designed to take away your | ||||
| freedom to share and change it.  By contrast, the GNU General Public | ||||
| License is intended to guarantee your freedom to share and change free | ||||
| software--to make sure the software is free for all its users.  This | ||||
| General Public License applies to most of the Free Software | ||||
| Foundation's software and to any other program whose authors commit to | ||||
| using it.  (Some other Free Software Foundation software is covered by | ||||
| the GNU Library General Public License instead.)  You can apply it to | ||||
| your programs, too. | ||||
|  | ||||
|   When we speak of free software, we are referring to freedom, not | ||||
| price.  Our General Public Licenses are designed to make sure that you | ||||
| have the freedom to distribute copies of free software (and charge for | ||||
| this service if you wish), that you receive source code or can get it | ||||
| if you want it, that you can change the software or use pieces of it | ||||
| in new free programs; and that you know you can do these things. | ||||
|  | ||||
|   To protect your rights, we need to make restrictions that forbid | ||||
| anyone to deny you these rights or to ask you to surrender the rights. | ||||
| These restrictions translate to certain responsibilities for you if you | ||||
| distribute copies of the software, or if you modify it. | ||||
|  | ||||
|   For example, if you distribute copies of such a program, whether | ||||
| gratis or for a fee, you must give the recipients all the rights that | ||||
| you have.  You must make sure that they, too, receive or can get the | ||||
| source code.  And you must show them these terms so they know their | ||||
| rights. | ||||
|  | ||||
|   We protect your rights with two steps: (1) copyright the software, and | ||||
| (2) offer you this license which gives you legal permission to copy, | ||||
| distribute and/or modify the software. | ||||
|  | ||||
|   Also, for each author's protection and ours, we want to make certain | ||||
| that everyone understands that there is no warranty for this free | ||||
| software.  If the software is modified by someone else and passed on, we | ||||
| want its recipients to know that what they have is not the original, so | ||||
| that any problems introduced by others will not reflect on the original | ||||
| authors' reputations. | ||||
|  | ||||
|   Finally, any free program is threatened constantly by software | ||||
| patents.  We wish to avoid the danger that redistributors of a free | ||||
| program will individually obtain patent licenses, in effect making the | ||||
| program proprietary.  To prevent this, we have made it clear that any | ||||
| patent must be licensed for everyone's free use or not licensed at all. | ||||
|  | ||||
|   The precise terms and conditions for copying, distribution and | ||||
| modification follow. | ||||
|  | ||||
| 		    GNU GENERAL PUBLIC LICENSE | ||||
|    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||||
|  | ||||
|   0. This License applies to any program or other work which contains | ||||
| a notice placed by the copyright holder saying it may be distributed | ||||
| under the terms of this General Public License.  The "Program", below, | ||||
| refers to any such program or work, and a "work based on the Program" | ||||
| means either the Program or any derivative work under copyright law: | ||||
| that is to say, a work containing the Program or a portion of it, | ||||
| either verbatim or with modifications and/or translated into another | ||||
| language.  (Hereinafter, translation is included without limitation in | ||||
| the term "modification".)  Each licensee is addressed as "you". | ||||
|  | ||||
| Activities other than copying, distribution and modification are not | ||||
| covered by this License; they are outside its scope.  The act of | ||||
| running the Program is not restricted, and the output from the Program | ||||
| is covered only if its contents constitute a work based on the | ||||
| Program (independent of having been made by running the Program). | ||||
| Whether that is true depends on what the Program does. | ||||
|  | ||||
|   1. You may copy and distribute verbatim copies of the Program's | ||||
| source code as you receive it, in any medium, provided that you | ||||
| conspicuously and appropriately publish on each copy an appropriate | ||||
| copyright notice and disclaimer of warranty; keep intact all the | ||||
| notices that refer to this License and to the absence of any warranty; | ||||
| and give any other recipients of the Program a copy of this License | ||||
| along with the Program. | ||||
|  | ||||
| You may charge a fee for the physical act of transferring a copy, and | ||||
| you may at your option offer warranty protection in exchange for a fee. | ||||
|  | ||||
|   2. You may modify your copy or copies of the Program or any portion | ||||
| of it, thus forming a work based on the Program, and copy and | ||||
| distribute such modifications or work under the terms of Section 1 | ||||
| above, provided that you also meet all of these conditions: | ||||
|  | ||||
|     a) You must cause the modified files to carry prominent notices | ||||
|     stating that you changed the files and the date of any change. | ||||
|  | ||||
|     b) You must cause any work that you distribute or publish, that in | ||||
|     whole or in part contains or is derived from the Program or any | ||||
|     part thereof, to be licensed as a whole at no charge to all third | ||||
|     parties under the terms of this License. | ||||
|  | ||||
|     c) If the modified program normally reads commands interactively | ||||
|     when run, you must cause it, when started running for such | ||||
|     interactive use in the most ordinary way, to print or display an | ||||
|     announcement including an appropriate copyright notice and a | ||||
|     notice that there is no warranty (or else, saying that you provide | ||||
|     a warranty) and that users may redistribute the program under | ||||
|     these conditions, and telling the user how to view a copy of this | ||||
|     License.  (Exception: if the Program itself is interactive but | ||||
|     does not normally print such an announcement, your work based on | ||||
|     the Program is not required to print an announcement.) | ||||
|  | ||||
| These requirements apply to the modified work as a whole.  If | ||||
| identifiable sections of that work are not derived from the Program, | ||||
| and can be reasonably considered independent and separate works in | ||||
| themselves, then this License, and its terms, do not apply to those | ||||
| sections when you distribute them as separate works.  But when you | ||||
| distribute the same sections as part of a whole which is a work based | ||||
| on the Program, the distribution of the whole must be on the terms of | ||||
| this License, whose permissions for other licensees extend to the | ||||
| entire whole, and thus to each and every part regardless of who wrote it. | ||||
|  | ||||
| Thus, it is not the intent of this section to claim rights or contest | ||||
| your rights to work written entirely by you; rather, the intent is to | ||||
| exercise the right to control the distribution of derivative or | ||||
| collective works based on the Program. | ||||
|  | ||||
| In addition, mere aggregation of another work not based on the Program | ||||
| with the Program (or with a work based on the Program) on a volume of | ||||
| a storage or distribution medium does not bring the other work under | ||||
| the scope of this License. | ||||
|  | ||||
|   3. You may copy and distribute the Program (or a work based on it, | ||||
| under Section 2) in object code or executable form under the terms of | ||||
| Sections 1 and 2 above provided that you also do one of the following: | ||||
|  | ||||
|     a) Accompany it with the complete corresponding machine-readable | ||||
|     source code, which must be distributed under the terms of Sections | ||||
|     1 and 2 above on a medium customarily used for software interchange; or, | ||||
|  | ||||
|     b) Accompany it with a written offer, valid for at least three | ||||
|     years, to give any third party, for a charge no more than your | ||||
|     cost of physically performing source distribution, a complete | ||||
|     machine-readable copy of the corresponding source code, to be | ||||
|     distributed under the terms of Sections 1 and 2 above on a medium | ||||
|     customarily used for software interchange; or, | ||||
|  | ||||
|     c) Accompany it with the information you received as to the offer | ||||
|     to distribute corresponding source code.  (This alternative is | ||||
|     allowed only for noncommercial distribution and only if you | ||||
|     received the program in object code or executable form with such | ||||
|     an offer, in accord with Subsection b above.) | ||||
|  | ||||
| The source code for a work means the preferred form of the work for | ||||
| making modifications to it.  For an executable work, complete source | ||||
| code means all the source code for all modules it contains, plus any | ||||
| associated interface definition files, plus the scripts used to | ||||
| control compilation and installation of the executable.  However, as a | ||||
| special exception, the source code distributed need not include | ||||
| anything that is normally distributed (in either source or binary | ||||
| form) with the major components (compiler, kernel, and so on) of the | ||||
| operating system on which the executable runs, unless that component | ||||
| itself accompanies the executable. | ||||
|  | ||||
| If distribution of executable or object code is made by offering | ||||
| access to copy from a designated place, then offering equivalent | ||||
| access to copy the source code from the same place counts as | ||||
| distribution of the source code, even though third parties are not | ||||
| compelled to copy the source along with the object code. | ||||
|  | ||||
|   4. You may not copy, modify, sublicense, or distribute the Program | ||||
| except as expressly provided under this License.  Any attempt | ||||
| otherwise to copy, modify, sublicense or distribute the Program is | ||||
| void, and will automatically terminate your rights under this License. | ||||
| However, parties who have received copies, or rights, from you under | ||||
| this License will not have their licenses terminated so long as such | ||||
| parties remain in full compliance. | ||||
|  | ||||
|   5. You are not required to accept this License, since you have not | ||||
| signed it.  However, nothing else grants you permission to modify or | ||||
| distribute the Program or its derivative works.  These actions are | ||||
| prohibited by law if you do not accept this License.  Therefore, by | ||||
| modifying or distributing the Program (or any work based on the | ||||
| Program), you indicate your acceptance of this License to do so, and | ||||
| all its terms and conditions for copying, distributing or modifying | ||||
| the Program or works based on it. | ||||
|  | ||||
|   6. Each time you redistribute the Program (or any work based on the | ||||
| Program), the recipient automatically receives a license from the | ||||
| original licensor to copy, distribute or modify the Program subject to | ||||
| these terms and conditions.  You may not impose any further | ||||
| restrictions on the recipients' exercise of the rights granted herein. | ||||
| You are not responsible for enforcing compliance by third parties to | ||||
| this License. | ||||
|  | ||||
|   7. If, as a consequence of a court judgment or allegation of patent | ||||
| infringement or for any other reason (not limited to patent issues), | ||||
| conditions are imposed on you (whether by court order, agreement or | ||||
| otherwise) that contradict the conditions of this License, they do not | ||||
| excuse you from the conditions of this License.  If you cannot | ||||
| distribute so as to satisfy simultaneously your obligations under this | ||||
| License and any other pertinent obligations, then as a consequence you | ||||
| may not distribute the Program at all.  For example, if a patent | ||||
| license would not permit royalty-free redistribution of the Program by | ||||
| all those who receive copies directly or indirectly through you, then | ||||
| the only way you could satisfy both it and this License would be to | ||||
| refrain entirely from distribution of the Program. | ||||
|  | ||||
| If any portion of this section is held invalid or unenforceable under | ||||
| any particular circumstance, the balance of the section is intended to | ||||
| apply and the section as a whole is intended to apply in other | ||||
| circumstances. | ||||
|  | ||||
| It is not the purpose of this section to induce you to infringe any | ||||
| patents or other property right claims or to contest validity of any | ||||
| such claims; this section has the sole purpose of protecting the | ||||
| integrity of the free software distribution system, which is | ||||
| implemented by public license practices.  Many people have made | ||||
| generous contributions to the wide range of software distributed | ||||
| through that system in reliance on consistent application of that | ||||
| system; it is up to the author/donor to decide if he or she is willing | ||||
| to distribute software through any other system and a licensee cannot | ||||
| impose that choice. | ||||
|  | ||||
| This section is intended to make thoroughly clear what is believed to | ||||
| be a consequence of the rest of this License. | ||||
|  | ||||
|   8. If the distribution and/or use of the Program is restricted in | ||||
| certain countries either by patents or by copyrighted interfaces, the | ||||
| original copyright holder who places the Program under this License | ||||
| may add an explicit geographical distribution limitation excluding | ||||
| those countries, so that distribution is permitted only in or among | ||||
| countries not thus excluded.  In such case, this License incorporates | ||||
| the limitation as if written in the body of this License. | ||||
|  | ||||
|   9. The Free Software Foundation may publish revised and/or new versions | ||||
| of the General Public License from time to time.  Such new versions will | ||||
| be similar in spirit to the present version, but may differ in detail to | ||||
| address new problems or concerns. | ||||
|  | ||||
| Each version is given a distinguishing version number.  If the Program | ||||
| specifies a version number of this License which applies to it and "any | ||||
| later version", you have the option of following the terms and conditions | ||||
| either of that version or of any later version published by the Free | ||||
| Software Foundation.  If the Program does not specify a version number of | ||||
| this License, you may choose any version ever published by the Free Software | ||||
| Foundation. | ||||
|  | ||||
|   10. If you wish to incorporate parts of the Program into other free | ||||
| programs whose distribution conditions are different, write to the author | ||||
| to ask for permission.  For software which is copyrighted by the Free | ||||
| Software Foundation, write to the Free Software Foundation; we sometimes | ||||
| make exceptions for this.  Our decision will be guided by the two goals | ||||
| of preserving the free status of all derivatives of our free software and | ||||
| of promoting the sharing and reuse of software generally. | ||||
|  | ||||
| 			    NO WARRANTY | ||||
|  | ||||
|   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||||
| FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN | ||||
| OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||||
| PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||||
| OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS | ||||
| TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE | ||||
| PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||||
| REPAIR OR CORRECTION. | ||||
|  | ||||
|   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||||
| WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||||
| REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||||
| INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||||
| OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||||
| TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||||
| YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||||
| PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGES. | ||||
|  | ||||
| 		     END OF TERMS AND CONDITIONS | ||||
|  | ||||
| 	    How to Apply These Terms to Your New Programs | ||||
|  | ||||
|   If you develop a new program, and you want it to be of the greatest | ||||
| possible use to the public, the best way to achieve this is to make it | ||||
| free software which everyone can redistribute and change under these terms. | ||||
|  | ||||
|   To do so, attach the following notices to the program.  It is safest | ||||
| to attach them to the start of each source file to most effectively | ||||
| convey the exclusion of warranty; and each file should have at least | ||||
| the "copyright" line and a pointer to where the full notice is found. | ||||
|  | ||||
|     <one line to give the program's name and a brief idea of what it does.> | ||||
|     Copyright (C) <year>  <name of author> | ||||
|  | ||||
|     This program is free software; you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation; either version 2 of the License, or | ||||
|     (at your option) any later version. | ||||
|  | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program; if not, write to the Free Software | ||||
|     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA | ||||
|  | ||||
|  | ||||
| Also add information on how to contact you by electronic and paper mail. | ||||
|  | ||||
| If the program is interactive, make it output a short notice like this | ||||
| when it starts in an interactive mode: | ||||
|  | ||||
|     Gnomovision version 69, Copyright (C) year  name of author | ||||
|     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||||
|     This is free software, and you are welcome to redistribute it | ||||
|     under certain conditions; type `show c' for details. | ||||
|  | ||||
| The hypothetical commands `show w' and `show c' should show the appropriate | ||||
| parts of the General Public License.  Of course, the commands you use may | ||||
| be called something other than `show w' and `show c'; they could even be | ||||
| mouse-clicks or menu items--whatever suits your program. | ||||
|  | ||||
| You should also get your employer (if you work as a programmer) or your | ||||
| school, if any, to sign a "copyright disclaimer" for the program, if | ||||
| necessary.  Here is a sample; alter the names: | ||||
|  | ||||
|   Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||||
|   `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||||
|  | ||||
|   <signature of Ty Coon>, 1 April 1989 | ||||
|   Ty Coon, President of Vice | ||||
|  | ||||
| This General Public License does not permit incorporating your program into | ||||
| proprietary programs.  If your program is a subroutine library, you may | ||||
| consider it more useful to permit linking proprietary applications with the | ||||
| library.  If this is what you want to do, use the GNU Library General | ||||
| Public License instead of this License. | ||||
							
								
								
									
										183
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										183
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,186 @@ | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* features.def: | ||||
| 	* include/glibtop/proclist.h: | ||||
|  | ||||
| 	Small API change. | ||||
| 	get_proclist returns pid_t instead of unsigned for consistency. | ||||
| 	I have checked many archs and this doesn't break the ABI. | ||||
|  | ||||
| 2007-05-17  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
|  | ||||
| 	Bumped version number. | ||||
|  | ||||
| 2007-05-14  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* include/glibtop/Makefile.am: | ||||
| 	* lib/Makefile.am: | ||||
|  | ||||
| 	Fixed dist. | ||||
|  | ||||
| 2007-05-13  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Released 2.19.2. | ||||
|  | ||||
| 2007-05-10  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* lib/libgtop.sym: | ||||
|  | ||||
| 	Added missing *_p symbols. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	* lib/Makefile.am: | ||||
| 	* lib/libgtop.sym: | ||||
|  | ||||
| 	Updated libtool version. | ||||
| 	Now uses a symbol list instead of a regex. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* New API to get cwd, root and exe path | ||||
| 	of a process. API not frozen yet. | ||||
|  | ||||
| 2007-04-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	Got rid of InodeDB. | ||||
| 	This feature was optionnal and i have never heard of anyone using | ||||
| 	it. I have never touched it so it may be broken since 2.6. | ||||
|  | ||||
| 2007-04-11  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* *: | ||||
| 	 | ||||
| 	Renamed all glibtop_init_xxx functions | ||||
| 	to _glibtop_init_xxx so they get internal visibility. | ||||
|  | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Bumped version number. | ||||
|  | ||||
| 2007-03-13  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* MAINTAINERS: | ||||
| 	 | ||||
| 	Updated. | ||||
|  | ||||
| 2007-02-25  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
| 	 | ||||
| 	Released 2.14.8. | ||||
|  | ||||
| 2007-02-20  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* *: | ||||
| 	 | ||||
| 	Removed noisy $Id$. | ||||
|  | ||||
| 2007-02-18  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	* libgtop-sysdeps.m4: | ||||
| 	* sysdeps/Makefile.am: | ||||
| 	 | ||||
| 	Huge (k)FreeBSD update. | ||||
| 	(k)FreeBSD support is freebsd/ | ||||
| 	Other BSD are in bsd/ | ||||
| 	 | ||||
| 	Patch by Joe Marcus Clarke  <marcus@freebsd.org> | ||||
| 	Alexander Nedotsukov  <bland@FreeBSD.org> | ||||
| 	 | ||||
| 	Closes #407693. | ||||
|  | ||||
| 2007-02-14  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* lib/read.c: (glibtop_read_l): | ||||
| 	* lib/write.c: (glibtop_write_l): | ||||
|  | ||||
| 	Handle EINTR. | ||||
| 	 | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Post release version bump. | ||||
|  | ||||
| 2007-02-10  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Released 2.14.7. | ||||
|  | ||||
| 2007-01-14  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
|  | ||||
| 	Released 2.14.6. | ||||
|  | ||||
| 2007-01-11  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Bumped version number to 2.14.6. | ||||
| 	 | ||||
| 	* *: | ||||
| 	 | ||||
| 	Got rid of CVS admin files. | ||||
|  | ||||
| 2006-12-03  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* doc/reference/libgtop-docs.xml: | ||||
| 	* glibtop.h: | ||||
| 	* include/glibtop/sysinfo.h: | ||||
| 	 | ||||
| 	Made gtk-doc happy in order to dist. | ||||
|  | ||||
| 2006-12-03  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
| 	 | ||||
| 	Released 2.14.5. | ||||
|  | ||||
| 2006-12-02  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* Makefile.am: | ||||
| 	* configure.in: | ||||
| 	* doc/Makefile.am: | ||||
| 	* doc/reference/Makefile.am: | ||||
| 	* doc/reference/libgtop-docs.xml: | ||||
| 	* doc/reference/libgtop-sections.txt: | ||||
| 	* doc/reference/version.xml.in: | ||||
| 	* gtk-doc.make: | ||||
| 	* sysdeps/common/default.c: | ||||
|  | ||||
| 	Converted to gtk-doc. | ||||
| 	Patch by Germán Poó-Caamaño <gpoo@ubiobio.cl>. | ||||
|  | ||||
| 2006-12-01  Julio M. Merino Vidal  <jmmv@NetBSD.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	* libgtop-sysdeps.m4: | ||||
|  | ||||
| 	Use the AS_HELP_STRING macro to format help messages. | ||||
| 	Fixes bug #337068. | ||||
|  | ||||
| 2006-11-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* libgtop-sysdeps.m4: | ||||
| 	 | ||||
| 	Added kfreebsd support. | ||||
| 	Patch by Petr Salinger <Petr.Salinger@seznam.cz>. | ||||
|  | ||||
| 2006-11-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Bumped version number. | ||||
|  | ||||
| 2006-09-16  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| Email: martin@home-of-linux.org | ||||
| Email: dave@srce.hr | ||||
| Current maintainer : Benoît Dejean (benoit@placenet.org) | ||||
| Benoît Dejean | ||||
| E-mail: benoit@placenet.org | ||||
| Userid: bdejean | ||||
|  | ||||
|   | ||||
							
								
								
									
										12
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile.am
									
									
									
									
									
								
							| @@ -1,3 +1,4 @@ | ||||
| ACLOCAL_AMFLAGS = -I m4 | ||||
|  | ||||
| if EXAMPLES | ||||
| EXAMPLES_DIR = examples | ||||
| @@ -14,14 +15,8 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \ | ||||
| 	 features.def libgtopconfig.h.in \ | ||||
| 	libgtop-sysdeps.m4 README \ | ||||
| 	 libgtop-2.0.pc.in acinclude.m4 \ | ||||
| 	intltool-extract.in \ | ||||
| 	intltool-merge.in \ | ||||
| 	intltool-update.in | ||||
|  | ||||
| DISTCLEANFILES = \ | ||||
| 	intltool-extract \ | ||||
| 	intltool-merge \ | ||||
| 	intltool-update | ||||
| 	libgtop.doap \ | ||||
| 	m4/introspection.m4 | ||||
|  | ||||
| dist-hook: | ||||
| 	cp libgtop.spec $(distdir) | ||||
| @@ -32,3 +27,4 @@ pkgconfig_DATA = libgtop-2.0.pc | ||||
| libgtop-features.def: features.def | ||||
| 	@LN_S@ $< $@ | ||||
|  | ||||
| DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection | ||||
|   | ||||
							
								
								
									
										368
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										368
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,3 +1,371 @@ | ||||
| 11 September 2017: Overview of changes in 2.38.0 | ||||
| ================================================ | ||||
|  | ||||
| * Updated translations | ||||
|  | ||||
| 04 September 2017: Overview of changes in 2.37.92 | ||||
| ================================================ | ||||
|  | ||||
| * Updated translations | ||||
| * Code cleanup | ||||
|  | ||||
| 07 August 2017: Overview of changes in 2.37.90 | ||||
| ================================================ | ||||
|  | ||||
| * Added reserved fields to the sysdeps struct | ||||
| * Updated translations | ||||
| * Fixed build failure in FreeBSD 11 | ||||
|  | ||||
| 22 May 2017: Overview of changes in 2.37.2 | ||||
| ================================================ | ||||
|  | ||||
| * Added support for per-process io monitoring | ||||
|   * Linux | ||||
|   * FreeBSD | ||||
| * Updated translations | ||||
| * Added nullpointer check | ||||
| * Use unicode in translatable strings | ||||
|  | ||||
| 20 March 2017: Overview of changes in 2.36.0 | ||||
| ================================================ | ||||
|  | ||||
| * Version bumped | ||||
|  | ||||
| 13 March 2017: Overview of changes in 2.35.92 | ||||
| ================================================ | ||||
|  | ||||
| * Better output format for arrays | ||||
|  | ||||
| 13 February 2017: Overview of changes in 2.35.90 | ||||
| ================================================ | ||||
|  | ||||
| * Linux: | ||||
|   - Use dynamically allocated cpu buffer | ||||
|   - Do not cache getpagesize() | ||||
|   - Use faster g_ascii_isspace in tokenization | ||||
|   - Ignore paragraphs not describing a CPU/core | ||||
|  | ||||
| * Updated translations | ||||
| * Added more gettext options | ||||
|  | ||||
| 16 January 2017: Overview of changes in 2.34.2 | ||||
| ================================================ | ||||
|  | ||||
| * Linux: | ||||
|   - fill last_processor member | ||||
|  | ||||
| * Updated translations | ||||
| * Added more gettext options | ||||
|  | ||||
| 20 August 2016: Overview of changes in 2.34.1 | ||||
| ================================================ | ||||
|  | ||||
| * FreeBSD: | ||||
|   - rewrite netload to use official APIs | ||||
|   - mark wireless interfaces as such | ||||
|  | ||||
| * All | ||||
|   - rename --with-libgtop-examples to --with-examples | ||||
|   - use gettext instead of intltool/glib-gettext | ||||
|   - added Language headers to the translations | ||||
|  | ||||
|  | ||||
| Special thanks to Gleb Smirnoff, Antoine Brodin, Koop Mast and Ting-Wei Lan for | ||||
| the FreeBSD fixes, to Javier Jardón for the gettext migration and to Piotr Drąg | ||||
| for adding the Language headers. | ||||
|  | ||||
| 22 March 2016: Overview of changes in 2.34.0 | ||||
| ================================================ | ||||
|  | ||||
| * Stable release | ||||
|  | ||||
| 29 February 2016: Overview of changes in 2.33.91 | ||||
|  | ||||
| * Updated translations | ||||
| * Fix building on must-libc | ||||
|  | ||||
| 18 January 2016: Overview of changes in 2.33.4 | ||||
|  | ||||
| * On OpenBSD only PID 1 is special | ||||
| * Call setlocale in main | ||||
|  | ||||
| 14 December: Overview of changes in 2.33.3 | ||||
|  | ||||
| * Fixed borken compilation on OpenBSD  | ||||
| * Updated translations. | ||||
|  | ||||
| 21 September 2015: Overview of changes in 2.32.0 | ||||
|  | ||||
| * Stable release | ||||
|  | ||||
| 14 September 2015: Overview of changes in 2.31.91 | ||||
| ================================================ | ||||
| * Darwin: | ||||
|   - Fixed build. | ||||
|  | ||||
| * All | ||||
|   - GI docs fixes | ||||
|   - include fixes | ||||
|   - Updated translations | ||||
|  | ||||
| 16 August 2015: Overview of changes in 2.31.90 | ||||
| ============================================= | ||||
| * ABI changes: | ||||
|   - ABI was inconsistent on platforms like FreeBSD which make use of | ||||
|     glibtop_machine. The ABI was actually different between the | ||||
|     library and the server. Fixed this by simply always defining | ||||
|     glibtop_machine in glibtop struct. | ||||
|   - Add Pss and Swap members in glibtop_proc_mem. | ||||
|   - This is the second ABI breakage in since 2.28 (the first one was | ||||
|     bumping NCPU), there were no release for 2.30. | ||||
|  | ||||
| * FreeBSD: | ||||
|   - proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE. | ||||
|   - Remove extraneous glibtop_init() calls. | ||||
|  | ||||
| * Linux: | ||||
|   - proc_mem: implement Pss and Swap. | ||||
|   - Remove extraneous glibtop_init() calls. | ||||
|  | ||||
| * All: | ||||
|   - Propagate the change that machine in struct glibtop is now a | ||||
|     pointer. Hope that change doesn't break build on other platforms, | ||||
|     I can only test Linux and FreeBSD. | ||||
|  | ||||
|  | ||||
| 5 August 2015: Overview of changes in 2.31.4 | ||||
| ============================================= | ||||
| * 71 commits ! | ||||
| * Implement a proper --enable-debug mode. | ||||
| * FreeBSD: | ||||
| 	- procstate: set process name for kernel (pid=0) | ||||
| 	- procmap: get dev/inode for ZFS (no filename yet) | ||||
| 	- mem: rework memory usage to something more meaningful | ||||
| 	- proclist: don't report threads | ||||
| 	- proctime: fix CPU times | ||||
| * Linux: | ||||
| 	- mem: use MemAvailable when available | ||||
| 	- mem: match `free`, report Slab as Cached. | ||||
| 	- support for x.y versionsmemory to match `free` | ||||
| * Fix a lot of GI tags: it now works without crashing. | ||||
| * Server and daemon binaries are now dynamically linked against their libgtop. | ||||
| * Update a lot of examples/. | ||||
| * Clean up some very old code. | ||||
| * Updated translations. | ||||
|  | ||||
| Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD. | ||||
|  | ||||
| 22 June 2015: Overview of changes in 2.31.3 | ||||
| ============================================= | ||||
| * Numerous OpenBSD backend fixes. | ||||
| * Fixed FreeBSD build issues. | ||||
| * Implemented procaffinity support for NetBSD. | ||||
| * Updated translations | ||||
|  | ||||
| 19 August 2013: Overview of changes in 2.28.5 | ||||
| ============================================= | ||||
| * Fix numerous bugs in the OpenBSD backend. | ||||
| * Updated translations. | ||||
|  | ||||
| 30 August 2011: Overview of changes in 2.28.4 | ||||
| ============================================= | ||||
| * Fix numerous bugs in the FreeBSD backend. | ||||
| * Split off OpenBSD code in its own backend, and fixes. | ||||
| * Updated translations. | ||||
|  | ||||
| 25 March 2011: Overview of changes in 2.28.3 | ||||
| ================================================ | ||||
| * Fix build issue for strict linkers. | ||||
| * Add Introspection support | ||||
| * Cygwin fixes. | ||||
| * FreeBSD: Fix get_mem() on 64-bit systems. | ||||
| * Updated translations. | ||||
|  | ||||
| 28 September 2010: Overview of changes in 2.28.2 | ||||
| ================================================ | ||||
| * Updated translations. | ||||
|  | ||||
| 30 March 2010: Overview of changes in 2.28.1 | ||||
| ============================================ | ||||
| * Updated translations. | ||||
|  | ||||
| 21 September 2009: Overview of changes in 2.28.0 | ||||
| ================================================ | ||||
| * Updated translations. | ||||
|  | ||||
| 25 May 2009: Overview of changes in 2.27.3 | ||||
| ========================================== | ||||
| * linux: | ||||
|   - fixed format error. | ||||
|  | ||||
| 3 May 2009: Overview of changes in 2.27.2 | ||||
| ========================================= | ||||
| * linux: | ||||
|   - glibtop_get_proc_map: oops, fixed segfault. | ||||
|  | ||||
| 3 May 2009: Overview of changes in 2.27.1 | ||||
| ========================================= | ||||
| * linux: | ||||
|   - glibtop_get_proc_map is ~40% faster. This should be noticeable | ||||
|     in system-monitor. | ||||
| * New cygwin support. | ||||
|  | ||||
| 13 April 2009: Overview of changes in 2.26.1 | ||||
| ============================================ | ||||
| * linux: | ||||
|   - glibtop_get_mounlist(...): also hide "none" fs. | ||||
|  | ||||
| 1 Mars 2009: Overview of changes in 2.26.0 | ||||
| ========================================== | ||||
| * Nothing. | ||||
|  | ||||
| 17 February 2009: Overview of changes in 2.25.91 | ||||
| ================================================ | ||||
| * Synced with gnome-2-24. | ||||
|  | ||||
| 19 January 2009: Overview of changes in 2.24.4 | ||||
| ============================================== | ||||
| * Fixed license: libgtop is GPL-2. | ||||
|  | ||||
| 12 January 2009: Overview of changes in 2.24.3 | ||||
| ============================================== | ||||
| * linux: | ||||
|   - fixed potential memory leak. Vincent Untz. | ||||
|   - fixed read(2) usage. Should fix the missing cpus bug in system-monitor. | ||||
| * darwin: | ||||
|   - fixed build. "paul". | ||||
|  | ||||
| 22 Septembre 2008: Overview of changes in 2.24.0 | ||||
| ================================================ | ||||
| * Translation updates. | ||||
|  | ||||
| 18 August 2008: Overview of changes in 2.23.90 | ||||
| ============================================== | ||||
| * freebsd: | ||||
|   - updated port by Joe Marcus Clarke. | ||||
|  | ||||
| 23 June 2008: Overview of changes in 2.23.4 | ||||
| =========================================== | ||||
| * linux: | ||||
|   - Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25. | ||||
|     Closes #539360. | ||||
|  | ||||
| 24 May 2008: Overview of changes in 2.23.2 | ||||
| ========================================== | ||||
| * glibtop_get_proc_open_files API can also lists IPv6 TCP sockets. | ||||
| * glibtop_get_proc_affinity : new API to retrieve process CPU affinity. | ||||
|  | ||||
| (Let's hope one day i'll find the gtk-doc documentation ...) | ||||
|  | ||||
| * linux: | ||||
|   - fixed parsing of big /proc/stat for uptime. | ||||
|  | ||||
| 04 April 2008: Overview of changes in 2.22.1 | ||||
| ============================================ | ||||
| * Fixed compilation/dist for !linux. | ||||
|   Closes #525953. | ||||
|  | ||||
| 10 Mars 2008: Overview of changes in 2.22.0 | ||||
| =========================================== | ||||
| * linux: | ||||
|   - fixed proc_kernel. | ||||
|   | ||||
| 25 February 2008: Overview of changes in 2.21.92 | ||||
| ================================================ | ||||
| * linux: | ||||
|   - fixed smaps parsing on >= 2.6.24.x. | ||||
|  | ||||
| 14 January 2008: Overview of changes in 2.21.5 | ||||
| ============================================== | ||||
| * freebsd: | ||||
|   - fixed build on GNU/kfreebsd. Petr Salinger. | ||||
|   - fixed procmem units. Kuang-che Wu. | ||||
|  | ||||
| 28 October 2007: Overview of changes in 2.21.1 | ||||
| ============================================== | ||||
| * don't export _p/_s private symbols anymore. This is not an API/ABI breakage. | ||||
| * darwin implementation by Benjamin Reed. | ||||
| * linux: | ||||
|   - splitted fsusage and mountlist implementations; | ||||
|   - smarter mountlist(allfs = False); | ||||
|   - fixed some compile warning on 64bit; | ||||
| * solaris: | ||||
|   - fixed netload build by Henry Zhang. | ||||
|  | ||||
| 16 September 2007: Overview of changes in 2.20.0 | ||||
| ================================================ | ||||
| * Updated translations. | ||||
|  | ||||
| 27 August 2007: Overview of changes in 2.19.92 | ||||
| ============================================== | ||||
| * Fixed stupid hardwired path in linux/sysinfo.c | ||||
|  | ||||
| 26 August 2007: Overview of changes in 2.19.91 | ||||
| ============================================== | ||||
| * Translations updates. | ||||
| * linux: | ||||
|   - Small internal improvement. Might fix sysinfo when having more than | ||||
|   8 CPUS. | ||||
|  | ||||
| 9 July 2007: Overview of changes in 2.19.5 | ||||
| ========================================== | ||||
| * linux: | ||||
|   - fixed proc_map for >= 2.6.22 | ||||
| * freebsd: | ||||
|   - implemented procwd and procopenfiles | ||||
|     Joe Marcus Clarke | ||||
|  | ||||
| 18 June 2007: Overview of changes in 2.19.4 | ||||
| =========================================== | ||||
| * solaris: | ||||
|   - fixed build. Damien Carbery. | ||||
|  | ||||
| 3 June 2007: Overview of changes in 2.19.3 | ||||
| ========================================== | ||||
| * Small API change. get_proclist returns pid_t instead of unsigned | ||||
|   for consistency. | ||||
| * linux: | ||||
|   - fixed an typo bug in open_files. | ||||
|   - got rid of useless glibtop_init_s calls. | ||||
| * Enable example build by defaut. | ||||
| * Dropped G_GNUC_INTERNAL attributes no longer needed. | ||||
|   This will please people trying to implement G_GNUC macro with a non | ||||
|   GNU Compiler. | ||||
|  | ||||
| 13 May 2007: Overview of changes in 2.19.2 | ||||
| ========================================== | ||||
| * This is the first release of the 2.19.x series. | ||||
| * Got rid of inodedb (you don't even know what it is ;) | ||||
| * New unstable API glibtop_get_proc_wd to get working directories of | ||||
|   a process. | ||||
| * Fixed OpenBSD build. Jasper Lievisse Adriaanse. | ||||
|  | ||||
| 25 February 2007: Overview of changes in 2.14.8 | ||||
| =============================================== | ||||
| * bsd implementations have been splitted by Joe Marcus Clarke | ||||
|   and Alexander Nedotsukov. (k)freeBSD now has a separate implementation. | ||||
|  | ||||
| February 10, 2007: Overview of changes in 2.14.7 | ||||
| ================================================ | ||||
| * bsd: | ||||
|   - massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger. | ||||
| * mountlist can now ignore objfs and ctfs filesystems. | ||||
| * fsusage won't return bavail > bfree anymore. | ||||
|  | ||||
| January 14, 2007: Overview of changes in 2.14.6 | ||||
| =============================================== | ||||
| * linux: | ||||
|   - fixed stack overflow in glibtop_get_proc_map | ||||
|   - fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files. | ||||
|   - micro-optimization | ||||
|  | ||||
| December 3, 2006: Overview of changes in 2.14.5 | ||||
| =============================================== | ||||
| * Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>). | ||||
| * Added solaris glibtop_get_proc_open_files (Henry Zhang <hua.zhang@sun.com>). | ||||
| * Migrated to gtk-doc (Germán Poó-Caamaño <gpoo@ubiobio.cl>). | ||||
| * glibtop_get_mountlist can now ignore nsfd FS.  | ||||
|  | ||||
| September 16, 2006: Overview of changes in 2.14.4 | ||||
| ================================================= | ||||
| * Fixed linux maps/smaps parsing on 64bit kernel. | ||||
|   | ||||
| @@ -4,9 +4,7 @@ | ||||
| srcdir=`dirname $0` | ||||
| test -z "$srcdir" && srcdir=. | ||||
|  | ||||
| PKG_NAME="Gnome Top Library" | ||||
|  | ||||
| (test -f $srcdir/configure.in \ | ||||
| (test -f $srcdir/configure.ac \ | ||||
|   && test -f $srcdir/copyright.txt \ | ||||
|   && test -d $srcdir/sysdeps) || { | ||||
|     echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" | ||||
|   | ||||
| @@ -3,12 +3,12 @@ dnl Configure script for the Gnome library | ||||
| dnl | ||||
| 
 | ||||
| m4_define([libgtop_major_version], [2]) | ||||
| m4_define([libgtop_minor_version], [14]) | ||||
| m4_define([libgtop_micro_version], [4]) | ||||
| m4_define([libgtop_minor_version], [38]) | ||||
| m4_define([libgtop_micro_version], [0]) | ||||
| m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version]) | ||||
| 
 | ||||
| dnl  increment if the interface has additions, changes, removals. | ||||
| m4_define([libgtop_current], [7]) | ||||
| m4_define([libgtop_current], [11]) | ||||
| 
 | ||||
| dnl  increment any time the source changes; set to | ||||
| dnl  0 if you increment CURRENT | ||||
| @@ -25,14 +25,19 @@ m4_define([libgtop_server_version], [5]) | ||||
| # Version code calculation | ||||
| m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)]) | ||||
| 
 | ||||
| AC_PREREQ(2.62) | ||||
| AC_INIT([libgtop], [libgtop_version], | ||||
|         [http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop]) | ||||
| AC_CONFIG_SRCDIR(copyright.txt) | ||||
| AC_CONFIG_HEADERS(config.h) | ||||
| 
 | ||||
| AC_CANONICAL_SYSTEM | ||||
| AC_CANONICAL_HOST | ||||
| 
 | ||||
| AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz]) | ||||
| AM_SILENT_RULES([yes]) | ||||
| AC_CONFIG_MACRO_DIR([m4]) | ||||
| GOBJECT_INTROSPECTION_CHECK([0.6.7]) | ||||
| 
 | ||||
| AM_INIT_AUTOMAKE | ||||
| AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}]) | ||||
| 
 | ||||
| AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version]) | ||||
| @@ -86,37 +91,13 @@ AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes) | ||||
| GNOME_LIBGTOP_SYSDEPS | ||||
| GNOME_LIBGTOP_TYPES | ||||
| 
 | ||||
| AC_ARG_WITH(libgtop-inodedb, | ||||
| [  --with-libgtop-inodedb  Build the inodedb stuff (default=no)], | ||||
| [build_inodedb="$withval"], [build_inodedb=no]) | ||||
| 
 | ||||
| LIBGTOP_EXTRA_LIBS= | ||||
| 
 | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no) | ||||
| fi | ||||
| 
 | ||||
| AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes) | ||||
| 
 | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   AC_DEFINE(GLIBTOP_INODEDB, 1, | ||||
|             [Define if the libgtop inodedb should be built]) | ||||
| fi | ||||
| 
 | ||||
| GLIB_REQUIRED=2.6.0 | ||||
| GOBJECT_REQUIRED=2.26.0 | ||||
| 
 | ||||
| PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED) | ||||
| PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GOBJECT_REQUIRED) | ||||
| AC_SUBST(GLIB_CFLAGS) | ||||
| AC_SUBST(GLIB_LIBS) | ||||
| 
 | ||||
| AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no]) | ||||
| AC_MSG_CHECKING(for popt.h) | ||||
| if test x$POPT = xyes ; then | ||||
|    AC_MSG_RESULT(yes) | ||||
| else | ||||
|    AC_MSG_ERROR([libgtop requires the popt development libraries]) | ||||
| fi | ||||
| 
 | ||||
| AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no]) | ||||
| if test x$HAVE_IFADDRS_H = xyes ; then | ||||
| 	AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h]) | ||||
| @@ -234,16 +215,14 @@ AC_TYPE_SIGNAL | ||||
| AC_FUNC_STRFTIME | ||||
| AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname) | ||||
| 
 | ||||
| IT_PROG_INTLTOOL([0.35.0]) | ||||
| AM_GNU_GETTEXT_VERSION([0.19.4]) | ||||
| AM_GNU_GETTEXT([external]) | ||||
| 
 | ||||
| GETTEXT_PACKAGE=libgtop-2.0 | ||||
| AC_SUBST(GETTEXT_PACKAGE) | ||||
| AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", | ||||
|                    [Define to the gettext package used by the library]) | ||||
| 
 | ||||
| AM_GLIB_GNU_GETTEXT | ||||
| GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR]) | ||||
| 
 | ||||
| AC_PATH_XTRA | ||||
| 
 | ||||
| dnl For Solaris | ||||
| @@ -279,25 +258,21 @@ dnl For diskusage stuff | ||||
| GNOME_FILEUTILS_CHECKS | ||||
| 
 | ||||
| dnl Debugging | ||||
| AC_ARG_ENABLE(debug, [  --enable-debug          turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),) | ||||
| AC_ARG_ENABLE(fatal-warnings, [  --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1, [Define to enable fatal warnings]),) | ||||
| AC_ARG_ENABLE(debug, | ||||
|               AS_HELP_STRING([--enable-debug], | ||||
|                              [Turn on debugging @<:@default=no@:>@]), | ||||
|               AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]), | ||||
|               AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging])) | ||||
| AC_ARG_ENABLE(fatal-warnings, | ||||
|               AS_HELP_STRING([--enable-fatal-warnings], | ||||
|                              [Make all warnings fatal @<:@debug=no@:>@]), | ||||
|               AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1, | ||||
|                         [Define to enable fatal warnings])) | ||||
| 
 | ||||
| dnl These definitions are expanded in make. | ||||
| LIBGTOP_LIBS='-L$(libdir)' | ||||
| LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' | ||||
| 
 | ||||
| if test x$libgtop_use_machine_h = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H" | ||||
| fi | ||||
| 
 | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB" | ||||
| fi | ||||
| 
 | ||||
| if test x$libgtop_smp = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP" | ||||
| fi | ||||
| 
 | ||||
| if test x$libgtop_have_sysinfo = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" | ||||
| fi | ||||
| @@ -326,24 +301,17 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS" | ||||
| 
 | ||||
| LIBGTOP_LIBS="$LIBGTOP_LIBS" | ||||
| 
 | ||||
| LIBGTOP_LIBS="$LIBGTOP_LIBS"  | ||||
| 
 | ||||
| machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir" | ||||
| 
 | ||||
| AC_SUBST(machine_incs) | ||||
| 
 | ||||
| if test "$GCC" = "yes" ; then | ||||
|         CFLAGS="\ | ||||
| 	-Winline \ | ||||
| 	-Wall \ | ||||
| 	-std=gnu89 \ | ||||
| 	-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ | ||||
| 	-Wnested-externs -Wpointer-arith \ | ||||
| 	-Wcast-align -Wsign-compare \ | ||||
| 	$CFLAGS" | ||||
| fi | ||||
| 
 | ||||
| INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS" | ||||
| AM_CPPFLAGS="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS" | ||||
| 
 | ||||
| # Add various defines to the config.h file ... | ||||
| AH_VERBATIM([_GNU_SOURCE], | ||||
| @@ -362,7 +330,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code], | ||||
| AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"], | ||||
|                    [The path to the libgtop server]) | ||||
| 
 | ||||
| AC_SUBST(INCLUDES) | ||||
| AC_SUBST(AM_CPPFLAGS) | ||||
| 
 | ||||
| AC_SUBST(LIBGTOP_EXTRA_LIBS) | ||||
| AC_SUBST(GLIB_LIBS) | ||||
| @@ -381,6 +349,8 @@ fi | ||||
| AC_SUBST(sysdeps_suid_lib) | ||||
| AC_SUBST(server_programs) | ||||
| 
 | ||||
| GTK_DOC_CHECK(1.4) | ||||
| 
 | ||||
| AC_CONFIG_FILES([ | ||||
| Makefile | ||||
| libgtop.spec | ||||
| @@ -398,12 +368,17 @@ sysdeps/linux/Makefile | ||||
| sysdeps/freebsd/Makefile | ||||
| sysdeps/solaris/Makefile | ||||
| sysdeps/aix/Makefile | ||||
| sysdeps/bsd/Makefile | ||||
| sysdeps/darwin/Makefile | ||||
| sysdeps/cygwin/Makefile | ||||
| sysdeps/openbsd/Makefile | ||||
| src/Makefile | ||||
| src/daemon/Makefile | ||||
| src/inodedb/Makefile | ||||
| lib/Makefile | ||||
| examples/Makefile | ||||
| doc/Makefile | ||||
| doc/reference/Makefile | ||||
| doc/reference/version.xml | ||||
| libgtop-2.0.pc | ||||
| libgtopconfig.h | ||||
| ]) | ||||
| @@ -16,7 +16,7 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
|   | ||||
							
								
								
									
										9
									
								
								debian/.cvsignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								debian/.cvsignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,9 +0,0 @@ | ||||
| control | ||||
| rules | ||||
| build | ||||
| tmp | ||||
| *.postinst | ||||
| *.debhelper | ||||
| *.files | ||||
| files | ||||
| substvars | ||||
							
								
								
									
										2
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
								
							| @@ -10,7 +10,7 @@ | ||||
| i=$(shell pwd)/debian/tmp | ||||
| b=$(shell pwd)/debian/build | ||||
|  | ||||
| configure: configure.in | ||||
| configure: configure.ac | ||||
| 	@echo "--- Making configure script and configuring" | ||||
| 	chmod +x autogen.sh | ||||
| 	./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \ | ||||
|   | ||||
| @@ -1,11 +0,0 @@ | ||||
| texinfo.tex | ||||
| *.info | ||||
| Makefile.in | ||||
| Makefile | ||||
| *.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg | ||||
| *.ps | ||||
| auto-macros.texi | ||||
| version.texi | ||||
| stamp-vti | ||||
| *.html *.pdf | ||||
| mdate-sh | ||||
| @@ -1,3 +1,9 @@ | ||||
| 2007-02-15  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* reference/Makefile.am: | ||||
| 	 | ||||
| 	Fixed distcheck. | ||||
|  | ||||
| 2006-02-21  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* reference.texi: Fixed glibtop_get_proc_state doc. | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| SUBDIRS = reference | ||||
|  | ||||
| info_TEXINFOS		= libgtop2.texi | ||||
|  | ||||
| libgtop2_TEXINFOS	= libgtop2.texi about.texi reference.texi \ | ||||
|   | ||||
| @@ -743,7 +743,7 @@ The description above is taken from the manual page of the @file{/proc} | ||||
| filesystem under Linux and is a little bit confusing, so I make this clear | ||||
| here.  | ||||
|  | ||||
| @strong{Note for people porting LibGTop to other systems:} | ||||
| @strong{A word for people porting LibGTop to other systems:} | ||||
| Every operating system has its own idea about the memory usage of a process | ||||
| and also system utilities like @code{ps} show different things on different | ||||
| systems. | ||||
|   | ||||
							
								
								
									
										59
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| AUTOMAKE_OPTIONS = 1.6 | ||||
| ## Process this file with automake to produce Makefile.in | ||||
| # The name of the module, e.g. 'glib'. | ||||
| DOC_MODULE=libgtop | ||||
|  | ||||
| # The top-level SGML file. You can change this if you want to. | ||||
| DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml | ||||
|  | ||||
| # Extra options to pass to gtkdoc-scangobj. Not normally needed. | ||||
| # SCANGOBJ_OPTIONS= | ||||
|  | ||||
| # Extra options to supply to gtkdoc-scan. | ||||
| # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"  | ||||
| SCAN_OPTIONS= | ||||
|  | ||||
| # Extra options to supply to gtkdoc-mkdb. | ||||
| # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml | ||||
| MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common | ||||
|  | ||||
| # The directory containing the source code. Relative to $(srcdir). | ||||
| # gtk-doc will search all .c & .h files beneath here for inline comments | ||||
| # documenting the functions and macros. | ||||
| # e.g. DOC_SOURCE_DIR=../../../gtk | ||||
| DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop | ||||
|  | ||||
| # Used for dependencies. The docs will be rebuilt if any of these change. | ||||
| # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h | ||||
| # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c | ||||
| HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h | ||||
| CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c | ||||
|  | ||||
| # Header files to ignore when scanning. | ||||
| # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h | ||||
| IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h | ||||
|  | ||||
| EXTRA_HFILES=$(top_srcdir)/glibtop.h | ||||
|  | ||||
| # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). | ||||
| # e.g. content_files=running.sgml building.sgml changes-2.0.sgml | ||||
| content_files=version.xml | ||||
|  | ||||
| # Images to copy into HTML directory. | ||||
| # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png | ||||
| HTML_IMAGES= | ||||
|  | ||||
| # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. | ||||
| # Only needed if you are using gtkdoc-scangobj to dynamically query widget | ||||
| # signals and properties. | ||||
| # e.g. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) | ||||
| # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) | ||||
| AM_CPPFLAGS= | ||||
| GTKDOC_LIBS= | ||||
|  | ||||
| # This includes the standard gtk-doc make rules, copied by gtkdocize. | ||||
| include $(top_srcdir)/gtk-doc.make | ||||
|  | ||||
| # Other files to distribute | ||||
| # e.g. EXTRA_DIST += version.xml.in | ||||
| EXTRA_DIST += version.xml.in | ||||
							
								
								
									
										206
									
								
								doc/reference/libgtop-docs.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								doc/reference/libgtop-docs.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,206 @@ | ||||
| <?xml version="1.0"?> | ||||
| <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"  | ||||
|                "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> | ||||
| <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> | ||||
|   <bookinfo> | ||||
|     <title>Libgtop Reference Manual</title> | ||||
|     <releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo> | ||||
|     <authorgroup> | ||||
|       <author> | ||||
| 	<firstname>Martin </firstname> | ||||
| 	<surname>Baulig</surname> | ||||
| 	<affiliation> | ||||
| 	  <address> | ||||
| 	    <email>martin@home-of-linux.org</email> | ||||
| 	  </address> | ||||
| 	</affiliation> | ||||
|       </author> | ||||
|       <author> | ||||
| 	<firstname>Germán</firstname> | ||||
| 	<surname>Poó-Caamaño</surname> | ||||
| 	<affiliation> | ||||
| 	  <address> | ||||
| 	    <email>gpoo@ubiobio.cl</email> | ||||
| 	  </address> | ||||
| 	</affiliation> | ||||
|       </author> | ||||
|     </authorgroup> | ||||
|  | ||||
|     <legalnotice> | ||||
|       <para>Permission is granted to copy, distribute and/or modify | ||||
|       this document under the terms of the <citetitle>GNU Free | ||||
|       Documentation License</citetitle>, Version 1.1 or any later | ||||
|       version published by the Free Software Foundation with no | ||||
|       Invariant Sections, no Front-Cover Texts, and no Back-Cover | ||||
|       Texts. You may obtain a copy of the <citetitle>GNU Free | ||||
|       Documentation License</citetitle> from the Free Software | ||||
|       Foundation by visiting <ulink type="http" | ||||
|       url="http://www.fsf.org">their Web site</ulink> or by writing | ||||
|       to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|       Boston, MA 02110-1301, USA.</para> | ||||
|  | ||||
|       <para>Many of the names used by companies to distinguish their | ||||
|       products and services are claimed as trademarks. Where those | ||||
|       names appear in any GNOME documentation, and those trademarks | ||||
|       are made aware to the members of the GNOME Documentation | ||||
|       Project, the names have been printed in caps or initial | ||||
|       caps.</para> | ||||
|     </legalnotice> | ||||
|  | ||||
|     <abstract> | ||||
|       <para> | ||||
|       LibGTop is a library to get system specific data such as CPU and  | ||||
|       Memory Usage and information about running Processes.</para> | ||||
|  | ||||
|       <para>On Systems like Solaris or Digital Unix where you need special | ||||
|       privileges to get those data, it uses a setuid/setgid server to do  | ||||
|       so.</para> | ||||
|  | ||||
|       <para>Even if LibGTop is a part of the GNOME desktop environment | ||||
|       (@uref{http://www.gnome.org}), the main interface of LibGTop is totally | ||||
|       independent from any particular desktop environment, so you can also | ||||
|       use it as a standalone library in any piece of GPLed software.</para> | ||||
|  | ||||
|       <para>This manual documents the interfaces of the libgtop | ||||
|       library and has some short notes to help get you up to speed | ||||
|       with using the library.</para> | ||||
|     </abstract> | ||||
|   </bookinfo> | ||||
|  | ||||
|   <!--FIXME: It is missing the rest of about.texi --> | ||||
|  | ||||
|   <chapter id="libgtop-white-paper"> | ||||
|     <title>White paper</title> | ||||
|  | ||||
|     <sect1 id="libgtop-white-paper-introduction"> | ||||
|       <title>Introduction</title> | ||||
|       <para>Many modern UNIX systems like Solaris, BSD or Digitial Unix  | ||||
|       only allow priviledged processes to read information like CPU and  | ||||
|       Memory Usage or information about running processes.</para> | ||||
|  | ||||
|       <itemizedlist> | ||||
|       <listitem><para> | ||||
|       BSD, for instance, doesn't have any other way to get those data than reading | ||||
|       directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to | ||||
|       be able to read this.</para></listitem> | ||||
|  | ||||
|       <listitem><para> | ||||
|       Other systems, like Digital Unix, allow all users to get things like CPU and | ||||
|       Memory statistics, but only root may read information about any process other | ||||
|       than the current one (you may not even get information about your own processes | ||||
|       if you're not root).</para></listitem> | ||||
|  | ||||
|       <listitem><para> | ||||
|       Linux has a very nice @file{/proc} filesystem, but reading and parsing | ||||
|       @file{/proc} is very slow and inefficient.</para></listitem> | ||||
|  | ||||
|       <listitem><para> | ||||
|       Solaris is a bit better, but you still need to be in the @code{sys} group or | ||||
|       even root to get some data.</para></listitem> | ||||
|       </itemizedlist> | ||||
|  | ||||
|       <para> | ||||
|       Because of this system utilities like @code{ps}, @code{uptime} or @code{top} | ||||
|       often are setgid kmem or setuid root. Usually, they're also very specific to | ||||
|       the system they're written for and not easily portable to other systems without | ||||
|       a lot of work.</para> | ||||
|  | ||||
|       <para> | ||||
|       This, of cause, becomes a problem for graphical tools like @code{gtop} - making | ||||
|       a GTK+ program setgid or even setuid would be a security hole as big as you can | ||||
|       drive the entire X11 source code through. For the GNOME project, we also needed | ||||
|       some kind of library which provides all the required information in a portable | ||||
|       since there's more than just one single program that wants to use them - for | ||||
|       instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and | ||||
|       @code{netload} panel applets.</para> | ||||
|  | ||||
|     </sect1> | ||||
|  | ||||
|     <sect1 id="libgtop-white-paper-overview"> | ||||
|       <title>Overview</title> | ||||
|       <para>This section should give you a short overview on how LibGTop | ||||
|       was developed, which things needed to be considered and how it  | ||||
|       works.</para> | ||||
|  | ||||
|       <sect2 id="libgtop-white-paper-overview-design"> | ||||
|       <title>Interface Design: Things that need to be considered</title> | ||||
|       <para> | ||||
| At the very beginning, it was necessary to collect all the data the library part | ||||
| should provide and put them into some C structures. This was not that easiy as it | ||||
| might sound since LibGTop should be portable to any modern UNIX system with a common | ||||
| library part on all those systems, but the data that should be returned vary from | ||||
| system to system. For instance some systems support shared memory, but some others | ||||
| may not.</para> | ||||
|  | ||||
|       <para> | ||||
| The header files where we define these C structures (which are system-independent) are | ||||
| shared between client and server. This way we can call the system dependent code | ||||
| directly where we do not need any special privileges to do so.</para> | ||||
|  | ||||
|       <para> | ||||
| All of those structures contain a @code{flags} member which is interpreted as a bit | ||||
| mask and tells the caller of the library functions which of the fields in the returned | ||||
| structure are valid and which are not.</para> | ||||
|       </sect2> | ||||
|  | ||||
|       <sect2 id="libgtop-white-paper-overview-server"> | ||||
|       <title>Server Implementation: The LibGTop "server"</title> | ||||
|       <para> | ||||
| The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system | ||||
| dependent code which needs special privileges. It is only build if it's required | ||||
| on the current system (for instance, the Linux kernel provides all the required | ||||
| data via its @file{/proc} filesystem so we do not need the server at all) and it | ||||
| only contains the @dfn{features} which need privileges.</para> | ||||
|  | ||||
|       <para> | ||||
| Whenever we do not need any privileges to get all the data for some of the requested | ||||
| structures (here called @dfn{features}) the library calls the sysdeps code directly | ||||
| rather than using the server.</para> | ||||
|       </sect2> | ||||
|     </sect1> | ||||
|  | ||||
|   </chapter> | ||||
|  | ||||
|   <chapter id="libgtop-lib"> | ||||
|     <title>Libgtop Library Reference</title> | ||||
|  | ||||
|     <para>This section contains the API reference for libgtop.  All | ||||
|     the public interfaces are documented here.</para> | ||||
|  | ||||
|     <xi:include href="xml/glibtop.xml"/> | ||||
|     <xi:include href="xml/close.xml"/> | ||||
|     <xi:include href="xml/command.xml"/> | ||||
|     <xi:include href="xml/glibtop-server.xml"/> | ||||
|     <xi:include href="xml/netload.xml"/> | ||||
|     <xi:include href="xml/ppp.xml"/> | ||||
|     <xi:include href="xml/shm_limits.xml"/> | ||||
|     <xi:include href="xml/uptime.xml"/> | ||||
|     <xi:include href="xml/netlist.xml"/> | ||||
|     <xi:include href="xml/open.xml"/> | ||||
|     <xi:include href="xml/parameter.xml"/> | ||||
|     <xi:include href="xml/procargs.xml"/> | ||||
|     <xi:include href="xml/procmem.xml"/> | ||||
|     <xi:include href="xml/procopenfiles.xml"/> | ||||
|     <xi:include href="xml/procsegment.xml"/> | ||||
|     <xi:include href="xml/procsignal.xml"/> | ||||
|     <xi:include href="xml/sysdeps.xml"/> | ||||
|     <xi:include href="xml/procstate.xml"/> | ||||
|     <xi:include href="xml/procuid.xml"/> | ||||
|     <xi:include href="xml/proctime.xml"/> | ||||
|     <xi:include href="xml/signal.xml"/> | ||||
|     <xi:include href="xml/procmap.xml"/> | ||||
|     <xi:include href="xml/sysinfo.xml"/> | ||||
|     <xi:include href="xml/union.xml"/> | ||||
|     <xi:include href="xml/version.xml"/> | ||||
|     <xi:include href="xml/proclist.xml"/> | ||||
|     <xi:include href="xml/sem_limits.xml"/> | ||||
|     <xi:include href="xml/prockernel.xml"/> | ||||
|     <xi:include href="xml/fsusage.xml"/> | ||||
|     <xi:include href="xml/loadavg.xml"/> | ||||
|     <xi:include href="xml/mem.xml"/> | ||||
|     <xi:include href="xml/mountlist.xml"/> | ||||
|     <xi:include href="xml/msg_limits.xml"/> | ||||
|     <xi:include href="xml/cpu.xml"/> | ||||
|     <xi:include href="xml/swap.xml"/> | ||||
|   </chapter> | ||||
| </book> | ||||
							
								
								
									
										0
									
								
								doc/reference/libgtop-overrides.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								doc/reference/libgtop-overrides.txt
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										699
									
								
								doc/reference/libgtop-sections.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										699
									
								
								doc/reference/libgtop-sections.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,699 @@ | ||||
| <INCLUDE>glibtop.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>glibtop</FILE> | ||||
| <TITLE>GlibTop</TITLE> | ||||
| GLIBTOP_MOUNTENTRY_LEN | ||||
| LIBGTOP_CHECK_VERSION | ||||
| glibtop | ||||
| glibtop_global_server | ||||
| glibtop_init | ||||
| glibtop_init_r | ||||
| glibtop_init_s | ||||
| glibtop_server_features | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/close.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>close</FILE> | ||||
| <TITLE>Close</TITLE> | ||||
| glibtop_close | ||||
| glibtop_close_r | ||||
| glibtop_close_s | ||||
| glibtop_close_p | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/command.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>command</FILE> | ||||
| <TITLE>Command</TITLE> | ||||
| GLIBTOP_CMND_QUIT | ||||
| GLIBTOP_CMND_SYSDEPS | ||||
| GLIBTOP_CMND_CPU | ||||
| GLIBTOP_CMND_MEM | ||||
| GLIBTOP_CMND_SWAP | ||||
| GLIBTOP_CMND_UPTIME | ||||
| GLIBTOP_CMND_LOADAVG | ||||
| GLIBTOP_CMND_SHM_LIMITS | ||||
| GLIBTOP_CMND_MSG_LIMITS | ||||
| GLIBTOP_CMND_SEM_LIMITS | ||||
| GLIBTOP_CMND_PROCLIST | ||||
| GLIBTOP_CMND_PROC_STATE | ||||
| GLIBTOP_CMND_PROC_UID | ||||
| GLIBTOP_CMND_PROC_MEM | ||||
| GLIBTOP_CMND_PROC_TIME | ||||
| GLIBTOP_CMND_PROC_SIGNAL | ||||
| GLIBTOP_CMND_PROC_KERNEL | ||||
| GLIBTOP_CMND_PROC_SEGMENT | ||||
| GLIBTOP_CMND_PROC_ARGS | ||||
| GLIBTOP_CMND_PROC_MAP | ||||
| GLIBTOP_CMND_MOUNTLIST | ||||
| GLIBTOP_CMND_FSUSAGE | ||||
| GLIBTOP_CMND_NETLOAD | ||||
| GLIBTOP_CMND_PPP | ||||
| GLIBTOP_CMND_NETLIST | ||||
| GLIBTOP_CMND_PROC_OPEN_FILES | ||||
| GLIBTOP_MAX_CMND | ||||
| glibtop_command | ||||
| glibtop_response | ||||
| glibtop_response_union | ||||
| glibtop_call | ||||
| glibtop_call_l | ||||
| glibtop_call_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/glibtop-server.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>glibtop-server</FILE> | ||||
| <TITLE>GlibTop Server</TITLE> | ||||
| glibtop_server | ||||
| glibtop_server_info | ||||
| glibtop_closure | ||||
| glibtop_server_new | ||||
| glibtop_server_ref | ||||
| glibtop_server_unref | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/netload.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>netload</FILE> | ||||
| <TITLE>Net Load</TITLE> | ||||
| GLIBTOP_NETLOAD_IF_FLAGS | ||||
| GLIBTOP_NETLOAD_MTU | ||||
| GLIBTOP_NETLOAD_SUBNET | ||||
| GLIBTOP_NETLOAD_ADDRESS | ||||
| GLIBTOP_NETLOAD_PACKETS_IN | ||||
| GLIBTOP_NETLOAD_PACKETS_OUT | ||||
| GLIBTOP_NETLOAD_PACKETS_TOTAL | ||||
| GLIBTOP_NETLOAD_BYTES_IN | ||||
| GLIBTOP_NETLOAD_BYTES_OUT | ||||
| GLIBTOP_NETLOAD_BYTES_TOTAL | ||||
| GLIBTOP_NETLOAD_ERRORS_IN | ||||
| GLIBTOP_NETLOAD_ERRORS_OUT | ||||
| GLIBTOP_NETLOAD_ERRORS_TOTAL | ||||
| GLIBTOP_NETLOAD_COLLISIONS | ||||
| GLIBTOP_NETLOAD_ADDRESS6 | ||||
| GLIBTOP_NETLOAD_PREFIX6 | ||||
| GLIBTOP_NETLOAD_SCOPE6 | ||||
| GLIBTOP_NETLOAD_HWADDRESS | ||||
| GLIBTOP_MAX_NETLOAD | ||||
| glibtop_netload | ||||
| glibtop_get_netload | ||||
| glibtop_get_netload_r | ||||
| glibtop_get_netload_l | ||||
| glibtop_init_netload_p | ||||
| glibtop_get_netload_p | ||||
| glibtop_init_netload_s | ||||
| glibtop_get_netload_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/ppp.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>ppp</FILE> | ||||
| <TITLE>PPP</TITLE> | ||||
| GLIBTOP_PPP_STATE | ||||
| GLIBTOP_PPP_BYTES_IN | ||||
| GLIBTOP_PPP_BYTES_OUT | ||||
| GLIBTOP_MAX_PPP | ||||
| glibtop_ppp | ||||
| glibtop_get_ppp | ||||
| glibtop_get_ppp_r | ||||
| glibtop_get_ppp_l | ||||
| glibtop_init_ppp_p | ||||
| glibtop_get_ppp_p | ||||
| glibtop_init_ppp_s | ||||
| glibtop_get_ppp_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/shm_limits.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>shm_limits</FILE> | ||||
| <TITLE>Shared Memory Limits</TITLE> | ||||
| GLIBTOP_IPC_SHMMAX | ||||
| GLIBTOP_IPC_SHMMIN | ||||
| GLIBTOP_IPC_SHMMNI | ||||
| GLIBTOP_IPC_SHMSEG | ||||
| GLIBTOP_IPC_SHMALL | ||||
| GLIBTOP_MAX_SHM_LIMITS | ||||
| glibtop_shm_limits | ||||
| glibtop_get_shm_limits | ||||
| glibtop_get_shm_limits_r | ||||
| glibtop_get_shm_limits_l | ||||
| glibtop_init_shm_limits_p | ||||
| glibtop_get_shm_limits_p | ||||
| glibtop_init_shm_limits_s | ||||
| glibtop_get_shm_limits_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/uptime.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>uptime</FILE> | ||||
| <TITLE>Uptime</TITLE> | ||||
| GLIBTOP_UPTIME_UPTIME | ||||
| GLIBTOP_UPTIME_IDLETIME | ||||
| GLIBTOP_UPTIME_BOOT_TIME | ||||
| GLIBTOP_MAX_UPTIME | ||||
| glibtop_uptime | ||||
| glibtop_get_uptime | ||||
| glibtop_get_uptime_r | ||||
| glibtop_get_uptime_l | ||||
| glibtop_init_uptime_p | ||||
| glibtop_get_uptime_p | ||||
| glibtop_init_uptime_s | ||||
| glibtop_get_uptime_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/netlist.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>netlist</FILE> | ||||
| <TITLE>Net List</TITLE> | ||||
| GLIBTOP_NETLIST_NUMBER | ||||
| GLIBTOP_MAX_NETLIST | ||||
| glibtop_netlist | ||||
| glibtop_get_netlist | ||||
| glibtop_get_netlist_r | ||||
| glibtop_get_netlist_l | ||||
| glibtop_init_netlist_p | ||||
| glibtop_get_netlist_p | ||||
| glibtop_init_netlist_s | ||||
| glibtop_get_netlist_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/open.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>open</FILE> | ||||
| GLIBTOP_INIT_NO_OPEN | ||||
| GLIBTOP_INIT_NO_INIT | ||||
| GLIBTOP_FEATURES_NO_SERVER | ||||
| GLIBTOP_FEATURES_EXCEPT | ||||
| GLIBTOP_METHOD_DIRECT | ||||
| GLIBTOP_METHOD_PIPE | ||||
| GLIBTOP_METHOD_INET | ||||
| GLIBTOP_METHOD_UNIX | ||||
| GLIBTOP_ERROR_METHOD_IGNORE | ||||
| GLIBTOP_ERROR_METHOD_WARN_ONCE | ||||
| GLIBTOP_ERROR_METHOD_WARN | ||||
| GLIBTOP_ERROR_METHOD_ABORT | ||||
| GLIBTOP_ERROR_METHOD_DEFAULT | ||||
| glibtop_open_l | ||||
| glibtop_init_p | ||||
| glibtop_open_p | ||||
| glibtop_open_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/parameter.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>parameter</FILE> | ||||
| GLIBTOP_PARAM_METHOD | ||||
| GLIBTOP_PARAM_FEATURES | ||||
| GLIBTOP_PARAM_COMMAND | ||||
| GLIBTOP_PARAM_HOST | ||||
| GLIBTOP_PARAM_PORT | ||||
| GLIBTOP_PARAM_ERROR_METHOD | ||||
| GLIBTOP_PARAM_REQUIRED | ||||
| glibtop_get_parameter | ||||
| glibtop_set_parameter | ||||
| glibtop_get_parameter_l | ||||
| glibtop_set_parameter_l | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procargs.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procargs</FILE> | ||||
| glibtop_proc_args | ||||
| glibtop_get_proc_args | ||||
| glibtop_get_proc_argv | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procmem.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procmem</FILE> | ||||
| GLIBTOP_PROC_MEM_SIZE | ||||
| GLIBTOP_PROC_MEM_VSIZE | ||||
| GLIBTOP_PROC_MEM_RESIDENT | ||||
| GLIBTOP_PROC_MEM_SHARE | ||||
| GLIBTOP_PROC_MEM_RSS | ||||
| GLIBTOP_PROC_MEM_RSS_RLIM | ||||
| GLIBTOP_MAX_PROC_MEM | ||||
| glibtop_proc_mem | ||||
| glibtop_get_proc_mem | ||||
| glibtop_get_proc_mem_r | ||||
| glibtop_get_proc_mem_l | ||||
| glibtop_init_proc_mem_p | ||||
| glibtop_get_proc_mem_p | ||||
| glibtop_init_proc_mem_s | ||||
| glibtop_get_proc_mem_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procopenfiles.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procopenfiles</FILE> | ||||
| GLIBTOP_PROC_OPEN_FILES_NUMBER | ||||
| GLIBTOP_PROC_OPEN_FILES_TOTAL | ||||
| GLIBTOP_PROC_OPEN_FILES_SIZE | ||||
| GLIBTOP_MAX_PROC_OPEN_FILES | ||||
| GLIBTOP_FILE_ENTRY_FD | ||||
| GLIBTOP_FILE_ENTRY_NAME | ||||
| GLIBTOP_FILE_ENTRY_TYPE | ||||
| GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST | ||||
| GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT | ||||
| GLIBTOP_MAX_OPEN_FILE_ENTRY | ||||
| GLIBTOP_OPEN_FILENAME_LEN | ||||
| GLIBTOP_OPEN_DEST_HOST_LEN | ||||
| glibtop_open_files_entry | ||||
| glibtop_proc_open_files | ||||
| glibtop_get_proc_open_files | ||||
| glibtop_get_proc_open_files_r | ||||
| glibtop_get_proc_open_files_l | ||||
| glibtop_init_proc_open_files_p | ||||
| glibtop_get_proc_open_files_p | ||||
| glibtop_init_proc_open_files_s | ||||
| glibtop_get_proc_open_files_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procsegment.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procsegment</FILE> | ||||
| GLIBTOP_PROC_SEGMENT_TEXT_RSS | ||||
| GLIBTOP_PROC_SEGMENT_SHLIB_RSS | ||||
| GLIBTOP_PROC_SEGMENT_DATA_RSS | ||||
| GLIBTOP_PROC_SEGMENT_STACK_RSS | ||||
| GLIBTOP_PROC_SEGMENT_DIRTY_SIZE | ||||
| GLIBTOP_PROC_SEGMENT_START_CODE | ||||
| GLIBTOP_PROC_SEGMENT_END_CODE | ||||
| GLIBTOP_PROC_SEGMENT_START_STACK | ||||
| GLIBTOP_MAX_PROC_SEGMENT | ||||
| glibtop_proc_segment | ||||
| glibtop_get_proc_segment | ||||
| glibtop_get_proc_segment_r | ||||
| glibtop_get_proc_segment_l | ||||
| glibtop_init_proc_segment_p | ||||
| glibtop_get_proc_segment_p | ||||
| glibtop_init_proc_segment_s | ||||
| glibtop_get_proc_segment_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procsignal.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procsignal</FILE> | ||||
| GLIBTOP_PROC_SIGNAL_SIGNAL | ||||
| GLIBTOP_PROC_SIGNAL_BLOCKED | ||||
| GLIBTOP_PROC_SIGNAL_SIGIGNORE | ||||
| GLIBTOP_PROC_SIGNAL_SIGCATCH | ||||
| GLIBTOP_MAX_PROC_SIGNAL | ||||
| glibtop_proc_signal | ||||
| glibtop_get_proc_signal | ||||
| glibtop_get_proc_signal_r | ||||
| glibtop_get_proc_signal_l | ||||
| glibtop_init_proc_signal_p | ||||
| glibtop_get_proc_signal_p | ||||
| glibtop_init_proc_signal_s | ||||
| glibtop_get_proc_signal_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/sysdeps.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>sysdeps</FILE> | ||||
| GLIBTOP_SYSDEPS_FEATURES | ||||
| GLIBTOP_SYSDEPS_CPU | ||||
| GLIBTOP_SYSDEPS_MEM | ||||
| GLIBTOP_SYSDEPS_SWAP | ||||
| GLIBTOP_SYSDEPS_UPTIME | ||||
| GLIBTOP_SYSDEPS_LOADAVG | ||||
| GLIBTOP_SYSDEPS_SHM_LIMITS | ||||
| GLIBTOP_SYSDEPS_MSG_LIMITS | ||||
| GLIBTOP_SYSDEPS_SEM_LIMITS | ||||
| GLIBTOP_SYSDEPS_PROCLIST | ||||
| GLIBTOP_SYSDEPS_PROC_STATE | ||||
| GLIBTOP_SYSDEPS_PROC_UID | ||||
| GLIBTOP_SYSDEPS_PROC_MEM | ||||
| GLIBTOP_SYSDEPS_PROC_TIME | ||||
| GLIBTOP_SYSDEPS_PROC_SIGNAL | ||||
| GLIBTOP_SYSDEPS_PROC_KERNEL | ||||
| GLIBTOP_SYSDEPS_PROC_SEGMENT | ||||
| GLIBTOP_SYSDEPS_PROC_ARGS | ||||
| GLIBTOP_SYSDEPS_PROC_MAP | ||||
| GLIBTOP_SYSDEPS_MOUNTLIST | ||||
| GLIBTOP_SYSDEPS_FSUSAGE | ||||
| GLIBTOP_SYSDEPS_NETLOAD | ||||
| GLIBTOP_SYSDEPS_PPP | ||||
| GLIBTOP_SYSDEPS_NETLIST | ||||
| GLIBTOP_SYSDEPS_PROC_OPEN_FILES | ||||
| GLIBTOP_MAX_SYSDEPS | ||||
| GLIBTOP_SYSDEPS_ALL | ||||
| glibtop_sysdeps | ||||
| glibtop_get_sysdeps | ||||
| glibtop_get_sysdeps_r | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procstate.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procstate</FILE> | ||||
| GLIBTOP_PROC_STATE_CMD | ||||
| GLIBTOP_PROC_STATE_STATE | ||||
| GLIBTOP_PROC_STATE_UID | ||||
| GLIBTOP_PROC_STATE_GID | ||||
| GLIBTOP_PROC_STATE_RUID | ||||
| GLIBTOP_PROC_STATE_RGID | ||||
| GLIBTOP_PROC_STATE_HAS_CPU | ||||
| GLIBTOP_PROC_STATE_PROCESSOR | ||||
| GLIBTOP_PROC_STATE_LAST_PROCESSOR | ||||
| GLIBTOP_MAX_PROC_STATE | ||||
| GLIBTOP_PROCESS_RUNNING | ||||
| GLIBTOP_PROCESS_INTERRUPTIBLE | ||||
| GLIBTOP_PROCESS_UNINTERRUPTIBLE | ||||
| GLIBTOP_PROCESS_ZOMBIE | ||||
| GLIBTOP_PROCESS_STOPPED | ||||
| GLIBTOP_PROCESS_SWAPPING | ||||
| GLIBTOP_PROCESS_DEAD | ||||
| glibtop_proc_state | ||||
| glibtop_get_proc_state | ||||
| glibtop_get_proc_state_r | ||||
| glibtop_get_proc_state_l | ||||
| glibtop_init_proc_state_p | ||||
| glibtop_get_proc_state_p | ||||
| glibtop_init_proc_state_s | ||||
| glibtop_get_proc_state_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procuid.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procuid</FILE> | ||||
| GLIBTOP_PROC_UID_UID | ||||
| GLIBTOP_PROC_UID_EUID | ||||
| GLIBTOP_PROC_UID_GID | ||||
| GLIBTOP_PROC_UID_EGID | ||||
| GLIBTOP_PROC_UID_SUID | ||||
| GLIBTOP_PROC_UID_SGID | ||||
| GLIBTOP_PROC_UID_FSUID | ||||
| GLIBTOP_PROC_UID_FSGID | ||||
| GLIBTOP_PROC_UID_PID | ||||
| GLIBTOP_PROC_UID_PPID | ||||
| GLIBTOP_PROC_UID_PGRP | ||||
| GLIBTOP_PROC_UID_SESSION | ||||
| GLIBTOP_PROC_UID_TTY | ||||
| GLIBTOP_PROC_UID_TPGID | ||||
| GLIBTOP_PROC_UID_PRIORITY | ||||
| GLIBTOP_PROC_UID_NICE | ||||
| GLIBTOP_PROC_UID_NGROUPS | ||||
| GLIBTOP_PROC_UID_GROUPS | ||||
| GLIBTOP_MAX_PROC_UID | ||||
| glibtop_proc_uid | ||||
| GLIBTOP_MAX_GROUPS | ||||
| glibtop_get_proc_uid | ||||
| glibtop_get_proc_uid_r | ||||
| glibtop_get_proc_uid_l | ||||
| glibtop_init_proc_uid_p | ||||
| glibtop_get_proc_uid_p | ||||
| glibtop_init_proc_uid_s | ||||
| glibtop_get_proc_uid_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/proctime.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>proctime</FILE> | ||||
| glibtop_proc_time | ||||
| glibtop_get_proc_time | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/signal.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>signal</FILE> | ||||
| glibtop_signame | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/procmap.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>procmap</FILE> | ||||
| GLIBTOP_PROC_MAP_NUMBER | ||||
| GLIBTOP_PROC_MAP_TOTAL | ||||
| GLIBTOP_PROC_MAP_SIZE | ||||
| GLIBTOP_MAX_PROC_MAP | ||||
| GLIBTOP_MAP_ENTRY_START | ||||
| GLIBTOP_MAP_ENTRY_END | ||||
| GLIBTOP_MAP_ENTRY_OFFSET | ||||
| GLIBTOP_MAP_ENTRY_PERM | ||||
| GLIBTOP_MAP_ENTRY_INODE | ||||
| GLIBTOP_MAP_ENTRY_DEVICE | ||||
| GLIBTOP_MAP_ENTRY_FILENAME | ||||
| GLIBTOP_MAP_ENTRY_SIZE | ||||
| GLIBTOP_MAP_ENTRY_RSS | ||||
| GLIBTOP_MAP_ENTRY_SHARED_CLEAN | ||||
| GLIBTOP_MAP_ENTRY_SHARED_DIRTY | ||||
| GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN | ||||
| GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY | ||||
| GLIBTOP_MAX_MAP_ENTRY | ||||
| GLIBTOP_MAP_FILENAME_LEN | ||||
| GLIBTOP_MAP_PERM_READ | ||||
| GLIBTOP_MAP_PERM_WRITE | ||||
| GLIBTOP_MAP_PERM_EXECUTE | ||||
| GLIBTOP_MAP_PERM_SHARED | ||||
| GLIBTOP_MAP_PERM_PRIVATE | ||||
| glibtop_map_entry | ||||
| glibtop_proc_map | ||||
| glibtop_get_proc_map | ||||
| glibtop_get_proc_map_r | ||||
| glibtop_get_proc_map_l | ||||
| glibtop_init_proc_map_p | ||||
| glibtop_get_proc_map_p | ||||
| glibtop_init_proc_map_s | ||||
| glibtop_get_proc_map_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/sysinfo.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>sysinfo</FILE> | ||||
| GLIBTOP_SYSINFO_NCPU | ||||
| GLIBTOP_SYSINFO_CPUINFO | ||||
| GLIBTOP_MAX_SYSINFO | ||||
| glibtop_sysinfo | ||||
| glibtop_entry | ||||
| glibtop_get_sysinfo_r | ||||
| glibtop_get_sysinfo_s | ||||
| glibtop_get_sysinfo | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/union.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>union</FILE> | ||||
| glibtop_union | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/version.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>version</FILE> | ||||
| LIBGTOP_VERSION_STRING | ||||
| glibtop_send_version | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/proclist.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>proclist</FILE> | ||||
| GLIBTOP_KERN_PROC_ALL | ||||
| GLIBTOP_KERN_PROC_PID | ||||
| GLIBTOP_KERN_PROC_PGRP | ||||
| GLIBTOP_KERN_PROC_SESSION | ||||
| GLIBTOP_KERN_PROC_TTY | ||||
| GLIBTOP_KERN_PROC_UID | ||||
| GLIBTOP_KERN_PROC_RUID | ||||
| GLIBTOP_KERN_PROC_MASK | ||||
| GLIBTOP_EXCLUDE_IDLE | ||||
| GLIBTOP_EXCLUDE_SYSTEM | ||||
| GLIBTOP_EXCLUDE_NOTTY | ||||
| glibtop_proclist | ||||
| glibtop_get_proclist | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/sem_limits.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>sem_limits</FILE> | ||||
| GLIBTOP_IPC_SEMMAP | ||||
| GLIBTOP_IPC_SEMMNI | ||||
| GLIBTOP_IPC_SEMMNS | ||||
| GLIBTOP_IPC_SEMMNU | ||||
| GLIBTOP_IPC_SEMMSL | ||||
| GLIBTOP_IPC_SEMOPM | ||||
| GLIBTOP_IPC_SEMUME | ||||
| GLIBTOP_IPC_SEMUSZ | ||||
| GLIBTOP_IPC_SEMVMX | ||||
| GLIBTOP_IPC_SEMAEM | ||||
| GLIBTOP_MAX_SEM_LIMITS | ||||
| glibtop_sem_limits | ||||
| glibtop_get_sem_limits | ||||
| glibtop_get_sem_limits_r | ||||
| glibtop_get_sem_limits_l | ||||
| glibtop_init_sem_limits_p | ||||
| glibtop_get_sem_limits_p | ||||
| glibtop_init_sem_limits_s | ||||
| glibtop_get_sem_limits_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/prockernel.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>prockernel</FILE> | ||||
| GLIBTOP_PROC_KERNEL_K_FLAGS | ||||
| GLIBTOP_PROC_KERNEL_MIN_FLT | ||||
| GLIBTOP_PROC_KERNEL_MAJ_FLT | ||||
| GLIBTOP_PROC_KERNEL_CMIN_FLT | ||||
| GLIBTOP_PROC_KERNEL_CMAJ_FLT | ||||
| GLIBTOP_PROC_KERNEL_KSTK_ESP | ||||
| GLIBTOP_PROC_KERNEL_KSTK_EIP | ||||
| GLIBTOP_PROC_KERNEL_NWCHAN | ||||
| GLIBTOP_PROC_KERNEL_WCHAN | ||||
| GLIBTOP_MAX_PROC_KERNEL | ||||
| glibtop_proc_kernel | ||||
| glibtop_get_proc_kernel | ||||
| glibtop_get_proc_kernel_r | ||||
| glibtop_get_proc_kernel_l | ||||
| glibtop_init_proc_kernel_p | ||||
| glibtop_get_proc_kernel_p | ||||
| glibtop_init_proc_kernel_s | ||||
| glibtop_get_proc_kernel_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/fsusage.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>fsusage</FILE> | ||||
| GLIBTOP_FSUSAGE_BLOCKS | ||||
| GLIBTOP_FSUSAGE_BFREE | ||||
| GLIBTOP_FSUSAGE_BAVAIL | ||||
| GLIBTOP_FSUSAGE_FILES | ||||
| GLIBTOP_FSUSAGE_FFREE | ||||
| GLIBTOP_FSUSAGE_BLOCK_SIZE | ||||
| GLIBTOP_FSUSAGE_READ | ||||
| GLIBTOP_FSUSAGE_WRITE | ||||
| GLIBTOP_MAX_FSUSAGE | ||||
| glibtop_fsusage | ||||
| glibtop_get_fsusage | ||||
| glibtop_get_fsusage_r | ||||
| glibtop_get_fsusage_l | ||||
| glibtop_get_fsusage_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/loadavg.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>loadavg</FILE> | ||||
| GLIBTOP_LOADAVG_LOADAVG | ||||
| GLIBTOP_LOADAVG_NR_RUNNING | ||||
| GLIBTOP_LOADAVG_NR_TASKS | ||||
| GLIBTOP_LOADAVG_LAST_PID | ||||
| GLIBTOP_MAX_LOADAVG | ||||
| glibtop_loadavg | ||||
| glibtop_get_loadavg | ||||
| glibtop_get_loadavg_r | ||||
| glibtop_get_loadavg_l | ||||
| glibtop_init_loadavg_p | ||||
| glibtop_get_loadavg_p | ||||
| glibtop_init_loadavg_s | ||||
| glibtop_get_loadavg_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/mem.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>mem</FILE> | ||||
| GLIBTOP_MEM_TOTAL | ||||
| GLIBTOP_MEM_USED | ||||
| GLIBTOP_MEM_FREE | ||||
| GLIBTOP_MEM_SHARED | ||||
| GLIBTOP_MEM_BUFFER | ||||
| GLIBTOP_MEM_CACHED | ||||
| GLIBTOP_MEM_USER | ||||
| GLIBTOP_MEM_LOCKED | ||||
| GLIBTOP_MAX_MEM | ||||
| glibtop_mem | ||||
| glibtop_get_mem | ||||
| glibtop_get_mem_r | ||||
| glibtop_get_mem_l | ||||
| glibtop_init_mem_p | ||||
| glibtop_get_mem_p | ||||
| glibtop_init_mem_s | ||||
| glibtop_get_mem_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/mountlist.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>mountlist</FILE> | ||||
| GLIBTOP_MOUNTLIST_NUMBER | ||||
| GLIBTOP_MOUNTLIST_TOTAL | ||||
| GLIBTOP_MOUNTLIST_SIZE | ||||
| GLIBTOP_MAX_MOUNTLIST | ||||
| glibtop_mountentry | ||||
| glibtop_mountlist | ||||
| glibtop_get_mountlist | ||||
| glibtop_get_mountlist_r | ||||
| glibtop_get_mountlist_l | ||||
| glibtop_get_mountlist_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/msg_limits.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>msg_limits</FILE> | ||||
| GLIBTOP_IPC_MSGPOOL | ||||
| GLIBTOP_IPC_MSGMAP | ||||
| GLIBTOP_IPC_MSGMAX | ||||
| GLIBTOP_IPC_MSGMNB | ||||
| GLIBTOP_IPC_MSGMNI | ||||
| GLIBTOP_IPC_MSGSSZ | ||||
| GLIBTOP_IPC_MSGTQL | ||||
| GLIBTOP_MAX_MSG_LIMITS | ||||
| glibtop_msg_limits | ||||
| glibtop_get_msg_limits | ||||
| glibtop_get_msg_limits_r | ||||
| glibtop_get_msg_limits_l | ||||
| glibtop_init_msg_limits_p | ||||
| glibtop_get_msg_limits_p | ||||
| glibtop_init_msg_limits_s | ||||
| glibtop_get_msg_limits_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/cpu.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>cpu</FILE> | ||||
| GLIBTOP_CPU_TOTAL | ||||
| GLIBTOP_CPU_USER | ||||
| GLIBTOP_CPU_NICE | ||||
| GLIBTOP_CPU_SYS | ||||
| GLIBTOP_CPU_IDLE | ||||
| GLIBTOP_CPU_FREQUENCY | ||||
| GLIBTOP_XCPU_TOTAL | ||||
| GLIBTOP_XCPU_USER | ||||
| GLIBTOP_XCPU_NICE | ||||
| GLIBTOP_XCPU_SYS | ||||
| GLIBTOP_XCPU_IDLE | ||||
| GLIBTOP_XCPU_FLAGS | ||||
| GLIBTOP_CPU_IOWAIT | ||||
| GLIBTOP_CPU_IRQ | ||||
| GLIBTOP_CPU_SOFTIRQ | ||||
| GLIBTOP_XCPU_IOWAIT | ||||
| GLIBTOP_XCPU_IRQ | ||||
| GLIBTOP_XCPU_SOFTIRQ | ||||
| GLIBTOP_MAX_CPU | ||||
| GLIBTOP_NCPU | ||||
| glibtop_cpu | ||||
| glibtop_get_cpu | ||||
| glibtop_get_cpu_r | ||||
| glibtop_get_cpu_l | ||||
| glibtop_init_cpu_p | ||||
| glibtop_get_cpu_p | ||||
| glibtop_init_cpu_s | ||||
| glibtop_get_cpu_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/swap.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>swap</FILE> | ||||
| GLIBTOP_SWAP_TOTAL | ||||
| GLIBTOP_SWAP_USED | ||||
| GLIBTOP_SWAP_FREE | ||||
| GLIBTOP_SWAP_PAGEIN | ||||
| GLIBTOP_SWAP_PAGEOUT | ||||
| GLIBTOP_MAX_SWAP | ||||
| glibtop_swap | ||||
| glibtop_get_swap | ||||
| glibtop_get_swap_r | ||||
| glibtop_get_swap_l | ||||
| glibtop_init_swap_p | ||||
| glibtop_get_swap_p | ||||
| glibtop_init_swap_s | ||||
| glibtop_get_swap_s | ||||
| </SECTION> | ||||
|  | ||||
							
								
								
									
										4
									
								
								doc/reference/version.xml.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								doc/reference/version.xml.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| <?xml version="1.0" standalone="no"?> | ||||
| <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | ||||
|     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> | ||||
| <phrase>@PACKAGE_VERSION@</phrase> | ||||
| @@ -1,27 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| first | ||||
| first_linux | ||||
| first_static | ||||
| second | ||||
| third | ||||
| third_linux | ||||
| third_static | ||||
| second_static | ||||
| second_linux | ||||
| smp_static sysdeps_static netload_static procmap_static mountlist_static | ||||
| smp sysdeps netload procmap mountlist | ||||
| timings timings_static | ||||
| pprint | ||||
| pprint_static | ||||
| procargs | ||||
| procargs_static | ||||
| proclist | ||||
| df | ||||
| df_static | ||||
| netlist | ||||
| netlist_static | ||||
| openfiles | ||||
| openfiles_static | ||||
| @@ -1,3 +1,11 @@ | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* Makefile.am: | ||||
| 	* mem.c: (main): | ||||
| 	* wd.c: (main): | ||||
|  | ||||
| 	Fixed wd and new simple mem example. | ||||
|  | ||||
| 2006-02-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* pprint.c: (pprint_get_proc_mem), (main): | ||||
|   | ||||
| @@ -1,14 +1,17 @@ | ||||
| ## Process this file with automake to produce Makefile.in | ||||
|  | ||||
| LINK			= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ | ||||
| AM_CPPFLAGS = \ | ||||
| 	-I$(top_srcdir) \ | ||||
| 	-I$(top_srcdir)/include \ | ||||
| 	-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \ | ||||
| 	-DGTOPLOCALEDIR=\"$(localedir)\" \ | ||||
| 	$(GLIB_CFLAGS) | ||||
|  | ||||
| INCLUDES		= @INCLUDES@ | ||||
|  | ||||
| DEFS			= @DEFS@ | ||||
| AM_LDFLAGS			= $(LIBGTOP_EXTRA_LIBS) | ||||
|  | ||||
| noinst_PROGRAMS	= 	first second pprint procargs df netlist \ | ||||
| 			  mountlist procmap netload sysdeps timings \ | ||||
| 			  openfiles smp proclist | ||||
| 			  openfiles smp proclist free wd affinity diskio | ||||
|  | ||||
| first_SOURCES		= first.c | ||||
| first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| @@ -40,6 +43,7 @@ pprint_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| procargs_SOURCES	  = procargs.c | ||||
| procargs_LDADD		  = $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
|  | ||||
| df_SOURCES	  = df.c | ||||
| df_LDADD		  = $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| @@ -51,3 +55,15 @@ openfiles_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| proclist_SOURCES	= proclist.c | ||||
| proclist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| wd_SOURCES	= wd.c | ||||
| wd_LDADD	= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| free_SOURCE	= mem.c | ||||
| free_LDADD	= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| affinity_SOURCES	= affinity.c | ||||
| affinity_LDADD	= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| diskio_SOURCES	  = diskio.c | ||||
| diskio_LDADD	  = $(top_builddir)/lib/libgtop-2.0.la | ||||
|   | ||||
							
								
								
									
										34
									
								
								examples/affinity.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								examples/affinity.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/procaffinity.h> | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <unistd.h> | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
| 	pid_t pid; | ||||
| 	glibtop_proc_affinity buf; | ||||
| 	guint16 *cpus; | ||||
| 	size_t i; | ||||
|  | ||||
| 	if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0))) | ||||
| 		pid = getpid(); | ||||
|  | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	cpus = glibtop_get_proc_affinity(&buf, pid); | ||||
|  | ||||
| 	g_print("Process %u:\n" | ||||
| 		" - all: %d\n", | ||||
| 		(unsigned)pid, buf.all); | ||||
|  | ||||
| 	for (i = 0; i != buf.number; ++i) | ||||
| 		g_print(" - CPU#%u is set\n", cpus[i]); | ||||
|  | ||||
| 	g_free(cpus); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| @@ -13,37 +13,62 @@ static void print_fsusage(const char *mountpoint) | ||||
| { | ||||
|   glibtop_fsusage buf; | ||||
|  | ||||
|   enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX }; | ||||
|   char **a = g_new0(char*, MAX); | ||||
|  | ||||
|   glibtop_get_fsusage(&buf, mountpoint); | ||||
|  | ||||
|   printf("%-20s %-10llu %-10llu %-10llu %.1f\n", | ||||
| 	 mountpoint, | ||||
| 	 buf.blocks * buf.block_size >> 20, | ||||
| 	 (buf.blocks - buf.bavail) * buf.block_size >> 20, | ||||
| 	 buf.bavail * buf.block_size >> 20, | ||||
| 	 (buf.blocks - buf.bavail) * 100.0 / buf.blocks | ||||
| 	 ); | ||||
|  | ||||
| #define I(X) a[(X)] | ||||
|   I(SIZE)  = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS); | ||||
|   I(USED)  = g_format_size_full((buf.blocks - buf.bavail)  * buf.block_size, G_FORMAT_SIZE_IEC_UNITS); | ||||
|   I(FREE)  = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS); | ||||
|   I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS); | ||||
|   I(READ)  = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS); | ||||
|   I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS); | ||||
|  | ||||
|   printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n", | ||||
|     (unsigned)buf.flags, | ||||
|     I(SIZE), | ||||
|     I(USED), | ||||
|     I(FREE), | ||||
|     I(AVAIL), | ||||
|     (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0), | ||||
|     I(READ), | ||||
|     I(WRITE), | ||||
|     (unsigned long)buf.files, | ||||
|     (unsigned long)buf.ffree, | ||||
|     mountpoint | ||||
|     ); | ||||
|  | ||||
|   g_strfreev(a); | ||||
| } | ||||
|  | ||||
|  | ||||
| int main() | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
|   glibtop_mountlist buf; | ||||
|   glibtop_mountentry *entries; | ||||
|   size_t i; | ||||
|  | ||||
|   glibtop_init(); | ||||
|  | ||||
|   printf("%-20s %-10s %-10s %-10s %-10s\n", | ||||
| 	 "Filesystem", "Size", "Used", "Avail", "Use%"); | ||||
|   printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n", | ||||
| 	 "(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint"); | ||||
|  | ||||
|   entries = glibtop_get_mountlist(&buf, FALSE); | ||||
|   if (argc > 1) { | ||||
|     while (*++argv) | ||||
|       print_fsusage(*argv); | ||||
|   } else { | ||||
|     glibtop_mountentry *entries; | ||||
|     size_t i; | ||||
|  | ||||
|   for(i = 0; i < buf.number; ++i) | ||||
|     { | ||||
|       print_fsusage(entries[i].mountdir); | ||||
|     } | ||||
|     entries = glibtop_get_mountlist(&buf, TRUE); | ||||
|  | ||||
|   g_free(entries); | ||||
|     for(i = 0; i < buf.number; ++i) | ||||
|       { | ||||
| 	print_fsusage(entries[i].mountdir); | ||||
|       } | ||||
|  | ||||
|     g_free(entries); | ||||
|   } | ||||
|  | ||||
|   glibtop_close(); | ||||
|  | ||||
|   | ||||
							
								
								
									
										39
									
								
								examples/diskio.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								examples/diskio.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| #ifdef HAVE_CONFIG_H | ||||
| #  include <config.h> | ||||
| #endif | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/procio.h> | ||||
|  | ||||
| #include <stdlib.h> | ||||
|  | ||||
| #include <unistd.h> | ||||
|  | ||||
| static void show_diskio(pid_t pid) | ||||
| { | ||||
|   glibtop_proc_io io; | ||||
|  | ||||
|   glibtop_get_proc_io (&io, pid); | ||||
|  | ||||
|   printf("<%ld>\t", (long)pid); | ||||
|  | ||||
|   printf("flags: %08lx disk_rchar : %lu, disk_wchar : %lu, disk_read_bytes : %lu, disk_write_bytes : %lu\n", (unsigned long)io.flags, io.disk_rchar, io.disk_wchar, io.disk_rbytes, io.disk_wbytes); | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
|   glibtop_init(); | ||||
|  | ||||
|   while(*++argv) | ||||
|     { | ||||
|       pid_t pid = strtol(*argv, NULL, 10); | ||||
|       show_diskio(pid); | ||||
|     } | ||||
|  | ||||
|   glibtop_close(); | ||||
|  | ||||
|   return 0; | ||||
| } | ||||
|  | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -49,9 +47,9 @@ main (int argc, char *argv []) | ||||
| { | ||||
| 	glibtop_union data; | ||||
| 	glibtop_sysdeps sysdeps; | ||||
| 	unsigned c, method, count, port, i, *ptr; | ||||
| 	unsigned c, method, count, port, i; | ||||
| 	char buffer [BUFSIZ]; | ||||
| 	pid_t pid, ppid; | ||||
| 	pid_t pid, ppid, *ptr; | ||||
| 	char *args; | ||||
|  | ||||
| 	count = PROFILE_COUNT; | ||||
|   | ||||
							
								
								
									
										44
									
								
								examples/free.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								examples/free.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/mem.h> | ||||
| #include <glibtop/swap.h> | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <unistd.h> | ||||
|  | ||||
| static unsigned mb(guint64 n) | ||||
| { | ||||
|         return n >> 20; | ||||
| } | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
|         glibtop_mem mem; | ||||
|         glibtop_swap swap; | ||||
|  | ||||
| 	glibtop_init(); | ||||
|  | ||||
|         glibtop_get_mem(&mem); | ||||
|         glibtop_get_swap(&swap); | ||||
|  | ||||
|         printf("              total        used        free      shared  buff/cache   available\n"); | ||||
|  | ||||
|         printf("%-7s %11u %11u %11u %11u %11u %11u\n", | ||||
|                "Mem:", | ||||
|                 mb(mem.total), | ||||
|                 mb(mem.used - mem.buffer - mem.cached), | ||||
|                 mb(mem.free), | ||||
|                 mb(mem.shared), | ||||
|                 mb(mem.buffer + mem.cached), | ||||
|                 mb(mem.total - mem.user)); | ||||
|  | ||||
|         printf("%-7s %11u %11u %11u\n", | ||||
|                "Swap:", | ||||
|                 mb(swap.total), | ||||
|                 mb(swap.used), | ||||
|                 mb(swap.free)); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -101,7 +99,7 @@ main (int argc, char *argv []) | ||||
| 		glibtop_get_fsusage (&fsusage, | ||||
| 				     mount_entries [index].mountdir); | ||||
|  | ||||
| 		printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n", | ||||
| 		printf ("%-16s %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9d\n", | ||||
| 			mount_entries [index].mountdir, | ||||
| 			fsusage.blocks, fsusage.bfree, | ||||
| 			fsusage.bavail, fsusage.files, | ||||
|   | ||||
| @@ -14,8 +14,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -53,7 +51,7 @@ static char* hwaddress_format_for_display(glibtop_netload *buf) | ||||
|  | ||||
| 	for(i = 0; i < sizeof buf->hwaddress; ++i) | ||||
| 		g_string_append_printf(repr, "%02X:", | ||||
| 				       (unsigned) ((char*)buf->hwaddress)[i]); | ||||
| 				       ((unsigned char*)buf->hwaddress)[i]); | ||||
|  | ||||
| 	repr->str [ repr->len - 1] = ' '; | ||||
| 	str = g_string_free(repr, FALSE); | ||||
| @@ -120,22 +118,22 @@ main (int argc, char *argv []) | ||||
| 		"\tAddress:\t\t0x%08x - %s\n" | ||||
| 		"\tSubnet:\t\t\t0x%08x - %s\n\n" | ||||
| 		"\tMTU:\t\t\t%d\n" | ||||
| 		"\tCollisions:\t\t%llu\n\n" | ||||
| 		"\tPackets In:\t\t%llu\n" | ||||
| 		"\tPackets Out:\t\t%llu\n" | ||||
| 		"\tPackets Total:\t\t%llu\n\n" | ||||
| 		"\tBytes In:\t\t%llu\n" | ||||
| 		"\tBytes Out:\t\t%llu\n" | ||||
| 		"\tBytes Total:\t\t%llu\n\n" | ||||
| 		"\tErrors In:\t\t%llu\n" | ||||
| 		"\tErrors Out:\t\t%llu\n" | ||||
| 		"\tErrors Total:\t\t%llu\n\n" | ||||
| 		"\tCollisions:\t\t%" G_GUINT64_FORMAT "\n\n" | ||||
| 		"\tPackets In:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tPackets Out:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tPackets Total:\t\t%" G_GUINT64_FORMAT "\n\n" | ||||
| 		"\tBytes In:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tBytes Out:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tBytes Total:\t\t%" G_GUINT64_FORMAT "\n\n" | ||||
| 		"\tErrors In:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tErrors Out:\t\t%" G_GUINT64_FORMAT "\n" | ||||
| 		"\tErrors Total:\t\t%" G_GUINT64_FORMAT "\n\n" | ||||
| 		"\tAddress6:\t\t%s\n" | ||||
| 		"\tPrefix6:\t\t%s\n" | ||||
| 		"\tScope6:\t\t\t%#03x\n\n" | ||||
| 		"\tHarware Address:\t%s\n\n", | ||||
| 		netload.flags, | ||||
| 		netload.if_flags, | ||||
| 		(unsigned long long)netload.flags, | ||||
| 		(unsigned long long)netload.if_flags, | ||||
| 		(guint32) netload.address, address_string, | ||||
| 		(guint32) netload.subnet,  subnet_string, | ||||
| 		netload.mtu, | ||||
|   | ||||
| @@ -37,9 +37,16 @@ static void show_open_files(pid_t pid) | ||||
| 		  printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port); | ||||
| 		  break; | ||||
|  | ||||
| 	  case GLIBTOP_FILE_TYPE_INET6SOCKET: | ||||
| 		  printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port); | ||||
| 		  break; | ||||
|  | ||||
| 	  case GLIBTOP_FILE_TYPE_LOCALSOCKET: | ||||
| 		  printf("localsocket %s\n", files[i].info.localsock.name); | ||||
| 		  break; | ||||
|  | ||||
| 	  default: | ||||
| 		  printf("unknown type\n"); | ||||
| 	  } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| #endif | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/sysinfo.h> | ||||
|  | ||||
| #include <glibtop/union.h> | ||||
|  | ||||
| @@ -17,21 +18,68 @@ | ||||
| #define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \ | ||||
| (unsigned long) sizeof buf) | ||||
|  | ||||
| #define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \ | ||||
| #define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = %" FORMAT "\n", \ | ||||
| (unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA) | ||||
|  | ||||
| #define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \ | ||||
| #define PPRINT_GUINT64(DATA) PPRINT(DATA, G_GUINT64_FORMAT) | ||||
|  | ||||
| #define PPRINT_FLAGS(DATA) printf("\t%4lu B %3lu " "flags" " = " "%#llx" "\n", \ | ||||
| (unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), (unsigned long long)buf.DATA) | ||||
|  | ||||
| #define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do {				\ | ||||
|     size_t i;								\ | ||||
|     printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ",			\ | ||||
| 	   (unsigned long) sizeof buf.ARRAY,				\ | ||||
| 	   (unsigned long) buf_offsetof(ARRAY),				\ | ||||
| 	   (unsigned long) G_N_ELEMENTS(buf.ARRAY));			\ | ||||
|     for (i = 0; i < (SIZE); ++i) {					\ | ||||
|       if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) {	\ | ||||
| 	do { i++; } while (i < SIZE && !buf.ARRAY[i]);			\ | ||||
| 	printf("..., ");						\ | ||||
|       } else {								\ | ||||
| 	printf(".%zd = %" FORMAT ", ", i, buf.ARRAY[i]);			\ | ||||
|       }									\ | ||||
|     }									\ | ||||
|     printf("}\n");							\ | ||||
|   } while(0) | ||||
|  | ||||
| #define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \ | ||||
| size_t i; \ | ||||
| printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \ | ||||
| (unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\ | ||||
| (unsigned long) G_N_ELEMENTS(buf.ARRAY)); \ | ||||
| for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \ | ||||
| printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \ | ||||
| printf("\t%4lu B " #ARRAY "[%lu/%lu] = { \n", \ | ||||
| (unsigned long) sizeof buf->ARRAY, (unsigned long)(SIZE),	\ | ||||
| (unsigned long) G_N_ELEMENTS(buf->ARRAY)); \ | ||||
| for(i = 0; i < SIZE; ++i) { \ | ||||
|   if (buf->ARRAY[i].values) {			\ | ||||
|     printf ("\t[ ");				\ | ||||
|     PPRINT_HASHTABLE(buf->ARRAY[i].values);	\ | ||||
|     printf ("]\n");				\ | ||||
|   }						\ | ||||
| } \ | ||||
| printf("} "); \ | ||||
| } while(0) | ||||
|  | ||||
| #define PPRINT_HASHTABLE(HASHTABLE) do { \ | ||||
| g_hash_table_foreach (HASHTABLE, (GHFunc)pprint_hashtable_item, NULL); \ | ||||
| } while(0) | ||||
|  | ||||
| #define FOOTER_PPRINT() putchar('\n'); | ||||
|  | ||||
| static void pprint_hashtable_item(gchar* key, gchar* value, gpointer user_data)  | ||||
| { | ||||
|   printf ("'%s': '%s', ", key, value); | ||||
| } | ||||
| static void pprint_get_sysinfo(void) | ||||
| { | ||||
|   const glibtop_sysinfo *buf; | ||||
|  | ||||
|   buf = glibtop_get_sysinfo(); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_sysinfo); | ||||
|   //PPRINT_FLAGS(flags); | ||||
|   // PPRINT_GUINT64(ncpu); | ||||
|   PPRINT_ENTRY_ARRAY(cpuinfo, buf->ncpu); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| static void pprint_get_cpu(void) | ||||
| { | ||||
| @@ -40,25 +88,25 @@ static void pprint_get_cpu(void) | ||||
|   glibtop_get_cpu(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_cpu); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(total, "%llu"); | ||||
|   PPRINT(user, "%llu"); | ||||
|   PPRINT(nice, "%llu"); | ||||
|   PPRINT(sys, "%llu"); | ||||
|   PPRINT(idle, "%llu"); | ||||
|   PPRINT(iowait, "%llu"); | ||||
|   PPRINT(irq, "%llu"); | ||||
|   PPRINT(softirq, "%llu"); | ||||
|   PPRINT(frequency, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu"); | ||||
|   PPRINT(xcpu_flags, "%llx"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(total); | ||||
|   PPRINT_GUINT64(user); | ||||
|   PPRINT_GUINT64(nice); | ||||
|   PPRINT_GUINT64(sys); | ||||
|   PPRINT_GUINT64(idle); | ||||
|   PPRINT_GUINT64(iowait); | ||||
|   PPRINT_GUINT64(irq); | ||||
|   PPRINT_GUINT64(softirq); | ||||
|   PPRINT_GUINT64(frequency); | ||||
|   PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, G_GUINT64_FORMAT); | ||||
|   PPRINT_FLAGS(xcpu_flags); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -72,15 +120,15 @@ static void pprint_get_fsusage(const char *mountpoint) | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_fsusage); | ||||
|   printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(blocks, "%llu"); | ||||
|   PPRINT(bfree, "%llu"); | ||||
|   PPRINT(bavail, "%llu"); | ||||
|   PPRINT(files, "%llu"); | ||||
|   PPRINT(ffree, "%llu"); | ||||
|   PPRINT(block_size, "%u"); | ||||
|   PPRINT(read, "%llu"); | ||||
|   PPRINT(write, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(blocks); | ||||
|   PPRINT_GUINT64(bfree); | ||||
|   PPRINT_GUINT64(bavail); | ||||
|   PPRINT_GUINT64(files); | ||||
|   PPRINT_GUINT64(ffree); | ||||
|   PPRINT(block_size, "u"); | ||||
|   PPRINT_GUINT64(read); | ||||
|   PPRINT_GUINT64(write); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -93,11 +141,11 @@ static void pprint_get_loadavg(void) | ||||
|   glibtop_get_loadavg(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_loadavg); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT_ARRAY(loadavg, 3, "%f"); | ||||
|   PPRINT(nr_running, "%llu"); | ||||
|   PPRINT(nr_tasks, "%llu"); | ||||
|   PPRINT(last_pid, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_ARRAY(loadavg, 3, "f"); | ||||
|   PPRINT_GUINT64(nr_running); | ||||
|   PPRINT_GUINT64(nr_tasks); | ||||
|   PPRINT_GUINT64(last_pid); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -110,15 +158,15 @@ static void pprint_get_mem(void) | ||||
|   glibtop_get_mem(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_mem); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(total, "%llu"); | ||||
|   PPRINT(used, "%llu"); | ||||
|   PPRINT(free, "%llu"); | ||||
|   PPRINT(shared, "%llu"); | ||||
|   PPRINT(buffer, "%llu"); | ||||
|   PPRINT(cached, "%llu"); | ||||
|   PPRINT(user, "%llu"); | ||||
|   PPRINT(locked, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(total); | ||||
|   PPRINT_GUINT64(used); | ||||
|   PPRINT_GUINT64(free); | ||||
|   PPRINT_GUINT64(shared); | ||||
|   PPRINT_GUINT64(buffer); | ||||
|   PPRINT_GUINT64(cached); | ||||
|   PPRINT_GUINT64(user); | ||||
|   PPRINT_GUINT64(locked); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -134,12 +182,12 @@ static void pprint_get_mountlist(gboolean allfs) | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_mountlist); | ||||
|   printf("glibtop_get_mountlist (allfs = %d)\n", allfs); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(number, "%llu"); | ||||
|   PPRINT(total, "%llu"); | ||||
|   PPRINT(size, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(number); | ||||
|   PPRINT_GUINT64(total); | ||||
|   PPRINT_GUINT64(size); | ||||
|  | ||||
|   printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number); | ||||
|   printf("\t%4" G_GUINT64_FORMAT " B entries[%" G_GUINT64_FORMAT "] = \n\t\t{\n", buf.total, buf.number); | ||||
|  | ||||
|   for(i = 0; i < buf.number; ++i) | ||||
|     { | ||||
| @@ -147,7 +195,7 @@ static void pprint_get_mountlist(gboolean allfs) | ||||
| 	     " .devname = \"%s\"," | ||||
| 	     " .mountir = \"%s\"," | ||||
| 	     " .type = \"%s\" }\n", | ||||
| 	     (unsigned long) i, entries[i].dev, | ||||
| 	     (unsigned long) i, (unsigned long long)entries[i].dev, | ||||
| 	     entries[i].devname, | ||||
| 	     entries[i].mountdir, | ||||
| 	     entries[i].type); | ||||
| @@ -168,14 +216,14 @@ static void pprint_get_msg_limits(void) | ||||
|   glibtop_get_msg_limits(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_msg_limits); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(msgpool, "%llu"); | ||||
|   PPRINT(msgmap, "%llu"); | ||||
|   PPRINT(msgmax, "%llu"); | ||||
|   PPRINT(msgmnb, "%llu"); | ||||
|   PPRINT(msgmni, "%llu"); | ||||
|   PPRINT(msgssz, "%llu"); | ||||
|   PPRINT(msgtql, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(msgpool); | ||||
|   PPRINT_GUINT64(msgmap); | ||||
|   PPRINT_GUINT64(msgmax); | ||||
|   PPRINT_GUINT64(msgmnb); | ||||
|   PPRINT_GUINT64(msgmni); | ||||
|   PPRINT_GUINT64(msgssz); | ||||
|   PPRINT_GUINT64(msgtql); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -189,7 +237,7 @@ static void pprint_get_netload(const char *iface) | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_netload); | ||||
|   printf("glibtop_get_netload (iface = \"%s\")\n", iface); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -223,12 +271,12 @@ static void pprint_get_swap(void) | ||||
|   glibtop_get_swap(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_swap); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(total, "%llu"); | ||||
|   PPRINT(used, "%llu"); | ||||
|   PPRINT(free, "%llu"); | ||||
|   PPRINT(pagein, "%llu"); | ||||
|   PPRINT(pageout, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(total); | ||||
|   PPRINT_GUINT64(used); | ||||
|   PPRINT_GUINT64(free); | ||||
|   PPRINT_GUINT64(pagein); | ||||
|   PPRINT_GUINT64(pageout); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -241,10 +289,10 @@ static void pprint_get_uptime(void) | ||||
|   glibtop_get_uptime(&buf); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_uptime); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(uptime, "%f"); | ||||
|   PPRINT(idletime, "%f"); | ||||
|   PPRINT(boot_time, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT(uptime, "f"); | ||||
|   PPRINT(idletime, "f"); | ||||
|   PPRINT_GUINT64(boot_time); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -258,12 +306,12 @@ static void pprint_get_proc_kernel(pid_t pid) | ||||
|   glibtop_get_proc_kernel(&buf, pid); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_proc_kernel); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(k_flags, "%llu"); | ||||
|   PPRINT(min_flt, "%llu"); | ||||
|   PPRINT(maj_flt, "%llu"); | ||||
|   PPRINT(cmin_flt, "%llu"); | ||||
|   PPRINT(cmaj_flt, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(k_flags); | ||||
|   PPRINT_GUINT64(min_flt); | ||||
|   PPRINT_GUINT64(maj_flt); | ||||
|   PPRINT_GUINT64(cmin_flt); | ||||
|   PPRINT_GUINT64(cmaj_flt); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
| @@ -275,22 +323,45 @@ static void pprint_get_proc_mem(pid_t pid) | ||||
|   glibtop_get_proc_mem(&buf, pid); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_proc_mem); | ||||
|   PPRINT(flags, "%#llx"); | ||||
|   PPRINT(size, "%llu"); | ||||
|   PPRINT(vsize, "%llu"); | ||||
|   PPRINT(resident, "%llu"); | ||||
|   PPRINT(share, "%llu"); | ||||
|   PPRINT(rss, "%llu"); | ||||
|   PPRINT(rss_rlim, "%llu"); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT_GUINT64(size); | ||||
|   PPRINT_GUINT64(vsize); | ||||
|   PPRINT_GUINT64(resident); | ||||
|   PPRINT_GUINT64(share); | ||||
|   PPRINT_GUINT64(rss); | ||||
|   PPRINT_GUINT64(rss_rlim); | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
|  | ||||
| static void pprint_get_proc_affinity(pid_t pid) | ||||
| { | ||||
|   glibtop_proc_affinity buf; | ||||
|   guint32 i; | ||||
|   guint16* cpus; | ||||
|  | ||||
|   cpus = glibtop_get_proc_affinity(&buf, pid); | ||||
|  | ||||
|   HEADER_PPRINT(glibtop_get_proc_affinity); | ||||
|   PPRINT_FLAGS(flags); | ||||
|   PPRINT(number, "u"); | ||||
|   PPRINT(all, "d"); | ||||
|  | ||||
|   printf("\taffinity="); | ||||
|   for (i = 0; i < buf.number; i++) { | ||||
|     printf("%d, ", cpus[i]); | ||||
|   } | ||||
|   putchar('\n'); | ||||
|  | ||||
|   FOOTER_PPRINT(); | ||||
| } | ||||
|  | ||||
|  | ||||
| int main() | ||||
| { | ||||
|   glibtop_init(); | ||||
|  | ||||
|   pprint_get_sysinfo(); | ||||
|   pprint_get_cpu(); | ||||
|  | ||||
|   pprint_get_fsusage("/"); | ||||
| @@ -317,6 +388,7 @@ int main() | ||||
|  | ||||
|   pprint_get_proc_kernel(getpid()); | ||||
|   pprint_get_proc_mem(getpid()); | ||||
|   pprint_get_proc_affinity(getpid()); | ||||
|  | ||||
|   glibtop_close(); | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,8 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/proclist.h> | ||||
| #include <glibtop/procstate.h> | ||||
| #include <glibtop/proctime.h> | ||||
| #include <glibtop/procuid.h> | ||||
|  | ||||
| #include <glib.h> | ||||
|  | ||||
| @@ -11,20 +14,34 @@ | ||||
|  | ||||
| static void print_pids(guint64 which, guint64 arg) | ||||
| { | ||||
| 	unsigned *pids; | ||||
| 	pid_t *pids; | ||||
| 	unsigned i; | ||||
| 	glibtop_proclist buf; | ||||
|  | ||||
| 	pids = glibtop_get_proclist(&buf, which, arg); | ||||
|  | ||||
| 	printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n", | ||||
| 	       which, arg, (unsigned long)buf.number); | ||||
| 	for (i = 0; i < buf.number; ++i) { | ||||
| 		glibtop_proc_time ptime; | ||||
| 		glibtop_proc_uid puid; | ||||
| 		glibtop_proc_state pstate; | ||||
|  | ||||
| 	for (i = 0; i < buf.number; ++i) | ||||
| 		printf("%u ", pids[i]); | ||||
| 		pid_t p = pids[i]; | ||||
|  | ||||
| 	putchar('\n'); | ||||
| 	putchar('\n'); | ||||
| 		glibtop_get_proc_time(&ptime, p); | ||||
| 		glibtop_get_proc_uid(&puid, p); | ||||
| 		glibtop_get_proc_state(&pstate, p); | ||||
|  | ||||
| 		/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */ | ||||
| 		printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n", | ||||
| 		       puid.uid, | ||||
| 		       p, | ||||
| 		       (double)ptime.rtime / ptime.frequency, | ||||
| 		       (double)ptime.utime / ptime.frequency, | ||||
| 		       (double)ptime.stime / ptime.frequency, | ||||
| 		       (unsigned long)ptime.start_time, | ||||
| 		       pstate.cmd, | ||||
| 		       (long)ptime.flags); | ||||
| 	} | ||||
|  | ||||
| 	g_free(pids); | ||||
| } | ||||
| @@ -34,7 +51,6 @@ int main() | ||||
| { | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	print_pids(GLIBTOP_KERN_PROC_ALL, 0); | ||||
| 	print_pids(GLIBTOP_KERN_PROC_UID, getuid()); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -37,23 +35,43 @@ | ||||
|  | ||||
| #include <glibtop/procmap.h> | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| #include <glibtop/inodedb.h> | ||||
| #endif | ||||
|  | ||||
| #include <sys/resource.h> | ||||
| #include <sys/mman.h> | ||||
|  | ||||
| #include <fcntl.h> | ||||
|  | ||||
| #ifndef PROFILE_COUNT | ||||
| #define PROFILE_COUNT	1 | ||||
| #endif | ||||
|  | ||||
| static void | ||||
| try_mmap(const char *path) | ||||
| { | ||||
| 	struct stat buf; | ||||
| 	int fd; | ||||
|  | ||||
| 	if ((fd = open(path, O_RDONLY)) < 0) | ||||
| 		goto out; | ||||
|  | ||||
| 	if (fstat(fd, &buf) < 0) | ||||
| 		goto out; | ||||
|  | ||||
| 	if (mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0) == MAP_FAILED) | ||||
| 		goto out; | ||||
|  | ||||
| 	close(fd); | ||||
|  | ||||
| 	return; | ||||
|  | ||||
| out: | ||||
| 	fprintf(stderr, "Failed to test mmap with '%s'\n", path); | ||||
| } | ||||
|  | ||||
|  | ||||
| int | ||||
| main (int argc, char *argv []) | ||||
| { | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 	glibtop_inodedb *inodedb; | ||||
| #endif | ||||
| 	glibtop_proc_map procmap; | ||||
| 	glibtop_map_entry *maps; | ||||
| 	unsigned method, count, port, i; | ||||
| @@ -86,12 +104,18 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	glibtop_init_r (&glibtop_global_server, 0, 0); | ||||
|  | ||||
| 	if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1)) | ||||
| 		g_error ("Usage: %s pid", argv [0]); | ||||
| 	if (argc == 1) { | ||||
| 		pid = getpid(); | ||||
| 	} | ||||
| 	else if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1)) | ||||
| 		g_error ("Usage: %s [pid]", argv [0]); | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 	inodedb = glibtop_inodedb_open (0, 0); | ||||
| #endif | ||||
| 	if (pid == getpid()) { | ||||
| 		/* let's map something for a try */ | ||||
| 		try_mmap("/etc/passwd"); | ||||
| 		try_mmap("/etc/resolv.conf"); | ||||
| 		try_mmap(argv[0]); | ||||
| 	} | ||||
|  | ||||
| 	fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid); | ||||
|  | ||||
| @@ -99,18 +123,13 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	for (i = 0; i < procmap.number; i++) { | ||||
| 		const char *filename = NULL; | ||||
| 		char * format; | ||||
| 		unsigned device, device_major, device_minor; | ||||
| 		char perm [5]; | ||||
|  | ||||
| 		if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME)) | ||||
| 			filename = maps [i].filename; | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 		if (inodedb && !filename) | ||||
| 			filename = glibtop_inodedb_lookup | ||||
| 				(inodedb, maps [i].device, maps [i].inode); | ||||
| #endif | ||||
|  | ||||
| 		perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-'; | ||||
| 		perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-'; | ||||
| 		perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-'; | ||||
| @@ -121,47 +140,32 @@ main (int argc, char *argv []) | ||||
| 		device_minor = (device & 255); | ||||
| 		device_major = ((device >> 8) & 255); | ||||
|  | ||||
| 		if (sizeof (void*) == 8) | ||||
| 			format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - " | ||||
| 				 "%02x:%02x % 8lu - %.*s"; | ||||
| 		else | ||||
| 			format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - " | ||||
| 				 "%02x:%02x % 8lu - %.*s"; | ||||
|  | ||||
| 		fprintf (stderr, format, | ||||
| 			 (unsigned long) maps [i].start, | ||||
| 			 (unsigned long) maps [i].end, | ||||
| 			 (unsigned long) maps [i].offset, | ||||
| 			 (unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)), | ||||
| 			 device_major, device_minor, | ||||
| 			 (unsigned long) maps [i].inode, | ||||
| 			 sizeof perm, perm); | ||||
|  | ||||
| 		if (filename) { | ||||
| 			char *format; | ||||
|  | ||||
| 			if (sizeof (void*) == 8) | ||||
| 				format = "%016lx-%016lx %016lx - " | ||||
| 					 "%02x:%02x %08lu - %4s - %s\n"; | ||||
| 			else | ||||
| 				format = "%08lx-%08lx %08lx - " | ||||
| 					 "%02x:%02x %08lu - %4s - %s\n"; | ||||
|  | ||||
| 			fprintf (stderr, format, | ||||
| 				 (unsigned long) maps [i].start, | ||||
| 				 (unsigned long) maps [i].end, | ||||
| 				 (unsigned long) maps [i].offset, | ||||
| 				 device_major, device_minor, | ||||
| 				 (unsigned long) maps [i].inode, | ||||
| 				 perm, filename); | ||||
| 		} else { | ||||
| 			char * format; | ||||
|  | ||||
| 			if (sizeof (void*) == 8) | ||||
| 				format = "%016lx-%016lx %016lx - " | ||||
| 					 "%02x:%02x %08lu - %4s\n"; | ||||
| 			else | ||||
| 				format = "%08lx-%08lx %08lx - " | ||||
| 					 "%02x:%02x %08lu - %4s\n"; | ||||
|  | ||||
| 			fprintf (stderr, format, | ||||
| 				 (unsigned long) maps [i].start, | ||||
| 				 (unsigned long) maps [i].end, | ||||
| 				 (unsigned long) maps [i].offset, | ||||
| 				 device_major, device_minor, | ||||
| 				 (unsigned long) maps [i].inode, | ||||
| 				 perm); | ||||
| 			fprintf(stderr, " - %s", filename); | ||||
| 		} | ||||
|  | ||||
| 		fputc('\n', stderr); | ||||
|  | ||||
| 		g_print("smaps flags:%#llx size:%llu rss:%llu " | ||||
| 			"shared_clean:%llu shared_dirty:%llu " | ||||
| 			"private_clean:%llu private_dirty: %llu\n", | ||||
| 			maps[i].flags, | ||||
| 		g_print("smaps flags:%#llx size:%" G_GUINT64_FORMAT "KiB rss:%" G_GUINT64_FORMAT "KiB " | ||||
| 			"shared_clean:%" G_GUINT64_FORMAT "Kib shared_dirty:%" G_GUINT64_FORMAT "KiB " | ||||
| 			"private_clean:%" G_GUINT64_FORMAT "KiB private_dirty: %" G_GUINT64_FORMAT "KiB\n", | ||||
| 			(unsigned long long)maps[i].flags, | ||||
| 			maps[i].size >> 10, | ||||
| 			maps[i].rss >> 10, | ||||
| 			maps[i].shared_clean >> 10, | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -44,14 +42,12 @@ output (pid_t pid) | ||||
| 	char *args; | ||||
| 	unsigned i; | ||||
|  | ||||
| #if HAVE_LIBGTOP_SMP | ||||
| 	unsigned long total; | ||||
| 	double p_total, p_utime, p_stime; | ||||
| 	double b_total, b_utime, b_stime; | ||||
| 	double s_total, s_utime, s_stime; | ||||
| 	double my_utime, my_stime; | ||||
| 	unsigned int ncpu; | ||||
| #endif | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| @@ -160,7 +156,6 @@ output (pid_t pid) | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| #if HAVE_LIBGTOP_SMP | ||||
| 	ncpu = glibtop_global_server->ncpu; | ||||
|  | ||||
| 	glibtop_get_proc_time (&data.proc_time, pid); | ||||
| @@ -233,7 +228,6 @@ output (pid_t pid) | ||||
| 		s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime); | ||||
|  | ||||
| 	printf ("\n"); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| int | ||||
| @@ -241,7 +235,8 @@ main (int argc, char *argv []) | ||||
| { | ||||
| 	glibtop_proclist proclist; | ||||
| 	glibtop_sysdeps sysdeps; | ||||
| 	unsigned *ptr, pid, i; | ||||
| 	unsigned i; | ||||
| 	pid_t *ptr, pid; | ||||
|  | ||||
| 	setlocale (LC_ALL, ""); | ||||
| 	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR); | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -94,9 +92,10 @@ main (int argc, char *argv []) | ||||
| 		"\tproc_time:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_signal:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_kernel:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_segment:\t%d\t0x%08lx\n\n" | ||||
| 		"\tproc_segment:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_args:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_map:\t%d\t0x%08lx\n\n" | ||||
| 		"\tproc_map:\t%d\t0x%08lx\n" | ||||
| 		"\tproc_io:\t%d\t0x%08lx\n\n" | ||||
| 		"\tmountlist:\t%d\t0x%08lx\n" | ||||
| 		"\tfsusage:\t%d\t0x%08lx\n\n" | ||||
| 		"\tnetload:\t%d\t0x%08lx\n" | ||||
| @@ -139,6 +138,8 @@ main (int argc, char *argv []) | ||||
| 		(unsigned long) sysdeps.proc_args, | ||||
| 		FEATURE_CHECK(PROC_MAP), | ||||
| 		(unsigned long) sysdeps.proc_map, | ||||
| 		FEATURE_CHECK(PROC_IO), | ||||
| 		(unsigned long) sysdeps.proc_io, | ||||
| 		FEATURE_CHECK(MOUNTLIST), | ||||
| 		(unsigned long) sysdeps.mountlist, | ||||
| 		FEATURE_CHECK(FSUSAGE), | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| @@ -46,7 +44,7 @@ | ||||
| #endif | ||||
|  | ||||
| #ifndef PROFILE_COUNT_EXPENSIVE | ||||
| #define PROFILE_COUNT_EXPENSIVE		10000L | ||||
| #define PROFILE_COUNT_EXPENSIVE		(PROFILE_COUNT / 10) | ||||
| #endif | ||||
|  | ||||
| #define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 +	(unsigned long) elapsed_utime.tv_usec) | ||||
| @@ -71,29 +69,47 @@ | ||||
| 		}							\ | ||||
| 	} while (0) | ||||
|  | ||||
|  | ||||
| static void display_self_times(void) | ||||
| { | ||||
| 	printf("-- Overview using `ps` --------------------" | ||||
| 	       "---------------\n"); | ||||
| 	printf("-- this client is %8u ----------------" | ||||
| 	       "---------------\n", (unsigned)getpid()); | ||||
| 	printf("-- this server is %8u ----------------" | ||||
| 	       "---------------\n", (unsigned)glibtop_global_server->pid); | ||||
| 	system("ps xjf | egrep 'timings|libgtop_server'"); | ||||
| 	printf("-------------------------------------------" | ||||
| 	       "---------------\n"); | ||||
| } | ||||
|  | ||||
|  | ||||
| int | ||||
| main (int argc, char *argv []) | ||||
| { | ||||
| 	glibtop_union data; | ||||
| 	unsigned c, count, *ptr; | ||||
| 	unsigned c; | ||||
| 	struct rusage total_start, total_end; | ||||
| 	struct rusage rusage_start, rusage_end; | ||||
| 	struct timeval elapsed_utime, elapsed_stime; | ||||
| 	pid_t pid; | ||||
|  | ||||
| 	count = PROFILE_COUNT; | ||||
| 	pid = getpid (); | ||||
|  | ||||
| 	setlocale (LC_ALL, ""); | ||||
| 	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR); | ||||
| 	textdomain (GETTEXT_PACKAGE); | ||||
|  | ||||
|  | ||||
| 	glibtop_init_r (&glibtop_global_server, 0, 0); | ||||
|  | ||||
| 	display_self_times(); | ||||
|  | ||||
| 	printf ("%-12s (%-10s): %7s - %9s - %9s\n", | ||||
| 		"Feature", "Flags", "Count", "utime", "stime"); | ||||
| 	printf ("-------------------------------------------" | ||||
| 		"---------------\n"); | ||||
|  | ||||
| 	glibtop_init_r (&glibtop_global_server, 0, 0); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &total_start); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
| @@ -186,12 +202,10 @@ main (int argc, char *argv []) | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT); | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { | ||||
| 		ptr = glibtop_get_proclist (&data.proclist, 0, 0); | ||||
| 		pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0); | ||||
| 		g_free (ptr); | ||||
| 	} | ||||
|  | ||||
| @@ -209,9 +223,26 @@ main (int argc, char *argv []) | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE); | ||||
|  | ||||
| 	pid = getpid (); | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	printf ("\n"); | ||||
| 	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { | ||||
| 		char** ptr = glibtop_get_netlist (&data.netlist); | ||||
| 		g_strfreev (ptr); | ||||
| 	} | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_end); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime, | ||||
| 			  &elapsed_utime); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime, | ||||
| 			  &elapsed_stime); | ||||
|  | ||||
| 	printf ("Netlist      (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n", | ||||
| 		(unsigned long) data.proclist.flags, | ||||
| 		PROFILE_COUNT_EXPENSIVE, | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| @@ -269,6 +300,27 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { | ||||
| 		glibtop_map_entry* entries; | ||||
| 		entries = glibtop_get_proc_map (&data.proc_map, pid); | ||||
| 		g_free (entries); | ||||
| 	} | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_end); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime, | ||||
| 			  &elapsed_utime); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime, | ||||
| 			  &elapsed_stime); | ||||
|  | ||||
| 	printf ("Proc_Map     (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n", | ||||
| 		(unsigned long) data.proc_map.flags, PROFILE_COUNT_EXPENSIVE, | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT; c++) | ||||
| 		glibtop_get_proc_segment (&data.proc_segment, pid); | ||||
|  | ||||
| @@ -287,6 +339,27 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT; c++) { | ||||
| 		char** argv; | ||||
| 		argv = glibtop_get_proc_argv (&data.proc_args, pid, 0); | ||||
| 		g_strfreev(argv); | ||||
| 	} | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_end); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime, | ||||
| 			  &elapsed_utime); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime, | ||||
| 			  &elapsed_stime); | ||||
|  | ||||
| 	printf ("Proc_Args    (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n", | ||||
| 		(unsigned long) data.proc_args.flags, PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT; c++) | ||||
| 		glibtop_get_proc_time (&data.proc_time, pid); | ||||
|  | ||||
| @@ -339,6 +412,26 @@ main (int argc, char *argv []) | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT); | ||||
|  | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_start); | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT; c++) | ||||
| 		glibtop_get_proc_io (&data.proc_io, pid); | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_end); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime, | ||||
| 			  &elapsed_utime); | ||||
|  | ||||
| 	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime, | ||||
| 			  &elapsed_stime); | ||||
|  | ||||
| 	printf ("Proc_Io  (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n", | ||||
| 		(unsigned long) data.proc_io.flags, PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_UTIME / PROFILE_COUNT, | ||||
| 		(long double) ELAPSED_STIME / PROFILE_COUNT); | ||||
|  | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &total_end); | ||||
|  | ||||
| 	libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime, | ||||
| @@ -356,6 +449,8 @@ main (int argc, char *argv []) | ||||
| 	printf ("All timings are in clock ticks " | ||||
| 		"(1000000 ticks per second).\n\n"); | ||||
|  | ||||
| 	display_self_times(); | ||||
|  | ||||
| 	glibtop_close (); | ||||
|  | ||||
| 	exit (0); | ||||
|   | ||||
							
								
								
									
										35
									
								
								examples/wd.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								examples/wd.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/procwd.h> | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <unistd.h> | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
| 	pid_t pid; | ||||
| 	glibtop_proc_wd buf; | ||||
| 	char **dirs, **dir; | ||||
|  | ||||
| 	if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0))) | ||||
| 		pid = getpid(); | ||||
|  | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	dirs = glibtop_get_proc_wd(&buf, pid); | ||||
|  | ||||
| 	g_print("Process %u:\n" | ||||
| 		" - root: '%s'\n" | ||||
| 		" - exe: '%s'\n" | ||||
| 		" - working directories:\n", | ||||
| 		(unsigned)pid, buf.root, buf.exe); | ||||
|  | ||||
| 	for (dir = dirs; *dir; ++dir) | ||||
| 		g_print("   - '%s'\n", *dir); | ||||
|  | ||||
| 	g_strfreev(dirs); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
							
								
								
									
										51
									
								
								features.def
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								features.def
									
									
									
									
									
								
							| @@ -1,25 +1,28 @@ | ||||
| void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4]) | ||||
| void|mem|ulong(total,used,free,shared,buffer,cached,user,locked) | ||||
| void|swap|ulong(total,used,free,pagein,pageout) | ||||
| void|uptime|double(uptime,idletime) | ||||
| void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid) | ||||
| void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall) | ||||
| void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql) | ||||
| void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem) | ||||
| unsigned *|proclist|ulong(number,size,total)|long(which,arg) | ||||
| void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid) | ||||
| void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid) | ||||
| void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid) | ||||
| void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid) | ||||
| void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid) | ||||
| void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid) | ||||
| void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid) | ||||
| char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len) | ||||
| glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid) | ||||
| glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid) | ||||
| glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs) | ||||
| void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir | ||||
| void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface | ||||
| void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device) | ||||
| char **|netlist|unsigned(number) | ||||
| void|cpu | ||||
| void|mem | ||||
| void|swap | ||||
| void|uptime | ||||
| void|loadavg | ||||
| void|shm_limits | ||||
| void|msg_limits | ||||
| void|sem_limits | ||||
| pid_t*|proclist|long(which,arg) | ||||
| void|proc_state|pid_t(pid) | ||||
| void|proc_uid|pid_t(pid) | ||||
| void|proc_mem|pid_t(pid) | ||||
| void|proc_time|pid_t(pid) | ||||
| void|proc_signal|pid_t(pid) | ||||
| void|proc_kernel|pid_t(pid) | ||||
| void|proc_segment|pid_t(pid) | ||||
| char *|proc_args|pid_t(pid):unsigned(max_len) | ||||
| glibtop_map_entry *|proc_map|pid_t(pid) | ||||
| glibtop_open_files_entry *|proc_open_files|pid_t(pid) | ||||
| glibtop_mountentry *|@mountlist|int(all_fs) | ||||
| void|@fsusage|string|mount_dir | ||||
| void|netload|string|interface | ||||
| void|ppp|ushort(device) | ||||
| char **|netlist | ||||
| char **|proc_wd|pid_t(pid) | ||||
| guint16*|proc_affinity|pid_t(pid) | ||||
| void|proc_io|pid_t(pid) | ||||
|  | ||||
|   | ||||
							
								
								
									
										54
									
								
								glibtop.h
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								glibtop.h
									
									
									
									
									
								
							| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,18 +15,24 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_H__ | ||||
| #define __GLIBTOP_H__ | ||||
|  | ||||
| #include <glib/gmacros.h> | ||||
| /* for pid_t, uid_t, gid_t */ | ||||
| #include <sys/types.h> | ||||
|  | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <glib-object.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop		glibtop; | ||||
| typedef struct _glibtop_machine	glibtop_machine; | ||||
|  | ||||
| /** | ||||
|  *  LIBGTOP_CHECK_VERSION | ||||
| @@ -56,10 +60,6 @@ LIBGTOP_MICRO_VERSION >= (micro))) | ||||
|  | ||||
| #include <glibtop_server.h> | ||||
|  | ||||
| #ifdef HAVE_GLIBTOP_MACHINE_H | ||||
| #include <glibtop_machine.h> | ||||
| #endif | ||||
|  | ||||
| #ifndef GLIBTOP_MOUNTENTRY_LEN | ||||
| #define GLIBTOP_MOUNTENTRY_LEN	79 | ||||
| #endif | ||||
| @@ -69,14 +69,12 @@ LIBGTOP_MICRO_VERSION >= (micro))) | ||||
|  | ||||
| #include <glibtop/close.h> | ||||
|  | ||||
|  | ||||
| struct _glibtop | ||||
| { | ||||
| 	unsigned flags; | ||||
| 	unsigned method;		/* Server Method */ | ||||
| 	unsigned error_method;		/* Error Method */ | ||||
| #ifdef HAVE_GLIBTOP_MACHINE_H | ||||
| 	glibtop_machine machine;	/* Machine dependent data */ | ||||
| #endif | ||||
| 	int input [2];			/* Pipe client <- server */ | ||||
| 	int output [2];			/* Pipe client -> server */ | ||||
| 	int socket;			/* Accepted connection of a socket */ | ||||
| @@ -93,25 +91,57 @@ struct _glibtop | ||||
| 	glibtop_sysdeps sysdeps;	/* Detailed feature list */ | ||||
| 	glibtop_sysdeps required;	/* Required feature list */ | ||||
| 	pid_t pid;			/* PID of the server */ | ||||
|  | ||||
| 	uid_t uid; | ||||
| 	uid_t euid; | ||||
| 	gid_t gid; | ||||
| 	gid_t egid; | ||||
|  | ||||
| 	glibtop_machine *machine;	/* Machine dependent data */ | ||||
| }; | ||||
|  | ||||
| extern glibtop *glibtop_global_server; | ||||
|  | ||||
| extern const unsigned long glibtop_server_features; | ||||
|  | ||||
| /** | ||||
|  * glibtop_init: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
| glibtop * | ||||
| glibtop_init (void); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_init_r: | ||||
|  * @server_ptr: (out): | ||||
|  * @features: | ||||
|  * @flags: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
| glibtop * | ||||
| glibtop_init_r (glibtop **server_ptr, | ||||
| 		unsigned long features, | ||||
| 		unsigned flags); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_init_s: | ||||
|  * @server_ptr: (out): | ||||
|  * @features: | ||||
|  * @flags: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
| glibtop * | ||||
| glibtop_init_s (glibtop **server_ptr, | ||||
| 		unsigned long features, | ||||
| 		unsigned flags); | ||||
|  | ||||
| GType     glibtop_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,2 +0,0 @@ | ||||
| Makefile | ||||
| Makefile.in | ||||
| @@ -1,2 +0,0 @@ | ||||
| Makefile | ||||
| Makefile.in | ||||
| @@ -2,12 +2,16 @@ glibtopdir		= $(includedir)/libgtop-2.0/glibtop | ||||
|  | ||||
| glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \ | ||||
| 			  sem_limits.h uptime.h command.h mem.h proclist.h \ | ||||
| 			  proctime.h shm_limits.h version.h cpu.h msg_limits.h \ | ||||
| 			  proctime.h shm_limits.h cpu.h msg_limits.h \ | ||||
| 			  procmem.h procuid.h swap.h \ | ||||
| 			  procsegment.h sysdeps.h global.h \ | ||||
| 			  procsignal.h union.h gnuserv.h \ | ||||
| 			  parameter.h mountlist.h fsusage.h procmap.h signal.h \ | ||||
| 			  inodedb.h sysinfo.h ppp.h procargs.h netload.h \ | ||||
| 			  sysinfo.h ppp.h procargs.h netload.h \ | ||||
| 			  procwd.h procaffinity.h \ | ||||
|               procio.h \ | ||||
| 			  netlist.h procopenfiles.h open.h | ||||
|  | ||||
| noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h | ||||
| noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h machine.h \ | ||||
| 			  version.h | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| @@AUTOGEN_COMMENT@@ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
| @@ -21,8 +19,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_CALL_VECTOR_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_CLOSE_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_COMMAND_H__ | ||||
| @@ -59,8 +57,11 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_CMND_PPP		23 | ||||
| #define GLIBTOP_CMND_NETLIST		24 | ||||
| #define GLIBTOP_CMND_PROC_OPEN_FILES	25 | ||||
| #define GLIBTOP_CMND_PROC_WD		26 | ||||
| #define GLIBTOP_CMND_PROC_AFFINITY	27 | ||||
| #define GLIBTOP_CMND_PROC_IO	28 | ||||
|  | ||||
| #define GLIBTOP_MAX_CMND		26 | ||||
| #define GLIBTOP_MAX_CMND		29 | ||||
|  | ||||
| #define _GLIBTOP_PARAM_SIZE		16 | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_CPU_H__ | ||||
| @@ -56,7 +54,7 @@ G_BEGIN_DECLS | ||||
|    Yes we are :) | ||||
|    Nobody should really be using more than 32 processors. | ||||
| */ | ||||
| #define GLIBTOP_NCPU		32 | ||||
| #define GLIBTOP_NCPU		1024 | ||||
|  | ||||
| typedef struct _glibtop_cpu	glibtop_cpu; | ||||
|  | ||||
| @@ -94,10 +92,10 @@ void glibtop_get_cpu(glibtop_cpu *buf); | ||||
| void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_CPU | ||||
| void glibtop_init_cpu_p (glibtop *server); | ||||
| void _glibtop_init_cpu_p (glibtop *server); | ||||
| void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf); | ||||
| #else | ||||
| void glibtop_init_cpu_s (glibtop *server); | ||||
| void _glibtop_init_cpu_s (glibtop *server); | ||||
| void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
|  | ||||
| @@ -33,20 +31,32 @@ | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN; | ||||
| void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL; | ||||
| void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL; | ||||
| void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN; | ||||
| void glibtop_warn_vr (glibtop *server, const char *format, va_list args); | ||||
| void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args); | ||||
|  | ||||
| void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
|  | ||||
| void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2); | ||||
|  | ||||
| /* FIXME: C99 */ | ||||
| #define glibtop_debug_r(server, fmt, ...)				\ | ||||
| 	G_STMT_START {							\ | ||||
| 	if (LIBGTOP_ENABLE_DEBUG)					\ | ||||
| 		glibtop_debug_r_real(server, "%s:%d %s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \ | ||||
| 	} G_STMT_END | ||||
|  | ||||
| #define glibtop_debug(...) glibtop_debug_r(glibtop_global_server, __VA_ARGS__) | ||||
|  | ||||
| void glibtop_debug_vr (glibtop *server, const char *format, va_list args); | ||||
| void glibtop_debug_r_real (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
| @@ -16,8 +14,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_FSUSAGE_H__ | ||||
|   | ||||
| @@ -1,70 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 2.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SERVER_H__ | ||||
| #define __GLIBTOP_SERVER_H__ | ||||
|  | ||||
| #include <glibtop/global.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_server		glibtop_server; | ||||
| typedef struct _glibtop_server_info	glibtop_server_info; | ||||
|  | ||||
| typedef struct _glibtop_closure		glibtop_closure; | ||||
|  | ||||
| struct _glibtop_server_info | ||||
| { | ||||
|     int ncpu;			/* Number of CPUs, zero if single-processor */ | ||||
|     unsigned long features;	/* Server is required for this features */ | ||||
|     glibtop_sysdeps sysdeps;	/* Detailed feature list */ | ||||
|     glibtop_sysdeps required;	/* Required feature list */ | ||||
|     glibtop_sysdeps wanted;	/* We only want this features */ | ||||
| }; | ||||
|  | ||||
| struct	_glibtop_server | ||||
| { | ||||
|     glibtop_server_info *info; | ||||
|  | ||||
|     int refcount; | ||||
|     unsigned flags; | ||||
|     const char *name; | ||||
|  | ||||
|     void *_priv; | ||||
| }; | ||||
|  | ||||
| glibtop_server * | ||||
| glibtop_server_new (void); | ||||
|  | ||||
| void | ||||
| glibtop_server_ref (glibtop_server *server); | ||||
|  | ||||
| void | ||||
| glibtop_server_unref (glibtop_server *server); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_GLOBAL_H__ | ||||
|   | ||||
| @@ -5,10 +5,10 @@ | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef void (*glibtop_init_func_t)(glibtop *); | ||||
| typedef void (*_glibtop_init_func_t)(glibtop *); | ||||
|  | ||||
| extern const glibtop_init_func_t _glibtop_init_hook_s[]; | ||||
| extern const glibtop_init_func_t _glibtop_init_hook_p[]; | ||||
| extern const _glibtop_init_func_t _glibtop_init_hook_s[]; | ||||
| extern const _glibtop_init_func_t _glibtop_init_hook_p[]; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -1,67 +0,0 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_INODEDB_H__ | ||||
| #define __GLIBTOP_INODEDB_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <gdbm.h> | ||||
|  | ||||
| #define GLIBTOP_INODEDB_SYSTEM		1 | ||||
| #define GLIBTOP_INODEDB_USER		2 | ||||
| #define GLIBTOP_INODEDB_CACHE		4 | ||||
|  | ||||
| #define GLIBTOP_INODEDB_ALL		7 | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_inodedb		glibtop_inodedb; | ||||
|  | ||||
| typedef struct _glibtop_inodedb_key	glibtop_inodedb_key; | ||||
|  | ||||
| struct _glibtop_inodedb_key | ||||
| { | ||||
| 	guint64 device, inode; | ||||
| }; | ||||
|  | ||||
| struct _glibtop_inodedb | ||||
| { | ||||
| 	GDBM_FILE system_dbf, user_dbf; | ||||
| }; | ||||
|  | ||||
| #define glibtop_inodedb_open(p1,p2)	glibtop_inodedb_open_s(glibtop_global_server, p1, p2) | ||||
| #define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3) | ||||
| #define glibtop_inodedb_close(p1)	glibtop_inodedb_close_s(glibtop_global_server) | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size); | ||||
|  | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, | ||||
| 			  glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode); | ||||
|  | ||||
| void | ||||
| glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_LOADAVG_H__ | ||||
| @@ -58,10 +56,10 @@ void glibtop_get_loadavg(glibtop_loadavg *buf); | ||||
| void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_LOADAVG | ||||
| void glibtop_init_loadavg_p (glibtop *server); | ||||
| void _glibtop_init_loadavg_p (glibtop *server); | ||||
| void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf); | ||||
| #else | ||||
| void glibtop_init_loadavg_s (glibtop *server); | ||||
| void _glibtop_init_loadavg_s (glibtop *server); | ||||
| void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
							
								
								
									
										22
									
								
								include/glibtop/machine.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								include/glibtop/machine.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| #ifndef GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 | ||||
| #define GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <glibtop_machine.h> | ||||
|  | ||||
| /* private */ | ||||
| static inline void | ||||
| glibtop_machine_new(glibtop *server) | ||||
| { | ||||
| 	server->machine = g_new0(glibtop_machine, 1); | ||||
| } | ||||
|  | ||||
| /* private */ | ||||
| static inline void | ||||
| glibtop_machine_delete(glibtop *server) | ||||
| { | ||||
| 	g_free(server->machine); | ||||
| 	server->machine = NULL; | ||||
| } | ||||
|  | ||||
| #endif /* GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 */ | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_MEM_H__ | ||||
| @@ -66,10 +64,10 @@ void glibtop_get_mem(glibtop_mem *buf); | ||||
| void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_MEM | ||||
| void glibtop_init_mem_p (glibtop *server); | ||||
| void _glibtop_init_mem_p (glibtop *server); | ||||
| void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf); | ||||
| #else | ||||
| void glibtop_init_mem_s (glibtop *server); | ||||
| void _glibtop_init_mem_s (glibtop *server); | ||||
| void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_MOUNTLIST_H__ | ||||
| @@ -55,6 +53,38 @@ struct _glibtop_mountlist | ||||
| 	guint64 size;			/* GLIBTOP_MOUNTLIST_SIZE	*/ | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_mountlist: | ||||
|  * @buf: | ||||
|  * @all_fs: | ||||
|  * | ||||
|  * Returns: (transfer full): | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_mountlist_r: | ||||
|  * @buf: (out): | ||||
|  * @all_fs: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_mountlist_s: | ||||
|  * @buf: (out): | ||||
|  * @all_fs: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_mountlist_l: | ||||
|  * @buf: (out): | ||||
|  * @all_fs: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| glibtop_mountentry * | ||||
| glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs); | ||||
|  | ||||
| @@ -66,6 +96,8 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs); | ||||
| glibtop_mountentry * | ||||
| glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs); | ||||
|  | ||||
| GType     glibtop_mountlist_get_type (void) G_GNUC_CONST; | ||||
| GType     glibtop_mountentry_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_MSG_LIMITS_H__ | ||||
| @@ -64,10 +62,10 @@ void glibtop_get_msg_limits(glibtop_msg_limits *buf); | ||||
| void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_MSG_LIMITS | ||||
| void glibtop_init_msg_limits_p (glibtop *server); | ||||
| void _glibtop_init_msg_limits_p (glibtop *server); | ||||
| void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf); | ||||
| #else | ||||
| void glibtop_init_msg_limits_s (glibtop *server); | ||||
| void _glibtop_init_msg_limits_s (glibtop *server); | ||||
| void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -13,8 +13,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_NETLIST_H__ | ||||
| @@ -31,12 +31,23 @@ G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_netlist	glibtop_netlist; | ||||
|  | ||||
| /** | ||||
|  * glibtop_netlist: | ||||
|  * @number: Number of entries in the returned list. | ||||
|  */ | ||||
| struct _glibtop_netlist | ||||
| { | ||||
| 	guint64 flags; | ||||
| 	guint32 number; | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_netlist: | ||||
|  * @buf: a #glibtop_netlist | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of network | ||||
|  *          interface names. | ||||
|  */ | ||||
| char** glibtop_get_netlist(glibtop_netlist *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_NETLIST | ||||
| @@ -45,13 +56,39 @@ char** glibtop_get_netlist(glibtop_netlist *buf); | ||||
| #define glibtop_get_netlist_r		glibtop_get_netlist_s | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_netlist_l: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_netlist | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of network | ||||
|  *          interface names. | ||||
|  */ | ||||
| char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_NETLIST | ||||
| void glibtop_init_netlist_p (glibtop *server); | ||||
| void _glibtop_init_netlist_p (glibtop *server); | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_netlist_p: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_netlist | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of network | ||||
|  *          interface names. | ||||
|  */ | ||||
| char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf); | ||||
| #else | ||||
| void glibtop_init_netlist_s (glibtop *server); | ||||
| void _glibtop_init_netlist_s (glibtop *server); | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_netlist_s: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_netlist | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of network | ||||
|  *          interface names. | ||||
|  */ | ||||
| char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_NETLOAD_H__ | ||||
| @@ -119,10 +117,10 @@ void glibtop_get_netload(glibtop_netload *buf, const char *interface); | ||||
| void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface); | ||||
|  | ||||
| #if GLIBTOP_SUID_NETLOAD | ||||
| void glibtop_init_netload_p (glibtop *server); | ||||
| void _glibtop_init_netload_p (glibtop *server); | ||||
| void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface); | ||||
| #else | ||||
| void glibtop_init_netload_s (glibtop *server); | ||||
| void _glibtop_init_netload_s (glibtop *server); | ||||
| void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -15,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_OPEN_H__ | ||||
|   | ||||
| @@ -15,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PARAMETER_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PPP_H__ | ||||
| @@ -62,10 +60,10 @@ void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device); | ||||
| void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device); | ||||
|  | ||||
| #if GLIBTOP_SUID_PPP | ||||
| void glibtop_init_ppp_p (glibtop *server); | ||||
| void _glibtop_init_ppp_p (glibtop *server); | ||||
| void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device); | ||||
| #else | ||||
| void glibtop_init_ppp_s (glibtop *server); | ||||
| void _glibtop_init_ppp_s (glibtop *server); | ||||
| void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device); | ||||
| #endif | ||||
|  | ||||
|   | ||||
							
								
								
									
										62
									
								
								include/glibtop/procaffinity.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								include/glibtop/procaffinity.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /* Copyright (C) 2007 Benoît Dejean | ||||
|    This file is part of LibGTop 2. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCAFFINITY_H__ | ||||
| #define __GLIBTOP_PROCAFFINITY_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_proc_affinity	glibtop_proc_affinity; | ||||
|  | ||||
| #define GLIBTOP_PROC_AFFINITY_NUMBER	0 | ||||
| #define GLIBTOP_PROC_AFFINITY_ALL	1 | ||||
| #define GLIBTOP_MAX_PROC_AFFINITY	2 | ||||
|  | ||||
| struct _glibtop_proc_affinity | ||||
| { | ||||
| 	guint64	flags; | ||||
| 	guint32 number; | ||||
| 	gboolean all; | ||||
| }; | ||||
|  | ||||
|  | ||||
| guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid); | ||||
| guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid); | ||||
|  | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_AFFINITY | ||||
|  | ||||
| #define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p | ||||
| void _glibtop_init_proc_affinity_p(glibtop *server); | ||||
| guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid); | ||||
|  | ||||
| #else | ||||
|  | ||||
| #define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s | ||||
| void _glibtop_init_proc_affinity_s(glibtop *server); | ||||
| guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROC_ARGS_H__ | ||||
| @@ -53,7 +51,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len); | ||||
|  | ||||
| # define glibtop_get_proc_args_r		glibtop_get_proc_args_p | ||||
|  | ||||
|   void glibtop_init_proc_args_p (glibtop *server); | ||||
|   void _glibtop_init_proc_args_p (glibtop *server); | ||||
|  | ||||
|   char * | ||||
|   glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf, | ||||
| @@ -64,7 +62,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len); | ||||
|  | ||||
| # define glibtop_get_proc_args_r		glibtop_get_proc_args_s | ||||
|  | ||||
|   void glibtop_init_proc_args_s (glibtop *server); | ||||
|   void _glibtop_init_proc_args_s (glibtop *server); | ||||
|  | ||||
|   char * | ||||
|   glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf, | ||||
| @@ -81,6 +79,15 @@ char ** | ||||
| glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf, | ||||
| 			 pid_t pid, unsigned max_len); | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_argv: | ||||
|  * @buf: | ||||
|  * @pid: | ||||
|  * @max_len: | ||||
|  * | ||||
|  * Returns: (transfer full): | ||||
|  */ | ||||
|  | ||||
| char ** | ||||
| glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len); | ||||
|  | ||||
|   | ||||
							
								
								
									
										91
									
								
								include/glibtop/procio.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								include/glibtop/procio.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | ||||
| /* Copyright (C) 2017 Robert Roth | ||||
|    This file is part of LibGTop. | ||||
|  | ||||
|    Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCIO_H__ | ||||
| #define __GLIBTOP_PROCIO_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GLIBTOP_PROC_IO_DISK_RCHAR	0 | ||||
| #define GLIBTOP_PROC_IO_DISK_WCHAR	1 | ||||
| #define GLIBTOP_PROC_IO_DISK_RBYTES	2 | ||||
| #define GLIBTOP_PROC_IO_DISK_WBYTES	3 | ||||
|  | ||||
| #define GLIBTOP_MAX_PROC_IO		3 | ||||
|  | ||||
| typedef struct _glibtop_proc_io	glibtop_proc_io; | ||||
|  | ||||
| /* Time section */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_proc_io: | ||||
|  * @disk_rchar: The number of bytes which this task has caused to be read from storage. This | ||||
|  * is simply the sum of bytes which this process passed to read() and pread(), also including tty IO, | ||||
|  * and it is unaffected by whether or not actual physical disk IO was required. | ||||
|  * @disk_wchar: The number of bytes which this task has caused, or shall cause to be written | ||||
|  * to disk. Similar caveats apply here as with rchar. | ||||
|  * @disk_rbytes: Attempt to count the number of bytes which this process really did cause to | ||||
|  * be fetched from the storage layer. Done at the submit_bio() level, so it is | ||||
|  * accurate for block-backed filesystems. | ||||
|  * @disk_wbytes: Attempt to count the number of bytes which this process caused to be sent to | ||||
|  * the storage layer. This is done at page-dirtying time. | ||||
|  * | ||||
|  * Process disk io data filled by glibtop_get_proc_io(). | ||||
|  * | ||||
|  */ | ||||
| struct _glibtop_proc_io | ||||
| { | ||||
| 	guint64	flags; | ||||
| 	guint64 disk_rchar; | ||||
| 	guint64 disk_wchar; | ||||
| 	guint64 disk_rbytes; | ||||
| 	guint64 disk_wbytes; | ||||
|  | ||||
|     /* reserved for future extensions, e.g. per-process netio */ | ||||
|     guint64 reserved[10]; | ||||
| }; | ||||
|  | ||||
|  | ||||
| void glibtop_get_proc_io (glibtop_proc_io *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_IO | ||||
| #define glibtop_get_proc_io_r	glibtop_get_proc_io_p | ||||
| #else | ||||
| #define glibtop_get_proc_io_r	glibtop_get_proc_io_s | ||||
| #endif | ||||
|  | ||||
| void glibtop_get_proc_io_l (glibtop *server, glibtop_proc_io *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_IO | ||||
| void _glibtop_init_proc_io_p (glibtop *server); | ||||
| void glibtop_get_proc_io_p (glibtop *server, glibtop_proc_io *buf, pid_t pid); | ||||
| #else | ||||
| void _glibtop_init_proc_io_s (glibtop *server); | ||||
| void glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCKERNEL_H__ | ||||
| @@ -75,10 +73,10 @@ void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid); | ||||
| void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_KERNEL | ||||
| void glibtop_init_proc_kernel_p (glibtop *server); | ||||
| void _glibtop_init_proc_kernel_p (glibtop *server); | ||||
| void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_kernel_s (glibtop *server); | ||||
| void _glibtop_init_proc_kernel_s (glibtop *server); | ||||
| void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCLIST_H__ | ||||
| @@ -38,22 +36,89 @@ G_BEGIN_DECLS | ||||
| /* You can use the folowing constants as the `which' member of | ||||
|  * glibtop_get_proclist () to specify which processes to fetch. */ | ||||
|  | ||||
| #define GLIBTOP_KERN_PROC_ALL		0	/* all processes */ | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_ALL: | ||||
|  * | ||||
|  * Return information about all processes | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_ALL		0 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_PID: | ||||
|  * | ||||
|  * Return all processes with the pid which is passed in @arg. You can use this to find out whether some process still exists. | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_PID		1 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_PGRP: | ||||
|  * | ||||
|  * Return all processes in the process group passed in @arg.  | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_PGRP		2 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_SESSION: | ||||
|  * | ||||
|  * Return all processes in the session passed in @arg.  | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_SESSION	3 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_TTY: | ||||
|  * | ||||
|  * Return all processes which have the controlling tty passed in @arg | ||||
|  * (which is interpreted as the device number).  | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_TTY		4 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_UID: | ||||
|  * | ||||
|  * Return all processes with the effective uid passed in @arg.  | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_UID		5 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_KERN_PROC_RUID: | ||||
|  * | ||||
|  * Return all processes with the real uid passed in @arg.  | ||||
|  **/ | ||||
| #define GLIBTOP_KERN_PROC_RUID		6 | ||||
|  | ||||
| #define GLIBTOP_KERN_PROC_MASK		15 | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_EXCLUDE_IDLE: | ||||
|  * | ||||
|  * Exclude idle processes.  | ||||
|  **/ | ||||
| #define GLIBTOP_EXCLUDE_IDLE		0x1000 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_EXCLUDE_SYSTEM: | ||||
|  * | ||||
|  * Exclude system (on most UNIXes root's) processes. | ||||
|  **/ | ||||
| #define GLIBTOP_EXCLUDE_SYSTEM		0x2000 | ||||
|  | ||||
| /** | ||||
|  * GLIBTOP_EXCLUDE_NOTTY: | ||||
|  * | ||||
|  * Exclude processes without a controlling terminal. | ||||
|  **/ | ||||
| #define GLIBTOP_EXCLUDE_NOTTY		0x4000 | ||||
|  | ||||
| typedef struct _glibtop_proclist	glibtop_proclist; | ||||
|  | ||||
| /** | ||||
|  * glibtop_proclist: | ||||
|  * @number: Number of entries in the returned list. | ||||
|  * @total: Total size of the returned list (this equals @number * @size). | ||||
|  * @size: Size of a single entry in the returned list  | ||||
|  * (this equals <type>sizeof(unsigned)</type>). | ||||
|  */ | ||||
| struct _glibtop_proclist | ||||
| { | ||||
| 	guint64	flags; | ||||
| @@ -62,7 +127,16 @@ struct _glibtop_proclist | ||||
| 	guint64 size;			/* GLIBTOP_PROCLIST_SIZE	*/ | ||||
| }; | ||||
|  | ||||
| unsigned * | ||||
| /** | ||||
|  * glibtop_get_proclist: | ||||
|  * @buf: a #glibtop_proclist | ||||
|  * @which: a #GLIBTOP_* constant specifying process type | ||||
|  * @arg: an argument specific for the process type | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of process | ||||
|  *     ids | ||||
|  */ | ||||
| pid_t* | ||||
| glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROCLIST | ||||
| @@ -71,20 +145,50 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg); | ||||
| #define glibtop_get_proclist_r		glibtop_get_proclist_s | ||||
| #endif | ||||
|  | ||||
| unsigned * | ||||
| /** | ||||
|  * glibtop_get_proclist_l: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_proclist | ||||
|  * @which: a #GLIBTOP_* constant specifying process type | ||||
|  * @arg: an argument specific for the process type | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of process | ||||
|  *     ids | ||||
|  */ | ||||
| pid_t* | ||||
| glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROCLIST | ||||
| void glibtop_init_proclist_p (glibtop *server); | ||||
| void _glibtop_init_proclist_p (glibtop *server); | ||||
|  | ||||
| unsigned * | ||||
| /** | ||||
|  * glibtop_get_proclist_p: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_proclist | ||||
|  * @which: a #GLIBTOP_* constant specifying process type | ||||
|  * @arg: an argument specific for the process type | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of process | ||||
|  *     ids | ||||
|  */ | ||||
| pid_t* | ||||
| glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
| #else | ||||
| void glibtop_init_proclist_s (glibtop *server); | ||||
| void _glibtop_init_proclist_s (glibtop *server); | ||||
|  | ||||
| unsigned * | ||||
| /** | ||||
|  * glibtop_get_proclist_s: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_proclist | ||||
|  * @which: a #GLIBTOP_* constant specifying process type | ||||
|  * @arg: an argument specific for the process type | ||||
|  * | ||||
|  * Returns: (array zero-terminated=1) (transfer none): an array of process | ||||
|  *     ids | ||||
|  */ | ||||
| pid_t* | ||||
| glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
| #endif | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROC_MAP_H__ | ||||
| @@ -50,8 +48,10 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_MAP_ENTRY_SHARED_DIRTY		10 | ||||
| #define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN		11 | ||||
| #define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY		12 | ||||
| #define GLIBTOP_MAP_ENTRY_PSS			13 | ||||
| #define GLIBTOP_MAP_ENTRY_SWAP			14 | ||||
|  | ||||
| #define GLIBTOP_MAX_MAP_ENTRY		13 | ||||
| #define GLIBTOP_MAX_MAP_ENTRY		15 | ||||
|  | ||||
| #define GLIBTOP_MAP_FILENAME_LEN	215 | ||||
|  | ||||
| @@ -80,6 +80,8 @@ struct _glibtop_map_entry | ||||
| 	guint64 shared_dirty; | ||||
| 	guint64 private_clean;  | ||||
| 	guint64 private_dirty; | ||||
| 	guint64 pss; | ||||
| 	guint64 swap; | ||||
| 	char filename [GLIBTOP_MAP_FILENAME_LEN+1]; | ||||
| }; | ||||
|  | ||||
| @@ -90,10 +92,46 @@ struct _glibtop_proc_map | ||||
| 	guint64 total;			/* GLIBTOP_PROC_MAP_TOTAL	*/ | ||||
| 	guint64 size;			/* GLIBTOP_PROC_MAP_SIZE	*/ | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_map: | ||||
|  * @buf: | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
| glibtop_map_entry * | ||||
| glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid); | ||||
|  | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_map_l: | ||||
|  * @server: | ||||
|  * @buf: (out): | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_map_p: | ||||
|  * @server: | ||||
|  * @buf: (out): | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_map_s: | ||||
|  * @server: | ||||
|  * @buf: (out): | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_MAP | ||||
| #define glibtop_get_proc_map_r		glibtop_get_proc_map_p | ||||
| #else | ||||
| @@ -104,17 +142,19 @@ glibtop_map_entry * | ||||
| glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_MAP | ||||
| void glibtop_init_proc_map_p (glibtop *server); | ||||
| void _glibtop_init_proc_map_p (glibtop *server); | ||||
|  | ||||
| glibtop_map_entry * | ||||
| glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_map_s (glibtop *server); | ||||
| void _glibtop_init_proc_map_s (glibtop *server); | ||||
|  | ||||
| glibtop_map_entry * | ||||
| glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
| GType     glibtop_map_entry_get_type (void) G_GNUC_CONST; | ||||
| GType     glibtop_proc_map_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCMEM_H__ | ||||
| @@ -55,6 +53,12 @@ struct _glibtop_proc_mem | ||||
| 				 * of the process; usually 2,147,483,647 */ | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_mem: | ||||
|  * @buf: | ||||
|  * @pid: | ||||
|  * | ||||
|  */ | ||||
| void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_MEM | ||||
| @@ -66,10 +70,10 @@ void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid); | ||||
| void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_MEM | ||||
| void glibtop_init_proc_mem_p (glibtop *server); | ||||
| void _glibtop_init_proc_mem_p (glibtop *server); | ||||
| void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_mem_s (glibtop *server); | ||||
| void _glibtop_init_proc_mem_s (glibtop *server); | ||||
| void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    Copyright (C) 2004 Nicolás Lichtmaier | ||||
|    This file is part of LibGTop 1.0. | ||||
| @@ -20,8 +18,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROC_OPEN_FILES_H__ | ||||
| @@ -55,7 +53,8 @@ enum glibtop_file_type { | ||||
| 	GLIBTOP_FILE_TYPE_FILE		= 1, | ||||
| 	GLIBTOP_FILE_TYPE_PIPE		= 2, | ||||
| 	GLIBTOP_FILE_TYPE_INETSOCKET	= 4, | ||||
| 	GLIBTOP_FILE_TYPE_LOCALSOCKET	= 8 | ||||
| 	GLIBTOP_FILE_TYPE_LOCALSOCKET	= 8, | ||||
| 	GLIBTOP_FILE_TYPE_INET6SOCKET	= 16 | ||||
| }; | ||||
|  | ||||
| typedef struct _glibtop_open_files_entry glibtop_open_files_entry; | ||||
| @@ -67,7 +66,8 @@ struct _glibtop_open_files_entry | ||||
| 	int fd; | ||||
| 	guint16 type; /* An "enum glibtop_file_type" value. */ | ||||
| 	union { | ||||
| 		/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */ | ||||
| 		/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or | ||||
| 		 * when type == GLIBTOP_FILE_TYPE_INET6SOCKET */ | ||||
| 		struct { | ||||
| 			char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1]; | ||||
| 			int dest_port; | ||||
| @@ -94,30 +94,61 @@ struct _glibtop_proc_open_files | ||||
| 	guint64 size;			/* GLIBTOP_PROC_OPEN_FILES_SIZE   */ | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_open_files: | ||||
|  * @buf: | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| glibtop_open_files_entry * | ||||
| glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_FILE | ||||
| #if GLIBTOP_SUID_PROC_OPEN_FILES | ||||
| #define glibtop_get_proc_open_files_r		glibtop_get_proc_open_files_p | ||||
| #else | ||||
| #define glibtop_get_proc_open_files_r		glibtop_get_proc_open_files_s | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_open_files_l: | ||||
|  * @server: | ||||
|  * @buf: (out): | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| glibtop_open_files_entry * | ||||
| glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_FILE | ||||
| void glibtop_init_proc_open_files_p (glibtop *server); | ||||
| #if GLIBTOP_SUID_PROC_OPEN_FILES | ||||
| void _glibtop_init_proc_open_files_p (glibtop *server); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_open_files_p: | ||||
|  * @server: | ||||
|  * @buf: (out): | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer none): | ||||
|  */ | ||||
|  | ||||
| glibtop_open_files_entry * | ||||
| glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_open_files_s (glibtop *server); | ||||
| void _glibtop_init_proc_open_files_s (glibtop *server); | ||||
|  | ||||
| glibtop_open_files_entry * | ||||
| glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
| GType     glibtop_open_files_entry_get_type (void) G_GNUC_CONST; | ||||
| GType     glibtop_proc_open_files_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCSEGMENT_H__ | ||||
| @@ -69,10 +67,10 @@ void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid); | ||||
| void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_SEGMENT | ||||
| void glibtop_init_proc_segment_p (glibtop *server); | ||||
| void _glibtop_init_proc_segment_p (glibtop *server); | ||||
| void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_segment_s (glibtop *server); | ||||
| void _glibtop_init_proc_segment_s (glibtop *server); | ||||
| void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCSIGNAL_H__ | ||||
| @@ -60,10 +58,10 @@ void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid); | ||||
| void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_SIGNAL | ||||
| void glibtop_init_proc_signal_p (glibtop *server); | ||||
| void _glibtop_init_proc_signal_p (glibtop *server); | ||||
| void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_signal_s (glibtop *server); | ||||
| void _glibtop_init_proc_signal_s (glibtop *server); | ||||
| void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCSTATE_H__ | ||||
| @@ -84,10 +82,10 @@ void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid); | ||||
| void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_STATE | ||||
| void glibtop_init_proc_state_p (glibtop *server); | ||||
| void _glibtop_init_proc_state_p (glibtop *server); | ||||
| void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_state_s (glibtop *server); | ||||
| void _glibtop_init_proc_state_s (glibtop *server); | ||||
| void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCTIME_H__ | ||||
| @@ -48,26 +46,50 @@ typedef struct _glibtop_proc_time	glibtop_proc_time; | ||||
|  | ||||
| /* Time section */ | ||||
|  | ||||
| /** | ||||
|  * glibtop_proc_time: | ||||
|  * @start_time: Start time of process in seconds since the epoch. | ||||
|  * @rtime: Real time accumulated by process (should be @utime + @stime). | ||||
|  * @utime: User-mode CPU time accumulated by process. | ||||
|  * @stime: Kernel-mode CPU time accumulated by process. | ||||
|  * @cutime: Cumulative utime of process and reaped children. | ||||
|  * @cstime: Cumulative stime of process and reaped children. | ||||
|  * @timeout: The time (in jiffies) of the process’s next timeout. | ||||
|  * @it_real_value: The time (in jiffies) before the next <type>SIGALRM</type> | ||||
|  * is sent to the process due to an interval timer. | ||||
|  * @frequency: Tick frequency. | ||||
|  * @xcpu_utime: SMP user-mode CPU time accumulated by process. | ||||
|  * @xcpu_stime: SMP kernel-mode CPU time accumulated by process  | ||||
|  * | ||||
|  * Process time data filled by glibtop_get_proc_time(). | ||||
|  * | ||||
|  * Under Linux the @start_time value may be wrong due to the information | ||||
|  * available from the kernel. | ||||
|  *  | ||||
|  * The Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time | ||||
|  * shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined, | ||||
|  * we cannot use it to compute an accurate @start_time. On Linux 2.6, | ||||
|  * <type>INITIAL_JIFFIES</type> is 300 so @start_time is  | ||||
|  * always 3s different from the real start time of the given process. You  | ||||
|  * may also get shift results if your system clock is not synchronised  | ||||
|  * with your hardware clock. See <command>man hwclock</command>. | ||||
|  */ | ||||
| struct _glibtop_proc_time | ||||
| { | ||||
|     /*< private >*/ | ||||
| 	guint64	flags; | ||||
| 	guint64 start_time;	/* start time of process -- | ||||
| 				 * seconds since 1-1-70 */ | ||||
| 	guint64 rtime;		/* real time accumulated by process */ | ||||
| 	guint64 utime;		/* user-mode CPU time accumulated by process */ | ||||
| 	guint64 stime;		/* kernel-mode CPU time accumulated by process */ | ||||
| 	guint64 cutime;		/* cumulative utime of process and | ||||
| 				 * reaped children */ | ||||
| 	guint64 cstime;		/* cumulative stime of process and | ||||
| 				 * reaped children */ | ||||
| 	guint64 timeout;	/* The time (in jiffies) of the process's | ||||
| 				 * next timeout */ | ||||
| 	guint64 it_real_value;	/* The time (in jiffies) before the | ||||
| 				 * next SIGALRM is sent to the process | ||||
| 				 * due to an interval timer. */ | ||||
| 	guint64 frequency;	/* Tick frequency. */ | ||||
| 	guint64 xcpu_utime [GLIBTOP_NCPU];	/* utime and stime for all CPUs on */ | ||||
| 	guint64 xcpu_stime [GLIBTOP_NCPU];	/* SMP machines. */ | ||||
| 	/*< public >*/ | ||||
| 	guint64 start_time; | ||||
| 	guint64 rtime; | ||||
| 	guint64 utime; | ||||
| 	guint64 stime; | ||||
| 	guint64 cutime; | ||||
| 	guint64 cstime; | ||||
| 	guint64 timeout; | ||||
| 	guint64 it_real_value; | ||||
| 	guint64 frequency; | ||||
| 	guint64 xcpu_utime [GLIBTOP_NCPU]; | ||||
| 	guint64 xcpu_stime [GLIBTOP_NCPU]; | ||||
| }; | ||||
|  | ||||
|  | ||||
| @@ -82,10 +104,10 @@ void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid); | ||||
| void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_TIME | ||||
| void glibtop_init_proc_time_p (glibtop *server); | ||||
| void _glibtop_init_proc_time_p (glibtop *server); | ||||
| void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_time_s (glibtop *server); | ||||
| void _glibtop_init_proc_time_s (glibtop *server); | ||||
| void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCUID_H__ | ||||
| @@ -91,10 +89,10 @@ void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid); | ||||
| void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_UID | ||||
| void glibtop_init_proc_uid_p (glibtop *server); | ||||
| void _glibtop_init_proc_uid_p (glibtop *server); | ||||
| void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid); | ||||
| #else | ||||
| void glibtop_init_proc_uid_s (glibtop *server); | ||||
| void _glibtop_init_proc_uid_s (glibtop *server); | ||||
| void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid); | ||||
| #endif | ||||
|  | ||||
|   | ||||
							
								
								
									
										76
									
								
								include/glibtop/procwd.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								include/glibtop/procwd.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| /* Copyright (C) 2007 Benoît Dejean | ||||
|    This file is part of LibGTop 2. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCWD_H__ | ||||
| #define __GLIBTOP_PROCWD_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_proc_wd	glibtop_proc_wd; | ||||
|  | ||||
| #define GLIBTOP_PROC_WD_NUMBER	0 | ||||
| #define GLIBTOP_PROC_WD_ROOT	1 | ||||
| #define GLIBTOP_PROC_WD_EXE	2 | ||||
| #define GLIBTOP_MAX_PROC_WD	3 | ||||
|  | ||||
| #define GLIBTOP_PROC_WD_ROOT_LEN 215 | ||||
| #define GLIBTOP_PROC_WD_EXE_LEN 215 | ||||
|  | ||||
| struct _glibtop_proc_wd | ||||
| { | ||||
| 	guint64	flags; | ||||
| 	guint32 number; | ||||
| 	char root[GLIBTOP_PROC_WD_ROOT_LEN+1]; | ||||
| 	char exe[GLIBTOP_PROC_WD_EXE_LEN+1]; | ||||
| }; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_wd: | ||||
|  * @buf: | ||||
|  * @pid: | ||||
|  * | ||||
|  * Returns: (transfer full): | ||||
|  */ | ||||
| char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid); | ||||
| char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_WD | ||||
|  | ||||
| #define glibtop_get_proc_wd_r glibtop_get_proc_wd_p | ||||
| void _glibtop_init_proc_wd_p(glibtop *server); | ||||
| char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
| #else | ||||
|  | ||||
| #define glibtop_get_proc_wd_r glibtop_get_proc_wd_s | ||||
| void _glibtop_init_proc_wd_s(glibtop *server); | ||||
| char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_READ_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_READ_DATA_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SEM_LIMITS_H__ | ||||
| @@ -70,10 +68,10 @@ void glibtop_get_sem_limits(glibtop_sem_limits *buf); | ||||
| void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_SEM_LIMITS | ||||
| void glibtop_init_sem_limits_p (glibtop *server); | ||||
| void _glibtop_init_sem_limits_p (glibtop *server); | ||||
| void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf); | ||||
| #else | ||||
| void glibtop_init_sem_limits_s (glibtop *server); | ||||
| void _glibtop_init_sem_limits_s (glibtop *server); | ||||
| void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SHM_LIMITS_H__ | ||||
| @@ -39,6 +37,9 @@ G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_shm_limits	glibtop_shm_limits; | ||||
|  | ||||
| /** | ||||
|  * glibtop_shm_limits: | ||||
|  */ | ||||
| struct _glibtop_shm_limits | ||||
| { | ||||
| 	guint64	flags; | ||||
| @@ -49,6 +50,10 @@ struct _glibtop_shm_limits | ||||
| 	guint64 shmall;		/* GLIBTOP_IPC_SHMALL	*/ | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_shm_limits: | ||||
|  * @buf: a #glibtop_shm_limits | ||||
|  */ | ||||
| void glibtop_get_shm_limits(glibtop_shm_limits *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_SHM_LIMITS | ||||
| @@ -57,13 +62,28 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf); | ||||
| #define glibtop_get_shm_limits_r	glibtop_get_shm_limits_s | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_shm_limits_l: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_shm_limits | ||||
|  */ | ||||
| void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_SHM_LIMITS | ||||
| void glibtop_init_shm_limits_p (glibtop *server); | ||||
| void _glibtop_init_shm_limits_p (glibtop *server); | ||||
| /** | ||||
|  * glibtop_get_shm_limits_p: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_shm_limits | ||||
|  */ | ||||
| void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf); | ||||
| #else | ||||
| void glibtop_init_shm_limits_s (glibtop *server); | ||||
| void _glibtop_init_shm_limits_s (glibtop *server); | ||||
| /** | ||||
|  * glibtop_get_shm_limits_s: | ||||
|  * @server: a #glibtop server | ||||
|  * @buf: a #glibtop_shm_limits | ||||
|  */ | ||||
| void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SIGNAL_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SWAP_H__ | ||||
| @@ -61,10 +59,10 @@ glibtop_get_swap(glibtop_swap *buf); | ||||
| void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_SWAP | ||||
| void glibtop_init_swap_p (glibtop *server); | ||||
| void _glibtop_init_swap_p (glibtop *server); | ||||
| void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf); | ||||
| #else | ||||
| void glibtop_init_swap_s (glibtop *server); | ||||
| void _glibtop_init_swap_s (glibtop *server); | ||||
| void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SYSDEPS_H__ | ||||
| @@ -53,8 +51,14 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_SYSDEPS_PPP		22 | ||||
| #define GLIBTOP_SYSDEPS_NETLIST		23 | ||||
| #define GLIBTOP_SYSDEPS_PROC_OPEN_FILES	24 | ||||
| #define GLIBTOP_SYSDEPS_PROC_WD		25 | ||||
| #define GLIBTOP_SYSDEPS_PROC_AFFINITY	26 | ||||
| #define GLIBTOP_SYSDEPS_PROC_IO	27 | ||||
|  | ||||
| #define GLIBTOP_MAX_SYSDEPS		25 | ||||
| #define GLIBTOP_MAX_SYSDEPS		28 | ||||
|  | ||||
| /* The 'features' args to glibtop_init_* is an unsigned long */ | ||||
| G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX); | ||||
|  | ||||
| #define GLIBTOP_SYSDEPS_ALL		((1 << GLIBTOP_MAX_SYSDEPS) - 1) | ||||
|  | ||||
| @@ -88,6 +92,17 @@ struct _glibtop_sysdeps | ||||
| 	guint64 netlist;		/* glibtop_netlist	*/ | ||||
| 	guint64 netload;		/* glibtop_netload	*/ | ||||
| 	guint64 ppp;			/* glibtop_ppp		*/ | ||||
| 	guint64	proc_wd;		/* glibtop_proc_wd	*/ | ||||
| 	guint64	proc_affinity;		/* glibtop_proc_affinity */ | ||||
| 	guint64	proc_io;		/* glibtop_proc_io */ | ||||
| 	guint64	reserved0; | ||||
| 	guint64	reserved1; | ||||
| 	guint64	reserved2; | ||||
| 	guint64	reserved3; | ||||
| 	guint64	reserved4; | ||||
| 	guint64	reserved5; | ||||
| 	guint64	reserved6; | ||||
| 	guint64	reserved7; | ||||
| }; | ||||
|  | ||||
| void glibtop_get_sysdeps (glibtop_sysdeps *buf); | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SYSINFO_H__ | ||||
| @@ -50,7 +48,8 @@ struct _glibtop_entry | ||||
|  | ||||
| struct _glibtop_sysinfo | ||||
| { | ||||
| 	guint64	flags, ncpu; | ||||
| 	guint64	flags; | ||||
| 	guint64 ncpu; | ||||
| 	glibtop_entry cpuinfo [GLIBTOP_NCPU]; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_UNION_H__ | ||||
| @@ -44,6 +42,9 @@ | ||||
| #include <glibtop/procargs.h> | ||||
| #include <glibtop/procmap.h> | ||||
| #include <glibtop/procopenfiles.h> | ||||
| #include <glibtop/procwd.h> | ||||
| #include <glibtop/procaffinity.h> | ||||
| #include <glibtop/procio.h> | ||||
|  | ||||
| #include <glibtop/mountlist.h> | ||||
| #include <glibtop/fsusage.h> | ||||
| @@ -82,6 +83,9 @@ union _glibtop_union | ||||
| 	glibtop_netload		netload; | ||||
| 	glibtop_ppp		ppp; | ||||
| 	glibtop_proc_open_files proc_open_files; | ||||
| 	glibtop_proc_wd		proc_wd; | ||||
| 	glibtop_proc_affinity	proc_affinity; | ||||
| 	glibtop_proc_io	proc_io; | ||||
| }; | ||||
|  | ||||
| G_END_DECLS | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_UPTIME_H__ | ||||
| @@ -56,10 +54,10 @@ void glibtop_get_uptime (glibtop_uptime *buf); | ||||
| void glibtop_get_uptime_l (glibtop *server, glibtop_uptime *buf); | ||||
|  | ||||
| #if GLIBTOP_SUID_UPTIME | ||||
| void glibtop_init_uptime_p (glibtop *server); | ||||
| void _glibtop_init_uptime_p (glibtop *server); | ||||
| void glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf); | ||||
| #else | ||||
| void glibtop_init_uptime_s (glibtop *server); | ||||
| void _glibtop_init_uptime_s (glibtop *server); | ||||
| void glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf); | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -15,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_VERSION_H__ | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_WRITE_H__ | ||||
|   | ||||
| @@ -1,8 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| libgtop.la | ||||
| *.lo | ||||
| lib.c | ||||
| error.loT | ||||
| @@ -1,13 +1,13 @@ | ||||
|  | ||||
| INCLUDES			= @INCLUDES@ | ||||
| AM_CPPFLAGS			= @AM_CPPFLAGS@ | ||||
|  | ||||
| lib_LTLIBRARIES			= libgtop-2.0.la | ||||
|  | ||||
| libgtop_2_0_la_SOURCES		= init.c open.c close.c command.c read.c \ | ||||
| 				  read_data.c write.c lib.c parameter.c \ | ||||
| 				  sysdeps.c | ||||
| 				  sysdeps.c boxed.c | ||||
|  | ||||
| libgtop_2_0_la_LDFLAGS		= $(LT_VERSION_INFO) -export-symbols-regex "^[^_].*" | ||||
| libgtop_2_0_la_LDFLAGS		= $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined | ||||
| libgtop_2_0_la_LIBADD		= $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib) | ||||
|  | ||||
| BUILT_SOURCES			= lib.c | ||||
| @@ -16,7 +16,40 @@ lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def | ||||
| 	$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t | ||||
| 	mv lib-t lib.c | ||||
|  | ||||
| EXTRA_DIST			= lib.pl | ||||
| EXTRA_DIST			= lib.pl libgtop.sym | ||||
|  | ||||
| CLEANFILES			= lib.c | ||||
|  | ||||
| -include $(INTROSPECTION_MAKEFILE) | ||||
| INTROSPECTION_GIRS = | ||||
| INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all | ||||
| INTROSPECTION_COMPILER_ARGS = | ||||
|  | ||||
| if HAVE_INTROSPECTION | ||||
| introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \ | ||||
| 			../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \ | ||||
| 			../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \ | ||||
| 			../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \ | ||||
| 			../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \ | ||||
| 			../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \ | ||||
| 			../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \ | ||||
| 			../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \ | ||||
| 			../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \ | ||||
| 			../include/glibtop/procwd.h ../include/glibtop/procaffinity.h ../include/glibtop/procio.h \ | ||||
| 			../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h | ||||
|  | ||||
| GTop-2.0.gir: libgtop-2.0.la | ||||
| GTop_2_0_gir_AM_CPPFLAGS = GObject-2.0 | ||||
| GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS) | ||||
| GTop_2_0_gir_LIBS = libgtop-2.0.la | ||||
| GTop_2_0_gir_FILES = $(introspection_sources) | ||||
| INTROSPECTION_GIRS += GTop-2.0.gir | ||||
|  | ||||
| girdir = $(datadir)/gir-1.0 | ||||
| gir_DATA = $(INTROSPECTION_GIRS) | ||||
|  | ||||
| typelibdir = $(libdir)/girepository-1.0 | ||||
| typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) | ||||
|  | ||||
| CLEANFILES += $(gir_DATA) $(typelib_DATA) | ||||
| endif | ||||
|   | ||||
							
								
								
									
										47
									
								
								lib/boxed.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								lib/boxed.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| /* Copyright (C) 2011 Red Hat | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Jasper St. Pierre <jstpierre@mecheye.net>, November 2011 | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/mountlist.h> | ||||
| #include <glibtop/procmap.h> | ||||
| #include <glibtop/procopenfiles.h> | ||||
|  | ||||
| #define DEFINE_BOXED(type)                              \ | ||||
|     static type *                                       \ | ||||
|     type##_copy (type *p)                               \ | ||||
|     {                                                   \ | ||||
|         type *n = g_new (type, 1);                      \ | ||||
|         memcpy (n, p, sizeof (type));                   \ | ||||
|         return n;                                       \ | ||||
|     }                                                   \ | ||||
|                                                         \ | ||||
|     G_DEFINE_BOXED_TYPE (type,                          \ | ||||
|                          type,                          \ | ||||
|                          type##_copy,                   \ | ||||
|                          g_free) | ||||
|  | ||||
| DEFINE_BOXED (glibtop); | ||||
| DEFINE_BOXED (glibtop_map_entry); | ||||
| DEFINE_BOXED (glibtop_proc_map); | ||||
| DEFINE_BOXED (glibtop_open_files_entry); | ||||
| DEFINE_BOXED (glibtop_proc_open_files); | ||||
| DEFINE_BOXED (glibtop_mountentry); | ||||
| DEFINE_BOXED (glibtop_mountlist); | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,11 +15,12 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop/error.h> | ||||
| #include <glibtop/read.h> | ||||
| #include <glibtop/write.h> | ||||
| #include <glibtop/read_data.h> | ||||
| @@ -37,6 +36,44 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size, | ||||
|  | ||||
| 	glibtop_init_r (&server, 0, 0); | ||||
|  | ||||
| 	g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND); | ||||
|  | ||||
| 	switch (command) { | ||||
| #define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_QUIT); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_SYSDEPS); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_CPU); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_MEM); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_SWAP); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_UPTIME); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_LOADAVG); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROCLIST); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_STATE); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_UID); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_MEM); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_TIME); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_ARGS); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_MAP); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_MOUNTLIST); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_FSUSAGE); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_NETLOAD); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PPP); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_NETLIST); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_WD); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY); | ||||
| 	  CHECK_CMND(GLIBTOP_CMND_PROC_IO); | ||||
| 	default: | ||||
| 	  glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break; | ||||
| 	} | ||||
| #undef CHECK_CMND | ||||
|  | ||||
| 	cmnd.command = command; | ||||
|  | ||||
| 	/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we | ||||
| @@ -54,10 +91,8 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size, | ||||
|  | ||||
| 	glibtop_read_l (server, sizeof (glibtop_response), &response); | ||||
|  | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "RESPONSE: %lu - %d\n", | ||||
| 	glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu", | ||||
| 		 response.offset, response.data_size); | ||||
| #endif | ||||
|  | ||||
| 	if (recv_buf) | ||||
| 		memcpy (recv_buf, ((char *) &response) + response.offset, | ||||
|   | ||||
							
								
								
									
										175
									
								
								lib/error.c
									
									
									
									
									
								
							
							
						
						
									
										175
									
								
								lib/error.c
									
									
									
									
									
								
							| @@ -1,175 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <glibtop/error.h> | ||||
|  | ||||
| #include <glib/gstrfuncs.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #define DEFAULT_NAME	"LibGTop-Server" | ||||
|  | ||||
| /* Prints error message and exits. */ | ||||
|  | ||||
| static void | ||||
| print_server_name (glibtop_server *server) | ||||
| { | ||||
|     fprintf (stderr, "%s: ", server ? | ||||
| 	     (server->name ? server->name : DEFAULT_NAME) | ||||
| 	     : DEFAULT_NAME); | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_error_vr (glibtop_server *server, char *format, va_list args) | ||||
| { | ||||
|     print_server_name (server); | ||||
|     vfprintf (stderr, format, args); | ||||
|     fprintf (stderr, "\n"); | ||||
|  | ||||
| #ifdef LIBGTOP_ENABLE_DEBUG | ||||
|     abort (); | ||||
| #else | ||||
|     exit (1); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args) | ||||
| { | ||||
|     print_server_name (server); | ||||
|     vfprintf (stderr, format, args); | ||||
|     fprintf (stderr, ": %s\n", g_strerror (error)); | ||||
|  | ||||
| #ifdef LIBGTOP_ENABLE_DEBUG | ||||
|     abort (); | ||||
| #else | ||||
|     exit (1); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_warn_vr (glibtop_server *server, char *format, va_list args) | ||||
| { | ||||
|     print_server_name (server); | ||||
|     vfprintf (stderr, format, args); | ||||
|     fprintf (stderr, "\n"); | ||||
|  | ||||
| #ifdef LIBGTOP_FATAL_WARNINGS | ||||
|     abort (); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args) | ||||
| { | ||||
|     print_server_name (server); | ||||
|     vfprintf (stderr, format, args); | ||||
|     fprintf (stderr, ": %s\n", g_strerror (error)); | ||||
|  | ||||
| #ifdef LIBGTOP_FATAL_WARNINGS | ||||
|     abort (); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_error_r (glibtop_server *server, char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|  | ||||
|     va_start (args, format); | ||||
|     glibtop_error_vr (server, format, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_warn_r (glibtop_server *server, char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|  | ||||
|     va_start (args, format); | ||||
|     glibtop_warn_vr (server, format, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_error_io_r (glibtop_server *server, char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|  | ||||
|     va_start (args, format); | ||||
|     glibtop_error_io_vr (server, format, errno, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_warn_io_r (glibtop_server *server, char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|  | ||||
|     va_start (args, format); | ||||
|     glibtop_warn_io_vr (server, format, errno, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| #ifndef  __GNUC__ | ||||
|  | ||||
| static void | ||||
| glibtop_error (char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|     va_start (args, format); | ||||
|     glibtop_error_vr (glibtop_global_server, format, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| static void | ||||
| glibtop_warn (char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|     va_start (args, format); | ||||
|     glibtop_warn_vr (glibtop_global_server, format, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| static void | ||||
| glibtop_error_io (char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|     va_start (args, format); | ||||
|     glibtop_error_io_vr (glibtop_global_server, format, errno, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| static void | ||||
| glibtop_warn_io (char *format, ...) | ||||
| { | ||||
|     va_list args; | ||||
|     va_start (args, format); | ||||
|     glibtop_warn_io_vr (glibtop_global_server, format, errno, args); | ||||
|     va_end (args); | ||||
| } | ||||
|  | ||||
| #endif /* no __GNUC__ */ | ||||
							
								
								
									
										21
									
								
								lib/init.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								lib/init.c
									
									
									
									
									
								
							| @@ -1,5 +1,3 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
| @@ -17,8 +15,8 @@ | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
|    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||||
|    Boston, MA 02110-1301, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| @@ -28,12 +26,14 @@ | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/parameter.h> | ||||
| #include <glibtop/init_hooks.h> | ||||
| #include <glibtop/machine.h> | ||||
|  | ||||
|  | ||||
| #ifndef DEFAULT_PORT | ||||
| #define DEFAULT_PORT 42800 | ||||
| #endif | ||||
|  | ||||
| static glibtop _glibtop_global_server = { 0 }; | ||||
| static glibtop _glibtop_global_server; | ||||
| glibtop *glibtop_global_server = &_glibtop_global_server; | ||||
|  | ||||
| static void | ||||
| @@ -143,7 +143,7 @@ _init_server (glibtop *server, const unsigned features) | ||||
|  | ||||
| 		/* Open pipe to server. */ | ||||
| 		server->method = GLIBTOP_METHOD_PIPE; | ||||
|  | ||||
| 		server->server_command = g_strdup(LIBGTOP_SERVER); | ||||
| 	} else { | ||||
|  | ||||
| 		glibtop_error_r (server, "Unknown server method '%s'", | ||||
| @@ -175,6 +175,9 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags) | ||||
| 	/* Do the initialization, but only if not already initialized. */ | ||||
|  | ||||
| 	if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) { | ||||
|  | ||||
| 		glibtop_machine_new (server); | ||||
|  | ||||
| 		if (flags & GLIBTOP_FEATURES_EXCEPT) | ||||
| 			features = ~features & GLIBTOP_SYSDEPS_ALL; | ||||
|  | ||||
| @@ -211,7 +214,7 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags) | ||||
| 	/* Open server, but only if not already opened. */ | ||||
|  | ||||
| 	if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0) | ||||
| 		glibtop_open_l (glibtop_global_server, "glibtop", | ||||
| 		glibtop_open_l (server, "glibtop", | ||||
| 				features, flags); | ||||
|  | ||||
| 	return server; | ||||
| @@ -221,7 +224,9 @@ glibtop * | ||||
| glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags) | ||||
| { | ||||
| 	glibtop *server; | ||||
| 	const glibtop_init_func_t *init_fkt; | ||||
| 	const _glibtop_init_func_t *init_fkt; | ||||
|  | ||||
| 	glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags); | ||||
|  | ||||
| 	if (server_ptr == NULL) | ||||
| 		return NULL; | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user