Compare commits
	
		
			1248 Commits
		
	
	
		
			master-UNN
			...
			LIBGTOP_2_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					580558333e | ||
| 
						 | 
					702e3775c3 | ||
| 
						 | 
					a597640830 | ||
| 
						 | 
					a956784797 | ||
| 
						 | 
					e71023b362 | ||
| 
						 | 
					89f9c1d43a | ||
| 
						 | 
					29adf02352 | ||
| 
						 | 
					35030c878b | ||
| 
						 | 
					9b916ee402 | ||
| 
						 | 
					23ca9669ae | ||
| 
						 | 
					d66ae501f9 | ||
| 
						 | 
					ccb10a7b33 | ||
| 
						 | 
					9d2131a4b5 | ||
| 
						 | 
					7d3059e732 | ||
| 
						 | 
					d3add9e115 | ||
| 
						 | 
					101fe5874f | ||
| 
						 | 
					3afe2bf629 | ||
| 
						 | 
					e296c3a37a | ||
| 
						 | 
					2f3120d6c9 | ||
| 
						 | 
					806a816026 | ||
| 
						 | 
					ba7355df9e | ||
| 
						 | 
					451f9f9d6c | ||
| 
						 | 
					52fa57a39b | ||
| 
						 | 
					aa5ac8fc10 | ||
| 
						 | 
					a7db1f4dfd | ||
| 
						 | 
					91a312768d | ||
| 
						 | 
					d9a666470c | ||
| 
						 | 
					79fc0e70c0 | ||
| 
						 | 
					532f5ceb4f | ||
| 
						 | 
					a326e2dcac | ||
| 
						 | 
					8a626d9f97 | ||
| 
						 | 
					a6513af1c6 | ||
| 
						 | 
					95b2dfa326 | ||
| 
						 | 
					ac3ad6d2aa | ||
| 
						 | 
					4186c9a956 | ||
| 
						 | 
					7770480ad2 | ||
| 
						 | 
					50f20979df | ||
| 
						 | 
					78ec6945df | ||
| 
						 | 
					170b03f4f2 | ||
| 
						 | 
					c183276e2b | ||
| 
						 | 
					d7945bdc36 | ||
| 
						 | 
					2930c9f092 | ||
| 
						 | 
					fe6a33a5fd | ||
| 
						 | 
					30ebfb45d0 | ||
| 
						 | 
					b43a1e01c0 | ||
| 
						 | 
					88d606d814 | ||
| 
						 | 
					dd0d06898a | ||
| 
						 | 
					3e77f3cf13 | ||
| 
						 | 
					22a1120348 | ||
| 
						 | 
					da4dc46b7a | ||
| 
						 | 
					03bcc48da6 | ||
| 
						 | 
					708285f0d2 | ||
| 
						 | 
					a0493a0ff1 | ||
| 
						 | 
					9f7d505d20 | ||
| 
						 | 
					78cb7832c5 | ||
| 
						 | 
					b3979e6942 | ||
| 
						 | 
					92d3176303 | ||
| 
						 | 
					e5c7f87f50 | ||
| 
						 | 
					7e506a6c83 | ||
| 
						 | 
					1645027004 | ||
| 
						 | 
					8e656af060 | ||
| 
						 | 
					4efcfb2cb3 | ||
| 
						 | 
					59da1618b0 | ||
| 
						 | 
					e9ce3ccc1c | ||
| 
						 | 
					84e45a6519 | ||
| 
						 | 
					96fe554afd | ||
| 
						 | 
					16e0c943b2 | ||
| 
						 | 
					f409c553f5 | ||
| 
						 | 
					b6a10fd8f7 | ||
| 
						 | 
					efeca4a865 | ||
| 
						 | 
					5e70932b66 | ||
| 
						 | 
					d499bd3761 | ||
| 
						 | 
					48e3d5b2ec | ||
| 
						 | 
					55270e618e | ||
| 
						 | 
					a5c897b846 | ||
| 
						 | 
					b0093954b3 | ||
| 
						 | 
					c81e055427 | ||
| 
						 | 
					06fb19b5c6 | ||
| 
						 | 
					f8d9557257 | ||
| 
						 | 
					ef2ed50bf7 | ||
| 
						 | 
					c19ba1af03 | ||
| 
						 | 
					c1e5bdfb16 | ||
| 
						 | 
					be7dabf75d | ||
| 
						 | 
					d37b1b9a2e | ||
| 
						 | 
					6f755a5ca7 | ||
| 
						 | 
					4cd022b315 | ||
| 
						 | 
					69873a143d | ||
| 
						 | 
					f5655f12d3 | ||
| 
						 | 
					a71839c0a7 | ||
| 
						 | 
					74d9b24132 | ||
| 
						 | 
					d4ee5eb884 | ||
| 
						 | 
					872a4180e4 | ||
| 
						 | 
					e8351bae05 | ||
| 
						 | 
					adb38dd2a3 | ||
| 
						 | 
					755d5fe5f5 | ||
| 
						 | 
					d1891b11ef | ||
| 
						 | 
					765a919305 | ||
| 
						 | 
					ad2f74dbc3 | ||
| 
						 | 
					b017d60c83 | ||
| 
						 | 
					29a991160c | ||
| 
						 | 
					59fd67c7e0 | ||
| 
						 | 
					bbc10e3790 | ||
| 
						 | 
					f4f88ff224 | ||
| 
						 | 
					fffccf3309 | ||
| 
						 | 
					3c0e03ee89 | ||
| 
						 | 
					fa9216f771 | ||
| 
						 | 
					83a9bef192 | ||
| 
						 | 
					ca4dc56342 | ||
| 
						 | 
					a97ee0a513 | ||
| 
						 | 
					41a723fde4 | ||
| 
						 | 
					f673d2ea37 | ||
| 
						 | 
					cae488a4ee | ||
| 
						 | 
					ad79ab9540 | ||
| 
						 | 
					e958d8dbbe | ||
| 
						 | 
					a58e2f6385 | ||
| 
						 | 
					c505f26427 | ||
| 
						 | 
					53aec7429f | ||
| 
						 | 
					6099a46f42 | ||
| 
						 | 
					1711b912f1 | ||
| 
						 | 
					c817a9fac1 | ||
| 
						 | 
					a1657f81cb | ||
| 
						 | 
					0561316344 | ||
| 
						 | 
					2c0f291b3c | ||
| 
						 | 
					fc7d872381 | ||
| 
						 | 
					c97d63f368 | ||
| 
						 | 
					675145ea55 | ||
| 
						 | 
					965bd33d55 | ||
| 
						 | 
					7a5e1a0f37 | ||
| 
						 | 
					da24dd8fd9 | ||
| 
						 | 
					717ee1c88f | ||
| 
						 | 
					f031b77b3b | ||
| 
						 | 
					e0ae6ebcaa | ||
| 
						 | 
					16123b6fe9 | ||
| 
						 | 
					672da9122e | ||
| 
						 | 
					35f0277afd | ||
| 
						 | 
					8d77e50c03 | ||
| 
						 | 
					82dc5aefe1 | ||
| 
						 | 
					f2f5ab9b73 | ||
| 
						 | 
					49acc8769c | ||
| 
						 | 
					15759a964a | ||
| 
						 | 
					649b88a7fa | ||
| 
						 | 
					073a6dd8c1 | ||
| 
						 | 
					d61ad50e23 | ||
| 
						 | 
					53c43e6e90 | ||
| 
						 | 
					b43e879cc0 | ||
| 
						 | 
					0fdfd65a2a | ||
| 
						 | 
					1ac8744251 | ||
| 
						 | 
					bbbbb27edc | ||
| 
						 | 
					a5982555b9 | ||
| 
						 | 
					7d44f04aed | ||
| 
						 | 
					c9dc0d0ef8 | ||
| 
						 | 
					e82f908824 | ||
| 
						 | 
					8365f40856 | ||
| 
						 | 
					b2917db0be | ||
| 
						 | 
					3d21fd97f6 | ||
| 
						 | 
					666a347f25 | ||
| 
						 | 
					68db204d6a | ||
| 
						 | 
					fbe5c8da8e | ||
| 
						 | 
					a354ca2635 | ||
| 
						 | 
					639ea4870c | ||
| 
						 | 
					702d9a1501 | ||
| 
						 | 
					ea1a6dbaca | ||
| 
						 | 
					bb60753844 | ||
| 
						 | 
					d9781917c5 | ||
| 
						 | 
					bd119a72e2 | ||
| 
						 | 
					78c10bca9b | ||
| 
						 | 
					270ec235c1 | ||
| 
						 | 
					2362be986b | ||
| 
						 | 
					8a1e1cff91 | ||
| 
						 | 
					46380bf655 | ||
| 
						 | 
					91dda5b70d | ||
| 
						 | 
					9b263e0fbb | ||
| 
						 | 
					793807b07e | ||
| 
						 | 
					9898e7ee58 | ||
| 
						 | 
					7ecdcd712d | ||
| 
						 | 
					703a17f3f0 | ||
| 
						 | 
					92a9e7d937 | ||
| 
						 | 
					01c7e99aa6 | ||
| 
						 | 
					6fe16f1d91 | ||
| 
						 | 
					fcb83e637d | ||
| 
						 | 
					50e4e07013 | ||
| 
						 | 
					ab40c94db3 | ||
| 
						 | 
					fee415ecd8 | ||
| 
						 | 
					647a313d5b | ||
| 
						 | 
					70ac398a44 | ||
| 
						 | 
					48056f7d8a | ||
| 
						 | 
					7ca4171652 | ||
| 
						 | 
					1537eea7e5 | ||
| 
						 | 
					0a425e4e41 | ||
| 
						 | 
					0fa9c9bc61 | ||
| 
						 | 
					9561cf34b2 | ||
| 
						 | 
					be721ca476 | ||
| 
						 | 
					265da513de | ||
| 
						 | 
					a180cb5b10 | ||
| 
						 | 
					c517f20195 | ||
| 
						 | 
					e4ad12fd93 | ||
| 
						 | 
					c22300d109 | ||
| 
						 | 
					bffc09b594 | ||
| 
						 | 
					b7fd73bc5c | ||
| 
						 | 
					15904773f3 | ||
| 
						 | 
					b76ae7b1ca | ||
| 
						 | 
					006eddb5fe | ||
| 
						 | 
					7566ccf311 | ||
| 
						 | 
					cde49f488c | ||
| 
						 | 
					ce9ce223ca | ||
| 
						 | 
					71900c0e30 | ||
| 
						 | 
					817057bc3c | ||
| 
						 | 
					9fe6dadcec | ||
| 
						 | 
					3e06f95c84 | ||
| 
						 | 
					2ca1905547 | ||
| 
						 | 
					65d2d61d41 | ||
| 
						 | 
					8a4fd3c971 | ||
| 
						 | 
					c09e2fdead | ||
| 
						 | 
					fe5bb1c39c | ||
| 
						 | 
					4b310d26f7 | ||
| 
						 | 
					83759b2a4a | ||
| 
						 | 
					209219d5ce | ||
| 
						 | 
					8ce468228a | ||
| 
						 | 
					e9e2b7c09b | ||
| 
						 | 
					2fa0dc1cd8 | ||
| 
						 | 
					faa80b7b24 | ||
| 
						 | 
					7ff2372249 | ||
| 
						 | 
					f378a263b0 | ||
| 
						 | 
					77b892ebf7 | ||
| 
						 | 
					db2fed4da3 | ||
| 
						 | 
					160bdeaecd | ||
| 
						 | 
					1d6debfa56 | ||
| 
						 | 
					bbb6cbaa87 | ||
| 
						 | 
					ce229a4e19 | ||
| 
						 | 
					544aff2f18 | ||
| 
						 | 
					74f20ca469 | ||
| 
						 | 
					edd5156ca0 | ||
| 
						 | 
					7e5ccec8bf | ||
| 
						 | 
					fdf313cdf6 | ||
| 
						 | 
					9a6bb02fb1 | ||
| 
						 | 
					e6f0664c3b | ||
| 
						 | 
					405f0602e0 | ||
| 
						 | 
					b3dfc1d1d2 | ||
| 
						 | 
					13025c6c5f | ||
| 
						 | 
					bbcbe6b67d | ||
| 
						 | 
					6c586e844f | ||
| 
						 | 
					a1677aefa8 | ||
| 
						 | 
					9f91b2ddb8 | ||
| 
						 | 
					ca8d9657f0 | ||
| 
						 | 
					5bd4c5feeb | ||
| 
						 | 
					15a4ba35a9 | ||
| 
						 | 
					f028bd79bf | ||
| 
						 | 
					d809faba3e | ||
| 
						 | 
					d0833edb66 | ||
| 
						 | 
					9aae957919 | ||
| 
						 | 
					6d24f84fd6 | ||
| 
						 | 
					fe08779c6c | ||
| 
						 | 
					804b82eff8 | ||
| 
						 | 
					61889bc182 | ||
| 
						 | 
					c29887d4b0 | ||
| 
						 | 
					edb1e6a773 | ||
| 
						 | 
					5d97c3fa5e | ||
| 
						 | 
					e830a8eeb6 | ||
| 
						 | 
					a6410588cd | ||
| 
						 | 
					339b79b100 | ||
| 
						 | 
					831f0e7d68 | ||
| 
						 | 
					4882405885 | ||
| 
						 | 
					5b15a2d1a5 | ||
| 
						 | 
					6954b81396 | ||
| 
						 | 
					35dd4cf1ca | ||
| 
						 | 
					0b0b1ab43c | ||
| 
						 | 
					a6311d88c3 | ||
| 
						 | 
					f561120748 | ||
| 
						 | 
					b35532dd6f | ||
| 
						 | 
					c7d323749c | ||
| 
						 | 
					3d1997ca94 | ||
| 
						 | 
					b3fd15c190 | ||
| 
						 | 
					601cfef32f | ||
| 
						 | 
					86fd7f23c4 | ||
| 
						 | 
					3668b5bb19 | ||
| 
						 | 
					89f531cdbc | ||
| 
						 | 
					35488aef90 | ||
| 
						 | 
					dc31c8b8dd | ||
| 
						 | 
					a205458dbe | ||
| 
						 | 
					9ccd5cc4cb | ||
| 
						 | 
					0fb5f3df88 | ||
| 
						 | 
					c82734255b | ||
| 
						 | 
					19ebd69b93 | ||
| 
						 | 
					c93a83e78a | ||
| 
						 | 
					c968c56913 | ||
| 
						 | 
					8508785c67 | ||
| 
						 | 
					9d142723a6 | ||
| 
						 | 
					a0afc5616a | ||
| 
						 | 
					423d0e353d | ||
| 
						 | 
					a4307cb35d | ||
| 
						 | 
					0bc628484c | ||
| 
						 | 
					3bdad36198 | ||
| 
						 | 
					7a4c9fb40f | ||
| 
						 | 
					8c5093a395 | ||
| 
						 | 
					5ccd5980c0 | ||
| 
						 | 
					60c8aae6d9 | ||
| 
						 | 
					28a5db91d2 | ||
| 
						 | 
					770e39d2d2 | ||
| 
						 | 
					8ca47ad9e0 | ||
| 
						 | 
					49f1de8217 | ||
| 
						 | 
					63cc547156 | ||
| 
						 | 
					fcfd0bd852 | ||
| 
						 | 
					4b6c206598 | ||
| 
						 | 
					e81e7db939 | ||
| 
						 | 
					91adde3f3d | ||
| 
						 | 
					ef95ef85ff | ||
| 
						 | 
					ff160fa9f3 | ||
| 
						 | 
					11f37815a3 | ||
| 
						 | 
					16d9eebd1b | ||
| 
						 | 
					71c1792637 | ||
| 
						 | 
					6fc4a48c6f | ||
| 
						 | 
					550b9743c7 | ||
| 
						 | 
					36fe063384 | ||
| 
						 | 
					42c697c37e | ||
| 
						 | 
					91c53d4f22 | ||
| 
						 | 
					878826c871 | ||
| 
						 | 
					f9b9b8dbd9 | ||
| 
						 | 
					d20bbf57fe | ||
| 
						 | 
					6bbc66417a | ||
| 
						 | 
					336d234bce | ||
| 
						 | 
					a6df633a6f | ||
| 
						 | 
					8cd69ad3df | ||
| 
						 | 
					ab2881a412 | ||
| 
						 | 
					bce095739f | ||
| 
						 | 
					d872544eb7 | ||
| 
						 | 
					03e96ce487 | ||
| 
						 | 
					95dfedd71d | ||
| 
						 | 
					4cda07c19c | ||
| 
						 | 
					182f069928 | ||
| 
						 | 
					647f7c7be8 | ||
| 
						 | 
					808a2d48ac | ||
| 
						 | 
					5b39a4831d | ||
| 
						 | 
					275d96b6c7 | ||
| 
						 | 
					a6f5be63ce | ||
| 
						 | 
					b818519801 | ||
| 
						 | 
					7a3d548bb6 | ||
| 
						 | 
					dff4386212 | ||
| 
						 | 
					cb4a95bf02 | ||
| 
						 | 
					3502306b83 | ||
| 
						 | 
					69767956dc | ||
| 
						 | 
					e8158ec1b1 | ||
| 
						 | 
					995ca5afb9 | ||
| 
						 | 
					40c2e53355 | ||
| 
						 | 
					4c0a0244e5 | ||
| 
						 | 
					e794406321 | ||
| 
						 | 
					e0882a5c68 | ||
| 
						 | 
					4a7fb7c8cf | ||
| 
						 | 
					eca1b71b75 | ||
| 
						 | 
					81f0ecdcbe | ||
| 
						 | 
					d549b72975 | ||
| 
						 | 
					9737ebe1c9 | ||
| 
						 | 
					b91aceeccb | ||
| 
						 | 
					2bad1b2cd1 | ||
| 
						 | 
					16cda6232b | ||
| 
						 | 
					ff4fe5e846 | ||
| 
						 | 
					92c18d4e8a | ||
| 
						 | 
					644b0ebcf5 | ||
| 
						 | 
					e5a855db7c | ||
| 
						 | 
					bfc14a1925 | ||
| 
						 | 
					b1c611c7fc | ||
| 
						 | 
					18abf86346 | ||
| 
						 | 
					9e1b0a2814 | ||
| 
						 | 
					35db2e7496 | ||
| 
						 | 
					a8593d5b84 | ||
| 
						 | 
					de7fd9e85b | ||
| 
						 | 
					c30e6a0dd2 | ||
| 
						 | 
					47b0db5ca9 | ||
| 
						 | 
					2e6438e582 | ||
| 
						 | 
					babe152ba2 | ||
| 
						 | 
					7612022e83 | ||
| 
						 | 
					24073c48c5 | ||
| 
						 | 
					b55ecd65bc | ||
| 
						 | 
					50f086cb68 | ||
| 
						 | 
					8eae848c3f | ||
| 
						 | 
					d8a9aebdf5 | ||
| 
						 | 
					76c967224b | ||
| 
						 | 
					a08c8d96bb | ||
| 
						 | 
					b279819639 | ||
| 
						 | 
					99723e15ba | ||
| 
						 | 
					6b3d52ff0e | ||
| 
						 | 
					bb01063e93 | ||
| 
						 | 
					e12ac5f40c | ||
| 
						 | 
					34e322e7c2 | ||
| 
						 | 
					559f481354 | ||
| 
						 | 
					bb4397aec8 | ||
| 
						 | 
					7eeae24a4a | ||
| 
						 | 
					7fe2ca8cd7 | ||
| 
						 | 
					16bcad422c | ||
| 
						 | 
					3881c09b51 | ||
| 
						 | 
					cd8b43e1d1 | ||
| 
						 | 
					6a10d1ada9 | ||
| 
						 | 
					a415d909a2 | ||
| 
						 | 
					09febbf67d | ||
| 
						 | 
					d5b8a71e5b | ||
| 
						 | 
					f03e2d3c11 | ||
| 
						 | 
					ac2b8285ab | ||
| 
						 | 
					4de267e394 | ||
| 
						 | 
					10d56bd5fc | ||
| 
						 | 
					70b0925a82 | ||
| 
						 | 
					b0edf88ff7 | ||
| 
						 | 
					4fe066a430 | ||
| 
						 | 
					95d39a87c8 | ||
| 
						 | 
					54fb1482ba | ||
| 
						 | 
					2f87aa4479 | ||
| 
						 | 
					31e8abe019 | ||
| 
						 | 
					d8cb4ccdf7 | ||
| 
						 | 
					45f2f19c3a | ||
| 
						 | 
					fe494bc846 | ||
| 
						 | 
					7de929d2d7 | ||
| 
						 | 
					bc4a882c4a | ||
| 
						 | 
					75291a665c | ||
| 
						 | 
					5af13a2a6a | ||
| 
						 | 
					0cdaaf1f62 | ||
| 
						 | 
					0a761f37f2 | ||
| 
						 | 
					dc3027c438 | ||
| 
						 | 
					74453855aa | ||
| 
						 | 
					b15f542bfc | ||
| 
						 | 
					1faa40ce18 | ||
| 
						 | 
					4e4a2bcbed | ||
| 
						 | 
					0de7c96d2a | ||
| 
						 | 
					f070fea744 | ||
| 
						 | 
					f416087865 | ||
| 
						 | 
					cc8b169a8e | ||
| 
						 | 
					31eb5d64cc | ||
| 
						 | 
					5670749242 | ||
| 
						 | 
					892c59f8a8 | ||
| 
						 | 
					07ec479243 | ||
| 
						 | 
					45b69b3277 | ||
| 
						 | 
					ea9147a717 | ||
| 
						 | 
					dc0de7a8c0 | ||
| 
						 | 
					5884e4c6d7 | ||
| 
						 | 
					0ef0f65d95 | ||
| 
						 | 
					355a8dd9b9 | ||
| 
						 | 
					2b221cbb1f | ||
| 
						 | 
					1cffda35ec | ||
| 
						 | 
					64b86ef8e3 | ||
| 
						 | 
					aa7d624aca | ||
| 
						 | 
					bb174b24e9 | ||
| 
						 | 
					1d00248f3d | ||
| 
						 | 
					c2895a9aa0 | ||
| 
						 | 
					576aed18ba | ||
| 
						 | 
					a4ee15727c | ||
| 
						 | 
					6cd93d82a0 | ||
| 
						 | 
					1d73fbed99 | ||
| 
						 | 
					89e79ee51f | ||
| 
						 | 
					f3be4b50a9 | ||
| 
						 | 
					ab1d1077d6 | ||
| 
						 | 
					3c7c79944c | ||
| 
						 | 
					897db07104 | ||
| 
						 | 
					4bd9752d52 | ||
| 
						 | 
					a795ff4847 | ||
| 
						 | 
					58c15ceeda | ||
| 
						 | 
					f3e89490d4 | ||
| 
						 | 
					10e619439e | ||
| 
						 | 
					05f3377934 | ||
| 
						 | 
					2ae3495a87 | ||
| 
						 | 
					bbea6f3e16 | ||
| 
						 | 
					74afd1c1d1 | ||
| 
						 | 
					1c57c82637 | ||
| 
						 | 
					857b940e93 | ||
| 
						 | 
					aac28131d8 | ||
| 
						 | 
					a3c4323de4 | ||
| 
						 | 
					6ae17d92b2 | ||
| 
						 | 
					0fa183a762 | ||
| 
						 | 
					567da04f9c | ||
| 
						 | 
					a046e42f3f | ||
| 
						 | 
					c881020dc3 | ||
| 
						 | 
					116348de15 | ||
| 
						 | 
					b48b12e12b | ||
| 
						 | 
					1c61b27933 | ||
| 
						 | 
					7b86568eb0 | ||
| 
						 | 
					60ccb2ca26 | ||
| 
						 | 
					1cc7293497 | ||
| 
						 | 
					62ee900299 | ||
| 
						 | 
					00f9d271f2 | ||
| 
						 | 
					16073f4179 | ||
| 
						 | 
					a3a2c8cf21 | ||
| 
						 | 
					d9aca3dd2c | ||
| 
						 | 
					a931b14a9b | ||
| 
						 | 
					87f2a442d9 | ||
| 
						 | 
					d06db7bd7a | ||
| 
						 | 
					49aa40e524 | ||
| 
						 | 
					955b2d5c82 | ||
| 
						 | 
					e25dba32e2 | ||
| 
						 | 
					bf20705511 | ||
| 
						 | 
					53a7a2e40c | ||
| 
						 | 
					e8d4ffed34 | ||
| 
						 | 
					056a7e5cc5 | ||
| 
						 | 
					c1fd4120c5 | ||
| 
						 | 
					d076fa81cc | ||
| 
						 | 
					79fdd6cd3b | ||
| 
						 | 
					291d63f2b9 | ||
| 
						 | 
					f93de2fd0b | ||
| 
						 | 
					cea6b6292d | ||
| 
						 | 
					9ea55a3f4d | ||
| 
						 | 
					310a51dd8f | ||
| 
						 | 
					0cd19c9db1 | ||
| 
						 | 
					04290020ea | ||
| 
						 | 
					315397219b | ||
| 
						 | 
					b836fa0c60 | ||
| 
						 | 
					765064dd80 | ||
| 
						 | 
					02d7b4b3de | ||
| 
						 | 
					fc130166dd | ||
| 
						 | 
					1625b5304f | ||
| 
						 | 
					3a3ac84cae | ||
| 
						 | 
					db6de7b017 | ||
| 
						 | 
					a544c1ddb0 | ||
| 
						 | 
					31133cc3dc | ||
| 
						 | 
					58b323cfab | ||
| 
						 | 
					07d991f383 | ||
| 
						 | 
					a50e5fdc9a | ||
| 
						 | 
					10305e7fd0 | ||
| 
						 | 
					33fb22edd3 | ||
| 
						 | 
					b2283f7c79 | ||
| 
						 | 
					adc9a55578 | ||
| 
						 | 
					ac8f958305 | ||
| 
						 | 
					40a615e1df | ||
| 
						 | 
					b67e4c7f7d | ||
| 
						 | 
					ba36a20cb8 | ||
| 
						 | 
					af8478ca5f | ||
| 
						 | 
					532aec1891 | ||
| 
						 | 
					cdfa0dfa1f | ||
| 
						 | 
					21c4e155dd | ||
| 
						 | 
					45273d9a44 | ||
| 
						 | 
					80aeb305c2 | ||
| 
						 | 
					4c8ae9e25c | ||
| 
						 | 
					bae16b467f | ||
| 
						 | 
					5e28a55218 | ||
| 
						 | 
					4d0bca118a | ||
| 
						 | 
					c3011b646c | ||
| 
						 | 
					b94a36c719 | ||
| 
						 | 
					7aaa4454ab | ||
| 
						 | 
					6572ee1baf | ||
| 
						 | 
					c95d39dde7 | ||
| 
						 | 
					a32503df9b | ||
| 
						 | 
					d31e33d4bf | ||
| 
						 | 
					09becf3b7d | ||
| 
						 | 
					6e9589702f | ||
| 
						 | 
					ab7f98d2ff | ||
| 
						 | 
					75b2832076 | ||
| 
						 | 
					142a323364 | ||
| 
						 | 
					3a4a550e06 | ||
| 
						 | 
					2fc6e07c0f | ||
| 
						 | 
					2d4db7f03f | ||
| 
						 | 
					9b87f4586e | ||
| 
						 | 
					9ff3af644c | ||
| 
						 | 
					ffb5f13711 | ||
| 
						 | 
					6dbc1e0d4a | ||
| 
						 | 
					c660c08b6f | ||
| 
						 | 
					2ce38167e1 | ||
| 
						 | 
					7cad52aaa0 | ||
| 
						 | 
					61f8cb7ff2 | ||
| 
						 | 
					f05ee369d5 | ||
| 
						 | 
					c3bfcf38a8 | ||
| 
						 | 
					1552efa493 | ||
| 
						 | 
					9bb1b80751 | ||
| 
						 | 
					40140ad487 | ||
| 
						 | 
					47e518d612 | ||
| 
						 | 
					4e4cf10334 | ||
| 
						 | 
					b02653eef9 | ||
| 
						 | 
					bfb2d1b25c | ||
| 
						 | 
					1042379d6d | ||
| 
						 | 
					240d07da28 | ||
| 
						 | 
					fb2247a58b | ||
| 
						 | 
					c04ee88f00 | ||
| 
						 | 
					1b44968284 | ||
| 
						 | 
					47bad7fac1 | ||
| 
						 | 
					7691d85225 | ||
| 
						 | 
					d0863b7406 | ||
| 
						 | 
					7afa0e0be7 | ||
| 
						 | 
					0c260bfef1 | ||
| 
						 | 
					312baf1bc2 | ||
| 
						 | 
					1dc0883059 | ||
| 
						 | 
					222b93c33f | ||
| 
						 | 
					db93479a51 | ||
| 
						 | 
					236d2b18e7 | ||
| 
						 | 
					08956770d2 | ||
| 
						 | 
					7a7c6baf55 | ||
| 
						 | 
					5bfb085021 | ||
| 
						 | 
					dfb9d6f967 | ||
| 
						 | 
					530cc00ae7 | ||
| 
						 | 
					a3557112a7 | ||
| 
						 | 
					3f34aafc6e | ||
| 
						 | 
					d6630b9f7a | ||
| 
						 | 
					3b7c109916 | ||
| 
						 | 
					c5fcc9aad6 | ||
| 
						 | 
					f4fc67f85c | ||
| 
						 | 
					bcc4ec968e | ||
| 
						 | 
					543b3b9160 | ||
| 
						 | 
					aac46b6daf | ||
| 
						 | 
					407514e4d7 | ||
| 
						 | 
					1491ccc594 | ||
| 
						 | 
					14b462fdc5 | ||
| 
						 | 
					1c64d5c704 | ||
| 
						 | 
					21ecc84514 | ||
| 
						 | 
					b7acfa6441 | ||
| 
						 | 
					de0391e6a4 | ||
| 
						 | 
					56e7068a8b | ||
| 
						 | 
					ed9140570e | ||
| 
						 | 
					ae5ecfe538 | ||
| 
						 | 
					fdd8cb8d27 | ||
| 
						 | 
					2c986b988f | ||
| 
						 | 
					46cf060788 | ||
| 
						 | 
					6ded77b938 | ||
| 
						 | 
					b730035db5 | ||
| 
						 | 
					38755e23a3 | ||
| 
						 | 
					94a24147c7 | ||
| 
						 | 
					5e08479a71 | ||
| 
						 | 
					bb24644744 | ||
| 
						 | 
					eb8fd1d1be | ||
| 
						 | 
					f349d3a624 | ||
| 
						 | 
					a0b236f4f7 | ||
| 
						 | 
					e5e1729baf | ||
| 
						 | 
					b035190e66 | ||
| 
						 | 
					427504e7ac | ||
| 
						 | 
					33c49d7c14 | ||
| 
						 | 
					c24b7f3bc4 | ||
| 
						 | 
					e76a450779 | ||
| 
						 | 
					c0fc0f4cb4 | ||
| 
						 | 
					5c597901ad | ||
| 
						 | 
					d3145d1b8b | ||
| 
						 | 
					1ac0f147b7 | ||
| 
						 | 
					fdb4a824fc | ||
| 
						 | 
					2449e92804 | ||
| 
						 | 
					7846ac218d | ||
| 
						 | 
					5b34c23069 | ||
| 
						 | 
					b6ee365761 | ||
| 
						 | 
					e4f5543f9d | ||
| 
						 | 
					a7f8debaa2 | ||
| 
						 | 
					34e8918003 | ||
| 
						 | 
					478be2d170 | ||
| 
						 | 
					8a78a93e0c | ||
| 
						 | 
					622eb0ea5b | ||
| 
						 | 
					455118131e | ||
| 
						 | 
					74ab42d100 | ||
| 
						 | 
					d294298c7e | ||
| 
						 | 
					4befe086c4 | ||
| 
						 | 
					98930be564 | ||
| 
						 | 
					16b81f0d91 | ||
| 
						 | 
					dfd678599f | ||
| 
						 | 
					6e4f80b8e2 | ||
| 
						 | 
					f704c4becf | ||
| 
						 | 
					9ab1889a3f | ||
| 
						 | 
					201e78d00a | ||
| 
						 | 
					d8cb698ae4 | ||
| 
						 | 
					876b2725c0 | ||
| 
						 | 
					c06a084fcf | ||
| 
						 | 
					cee38c53bc | ||
| 
						 | 
					81b009733e | ||
| 
						 | 
					035b387463 | ||
| 
						 | 
					158dec2b2a | ||
| 
						 | 
					752d5b47d2 | ||
| 
						 | 
					c15ff3f342 | ||
| 
						 | 
					7a7e7d1bc3 | ||
| 
						 | 
					6511ad348b | ||
| 
						 | 
					5b1eb2290a | ||
| 
						 | 
					00aed22f17 | ||
| 
						 | 
					15c1ad1bd9 | ||
| 
						 | 
					e1d552d9f7 | ||
| 
						 | 
					60749e0bef | ||
| 
						 | 
					bd01a45455 | ||
| 
						 | 
					54529c2425 | ||
| 
						 | 
					cf62a380bf | ||
| 
						 | 
					ab2a4e6e6a | ||
| 
						 | 
					7a9428a0e5 | ||
| 
						 | 
					da80f53deb | ||
| 
						 | 
					ae15c4159c | ||
| 
						 | 
					eaee97b2bf | ||
| 
						 | 
					94882bbc60 | ||
| 
						 | 
					1e02e69b4a | ||
| 
						 | 
					8277cc4d67 | ||
| 
						 | 
					29858d29d8 | ||
| 
						 | 
					984baf22f2 | ||
| 
						 | 
					cdd3862061 | ||
| 
						 | 
					c7cec23cf4 | ||
| 
						 | 
					55b6e2e082 | ||
| 
						 | 
					7d481fc8e9 | ||
| 
						 | 
					50a02de454 | ||
| 
						 | 
					1fcdf1af86 | ||
| 
						 | 
					c62a74fb5a | ||
| 
						 | 
					608ac42afe | ||
| 
						 | 
					99a3b1fe82 | ||
| 
						 | 
					ec00e62a54 | ||
| 
						 | 
					29060eb6ce | ||
| 
						 | 
					5301e8a86a | ||
| 
						 | 
					dc103ad41d | ||
| 
						 | 
					de91c11f87 | ||
| 
						 | 
					b6091762ac | ||
| 
						 | 
					4719557dae | ||
| 
						 | 
					f4a05d8fc9 | ||
| 
						 | 
					0ff66c2eaa | ||
| 
						 | 
					a40a438ec8 | ||
| 
						 | 
					718cd38098 | ||
| 
						 | 
					6b88dcd4aa | ||
| 
						 | 
					29b428608d | ||
| 
						 | 
					e487fc30f4 | ||
| 
						 | 
					578e5a5194 | ||
| 
						 | 
					fb08ec7144 | ||
| 
						 | 
					a51ffb6b73 | ||
| 
						 | 
					0ecdde94c2 | ||
| 
						 | 
					969260c9a9 | ||
| 
						 | 
					fe00191113 | ||
| 
						 | 
					60f0ea7dc2 | ||
| 
						 | 
					d6c8167076 | ||
| 
						 | 
					26b2aaa2db | ||
| 
						 | 
					0b45f63e61 | ||
| 
						 | 
					a790130414 | ||
| 
						 | 
					f36d5e5370 | ||
| 
						 | 
					5dbfe42493 | ||
| 
						 | 
					76f1fb641c | ||
| 
						 | 
					7b30b1ec86 | ||
| 
						 | 
					9e2a8f7db8 | ||
| 
						 | 
					d6a6d70c75 | ||
| 
						 | 
					da16460aad | ||
| 
						 | 
					444ede9949 | ||
| 
						 | 
					b25b0cf4d4 | ||
| 
						 | 
					f282240c0c | ||
| 
						 | 
					8d6e26a8d6 | ||
| 
						 | 
					62af029665 | ||
| 
						 | 
					e43f1a64c5 | ||
| 
						 | 
					f92c264826 | ||
| 
						 | 
					350e4e799d | ||
| 
						 | 
					6c6d8e006e | ||
| 
						 | 
					df3901571d | ||
| 
						 | 
					a4db88252e | ||
| 
						 | 
					48440ac59b | ||
| 
						 | 
					c3a55796c2 | ||
| 
						 | 
					33a659ab06 | ||
| 
						 | 
					5e8644d736 | ||
| 
						 | 
					14e7219160 | ||
| 
						 | 
					5f0246b07d | ||
| 
						 | 
					fa20de8904 | ||
| 
						 | 
					00d9dd7065 | ||
| 
						 | 
					0a3a0c1a34 | ||
| 
						 | 
					a9ed25e7fc | ||
| 
						 | 
					e577aa3d08 | ||
| 
						 | 
					8bcbf2f86c | ||
| 
						 | 
					1e9cb3ea2a | ||
| 
						 | 
					7e24f71432 | ||
| 
						 | 
					4dad0e5b8c | ||
| 
						 | 
					9dc214b3e7 | ||
| 
						 | 
					7700a6525e | ||
| 
						 | 
					28150c48f7 | ||
| 
						 | 
					1f6916b5d0 | ||
| 
						 | 
					36c36b9afb | ||
| 
						 | 
					6402efe196 | ||
| 
						 | 
					00a32c887c | ||
| 
						 | 
					c92bf0f9a9 | ||
| 
						 | 
					44027f6bd2 | ||
| 
						 | 
					3fec7a0946 | ||
| 
						 | 
					47d4322965 | ||
| 
						 | 
					7ae71b3d8f | ||
| 
						 | 
					a73800ae2d | ||
| 
						 | 
					b124998639 | ||
| 
						 | 
					238d03677a | ||
| 
						 | 
					0f3babc8e9 | ||
| 
						 | 
					55ff827b50 | ||
| 
						 | 
					0daf65ef73 | ||
| 
						 | 
					2eab7cfc48 | ||
| 
						 | 
					a691993a86 | ||
| 
						 | 
					d3e83afb0a | ||
| 
						 | 
					129e4bc0ac | ||
| 
						 | 
					faec393b8d | ||
| 
						 | 
					a7d39be2b5 | ||
| 
						 | 
					8892637796 | ||
| 
						 | 
					00a9f98ee0 | ||
| 
						 | 
					4b8a9ece16 | ||
| 
						 | 
					fc8645245a | ||
| 
						 | 
					2d4553adf2 | ||
| 
						 | 
					5f02295a63 | ||
| 
						 | 
					8b1dd440ee | ||
| 
						 | 
					77a1a6a43d | ||
| 
						 | 
					e9c8125828 | ||
| 
						 | 
					3212af2fb4 | ||
| 
						 | 
					52dbe1469d | ||
| 
						 | 
					837ee6bcc6 | ||
| 
						 | 
					8a85be8f00 | ||
| 
						 | 
					3455d025a2 | ||
| 
						 | 
					d2f4502e74 | ||
| 
						 | 
					2144fab671 | ||
| 
						 | 
					e8c90833e8 | ||
| 
						 | 
					d567c86818 | ||
| 
						 | 
					931ba0fa8d | ||
| 
						 | 
					8da7cfd032 | ||
| 
						 | 
					3fa1063b74 | ||
| 
						 | 
					e2d5319441 | ||
| 
						 | 
					85a7719f39 | ||
| 
						 | 
					490a05d01c | ||
| 
						 | 
					b54197c2e1 | ||
| 
						 | 
					86dbeab484 | ||
| 
						 | 
					15da337d8a | ||
| 
						 | 
					992e064952 | ||
| 
						 | 
					26ff5dbd79 | ||
| 
						 | 
					473ecd6b3a | ||
| 
						 | 
					e5b75b86fc | ||
| 
						 | 
					d826c3e48c | ||
| 
						 | 
					f10223b8eb | ||
| 
						 | 
					7e28d2d5dc | ||
| 
						 | 
					d8aa36d637 | ||
| 
						 | 
					9deecf345e | ||
| 
						 | 
					dd17bc8f92 | ||
| 
						 | 
					f11195b104 | ||
| 
						 | 
					74f688c5d1 | ||
| 
						 | 
					65b08749cf | ||
| 
						 | 
					f7b69ebfae | ||
| 
						 | 
					371371b633 | ||
| 
						 | 
					d423559605 | ||
| 
						 | 
					f3d309441a | ||
| 
						 | 
					fabb12370f | ||
| 
						 | 
					5af2aab0bf | ||
| 
						 | 
					dd8c31ebda | ||
| 
						 | 
					4d402ecc14 | ||
| 
						 | 
					b660c7a0f7 | ||
| 
						 | 
					20c306fc6d | ||
| 
						 | 
					2a86a5de49 | ||
| 
						 | 
					7ba17b2bee | ||
| 
						 | 
					31067e703d | ||
| 
						 | 
					12e32ffc24 | ||
| 
						 | 
					b4122165eb | ||
| 
						 | 
					c17f8f2421 | ||
| 
						 | 
					e2e5c3a1cc | ||
| 
						 | 
					8d532c6298 | ||
| 
						 | 
					50f0929ae8 | ||
| 
						 | 
					62c59f6087 | ||
| 
						 | 
					f0aab5a724 | ||
| 
						 | 
					27bf526b85 | ||
| 
						 | 
					bb15be7198 | ||
| 
						 | 
					fe86288e76 | ||
| 
						 | 
					fc4f288ce1 | ||
| 
						 | 
					7e20f2f5f2 | ||
| 
						 | 
					720cb52cf3 | ||
| 
						 | 
					d74c329404 | ||
| 
						 | 
					b8fec13607 | ||
| 
						 | 
					8b8e1de19a | ||
| 
						 | 
					38d6f5ad0c | ||
| 
						 | 
					4e42a2aa17 | ||
| 
						 | 
					8491b51264 | ||
| 
						 | 
					c164df664d | ||
| 
						 | 
					fa592c3a94 | ||
| 
						 | 
					cb96ce0ad2 | ||
| 
						 | 
					938a444edf | ||
| 
						 | 
					995b506920 | ||
| 
						 | 
					ba466fe572 | ||
| 
						 | 
					c2e40852b6 | ||
| 
						 | 
					a1c574c502 | ||
| 
						 | 
					9b8fd192d0 | ||
| 
						 | 
					c37460ad3d | ||
| 
						 | 
					d1e708b2cb | ||
| 
						 | 
					8745316574 | ||
| 
						 | 
					ec5b8790ec | ||
| 
						 | 
					d9105dfe8a | ||
| 
						 | 
					386f66d7e2 | ||
| 
						 | 
					fa5d2af7ea | ||
| 
						 | 
					e0d9f28674 | ||
| 
						 | 
					6fe80f02ce | ||
| 
						 | 
					cdfee65492 | ||
| 
						 | 
					44016ac371 | ||
| 
						 | 
					58fa4a5955 | ||
| 
						 | 
					cd9c5b7967 | ||
| 
						 | 
					141c863f54 | ||
| 
						 | 
					24743243a8 | ||
| 
						 | 
					c2848e73af | ||
| 
						 | 
					57d102425f | ||
| 
						 | 
					68a40b5cba | ||
| 
						 | 
					75ed7287d1 | ||
| 
						 | 
					8797d18587 | ||
| 
						 | 
					a567f1a8d1 | ||
| 
						 | 
					945ec9b0b1 | ||
| 
						 | 
					adc575dcdf | ||
| 
						 | 
					e593861d7f | ||
| 
						 | 
					36c0941dda | ||
| 
						 | 
					f1a6e1ead8 | ||
| 
						 | 
					d7f088bef0 | ||
| 
						 | 
					f489ea871d | ||
| 
						 | 
					7ae08dcf4f | ||
| 
						 | 
					de90df6a63 | ||
| 
						 | 
					addb3101f2 | ||
| 
						 | 
					e162a06a1a | ||
| 
						 | 
					b9abc7c3ef | ||
| 
						 | 
					c76bf0bfab | ||
| 
						 | 
					e7b42a66b1 | ||
| 
						 | 
					bbb539ef56 | ||
| 
						 | 
					dbb5f9b636 | ||
| 
						 | 
					1979cb8104 | ||
| 
						 | 
					91e94f9c0d | ||
| 
						 | 
					42cbc7cf0c | ||
| 
						 | 
					595553ae0b | ||
| 
						 | 
					e03b665dd1 | ||
| 
						 | 
					d0441219cb | ||
| 
						 | 
					ac0cce9d6f | ||
| 
						 | 
					1ad3a69d8f | ||
| 
						 | 
					d86a386ad8 | ||
| 
						 | 
					d66768ac55 | ||
| 
						 | 
					567ceac52f | ||
| 
						 | 
					47a0ef64d8 | ||
| 
						 | 
					5f649a7613 | ||
| 
						 | 
					d4b712db86 | ||
| 
						 | 
					339e1f4557 | ||
| 
						 | 
					da42214e86 | ||
| 
						 | 
					c5ebf9c12e | ||
| 
						 | 
					6b201a78e0 | ||
| 
						 | 
					d2d8d38db4 | ||
| 
						 | 
					0dee417e1d | ||
| 
						 | 
					a0056665ae | ||
| 
						 | 
					9b245d8113 | ||
| 
						 | 
					d098b19d4d | ||
| 
						 | 
					3aaa326bab | ||
| 
						 | 
					1a25c3ade9 | ||
| 
						 | 
					881c2a2086 | ||
| 
						 | 
					a33f4df47e | ||
| 
						 | 
					4748c6c4d7 | ||
| 
						 | 
					18af9297ea | ||
| 
						 | 
					c138d87c30 | ||
| 
						 | 
					709c5378f8 | ||
| 
						 | 
					8e9a0fbe99 | ||
| 
						 | 
					117af5f59b | ||
| 
						 | 
					4dccb636e2 | ||
| 
						 | 
					c40788c5b2 | ||
| 
						 | 
					ca27a66593 | ||
| 
						 | 
					713a076df3 | ||
| 
						 | 
					abaa37c51f | ||
| 
						 | 
					4a2fb0a871 | ||
| 
						 | 
					5ddf25c66a | ||
| 
						 | 
					ff9f90c7e6 | ||
| 
						 | 
					d48d48cafb | ||
| 
						 | 
					2bb9bc624d | ||
| 
						 | 
					069eb707f0 | ||
| 
						 | 
					c1cae4e9ba | ||
| 
						 | 
					f5efccc8d6 | ||
| 
						 | 
					f6e4fefd66 | ||
| 
						 | 
					66bab0ec49 | ||
| 
						 | 
					2b501953ce | ||
| 
						 | 
					150d9c9961 | ||
| 
						 | 
					e5b62ecc0b | ||
| 
						 | 
					b621d3cf1c | ||
| 
						 | 
					9abff2143d | ||
| 
						 | 
					5d224583a1 | ||
| 
						 | 
					fdc5890b09 | ||
| 
						 | 
					f850409d45 | ||
| 
						 | 
					d58748ac66 | ||
| 
						 | 
					4a01752467 | ||
| 
						 | 
					53f9d03e30 | ||
| 
						 | 
					776b6965fb | ||
| 
						 | 
					aeeef43f45 | ||
| 
						 | 
					b60b7fd201 | ||
| 
						 | 
					f918792bb6 | ||
| 
						 | 
					abb3ba2c6a | ||
| 
						 | 
					566e05bb33 | ||
| 
						 | 
					6380440c00 | ||
| 
						 | 
					f8e6fb5674 | ||
| 
						 | 
					ac83dcc3b3 | ||
| 
						 | 
					b746f488b0 | ||
| 
						 | 
					e5a7a5b0e5 | ||
| 
						 | 
					f8aae8f544 | ||
| 
						 | 
					3f8ad111b2 | ||
| 
						 | 
					81176f8181 | ||
| 
						 | 
					cdc8e43a79 | ||
| 
						 | 
					ae69444b3b | ||
| 
						 | 
					28257e906b | ||
| 
						 | 
					7a9bb6e43d | ||
| 
						 | 
					507f171b63 | ||
| 
						 | 
					1dadfb6d15 | ||
| 
						 | 
					2dc529b19f | ||
| 
						 | 
					a5dd7e9063 | ||
| 
						 | 
					eae892c9b1 | ||
| 
						 | 
					71e81ccad3 | ||
| 
						 | 
					eeaa766456 | ||
| 
						 | 
					17627bab9f | ||
| 
						 | 
					7327906fde | ||
| 
						 | 
					3c3dfcd77d | ||
| 
						 | 
					0adc3bd9ab | ||
| 
						 | 
					0c3e5cd755 | ||
| 
						 | 
					34714be205 | ||
| 
						 | 
					77cf90cfb0 | ||
| 
						 | 
					359f5511d7 | ||
| 
						 | 
					9043e29b18 | ||
| 
						 | 
					d59b8e5220 | ||
| 
						 | 
					ebbeb1a058 | ||
| 
						 | 
					afeb4d50a5 | ||
| 
						 | 
					7fb4f43469 | ||
| 
						 | 
					ca0cdbae5a | ||
| 
						 | 
					879b173ae4 | ||
| 
						 | 
					58b341ceec | ||
| 
						 | 
					98981183d8 | ||
| 
						 | 
					2747d6bd2a | ||
| 
						 | 
					e76df47af0 | ||
| 
						 | 
					04fbf58c18 | ||
| 
						 | 
					10dcb079f7 | ||
| 
						 | 
					8da7856780 | ||
| 
						 | 
					78a6bcd553 | ||
| 
						 | 
					66dd76be8f | ||
| 
						 | 
					2174194bbd | ||
| 
						 | 
					d58d11fa29 | ||
| 
						 | 
					20bc40ac18 | ||
| 
						 | 
					7881e4212f | ||
| 
						 | 
					aaca4e7cd6 | ||
| 
						 | 
					3250583253 | ||
| 
						 | 
					be4c952542 | ||
| 
						 | 
					5656ad7f6c | ||
| 
						 | 
					ed3ab3d31d | ||
| 
						 | 
					7c0f91b7f5 | ||
| 
						 | 
					8619b3a79b | ||
| 
						 | 
					f71e60619d | ||
| 
						 | 
					3274a72cda | ||
| 
						 | 
					c285171500 | ||
| 
						 | 
					16156b8e27 | ||
| 
						 | 
					56f34dd385 | ||
| 
						 | 
					4d910a33fc | ||
| 
						 | 
					e0ec7f5c67 | ||
| 
						 | 
					886896137c | ||
| 
						 | 
					e0a91cb479 | ||
| 
						 | 
					bc51f8c734 | ||
| 
						 | 
					a396e42fa8 | ||
| 
						 | 
					009c491b9b | ||
| 
						 | 
					9667d88e60 | ||
| 
						 | 
					de68843eda | ||
| 
						 | 
					cb52909ded | ||
| 
						 | 
					52c9bb06c7 | ||
| 
						 | 
					2957ec5b57 | ||
| 
						 | 
					f384aae3a4 | ||
| 
						 | 
					3a3899fda1 | ||
| 
						 | 
					9cba48fbc9 | ||
| 
						 | 
					86fbcede24 | ||
| 
						 | 
					6e7ba4a9ca | ||
| 
						 | 
					8f02d15fb9 | ||
| 
						 | 
					cecae08c13 | ||
| 
						 | 
					9152479981 | ||
| 
						 | 
					2814206ffa | ||
| 
						 | 
					a5c839da3a | ||
| 
						 | 
					e3c3db72e2 | ||
| 
						 | 
					1318d89456 | ||
| 
						 | 
					68f97794bd | ||
| 
						 | 
					9bd351abae | ||
| 
						 | 
					60a6d0876e | ||
| 
						 | 
					6b11b4b581 | ||
| 
						 | 
					58cfb44e52 | ||
| 
						 | 
					df3fb1c6fa | ||
| 
						 | 
					71bda8b99d | ||
| 
						 | 
					331e128116 | ||
| 
						 | 
					69de36e70f | ||
| 
						 | 
					b9cbea40e7 | ||
| 
						 | 
					7654d547d7 | ||
| 
						 | 
					995e9ffd47 | ||
| 
						 | 
					11e6109a4a | ||
| 
						 | 
					9e79025aef | ||
| 
						 | 
					c1ea6cd689 | ||
| 
						 | 
					4322ef4b37 | ||
| 
						 | 
					e56d9e3fb0 | ||
| 
						 | 
					833170d18c | ||
| 
						 | 
					9ef8c5739b | ||
| 
						 | 
					b8cdd9e090 | ||
| 
						 | 
					cad4a8da0d | ||
| 
						 | 
					432adade05 | ||
| 
						 | 
					e9baa3543e | ||
| 
						 | 
					d5c8af57f3 | ||
| 
						 | 
					deeadb6648 | ||
| 
						 | 
					f8f0ee6882 | ||
| 
						 | 
					76be244662 | ||
| 
						 | 
					d97a151695 | ||
| 
						 | 
					c9dfc76155 | ||
| 
						 | 
					506023c898 | ||
| 
						 | 
					0e9245ba28 | ||
| 
						 | 
					091811a4d6 | ||
| 
						 | 
					18f4bccb37 | ||
| 
						 | 
					37af4964cc | ||
| 
						 | 
					f248d99d7a | ||
| 
						 | 
					ca80d88a74 | ||
| 
						 | 
					56765d966f | ||
| 
						 | 
					d169afcafa | ||
| 
						 | 
					1f4b738639 | ||
| 
						 | 
					981668a56b | ||
| 
						 | 
					b55257d0d3 | ||
| 
						 | 
					ae6f746cf2 | ||
| 
						 | 
					68e7b7a1d4 | ||
| 
						 | 
					7b7071cf6d | ||
| 
						 | 
					b1e908e6b6 | ||
| 
						 | 
					f91050a7c7 | ||
| 
						 | 
					e3f9aa526b | ||
| 
						 | 
					7db0c756d6 | ||
| 
						 | 
					c1bd844673 | ||
| 
						 | 
					914354adb2 | ||
| 
						 | 
					2ac4fb92c2 | ||
| 
						 | 
					0c1dd954eb | ||
| 
						 | 
					116767b8b8 | ||
| 
						 | 
					3eb5394474 | ||
| 
						 | 
					953f59195f | ||
| 
						 | 
					309f3998d7 | ||
| 
						 | 
					887c4013a0 | ||
| 
						 | 
					f232ddcdcb | ||
| 
						 | 
					bd0424ee7d | ||
| 
						 | 
					62824e1537 | ||
| 
						 | 
					36e7d3133b | ||
| 
						 | 
					20c69951ab | ||
| 
						 | 
					d9d8cdf043 | ||
| 
						 | 
					29fba02b4a | ||
| 
						 | 
					1954718e3f | ||
| 
						 | 
					6712cae260 | ||
| 
						 | 
					6ddf213d5d | ||
| 
						 | 
					b700a17efa | ||
| 
						 | 
					bedec591a2 | ||
| 
						 | 
					2c4568119c | ||
| 
						 | 
					efd8e2f343 | ||
| 
						 | 
					f29793c868 | ||
| 
						 | 
					e8bbb15f7e | ||
| 
						 | 
					fdb2e5eb7b | ||
| 
						 | 
					da58e7edb4 | ||
| 
						 | 
					e81b8ba479 | ||
| 
						 | 
					cfbe553724 | ||
| 
						 | 
					17634e05d4 | ||
| 
						 | 
					7d216d364e | ||
| 
						 | 
					9e16f6e88c | ||
| 
						 | 
					f23e8b3d1c | ||
| 
						 | 
					04d988357f | ||
| 
						 | 
					14ed950dad | ||
| 
						 | 
					f107c34f82 | ||
| 
						 | 
					9b5bfd33ef | ||
| 
						 | 
					8fc6c79b6d | ||
| 
						 | 
					2d838b9f09 | ||
| 
						 | 
					c1649507e9 | ||
| 
						 | 
					a246a6390f | ||
| 
						 | 
					6a9317238a | ||
| 
						 | 
					0a45542477 | ||
| 
						 | 
					03be66c857 | ||
| 
						 | 
					777c371be9 | ||
| 
						 | 
					d8bb202fbd | ||
| 
						 | 
					f0f9167682 | ||
| 
						 | 
					6fbde2ea22 | ||
| 
						 | 
					2378f459de | ||
| 
						 | 
					1b4ae67f51 | ||
| 
						 | 
					ec67c56cc7 | ||
| 
						 | 
					393c1dba75 | ||
| 
						 | 
					5b76314ef4 | ||
| 
						 | 
					0ca2053a27 | ||
| 
						 | 
					c2c209d19a | ||
| 
						 | 
					de5137ff28 | ||
| 
						 | 
					ffb4b0fade | ||
| 
						 | 
					bfd03680cc | ||
| 
						 | 
					82280b673e | ||
| 
						 | 
					27dbd28c5c | ||
| 
						 | 
					4d55985151 | ||
| 
						 | 
					2635e545bf | ||
| 
						 | 
					e8a3a40691 | ||
| 
						 | 
					3a7d7778a0 | ||
| 
						 | 
					437c7585cc | ||
| 
						 | 
					507766bff6 | ||
| 
						 | 
					74d11991ab | ||
| 
						 | 
					217a1e92c6 | ||
| 
						 | 
					83bc7b831d | ||
| 
						 | 
					1071b2ee69 | ||
| 
						 | 
					3753ac5ee6 | ||
| 
						 | 
					6120c5e4a8 | ||
| 
						 | 
					b252a80b7e | ||
| 
						 | 
					d67182f411 | ||
| 
						 | 
					fec8f23ad4 | ||
| 
						 | 
					ab7f1cc3be | ||
| 
						 | 
					3f65468299 | ||
| 
						 | 
					333d0c5709 | ||
| 
						 | 
					8c47939ad2 | ||
| 
						 | 
					664d24f258 | ||
| 
						 | 
					f8adb23062 | ||
| 
						 | 
					a2a4b1d170 | ||
| 
						 | 
					aa6f26f9fb | ||
| 
						 | 
					fd2ddf8b50 | ||
| 
						 | 
					0408c86065 | ||
| 
						 | 
					e1555fc335 | ||
| 
						 | 
					75141bdb65 | ||
| 
						 | 
					3951c8863f | ||
| 
						 | 
					bdc1579a9c | ||
| 
						 | 
					8e1c6601af | ||
| 
						 | 
					1c634bd736 | ||
| 
						 | 
					2868191440 | ||
| 
						 | 
					a567adcce5 | ||
| 
						 | 
					5db1ee8fc4 | ||
| 
						 | 
					a6729d9454 | ||
| 
						 | 
					57f7039795 | ||
| 
						 | 
					5c3775c6ee | ||
| 
						 | 
					1cec9b70a2 | ||
| 
						 | 
					eca34c37d9 | ||
| 
						 | 
					58acfc4042 | ||
| 
						 | 
					feab865203 | ||
| 
						 | 
					754f09cdad | ||
| 
						 | 
					fac354623b | ||
| 
						 | 
					5967e6c3e4 | ||
| 
						 | 
					174f316a62 | ||
| 
						 | 
					c9651a012e | ||
| 
						 | 
					3130d7db33 | ||
| 
						 | 
					30af079f99 | ||
| 
						 | 
					3ccae8efee | ||
| 
						 | 
					5b946cb261 | ||
| 
						 | 
					885045ca55 | ||
| 
						 | 
					01d728ac6b | ||
| 
						 | 
					f9e670f464 | ||
| 
						 | 
					868e1677e3 | ||
| 
						 | 
					84407de2aa | ||
| 
						 | 
					7011b04cb2 | ||
| 
						 | 
					ede4594dd9 | ||
| 
						 | 
					3a7f02352a | ||
| 
						 | 
					e2cb4ed031 | ||
| 
						 | 
					24a1fe55bb | ||
| 
						 | 
					66dddd9799 | ||
| 
						 | 
					b3b2411cb7 | ||
| 
						 | 
					eb71d82ecc | ||
| 
						 | 
					298fc043ff | ||
| 
						 | 
					63f678210a | ||
| 
						 | 
					7a38246284 | ||
| 
						 | 
					5390903a22 | ||
| 
						 | 
					4b9e977fdc | ||
| 
						 | 
					6a9a681559 | ||
| 
						 | 
					a6e919767c | ||
| 
						 | 
					290e9ac767 | ||
| 
						 | 
					cd8ac36e9b | ||
| 
						 | 
					3068969b51 | ||
| 
						 | 
					e947e72169 | ||
| 
						 | 
					86a53dbfc9 | ||
| 
						 | 
					aa5c5c4553 | ||
| 
						 | 
					1f93237ee3 | ||
| 
						 | 
					3d248e9ad2 | ||
| 
						 | 
					ec9aedea0b | ||
| 
						 | 
					33021311b2 | ||
| 
						 | 
					2a3d9e080a | ||
| 
						 | 
					b528d0b1db | ||
| 
						 | 
					a429e9c3f9 | ||
| 
						 | 
					b90d2c1c90 | ||
| 
						 | 
					27dc7ef79a | ||
| 
						 | 
					76441b1d5f | ||
| 
						 | 
					d2e3577784 | ||
| 
						 | 
					4a0344182f | ||
| 
						 | 
					ddc496cdaa | ||
| 
						 | 
					746981611b | ||
| 
						 | 
					c1beefce3a | ||
| 
						 | 
					1667cc8a8d | ||
| 
						 | 
					0aea46a643 | ||
| 
						 | 
					820ab2210e | ||
| 
						 | 
					f40e8a57b4 | ||
| 
						 | 
					005357e821 | ||
| 
						 | 
					5fcfc95280 | ||
| 
						 | 
					dfc9e912b5 | ||
| 
						 | 
					a6385288aa | ||
| 
						 | 
					2f6457b3f7 | ||
| 
						 | 
					ba2f0f753b | ||
| 
						 | 
					38554dbcbe | ||
| 
						 | 
					fe98fde338 | ||
| 
						 | 
					c3ea69f26a | ||
| 
						 | 
					367e1f047c | ||
| 
						 | 
					7db1ed695c | ||
| 
						 | 
					26b4615262 | ||
| 
						 | 
					c4ccf53aad | ||
| 
						 | 
					8fe9163e6b | 
							
								
								
									
										42
									
								
								.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.cvsignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										3
									
								
								AUTHORS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								AUTHORS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
Martin Baulig (martin@home-of-linux.org)
 | 
			
		||||
Drazen Kacar (dave@srce.hr)
 | 
			
		||||
Benoît Dejean (tazforever@dlfp.org)
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
# Making releases:
 | 
			
		||||
#   LIBGTOP_MICRO_VERSION += 1;
 | 
			
		||||
#   LIBGTOP_INTERFACE_AGE += 1;
 | 
			
		||||
#   LIBGTOP_BINARY_AGE += 1;
 | 
			
		||||
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
 | 
			
		||||
# if backwards compatibility has been broken,
 | 
			
		||||
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
 | 
			
		||||
#
 | 
			
		||||
LIBGTOP_MAJOR_VERSION=1
 | 
			
		||||
LIBGTOP_MINOR_VERSION=0
 | 
			
		||||
LIBGTOP_MICRO_VERSION=2
 | 
			
		||||
 | 
			
		||||
LIBGTOP_INTERFACE_AGE=1
 | 
			
		||||
LIBGTOP_BINARY_AGE=1
 | 
			
		||||
 | 
			
		||||
# Increase each time you change the client/server protocol.
 | 
			
		||||
LIBGTOP_SERVER_VERSION=5
 | 
			
		||||
 | 
			
		||||
# Don't change this
 | 
			
		||||
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
 | 
			
		||||
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
 | 
			
		||||
 | 
			
		||||
# For automake.
 | 
			
		||||
VERSION=$LIBGTOP_VERSION
 | 
			
		||||
PACKAGE=libgtop
 | 
			
		||||
							
								
								
									
										3
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
Email: martin@home-of-linux.org
 | 
			
		||||
Email: dave@srce.hr
 | 
			
		||||
Current maintainer : Benoît Dejean (benoit@placenet.org)
 | 
			
		||||
							
								
								
									
										20
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
 | 
			
		||||
SUBDIRS = po misc include sysdeps lib src examples doc
 | 
			
		||||
 | 
			
		||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
 | 
			
		||||
libgtopincludedir = $(includedir)/libgtop-2.0
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
 | 
			
		||||
	 features.def libgtopconfig.h.in \
 | 
			
		||||
	libgtop-sysdeps.m4 README \
 | 
			
		||||
	 libgtop-2.0.pc.in acinclude.m4
 | 
			
		||||
 | 
			
		||||
dist-hook:
 | 
			
		||||
	cp libgtop.spec $(distdir)
 | 
			
		||||
 | 
			
		||||
pkgconfigdir = $(libdir)/pkgconfig
 | 
			
		||||
pkgconfig_DATA = libgtop-2.0.pc
 | 
			
		||||
 | 
			
		||||
libgtop-features.def: features.def
 | 
			
		||||
	@LN_S@ $< $@
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										249
									
								
								NEWS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										249
									
								
								NEWS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,249 @@
 | 
			
		||||
Mars 13, 2006: Overview of changes in 2.14.0
 | 
			
		||||
============================================
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
February 27, 2006: Overview of changes in 2.13.92
 | 
			
		||||
=================================================
 | 
			
		||||
* Fixed proc_state documentation.
 | 
			
		||||
* Updated mountlist ignore list.
 | 
			
		||||
 | 
			
		||||
January 23, 2006: Overview of changes in 2.13.3
 | 
			
		||||
===============================================
 | 
			
		||||
* linux:
 | 
			
		||||
	- fixe get_procmap for linux < 2.6.14.
 | 
			
		||||
 | 
			
		||||
January 2, 2006: Overview of changes in 2.13.2
 | 
			
		||||
==============================================
 | 
			
		||||
* Fixed libtool versioning (James Henstridge)
 | 
			
		||||
 | 
			
		||||
December 15, 2005: Overview of changes in 2.13.1
 | 
			
		||||
================================================
 | 
			
		||||
* linux:
 | 
			
		||||
    - fixed proclist
 | 
			
		||||
    - implemented server->real_ncpu
 | 
			
		||||
 | 
			
		||||
December 13, 2005: Overview of changes in 2.13.0
 | 
			
		||||
================================================
 | 
			
		||||
* Requires automake-1.9 (James Henstridge)
 | 
			
		||||
* Supports up to 32 CPU
 | 
			
		||||
* Supports Linux smaps
 | 
			
		||||
* linux: fixed SMP detection
 | 
			
		||||
 | 
			
		||||
This release is not ABI compatible with previous releases. Sorry.
 | 
			
		||||
 | 
			
		||||
November 29, 2005: Overview of changes from 2.12.0 to 2.12.1
 | 
			
		||||
============================================================
 | 
			
		||||
* Dropped dead files
 | 
			
		||||
* linux: 1-line cleanup.
 | 
			
		||||
 | 
			
		||||
September 4, 2005: Overview of changes from 2.11.92 to 2.12.0
 | 
			
		||||
=============================================================
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
August 22, 2005: Overview of changes from 2.11.91 to 2.11.92
 | 
			
		||||
============================================================
 | 
			
		||||
* Linux:
 | 
			
		||||
  - fixed for 2.6 without /sys
 | 
			
		||||
  - glibtop_get_cpu() : Do not add irq, softirq and iowait to idle.
 | 
			
		||||
 | 
			
		||||
August 9, 2005: Overview of changes from 2.11.90 to 2.11.91
 | 
			
		||||
===========================================================
 | 
			
		||||
* All:
 | 
			
		||||
  - cleaned some headers.
 | 
			
		||||
  - removed static examples.
 | 
			
		||||
* Linux:
 | 
			
		||||
  - fixed some issues with 2.6 without /sys
 | 
			
		||||
 | 
			
		||||
July 24, 2005: Overview of changes from 2.11.2 to 2.11.90
 | 
			
		||||
=========================================================
 | 
			
		||||
* Linux:
 | 
			
		||||
  - fixed glibtop_uptime .flags.
 | 
			
		||||
 | 
			
		||||
July &3, 2005: Overview of changes from 2.11.1 to 2.11.2
 | 
			
		||||
========================================================
 | 
			
		||||
* Linux:
 | 
			
		||||
  - little improvements for 2.6.
 | 
			
		||||
 | 
			
		||||
July 3, 2005: Overview of changes from 2.11.0 to 2.11.1
 | 
			
		||||
=======================================================
 | 
			
		||||
* Linux:
 | 
			
		||||
  - glibtop_get_swap : added page(in|out) for linux 2.6.
 | 
			
		||||
 | 
			
		||||
June 8, 2005: Overview of changes from 2.10.x to 2.11.0
 | 
			
		||||
=======================================================
 | 
			
		||||
* Replaced a lot of macros by functions
 | 
			
		||||
* Got rid of dozens of useless files.
 | 
			
		||||
* libgtop 2.11.x are and will stay API and ABI compatible with 2.10.x, i swear.
 | 
			
		||||
 | 
			
		||||
April 10, 2005: Overview of changes from 2.10.0 to 2.10.1
 | 
			
		||||
=========================================================
 | 
			
		||||
* Updated i18n.
 | 
			
		||||
* Little cleanup and fixed gcc-4.0 compilation.
 | 
			
		||||
* linux: fixed loadavg and uptime if locale != C.
 | 
			
		||||
  Updated siglist.
 | 
			
		||||
* Tighter libgtop-2.0.pc.
 | 
			
		||||
 | 
			
		||||
Mars 7, 2005: Overview of Changes from 2.9.92 to 2.10.0
 | 
			
		||||
=======================================================
 | 
			
		||||
* Updated i18n.
 | 
			
		||||
 | 
			
		||||
February 28, 2005: Overview of Changes from 2.9.90 to 2.9.92
 | 
			
		||||
============================================================
 | 
			
		||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
 | 
			
		||||
* Removed a lot of dead files :)
 | 
			
		||||
* Don't build&install libgtop_daemon when it's never used.
 | 
			
		||||
 | 
			
		||||
February 6, 2004: Overview of Changes from 2.9.90 to 2.9.91
 | 
			
		||||
==========================================================
 | 
			
		||||
* Fixed typo in stub.
 | 
			
		||||
* Updated i18n.
 | 
			
		||||
 | 
			
		||||
January 24, 2004: Overview of Changes from 2.9.4 to 2.9.90
 | 
			
		||||
==========================================================
 | 
			
		||||
* Updated Linux support.
 | 
			
		||||
 | 
			
		||||
January 10, 2004: Overview of Changes from 2.9.3 to 2.9.4
 | 
			
		||||
=========================================================
 | 
			
		||||
* New glibtop_proc_open_files nick@reloco.com.ar (Nicolás Lichtmaier).
 | 
			
		||||
* Updated AIX support (Christophe Belle).
 | 
			
		||||
 | 
			
		||||
December 20, 2004: Overview of Changes from 2.9.0 to 2.9.3
 | 
			
		||||
==========================================================
 | 
			
		||||
* Removed libgtop_names.
 | 
			
		||||
* Fixed Argument passing between library and server. #139809.
 | 
			
		||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
 | 
			
		||||
* glibtop_get_mountlist(False) now ignores 'unknown' fs.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
November 30, 2004: Overview of Changes from 2.8.1 to 2.9.0
 | 
			
		||||
=========================================================
 | 
			
		||||
* glibtop_get_netload : Fixed segfault on linux with ppp devices.
 | 
			
		||||
* NEW glibtop_get_netlist : retrieves the list of all available interfaces.
 | 
			
		||||
* NEW LIBGTOP_CHECK_VERSION(major, minor, micro)
 | 
			
		||||
* Removed dead kernel patch and implementation.
 | 
			
		||||
* Cleanups on Linux and Solaris.
 | 
			
		||||
 | 
			
		||||
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
 | 
			
		||||
=========================================================
 | 
			
		||||
* Improved Solaris and AIX support.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
 | 
			
		||||
=========================================================
 | 
			
		||||
* No changes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
August 30, 2004:
 | 
			
		||||
===============
 | 
			
		||||
* Applied some *BSD patches.
 | 
			
		||||
* Removed old files.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
August 15, 2004:
 | 
			
		||||
===============
 | 
			
		||||
* Fixed compilation with C89-only compilers and old libc.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
August 3, 2004:
 | 
			
		||||
==============
 | 
			
		||||
* Some cleanups.
 | 
			
		||||
* Fixed the behaviour of some linux proc_*() functions.
 | 
			
		||||
* Updated the documentation.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
 | 
			
		||||
======================================================
 | 
			
		||||
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
 | 
			
		||||
  reduction.
 | 
			
		||||
* Glibify a bit more.
 | 
			
		||||
* API changes:
 | 
			
		||||
 - glibtop_fsusage provides total read and writes since boot_time.
 | 
			
		||||
 - glibtop_netload provides hardware address. IPv6 enable.
 | 
			
		||||
 - Added glibtop_get_proc_argv.
 | 
			
		||||
 | 
			
		||||
Work in progress :
 | 
			
		||||
* Finish glibtop_fsusage implementation for Linux.
 | 
			
		||||
* Some fuctions don't conform to the documentation, e.g. proctime.
 | 
			
		||||
 | 
			
		||||
March 11, 2004:
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
 | 
			
		||||
  in the loos.
 | 
			
		||||
 | 
			
		||||
  - plenty of code cleanups
 | 
			
		||||
 | 
			
		||||
  - removed the dependency on libgnome, only glib required now
 | 
			
		||||
 | 
			
		||||
  - Linux 2.6 support, NetBSD support and better FreeBSD support
 | 
			
		||||
 | 
			
		||||
  - Make the block size available for filesystem statistics
 | 
			
		||||
 | 
			
		||||
February 27, 2001:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.12 "Gerolzhofen".
 | 
			
		||||
 | 
			
		||||
  - fix for Solaris 8 from Laszlo PETER (msg_limits, sem_limits).
 | 
			
		||||
 | 
			
		||||
  - fix for FreeBSD 4.2 from Rolf Grossmann (FreeBSD now uses
 | 
			
		||||
    `_KERNEL' instead of `KERNEL'). Bug #51334.
 | 
			
		||||
 | 
			
		||||
  - for BSDI, comment out `subnet' field in netload; this should make
 | 
			
		||||
    it compile, but there may be other problems. Bug #13345.
 | 
			
		||||
 | 
			
		||||
  This release is for GNOME 1.4 Beta2.
 | 
			
		||||
 | 
			
		||||
February 14, 2001:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.11 "Jasmin":
 | 
			
		||||
 | 
			
		||||
  [The release which was supposed to be called "Gerolzhofen".]
 | 
			
		||||
 | 
			
		||||
  - merged in the Solaris code from LIBGTOP_1_1_2_PATCHES.
 | 
			
		||||
 | 
			
		||||
  - minor OpenBSD fixes.
 | 
			
		||||
 | 
			
		||||
  - again a bunch of updated translations.
 | 
			
		||||
 | 
			
		||||
  Please test the Solaris stuff and report and bugs and
 | 
			
		||||
  problems as soon as possible; I'll make a new release
 | 
			
		||||
  for the 2nd beta of GNOME 1.4 if necessary.
 | 
			
		||||
 | 
			
		||||
November 20, 2000:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.10 "November Rain":
 | 
			
		||||
 | 
			
		||||
  - this release contains a bunch of updated translations.
 | 
			
		||||
 | 
			
		||||
May 25, 2000:
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.9 "Stuttgart".
 | 
			
		||||
 | 
			
		||||
  (LibGTop 1.0.8 "Frankfurt" was not publically released.)
 | 
			
		||||
 | 
			
		||||
February 15, 2000:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.7 "Copenhagen":
 | 
			
		||||
 | 
			
		||||
  - this is a bug fix release for the GUADEC CD-ROM;
 | 
			
		||||
    it contains fixes in both the Linux and *BSD sysdeps
 | 
			
		||||
    directory.
 | 
			
		||||
 | 
			
		||||
October 18, 1999:
 | 
			
		||||
================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.6 "October LibGTop":
 | 
			
		||||
 | 
			
		||||
  - compilation fixes for FreeBSD.
 | 
			
		||||
  - updated reference manual.
 | 
			
		||||
 | 
			
		||||
September 29, 1999:
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
* Released LibGTop 1.0.5.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								README
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
LATEST NEWS:
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
Please look also in the file 'NEWS' for latest news.
 | 
			
		||||
 
 | 
			
		||||
Martin
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ChangeLogs:
 | 
			
		||||
==========
 | 
			
		||||
 | 
			
		||||
LibGTop has many ChangeLogs files. The following files are the the
 | 
			
		||||
most important :
 | 
			
		||||
 | 
			
		||||
- ChangeLog is the main ChangeLog.
 | 
			
		||||
- sysdeps/<arch>/ChangeLog is the ChangeLog for arch specific changes.
 | 
			
		||||
- sysdeps/common/ChangeLog is the ChangeLog for common changes (shared
 | 
			
		||||
  implementation between archs).
 | 
			
		||||
 | 
			
		||||
Benoît
 | 
			
		||||
							
								
								
									
										525
									
								
								acinclude.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										525
									
								
								acinclude.m4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,525 @@
 | 
			
		||||
dnl This is just copied m4s from need-declaration.m4 gnome-fileutils.m4
 | 
			
		||||
dnl gnome-supprt-checks.m4 and a little from gnome-libgtop-check.m4
 | 
			
		||||
dnl and finally libgtop-sysdeps.m4
 | 
			
		||||
 | 
			
		||||
dnl
 | 
			
		||||
dnl LIBGTOP_CHECK_TYPE
 | 
			
		||||
dnl
 | 
			
		||||
dnl Improved version of AC_CHECK_TYPE which takes into account
 | 
			
		||||
dnl that we need to #include some other header files on some
 | 
			
		||||
dnl systems to get some types.
 | 
			
		||||
 | 
			
		||||
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
 | 
			
		||||
AC_DEFUN([AC_LIBGTOP_CHECK_TYPE],
 | 
			
		||||
[AC_REQUIRE([AC_HEADER_STDC])dnl
 | 
			
		||||
AC_MSG_CHECKING(for $1)
 | 
			
		||||
AC_CACHE_VAL(ac_cv_type_$1,
 | 
			
		||||
[AC_EGREP_CPP(dnl
 | 
			
		||||
changequote(<<,>>)dnl
 | 
			
		||||
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
 | 
			
		||||
changequote([,]), [#include <sys/types.h>
 | 
			
		||||
#if STDC_HEADERS
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* For Tru64 */
 | 
			
		||||
#ifdef HAVE_SYS_BITYPES_H
 | 
			
		||||
#include <sys/bitypes.h>
 | 
			
		||||
#endif
 | 
			
		||||
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
 | 
			
		||||
AC_MSG_RESULT($ac_cv_type_$1)
 | 
			
		||||
if test $ac_cv_type_$1 = no; then
 | 
			
		||||
  AC_DEFINE($1, $2, [Define to $2 if <sys/types.h> does not define.])
 | 
			
		||||
fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl
 | 
			
		||||
dnl GNOME_LIBGTOP_TYPES
 | 
			
		||||
dnl
 | 
			
		||||
dnl some typechecks for libgtop.
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([GNOME_LIBGTOP_TYPES],
 | 
			
		||||
[
 | 
			
		||||
        AC_CHECK_HEADERS(sys/bitypes.h)
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl See whether we need a declaration for a function.
 | 
			
		||||
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
 | 
			
		||||
AC_DEFUN([GCC_NEED_DECLARATION],
 | 
			
		||||
[AC_MSG_CHECKING([whether $1 must be declared])
 | 
			
		||||
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
 | 
			
		||||
[AC_TRY_COMPILE([
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#ifdef HAVE_STRING_H
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#else
 | 
			
		||||
#ifdef HAVE_STRINGS_H
 | 
			
		||||
#include <strings.h>
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_STDLIB_H
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_UNISTD_H
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#endif
 | 
			
		||||
$2],
 | 
			
		||||
[char *(*pfn) = (char *(*)) $1],
 | 
			
		||||
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
 | 
			
		||||
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
 | 
			
		||||
  AC_MSG_RESULT(yes)
 | 
			
		||||
  gcc_need_declarations="$gcc_need_declarations $1"
 | 
			
		||||
  gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
 | 
			
		||||
  AC_DEFINE_UNQUOTED($gcc_tr_decl, 1, [Define if $1 () must be declared.])
 | 
			
		||||
else
 | 
			
		||||
  AC_MSG_RESULT(no)
 | 
			
		||||
fi
 | 
			
		||||
])dnl
 | 
			
		||||
 | 
			
		||||
dnl Check multiple functions to see whether each needs a declaration.
 | 
			
		||||
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
 | 
			
		||||
AC_DEFUN([GCC_NEED_DECLARATIONS],
 | 
			
		||||
[for ac_func in $1
 | 
			
		||||
do
 | 
			
		||||
GCC_NEED_DECLARATION($ac_func, $2)
 | 
			
		||||
done
 | 
			
		||||
]
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
dnl
 | 
			
		||||
dnl GNOME_FILEUTILS_CHECKS
 | 
			
		||||
dnl
 | 
			
		||||
dnl checks that are needed for the diskusage applet.
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
 | 
			
		||||
[
 | 
			
		||||
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
 | 
			
		||||
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
 | 
			
		||||
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
 | 
			
		||||
 | 
			
		||||
AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
 | 
			
		||||
getcwd getmntinfo gettimeofday isascii lchown \
 | 
			
		||||
listmntent memcpy mkfifo strchr strerror strrchr vprintf)
 | 
			
		||||
 | 
			
		||||
dnl Set some defaults when cross-compiling
 | 
			
		||||
 | 
			
		||||
if test x$cross_compiling = xyes ; then
 | 
			
		||||
        case "$host_os" in
 | 
			
		||||
        linux*)
 | 
			
		||||
          fu_cv_sys_mounted_getmntent1=yes
 | 
			
		||||
          fu_cv_sys_stat_statfs2_bsize=yes
 | 
			
		||||
          ;;
 | 
			
		||||
        sunos*)
 | 
			
		||||
          fu_cv_sys_stat_statfs4=yes
 | 
			
		||||
          ;;
 | 
			
		||||
        freebsd*)
 | 
			
		||||
          fu_cv_sys_stat_statfs2_bsize=yes
 | 
			
		||||
          ;;
 | 
			
		||||
        osf*)
 | 
			
		||||
          fu_cv_sys_stat_statfs3_osf1=yes
 | 
			
		||||
          ;;
 | 
			
		||||
        esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Determine how to get the list of mounted filesystems.
 | 
			
		||||
list_mounted_fs=
 | 
			
		||||
 | 
			
		||||
# If the getmntent function is available but not in the standard library,
 | 
			
		||||
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
 | 
			
		||||
AC_FUNC_GETMNTENT
 | 
			
		||||
 | 
			
		||||
# This test must precede the ones for getmntent because Unicos-9 is
 | 
			
		||||
# reported to have the getmntent function, but its support is incompatible
 | 
			
		||||
# with other getmntent implementations.
 | 
			
		||||
 | 
			
		||||
# NOTE: Normally, I wouldn't use a check for system type as I've done for
 | 
			
		||||
# `CRAY' below since that goes against the whole autoconf philosophy.  But
 | 
			
		||||
# I think there is too great a chance that some non-Cray system has a
 | 
			
		||||
# function named listmntent to risk the false positive.
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# Cray UNICOS 9
 | 
			
		||||
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
 | 
			
		||||
[fu_cv_sys_mounted_cray_listmntent=no
 | 
			
		||||
AC_EGREP_CPP(yes,
 | 
			
		||||
[#ifdef _CRAY
 | 
			
		||||
yes
 | 
			
		||||
#endif
 | 
			
		||||
], [test $ac_cv_func_listmntent = yes \
 | 
			
		||||
&& fu_cv_sys_mounted_cray_listmntent=yes]
 | 
			
		||||
)
 | 
			
		||||
]
 | 
			
		||||
)
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
 | 
			
		||||
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_LISTMNTENT, 1,
 | 
			
		||||
          [Define if there is a function named listmntent that can be used to list all mounted filesystems. [UNICOS]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_cv_func_getmntent = yes; then
 | 
			
		||||
 | 
			
		||||
# This system has the getmntent function.
 | 
			
		||||
# Determine whether it's the one-argument variant or the two-argument one.
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
 | 
			
		||||
AC_MSG_CHECKING([for one-argument getmntent function])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
 | 
			
		||||
[test $ac_cv_header_mntent_h = yes \
 | 
			
		||||
&& fu_cv_sys_mounted_getmntent1=yes \
 | 
			
		||||
|| fu_cv_sys_mounted_getmntent1=no])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
 | 
			
		||||
if test $fu_cv_sys_mounted_getmntent1 = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_GETMNTENT1, 1,
 | 
			
		||||
          [Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes a single argument. [4.3BSD, SunOS, HP-UX, Dynix, Irix]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# SVR4
 | 
			
		||||
AC_MSG_CHECKING([for two-argument getmntent function])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
 | 
			
		||||
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
 | 
			
		||||
fu_cv_sys_mounted_getmntent2=yes,
 | 
			
		||||
fu_cv_sys_mounted_getmntent2=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
 | 
			
		||||
if test $fu_cv_sys_mounted_getmntent2 = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_GETMNTENT2, 1,
 | 
			
		||||
          [Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes two arguments.  [SVR4]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# DEC Alpha running OSF/1.
 | 
			
		||||
AC_MSG_CHECKING([for getfsstat function])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
 | 
			
		||||
[AC_TRY_LINK([
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <sys/fs_types.h>],
 | 
			
		||||
[struct statfs *stats;
 | 
			
		||||
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
 | 
			
		||||
fu_cv_sys_mounted_getsstat=yes,
 | 
			
		||||
fu_cv_sys_mounted_getsstat=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
 | 
			
		||||
if test $fu_cv_sys_mounted_getsstat = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_GETFSSTAT, 1,
 | 
			
		||||
          [Define if there is a function named getfsstat for reading the list of mounted filesystems.  [DEC Alpha running OSF/1]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# AIX.
 | 
			
		||||
AC_MSG_CHECKING([for mntctl function and struct vmount])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
 | 
			
		||||
[AC_TRY_CPP([#include <fshelp.h>],
 | 
			
		||||
fu_cv_sys_mounted_vmount=yes,
 | 
			
		||||
fu_cv_sys_mounted_vmount=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
 | 
			
		||||
if test $fu_cv_sys_mounted_vmount = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_VMOUNT, 1,
 | 
			
		||||
          [Define if there is a function named mntctl that can be used to read the list of mounted filesystems, and there is a system header file that declares `struct vmount.'  [AIX]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# SVR3
 | 
			
		||||
AC_MSG_CHECKING([for FIXME existence of three headers])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
 | 
			
		||||
[AC_TRY_CPP([
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
#include <sys/fstyp.h>
 | 
			
		||||
#include <mnttab.h>],
 | 
			
		||||
fu_cv_sys_mounted_fread_fstyp=yes,
 | 
			
		||||
fu_cv_sys_mounted_fread_fstyp=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
 | 
			
		||||
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
 | 
			
		||||
          [Define if (like SVR2) there is no specific function for reading the list of mounted filesystems, and your system has these header files: <sys/fstyp.h> and <sys/statfs.h>.  [SVR3]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# 4.4BSD and DEC OSF/1.
 | 
			
		||||
AC_MSG_CHECKING([for getmntinfo function])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
 | 
			
		||||
[
 | 
			
		||||
ok=
 | 
			
		||||
if test $ac_cv_func_getmntinfo = yes; then
 | 
			
		||||
AC_EGREP_HEADER(f_type;, sys/mount.h,
 | 
			
		||||
ok=yes)
 | 
			
		||||
fi
 | 
			
		||||
test -n "$ok" \
 | 
			
		||||
&& fu_cv_sys_mounted_getmntinfo=yes \
 | 
			
		||||
|| fu_cv_sys_mounted_getmntinfo=no
 | 
			
		||||
])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
 | 
			
		||||
if test $fu_cv_sys_mounted_getmntinfo = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
 | 
			
		||||
          [Define if there is a function named getmntinfo for reading the list of mounted filesystems.  [4.4BSD]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# FIXME: add a test for netbsd-1.1 here
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# Ultrix
 | 
			
		||||
AC_MSG_CHECKING([for getmnt function])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
 | 
			
		||||
[AC_TRY_CPP([
 | 
			
		||||
#include <sys/fs_types.h>
 | 
			
		||||
#include <sys/mount.h>],
 | 
			
		||||
fu_cv_sys_mounted_getmnt=yes,
 | 
			
		||||
fu_cv_sys_mounted_getmnt=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
 | 
			
		||||
if test $fu_cv_sys_mounted_getmnt = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_GETMNT, 1,
 | 
			
		||||
          [Define if there is a function named getmnt for reading the list of mounted filesystems.  [Ultrix]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
# SVR2
 | 
			
		||||
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
 | 
			
		||||
[AC_TRY_CPP([#include <mnttab.h>],
 | 
			
		||||
fu_cv_sys_mounted_fread=yes,
 | 
			
		||||
fu_cv_sys_mounted_fread=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
 | 
			
		||||
if test $fu_cv_sys_mounted_fread = yes; then
 | 
			
		||||
list_mounted_fs=found
 | 
			
		||||
AC_DEFINE(MOUNTED_FREAD, 1,
 | 
			
		||||
          [Define if there is no specific function for reading the list of mounted filesystems.  fread will be used to read /etc/mnttab.  [SVR2]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$list_mounted_fs"; then
 | 
			
		||||
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
 | 
			
		||||
# FIXME -- no need to abort building the whole package
 | 
			
		||||
# Cannot build mountlist.c or anything that needs its functions
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_CHECKING(how to get filesystem space usage)
 | 
			
		||||
space=no
 | 
			
		||||
 | 
			
		||||
# Perform only the link test since it seems there are no variants of the
 | 
			
		||||
# statvfs function.  This check is more than just AC_CHECK_FUNCS(statvfs)
 | 
			
		||||
# because that got a false positive on SCO OSR5.  Adding the declaration
 | 
			
		||||
# of a `struct statvfs' causes this test to fail (as it should) on such
 | 
			
		||||
# systems.  That system is reported to work fine with STAT_STATFS4 which
 | 
			
		||||
# is what it gets when this test fails.
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# SVR4
 | 
			
		||||
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
 | 
			
		||||
[AC_TRY_LINK([#include <sys/types.h>
 | 
			
		||||
#include <sys/statvfs.h>],
 | 
			
		||||
[struct statvfs fsd; statvfs (0, &fsd);],
 | 
			
		||||
fu_cv_sys_stat_statvfs=yes,
 | 
			
		||||
fu_cv_sys_stat_statvfs=no)])
 | 
			
		||||
if test $fu_cv_sys_stat_statvfs = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATVFS, 1,
 | 
			
		||||
          [Define if there is a function named statvfs.  [SVR4]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# DEC Alpha running OSF/1
 | 
			
		||||
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
 | 
			
		||||
[AC_TRY_RUN([
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
struct statfs fsd;
 | 
			
		||||
fsd.f_fsize = 0;
 | 
			
		||||
return (statfs (".", &fsd, sizeof (struct statfs)));
 | 
			
		||||
}],
 | 
			
		||||
fu_cv_sys_stat_statfs3_osf1=yes,
 | 
			
		||||
fu_cv_sys_stat_statfs3_osf1=no,
 | 
			
		||||
fu_cv_sys_stat_statfs3_osf1=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
 | 
			
		||||
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATFS3_OSF1, 1,
 | 
			
		||||
          [Define if  statfs takes 3 args.  [DEC Alpha running OSF/1]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# AIX
 | 
			
		||||
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
 | 
			
		||||
member (AIX, 4.3BSD)])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
 | 
			
		||||
[AC_TRY_RUN([
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_MOUNT_H
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_VFS_H
 | 
			
		||||
#include <sys/vfs.h>
 | 
			
		||||
#endif
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
struct statfs fsd;
 | 
			
		||||
fsd.f_bsize = 0;
 | 
			
		||||
return (statfs (".", &fsd));
 | 
			
		||||
}],
 | 
			
		||||
fu_cv_sys_stat_statfs2_bsize=yes,
 | 
			
		||||
fu_cv_sys_stat_statfs2_bsize=no,
 | 
			
		||||
fu_cv_sys_stat_statfs2_bsize=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
 | 
			
		||||
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATFS2_BSIZE, 1,
 | 
			
		||||
          [Define if statfs takes 2 args and struct statfs has a field named f_bsize. [4.3BSD, SunOS 4, HP-UX, AIX PS/2]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# SVR3
 | 
			
		||||
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
 | 
			
		||||
[AC_TRY_RUN([#include <sys/types.h>
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
struct statfs fsd;
 | 
			
		||||
return (statfs (".", &fsd, sizeof fsd, 0));
 | 
			
		||||
}],
 | 
			
		||||
fu_cv_sys_stat_statfs4=yes,
 | 
			
		||||
fu_cv_sys_stat_statfs4=no,
 | 
			
		||||
fu_cv_sys_stat_statfs4=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
 | 
			
		||||
if test $fu_cv_sys_stat_statfs4 = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATFS4, 1,
 | 
			
		||||
          [Define if statfs takes 4 args.  [SVR3, Dynix, Irix, Dolphin]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# 4.4BSD and NetBSD
 | 
			
		||||
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
 | 
			
		||||
member (4.4BSD and NetBSD)])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
 | 
			
		||||
[AC_TRY_RUN([#include <sys/types.h>
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_MOUNT_H
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
struct statfs fsd;
 | 
			
		||||
fsd.f_fsize = 0;
 | 
			
		||||
return (statfs (".", &fsd));
 | 
			
		||||
}],
 | 
			
		||||
fu_cv_sys_stat_statfs2_fsize=yes,
 | 
			
		||||
fu_cv_sys_stat_statfs2_fsize=no,
 | 
			
		||||
fu_cv_sys_stat_statfs2_fsize=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
 | 
			
		||||
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATFS2_FSIZE, 1,
 | 
			
		||||
          [Define if statfs takes 2 args and struct statfs has a field named f_fsize. [4.4BSD, NetBSD]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# Ultrix
 | 
			
		||||
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
 | 
			
		||||
[AC_TRY_RUN([#include <sys/types.h>
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_MOUNT_H
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_FS_TYPES_H
 | 
			
		||||
#include <sys/fs_types.h>
 | 
			
		||||
#endif
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
struct fs_data fsd;
 | 
			
		||||
/* Ultrix's statfs returns 1 for success,
 | 
			
		||||
0 for not mounted, -1 for failure.  */
 | 
			
		||||
return (statfs (".", &fsd) != 1);
 | 
			
		||||
}],
 | 
			
		||||
fu_cv_sys_stat_fs_data=yes,
 | 
			
		||||
fu_cv_sys_stat_fs_data=no,
 | 
			
		||||
fu_cv_sys_stat_fs_data=no)])
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
 | 
			
		||||
if test $fu_cv_sys_stat_fs_data = yes; then
 | 
			
		||||
space=yes
 | 
			
		||||
AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
 | 
			
		||||
          [Define if statfs takes 2 args and the second argument has type struct fs_data.  [Ultrix]])
 | 
			
		||||
fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $space = no; then
 | 
			
		||||
# SVR2
 | 
			
		||||
AC_TRY_CPP([#include <sys/filsys.h>],
 | 
			
		||||
AC_DEFINE(STAT_READ_FILSYS, 1,
 | 
			
		||||
          [Define if there is no specific function for reading filesystems usage information and you have the <sys/filsys.h> header file.  [SVR2]])
 | 
			
		||||
space=yes)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -n "$list_mounted_fs" && test $space != no; then
 | 
			
		||||
DF_PROG="df"
 | 
			
		||||
# AC_LIBOBJ(fsusage)
 | 
			
		||||
# AC_LIBOBJ(mountlist)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
 | 
			
		||||
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
 | 
			
		||||
# enable the work-around code in fsusage.c.
 | 
			
		||||
AC_MSG_CHECKING([for statfs that truncates block counts])
 | 
			
		||||
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
 | 
			
		||||
[AC_TRY_COMPILE([
 | 
			
		||||
#if !defined(sun) && !defined(__sun)
 | 
			
		||||
choke -- this is a workaround for a Sun-specific problem
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/vfs.h>],
 | 
			
		||||
[struct statfs t; long c = *(t.f_spare);],
 | 
			
		||||
fu_cv_sys_truncating_statfs=yes,
 | 
			
		||||
fu_cv_sys_truncating_statfs=no,
 | 
			
		||||
)])
 | 
			
		||||
if test $fu_cv_sys_truncating_statfs = yes; then
 | 
			
		||||
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
 | 
			
		||||
          [Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. [SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.]])
 | 
			
		||||
fi
 | 
			
		||||
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
 | 
			
		||||
 | 
			
		||||
AC_CHECKING(for AFS)
 | 
			
		||||
test -d /afs && AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
m4_include([libgtop-sysdeps.m4])
 | 
			
		||||
							
								
								
									
										22
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# Run this to generate all the initial makefiles, etc.
 | 
			
		||||
 | 
			
		||||
srcdir=`dirname $0`
 | 
			
		||||
test -z "$srcdir" && srcdir=.
 | 
			
		||||
 | 
			
		||||
PKG_NAME="Gnome Top Library"
 | 
			
		||||
 | 
			
		||||
(test -f $srcdir/configure.in \
 | 
			
		||||
  && test -f $srcdir/copyright.txt \
 | 
			
		||||
  && test -d $srcdir/sysdeps) || {
 | 
			
		||||
    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
 | 
			
		||||
    echo " top-level gnome directory"
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
which gnome-autogen.sh || {
 | 
			
		||||
    echo "You need to install gnome-common from the GNOME CVS"
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
REQUIRED_AUTOMAKE_VERSION=1.9
 | 
			
		||||
. gnome-autogen.sh
 | 
			
		||||
							
								
								
									
										408
									
								
								configure.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										408
									
								
								configure.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,408 @@
 | 
			
		||||
dnl
 | 
			
		||||
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], [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])
 | 
			
		||||
 | 
			
		||||
dnl  increment any time the source changes; set to
 | 
			
		||||
dnl  0 if you increment CURRENT
 | 
			
		||||
m4_define([libgtop_revision], [0])
 | 
			
		||||
 | 
			
		||||
dnl  increment if any interfaces have been added; set to 0
 | 
			
		||||
dnl  if any interfaces have been removed. removal has
 | 
			
		||||
dnl  precedence over adding, so set to 0 if both happened.
 | 
			
		||||
m4_define([libgtop_age], [0])
 | 
			
		||||
 | 
			
		||||
# Increase each time you change the client/server protocol.
 | 
			
		||||
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_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
 | 
			
		||||
 | 
			
		||||
AM_INIT_AUTOMAKE
 | 
			
		||||
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
 | 
			
		||||
 | 
			
		||||
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
 | 
			
		||||
AC_SUBST(LIBGTOP_MINOR_VERSION, [libgtop_minor_version])
 | 
			
		||||
AC_SUBST(LIBGTOP_MICRO_VERSION, [libgtop_micro_version])
 | 
			
		||||
AC_SUBST(LIBGTOP_SERVER_VERSION, [libgtop_server_version])
 | 
			
		||||
AC_SUBST(LIBGTOP_VERSION, [libgtop_version])
 | 
			
		||||
AC_SUBST(LIBGTOP_VERSION_CODE, [libgtop_version_code])
 | 
			
		||||
 | 
			
		||||
# libtool versioning
 | 
			
		||||
AC_SUBST(LT_VERSION_INFO,
 | 
			
		||||
         ["-version-info libgtop_current:libgtop_revision:libgtop_age"])
 | 
			
		||||
 | 
			
		||||
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
 | 
			
		||||
 | 
			
		||||
AC_ISC_POSIX
 | 
			
		||||
AC_PROG_CC
 | 
			
		||||
AC_STDC_HEADERS
 | 
			
		||||
dnl AC_ARG_PROGRAM
 | 
			
		||||
 | 
			
		||||
dnl We need this at some places.
 | 
			
		||||
libgtop_top_builddir=`pwd`
 | 
			
		||||
AC_SUBST(libgtop_top_builddir)
 | 
			
		||||
 | 
			
		||||
dnl We don't use `AC_PROG_AWK' since it checks for mawk first which
 | 
			
		||||
dnl does not work for libgtop.
 | 
			
		||||
AC_CHECK_PROGS(AWK, gawk awk, )
 | 
			
		||||
test -z "$AWK" && AC_MSG_ERROR([Sorry, you need a working awk interpreter.])
 | 
			
		||||
 | 
			
		||||
dnl Most people should have a working perl interpreter on their system
 | 
			
		||||
AC_CHECK_PROGS(PERL, perl5 perl)
 | 
			
		||||
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_TOOL(CC,gcc)
 | 
			
		||||
AC_CHECK_TOOL(RANLIB,ranlib)
 | 
			
		||||
AC_CHECK_TOOL(AS,as)
 | 
			
		||||
AC_CHECK_TOOL(AR,ar)
 | 
			
		||||
 | 
			
		||||
export CC CXX RANLIB LD AS AR
 | 
			
		||||
 | 
			
		||||
AC_PROG_INSTALL
 | 
			
		||||
AC_PROG_LN_S
 | 
			
		||||
AC_PROG_MAKE_SET
 | 
			
		||||
 | 
			
		||||
export cross_compiling
 | 
			
		||||
 | 
			
		||||
AM_PROG_LIBTOOL
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_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])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl Checks for typedefs, structures, and compiler characteristics.
 | 
			
		||||
AC_C_CONST
 | 
			
		||||
AC_C_INLINE
 | 
			
		||||
AC_TYPE_OFF_T
 | 
			
		||||
AC_TYPE_PID_T
 | 
			
		||||
AC_TYPE_SIZE_T
 | 
			
		||||
AC_STRUCT_ST_RDEV
 | 
			
		||||
AC_HEADER_TIME
 | 
			
		||||
AC_STRUCT_TM
 | 
			
		||||
AC_TYPE_UID_T
 | 
			
		||||
 | 
			
		||||
dnl For SunOS
 | 
			
		||||
AC_CHECK_TYPE(ssize_t, int)
 | 
			
		||||
AC_CHECK_HEADERS(memory.h)
 | 
			
		||||
AC_CHECK_HEADERS(string.h strings.h, break)
 | 
			
		||||
AC_REPLACE_FUNCS(strerror)
 | 
			
		||||
 | 
			
		||||
dnl dlopen() and dlsym()
 | 
			
		||||
DL_LIB=
 | 
			
		||||
AC_CHECK_FUNCS(dlopen,,[
 | 
			
		||||
  AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", [
 | 
			
		||||
    AC_CHECK_LIB(dld, shl_load, DL_LIB="-ldld", [
 | 
			
		||||
      AC_CHECK_FUNCS(dlopen, DL_LIB="", DL_LIB="")
 | 
			
		||||
    ])
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
oLIBS="$LIBS"
 | 
			
		||||
LIBS="$LIBS $DL_LIB"
 | 
			
		||||
AC_CHECK_FUNCS(dlerror,,)
 | 
			
		||||
LIBS="$oLIBS"
 | 
			
		||||
AC_SUBST(DL_LIB)
 | 
			
		||||
 | 
			
		||||
dnl Linux
 | 
			
		||||
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
 | 
			
		||||
if test x$HAVE_ISDN_H = xyes ; then
 | 
			
		||||
	AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl AIX
 | 
			
		||||
AC_CHECK_LIB(perfstat, vmgetinfo,
 | 
			
		||||
    AC_DEFINE(HAVE_VMGETINFO, 1,
 | 
			
		||||
        [Define to 1 if you have the 'vmgetinfo' function in libperfstat]))
 | 
			
		||||
 | 
			
		||||
dnl Solaris
 | 
			
		||||
case "$host_os" in
 | 
			
		||||
     solaris*)
 | 
			
		||||
     AC_CHECK_LIB(kstat, kstat_open)
 | 
			
		||||
     AC_CHECK_FUNCS(getloadavg swapctl)
 | 
			
		||||
     AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    dnl Some versions of Solaris require -lelf for -lkvm
 | 
			
		||||
    AC_CHECK_LIB(kvm, kvm_open,[
 | 
			
		||||
      LIBS="-lkvm $LIBS"
 | 
			
		||||
    ],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
 | 
			
		||||
       AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
 | 
			
		||||
       [ac_save_LIBS="$LIBS"
 | 
			
		||||
        LIBS="-lkvm -lelf $LIBS"
 | 
			
		||||
        AC_TRY_LINK([char kvm_open();], [kvm_open()],
 | 
			
		||||
                    ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no)
 | 
			
		||||
        LIBS="$ac_save_LIBS"
 | 
			
		||||
       ])
 | 
			
		||||
       if test "$ac_cv_lib_kvm_with_elf" = "yes"; then
 | 
			
		||||
         AC_MSG_RESULT(yes)
 | 
			
		||||
         LIBS="-lkvm -lelf $LIBS"
 | 
			
		||||
       else
 | 
			
		||||
         AC_MSG_RESULT(no)
 | 
			
		||||
       fi
 | 
			
		||||
    ])
 | 
			
		||||
     ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
dnl For DEC OSF1
 | 
			
		||||
AC_CHECK_LIB(mach, vm_statistics)
 | 
			
		||||
 | 
			
		||||
dnl For some broken libc5 systems (Debian 1.3)
 | 
			
		||||
saved_CFLAGS=$CFLAGS
 | 
			
		||||
CFLAGS="$CFLAGS -D_GNU_SOURCE"
 | 
			
		||||
GCC_NEED_DECLARATION(program_invocation_name, [                           
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
CFLAGS=$saved_CFLAGS
 | 
			
		||||
 | 
			
		||||
AC_CHECK_FUNC(socket,
 | 
			
		||||
 [AC_CHECK_HEADER(netinet/in.h,
 | 
			
		||||
   [AC_CHECK_HEADER(arpa/inet.h, [
 | 
			
		||||
  AC_DEFINE(HAVE_SOCKETS, 1, [Define if BSD sockets are supported])
 | 
			
		||||
      AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
 | 
			
		||||
      AC_TRY_LINK([
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/un.h>
 | 
			
		||||
      ],
 | 
			
		||||
      [static struct sockaddr_un x; x.sun_len = 1;],
 | 
			
		||||
      [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un has a sun_len member])],
 | 
			
		||||
      [AC_MSG_RESULT(no)])])])])
 | 
			
		||||
 | 
			
		||||
dnl Checks for library functions.
 | 
			
		||||
AC_FUNC_ALLOCA
 | 
			
		||||
AC_FUNC_MMAP
 | 
			
		||||
AC_TYPE_SIGNAL
 | 
			
		||||
AC_FUNC_STRFTIME
 | 
			
		||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
 | 
			
		||||
 | 
			
		||||
ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id it ja ko ku ky lt lv mi mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sv ta th tr uk vi xh zh_CN zh_TW"
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
dnl Please don't move this before AC_PATH_XTRA
 | 
			
		||||
AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
 | 
			
		||||
AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
 | 
			
		||||
AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)])
 | 
			
		||||
 | 
			
		||||
dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
 | 
			
		||||
dnl So we use the following instead.
 | 
			
		||||
dnl XE_SPACE(var, words)
 | 
			
		||||
define([XE_SPACE],[
 | 
			
		||||
T=""
 | 
			
		||||
for W in $2; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
 | 
			
		||||
$1="$T"
 | 
			
		||||
])dnl
 | 
			
		||||
 | 
			
		||||
dnl Autodetect Xauth
 | 
			
		||||
dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
 | 
			
		||||
saved_CPPFLAGS="$CPPFLAGS"
 | 
			
		||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 | 
			
		||||
test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h,          ,with_xauth=no) }
 | 
			
		||||
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
 | 
			
		||||
test -z "$with_xauth" && with_xauth=yes
 | 
			
		||||
if test "$with_xauth" = "yes"; then
 | 
			
		||||
  AC_DEFINE(HAVE_XAUTH, 1, [Define if Xauth is supported])
 | 
			
		||||
  XE_SPACE(libs_xauth, $X_LIBS -lXau)
 | 
			
		||||
fi
 | 
			
		||||
CPPFLAGS="$saved_CPPFLAGS"
 | 
			
		||||
AC_SUBST(libs_xauth)
 | 
			
		||||
 | 
			
		||||
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]),)
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
 | 
			
		||||
 | 
			
		||||
libgtop_save_prefix="$prefix"
 | 
			
		||||
libgtop_save_exec_prefix="$exec_prefix"
 | 
			
		||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
 | 
			
		||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
 | 
			
		||||
LIBGTOP_BINDIR=`eval echo "${bindir}"`
 | 
			
		||||
LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
 | 
			
		||||
prefix="$libgtop_save_prefix"
 | 
			
		||||
exec_prefix="$libgtop_save_exec_prefix"
 | 
			
		||||
 | 
			
		||||
sysdeps_dir="$libgtop_sysdeps_dir"
 | 
			
		||||
AC_SUBST(sysdeps_dir)
 | 
			
		||||
 | 
			
		||||
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
 | 
			
		||||
  LIBGTOP_EXTRA_LIBS="$libs_xauth"
 | 
			
		||||
else
 | 
			
		||||
  LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
 | 
			
		||||
 | 
			
		||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
 | 
			
		||||
 | 
			
		||||
LIBGTOP_LIBS="$LIBGTOP_LIBS" 
 | 
			
		||||
 | 
			
		||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
 | 
			
		||||
 | 
			
		||||
AC_SUBST(machine_incs)
 | 
			
		||||
 | 
			
		||||
if test "$GCC" = "yes" ; then
 | 
			
		||||
        CFLAGS="\
 | 
			
		||||
	-Winline \
 | 
			
		||||
	-Wall \
 | 
			
		||||
	-std=gnu89 \
 | 
			
		||||
	-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
 | 
			
		||||
	-Wnested-externs -Wpointer-arith \
 | 
			
		||||
	-Wcast-align -Wsign-compare \
 | 
			
		||||
	-fno-strict-aliasing \
 | 
			
		||||
	$CFLAGS"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
 | 
			
		||||
 | 
			
		||||
# Add various defines to the config.h file ...
 | 
			
		||||
AH_VERBATIM([_GNU_SOURCE],
 | 
			
		||||
[/* Enable GNU extensions on systems that have them.  */
 | 
			
		||||
#ifndef _GNU_SOURCE
 | 
			
		||||
#  define _GNU_SOURCE
 | 
			
		||||
#endif])
 | 
			
		||||
AC_DEFINE([_IN_LIBGTOP], 1,
 | 
			
		||||
          [Note that we are building libgtop rather than using it])
 | 
			
		||||
AC_DEFINE([LIBGTOP_VERSION], ["libgtop_version"],
 | 
			
		||||
          [The libgtop version number])
 | 
			
		||||
AC_DEFINE([LIBGTOP_SERVER_VERSION], ["libgtop_server_version"],
 | 
			
		||||
          [The libgtop server version])
 | 
			
		||||
AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
 | 
			
		||||
          [The libgtop version number as an integer])
 | 
			
		||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
 | 
			
		||||
                   [The path to the libgtop server])
 | 
			
		||||
 | 
			
		||||
AC_SUBST(INCLUDES)
 | 
			
		||||
 | 
			
		||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
 | 
			
		||||
AC_SUBST(GLIB_LIBS)
 | 
			
		||||
AC_SUBST(LIBGTOP_LIBS)
 | 
			
		||||
AC_SUBST(LIBGTOP_INCS)
 | 
			
		||||
AC_SUBST(LIBGTOP_BINDIR)
 | 
			
		||||
AC_SUBST(LIBGTOP_SERVER)
 | 
			
		||||
 | 
			
		||||
if test x$libgtop_need_server = xyes ; then
 | 
			
		||||
   sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
 | 
			
		||||
   server_programs='libgtop_server2'
 | 
			
		||||
else
 | 
			
		||||
   sysdeps_suid_lib=
 | 
			
		||||
   server_programs=
 | 
			
		||||
fi
 | 
			
		||||
AC_SUBST(sysdeps_suid_lib)
 | 
			
		||||
AC_SUBST(server_programs)
 | 
			
		||||
 | 
			
		||||
AC_CONFIG_FILES([
 | 
			
		||||
Makefile
 | 
			
		||||
libgtop.spec
 | 
			
		||||
po/Makefile.in
 | 
			
		||||
misc/Makefile
 | 
			
		||||
include/Makefile
 | 
			
		||||
include/glibtop/Makefile
 | 
			
		||||
sysdeps/Makefile
 | 
			
		||||
sysdeps/common/Makefile
 | 
			
		||||
sysdeps/stub/Makefile
 | 
			
		||||
sysdeps/stub_suid/Makefile
 | 
			
		||||
sysdeps/sun4/Makefile
 | 
			
		||||
sysdeps/osf1/Makefile
 | 
			
		||||
sysdeps/linux/Makefile
 | 
			
		||||
sysdeps/freebsd/Makefile
 | 
			
		||||
sysdeps/solaris/Makefile
 | 
			
		||||
sysdeps/aix/Makefile
 | 
			
		||||
src/Makefile
 | 
			
		||||
src/daemon/Makefile
 | 
			
		||||
src/inodedb/Makefile
 | 
			
		||||
lib/Makefile
 | 
			
		||||
examples/Makefile
 | 
			
		||||
doc/Makefile
 | 
			
		||||
libgtop-2.0.pc
 | 
			
		||||
libgtopconfig.h
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_OUTPUT
 | 
			
		||||
							
								
								
									
										22
									
								
								copyright.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								copyright.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
/* 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.
 | 
			
		||||
   Contributed by Benoît Dejean <TazForEver@dlfp.org>, 2004.
 | 
			
		||||
   
 | 
			
		||||
   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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										9
									
								
								debian/.cvsignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								debian/.cvsignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
control
 | 
			
		||||
rules
 | 
			
		||||
build
 | 
			
		||||
tmp
 | 
			
		||||
*.postinst
 | 
			
		||||
*.debhelper
 | 
			
		||||
*.files
 | 
			
		||||
files
 | 
			
		||||
substvars
 | 
			
		||||
							
								
								
									
										9
									
								
								debian/README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								debian/README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
LibGTop CVS snapshots for Debian
 | 
			
		||||
--------------------------------
 | 
			
		||||
 | 
			
		||||
This is a debian package made from a stable release of LibGTop, but it
 | 
			
		||||
should be considered "unofficial" since I'm not a Debian Maintainer.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Martin Baulig <martin@home-of-linux.org>, Wed, 16 Feb 2000 16:40:50 +0100
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										121
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,121 @@
 | 
			
		||||
libgtop (1.0.7-1) unstable; urgency=low
 | 
			
		||||
  * New upstream source (1.0.7 "Copenhagen" release)
 | 
			
		||||
  * Non-maintainer upload; since I'm not a Debian maintainer, this is some
 | 
			
		||||
    kind of "unofficial" debian package for LibGTop 1.0.7 - but I think it
 | 
			
		||||
    can be considered stable and working.
 | 
			
		||||
 | 
			
		||||
 -- Martin Baulig <martin@home-of-linux.org>  Wed, 16 Feb 2000 16:40:50 +0100
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.6-1) unstable; urgency=low
 | 
			
		||||
  * New upstream source
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh (wibble) <igloo@debian.org>  Wed, 20 Oct 1999 16:16:27 +0100
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.4.5pre1-1) frozen unstable; urgency=low
 | 
			
		||||
  * New upstream source (1.0.5 pre release)
 | 
			
		||||
  * Maintainer e-mail address changed to igloo@debian.org
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh (wibble) <igloo@debian.org>  Thu, 30 Sep 1999 22:37:33 +0100
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.4-1) frozen unstable; urgency=low
 | 
			
		||||
  * New upstream source
 | 
			
		||||
  * Removed nasty sed stuff from the rules in favour of make install prefix=...
 | 
			
		||||
  * Added .la files to libgtop-dev
 | 
			
		||||
  * Added info to the copyright file
 | 
			
		||||
  * Wrote simple man page for libgtop-config.
 | 
			
		||||
  * Recompiled with later debhelper so docs go to /usr/share/doc as per FHS
 | 
			
		||||
  * changed infodir to /usr/share/info
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh (wibble) <igloo@debian.org>  Mon, 20 Sep 1999 00:06:16 +0100
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.1-2) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Didn't actually use wildcards in libgtop-dev.files because tar complained
 | 
			
		||||
  * Set section names properly
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh <ian@lynagh.demon.co.uk>  Sun,  7 Mar 1999 00:53:50 +0000
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.1-1) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * SONAME changed back to 1. Fun fun fun.
 | 
			
		||||
  * Added RELNOTES-1.0 to debian/libgtop1.docs and debian/rules
 | 
			
		||||
  * Changed libgtop1.README.Debian to at least make sense
 | 
			
		||||
  * Used wildcards in libgtop-dev.files
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh <ian@lynagh.demon.co.uk>  Sun,  7 Mar 1999 00:53:50 +0000
 | 
			
		||||
 | 
			
		||||
libgtop (1.0.1-0.1) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Non-maintainer upload for GNOME 1.0
 | 
			
		||||
 | 
			
		||||
 -- Jules Bean <jules@debian.org>  Thu,  4 Mar 1999 22:34:12 +0000
 | 
			
		||||
 | 
			
		||||
libgtop (0.99.2-0.2) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Oops, forgot some files.
 | 
			
		||||
 | 
			
		||||
 -- Jim Pick <jim@jimpick.com>  Sun, 24 Jan 1999 02:12:24 -0800
 | 
			
		||||
 | 
			
		||||
libgtop (0.99.2-0.1) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Non-maintainer upload.
 | 
			
		||||
  * New upstream source.
 | 
			
		||||
  * SONAME is now 0 again.  Hmmm.
 | 
			
		||||
 | 
			
		||||
 -- Jim Pick <jim@jimpick.com>  Sat, 23 Jan 1999 20:21:38 -0800
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.2-4) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Upstream changelog installed as changelog
 | 
			
		||||
  * debian/shlibs.local removed in favour of the LD_LIBRARY_PATH line
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh <ian@lynagh.demon.co.uk>  Thu, 26 Nov 1998 17:20:24 +0000
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.2-3.1) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Non-maintainer upload.
 | 
			
		||||
  * Upload to frozen, corrects Bug #29110, Bug #29111, which were
 | 
			
		||||
    already fixed.
 | 
			
		||||
  * Noticed that guile option is no longer being used, so I removed
 | 
			
		||||
    the dependency.
 | 
			
		||||
  * Added changelog (to fix lintian error).
 | 
			
		||||
  * Changed control file to use macro substitutions.  This is a much
 | 
			
		||||
    less error-prone way of building dependencies than doing them by
 | 
			
		||||
    hand.
 | 
			
		||||
  * Added -V option to dh_makeshlibs to put version number on shlibs
 | 
			
		||||
    file.
 | 
			
		||||
  * Added shlibs.local file with null entry for "libgtop 1" (and
 | 
			
		||||
    others) so libgtop1 doesn't declare a relationship on itself.
 | 
			
		||||
 | 
			
		||||
 -- Jim Pick <jim@jimpick.com>  Wed, 25 Nov 1998 12:03:12 -0800
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.2-3) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * libgtop0 changed to libgtop1
 | 
			
		||||
  * Added an #ifndef strstr around the prototype of strstr in
 | 
			
		||||
    sysdeps/common/mountlist.c as this is a macro under glibc 2.1.
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh <ian@lynagh.demon.co.uk>  Sun,  8 Nov 1998 12:06:09 +0000
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.2-2) frozen unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Fixes minor bugs in debian/rules
 | 
			
		||||
 | 
			
		||||
 -- Ian Lynagh <ian@lynagh.demon.co.uk>  Fri, 16 Oct 1998 05:30:16 +0200
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.2-1) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * New upstream version
 | 
			
		||||
  * Non-maintainer release
 | 
			
		||||
 | 
			
		||||
 -- Martin Schulze <joey@finlandia.infodrom.north.de>  Fri, 16 Oct 1998 05:30:16 +0200
 | 
			
		||||
 | 
			
		||||
libgtop (0.26.0-1) unstable; urgency=low
 | 
			
		||||
 | 
			
		||||
  * Initial Release.
 | 
			
		||||
 | 
			
		||||
 -- Jim Pick <jim@jimpick.com>  Thu, 24 Sep 1998 18:42:48 -0700
 | 
			
		||||
 | 
			
		||||
Local variables:
 | 
			
		||||
mode: debian-changelog
 | 
			
		||||
End:
 | 
			
		||||
							
								
								
									
										33
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								debian/control.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
Source: libgtop@SUFFIX@
 | 
			
		||||
Maintainer: Martin Baulig <martin@home-of-linux.org>
 | 
			
		||||
Section: libs
 | 
			
		||||
Priority: optional
 | 
			
		||||
Standards-Version: 3.0.0
 | 
			
		||||
 | 
			
		||||
Package: libgtop1@SUFFIX@
 | 
			
		||||
Architecture: any
 | 
			
		||||
Section: libs
 | 
			
		||||
Depends: ${shlibs:Depends}
 | 
			
		||||
Description: Portable system access library (part of Gnome)
 | 
			
		||||
 Gnome is the "GNU Network Object Model Environment"
 | 
			
		||||
 .
 | 
			
		||||
 It is a project to build a complete, user-friendly desktop based
 | 
			
		||||
 entirely on free software.
 | 
			
		||||
 .
 | 
			
		||||
 This package contains the gtop libraries which read information about
 | 
			
		||||
 processes and the running systems.
 | 
			
		||||
 | 
			
		||||
Package: libgtop-dev@SUFFIX@
 | 
			
		||||
Architecture: any
 | 
			
		||||
Section: devel
 | 
			
		||||
Depends: libgtop1@SUFFIX@ (= ${Source-Version})
 | 
			
		||||
Description: Dev libraries for the portable system access library (part of Gnome)
 | 
			
		||||
 Gnome is the "GNU Network Object Model Environment"
 | 
			
		||||
 .
 | 
			
		||||
 It is a project to build a complete, user-friendly desktop based
 | 
			
		||||
 entirely on free software.
 | 
			
		||||
 .
 | 
			
		||||
 This package contains the include files and static library for the
 | 
			
		||||
 gtop libraries which read information about processes and the running
 | 
			
		||||
 systems.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										109
									
								
								debian/debconfigure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										109
									
								
								debian/debconfigure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,109 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
#
 | 
			
		||||
# debconfigure
 | 
			
		||||
#
 | 
			
		||||
# A script to generate a debian/rules file, with options.
 | 
			
		||||
#
 | 
			
		||||
# By Jim Pick <jim@jimpick.com>, GPL'd of course.
 | 
			
		||||
# Adjusted for LibGTop by Martin Baulig <martin@home-of-linux.org>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
if [ ! -r rules.in ]; then
 | 
			
		||||
	echo "Please run the debconfigure script in the debian directory" 1>&2
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
debtype='official'
 | 
			
		||||
prefix='/usr'
 | 
			
		||||
gnomeprefix='/usr'
 | 
			
		||||
localstatedir='/var/lib'
 | 
			
		||||
pkgsuffix=''
 | 
			
		||||
 | 
			
		||||
for dc_option
 | 
			
		||||
do
 | 
			
		||||
    case "$dc_option" in
 | 
			
		||||
	-*=*) dc_optarg=`echo "$dc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
 | 
			
		||||
	*) dc_optarg= ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    case "$dc_option" in
 | 
			
		||||
 | 
			
		||||
	--clean)
 | 
			
		||||
	    rm -f control rules *~ core *files *menu *substvars *.postinst *.debhelper
 | 
			
		||||
	    exit ;;
 | 
			
		||||
 | 
			
		||||
	--prefix=*)
 | 
			
		||||
	    prefix="$dc_optarg" ;;
 | 
			
		||||
 | 
			
		||||
        --localstatedir=*)
 | 
			
		||||
	    prefix="$dc_optarg" ;;
 | 
			
		||||
 | 
			
		||||
	--pkgsuffix=*)
 | 
			
		||||
	    pkgsuffix="$dc_optarg" ;;
 | 
			
		||||
 | 
			
		||||
	--gnome-prefix=*)
 | 
			
		||||
	    gnomeprefix="$dc_optarg" ;;
 | 
			
		||||
 | 
			
		||||
	--debtype=*)
 | 
			
		||||
	    debtype="$dc_optarg" ;;
 | 
			
		||||
 | 
			
		||||
	*)
 | 
			
		||||
	    cat <<EOF 1>&2
 | 
			
		||||
Usage: debconfigure [options]
 | 
			
		||||
Options: [defaults in brackets after descriptions]
 | 
			
		||||
  --help                  print this message
 | 
			
		||||
  --clean		  remove generated files
 | 
			
		||||
  --prefix=PREFIX         install files under under PREFIX dir [/usr]
 | 
			
		||||
  --gnome-prefix=PREFIX   look for GNOME under PREFIX dir [/usr]
 | 
			
		||||
  --localstatedir=DIR     directory for things like game scores [/var/lib]
 | 
			
		||||
  --pkgsuffix=SUFFIX      append SUFFIX onto package names []
 | 
			
		||||
  --debtype=DEBTYPE       enable macros with the name of DEBTYPE [official]
 | 
			
		||||
EOF
 | 
			
		||||
	    exit ;;
 | 
			
		||||
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Strip leading slash
 | 
			
		||||
prefix=`expr $prefix : '/\(.*\)'`
 | 
			
		||||
gnomeprefix=`expr $gnomeprefix : '/\(.*\)'`
 | 
			
		||||
localstatedir=`expr $localstatedir : '/\(.*\)'`
 | 
			
		||||
 | 
			
		||||
for infile in `ls control.in rules.in`
 | 
			
		||||
do
 | 
			
		||||
    tofile=`expr $infile : '\(.*\)\.in'`
 | 
			
		||||
    cat $infile | \
 | 
			
		||||
       sed "s,@SUFFIX@,$pkgsuffix,g" | \
 | 
			
		||||
       sed "s,@PREFIX@,$prefix,g" | \
 | 
			
		||||
       sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
 | 
			
		||||
       sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
 | 
			
		||||
       sed "s,%$debtype>,," | sed '/^%/d' > $tofile
 | 
			
		||||
done
 | 
			
		||||
chmod +x rules
 | 
			
		||||
 | 
			
		||||
for filesfile in `ls *.files.in`
 | 
			
		||||
do
 | 
			
		||||
    tofile=`expr $filesfile : '\(.*\)\.files\.in'`
 | 
			
		||||
    tofile=`echo $tofile$pkgsuffix.files`
 | 
			
		||||
    cat $filesfile | \
 | 
			
		||||
       sed "s,@SUFFIX@,$pkgsuffix,g" | \
 | 
			
		||||
       sed "s,@PREFIX@,$prefix,g" | \
 | 
			
		||||
       sed "s,@GNOMEPREFIX@,$gnomeprefix,g" | \
 | 
			
		||||
       sed "s,@LOCALSTATEDIR@,$localstatedir,g" | \
 | 
			
		||||
       sed "s,%$debtype>,," | sed '/^%/d' > $tofile
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
for postinst in libgtop1$pkgsuffix
 | 
			
		||||
do
 | 
			
		||||
 | 
			
		||||
cat > $postinst.postinst <<EOF
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
ldconfig
 | 
			
		||||
 | 
			
		||||
#DEBHELPER#
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										34
									
								
								debian/libgtop-config.1
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								debian/libgtop-config.1
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
.TH GTOP l "15 September 1999"
 | 
			
		||||
.SH NAME
 | 
			
		||||
\fBlibgtop-config\fP \- libgtop libraries and component information retrieval.
 | 
			
		||||
.SH SYNTAX
 | 
			
		||||
.B libgtop-config
 | 
			
		||||
.RI [ --version ]
 | 
			
		||||
.RI [ --config ]
 | 
			
		||||
.RI [ --features-def-file ]
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
.B libgtop-config
 | 
			
		||||
is used to retrieve information from installed libraries in the system.
 | 
			
		||||
 | 
			
		||||
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
 | 
			
		||||
.LP
 | 
			
		||||
.SH OPTIONS
 | 
			
		||||
.TP
 | 
			
		||||
.B \-\-version
 | 
			
		||||
.PD
 | 
			
		||||
Prints the version of libgtop that you're using.
 | 
			
		||||
.TP
 | 
			
		||||
.B \-\-config
 | 
			
		||||
.PD
 | 
			
		||||
Prints the location of libgtopConf.sh.
 | 
			
		||||
.TP
 | 
			
		||||
.B \-\-version
 | 
			
		||||
.PD
 | 
			
		||||
Prints the location of libgtop-features.def.
 | 
			
		||||
.SH BUGS
 | 
			
		||||
None known
 | 
			
		||||
 | 
			
		||||
.SH AUTHORS
 | 
			
		||||
Martin Baulig (martin@home-of-linux.org)
 | 
			
		||||
.TP
 | 
			
		||||
Josh Sled (jsled@scam.XCF.Berkeley.EDU)
 | 
			
		||||
							
								
								
									
										21
									
								
								debian/libgtop-dev.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								debian/libgtop-dev.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
@PREFIX@/lib/libgtop.a
 | 
			
		||||
@PREFIX@/lib/libgtop_common.a
 | 
			
		||||
@PREFIX@/lib/libgtop_suid_common.a
 | 
			
		||||
@PREFIX@/lib/libgtop_sysdeps.a
 | 
			
		||||
@PREFIX@/lib/libgtop.la
 | 
			
		||||
@PREFIX@/lib/libgtop_common.la
 | 
			
		||||
@PREFIX@/lib/libgtop_suid_common.la
 | 
			
		||||
@PREFIX@/lib/libgtop_sysdeps.la
 | 
			
		||||
@PREFIX@/lib/libgtopConf.sh
 | 
			
		||||
@PREFIX@/lib/libgtop.so
 | 
			
		||||
@PREFIX@/lib/libgtop_common.so
 | 
			
		||||
@PREFIX@/lib/libgtop_suid_common.so
 | 
			
		||||
@PREFIX@/lib/libgtop_sysdeps.so
 | 
			
		||||
@PREFIX@/lib/libgtop-features.def
 | 
			
		||||
@PREFIX@/lib/libgtop/include/*.h
 | 
			
		||||
@PREFIX@/include/glibtop/*.h
 | 
			
		||||
@PREFIX@/include/glibtop.h
 | 
			
		||||
@PREFIX@/include/glibtop_server.h
 | 
			
		||||
@PREFIX@/include/glibtop_machine.h
 | 
			
		||||
@PREFIX@/info/libgtop.info
 | 
			
		||||
@PREFIX@/bin/libgtop-config
 | 
			
		||||
							
								
								
									
										5
									
								
								debian/libgtop1.README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								debian/libgtop1.README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
 | 
			
		||||
The Debian package of libgtop, a GNOME library.
 | 
			
		||||
 | 
			
		||||
-- 
 | 
			
		||||
Martin Baulig <martin@home-of-linux.org>
 | 
			
		||||
							
								
								
									
										12
									
								
								debian/libgtop1.copyright
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								debian/libgtop1.copyright
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
 | 
			
		||||
libgtop is released under the GPL.
 | 
			
		||||
On Debian GNU/Linux systems, the complete text of the GNU General
 | 
			
		||||
Public License can be found in /usr/share/common-licenses/GPL
 | 
			
		||||
 | 
			
		||||
Original authors: Martin Baulig <martin@home-of-linux.org>
 | 
			
		||||
                  Drazen Kacar <dave@srce.hr>
 | 
			
		||||
 | 
			
		||||
Originally Debianised by Jim Pick <jim@jimpick.com>
 | 
			
		||||
Then re-Debianised in October 1998 by Martin Schulze
 | 
			
		||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
 | 
			
		||||
<ian@lynagh.demon.co.uk> in November 1998.
 | 
			
		||||
							
								
								
									
										5
									
								
								debian/libgtop1.docs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								debian/libgtop1.docs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
RELNOTES-0.25
 | 
			
		||||
RELNOTES-1.0.x
 | 
			
		||||
NEWS
 | 
			
		||||
AUTHORS
 | 
			
		||||
debian/changelog
 | 
			
		||||
							
								
								
									
										4
									
								
								debian/libgtop1.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								debian/libgtop1.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9][0-9].[0-9]
 | 
			
		||||
@PREFIX@/lib/libgtop*.so.[0-9].[0-9].[0-9]
 | 
			
		||||
@PREFIX@/lib/libgtop*.so.[0-9]
 | 
			
		||||
@PREFIX@/share/locale/*/*/libgtop.mo
 | 
			
		||||
							
								
								
									
										5
									
								
								debian/libgtop2.README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								debian/libgtop2.README.Debian
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
 | 
			
		||||
The Debian package of libgtop, a GNOME library.
 | 
			
		||||
 | 
			
		||||
-- 
 | 
			
		||||
Ian Lynagh <ian@lynagh.demon.co.uk>
 | 
			
		||||
							
								
								
									
										12
									
								
								debian/libgtop2.copyright
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								debian/libgtop2.copyright
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
 | 
			
		||||
libgtop is released under the GPL.
 | 
			
		||||
On Debian GNU/Linux systems, the complete text of the GNU General
 | 
			
		||||
Public License can be found in /usr/share/common-licenses/GPL
 | 
			
		||||
 | 
			
		||||
Original authors: Martin Baulig <martin@home-of-linux.org>
 | 
			
		||||
                  Drazen Kacar <dave@srce.hr>
 | 
			
		||||
 | 
			
		||||
Originally Debianised by Jim Pick <jim@jimpick.com>
 | 
			
		||||
Then re-Debianised in October 1998 by Martin Schulze
 | 
			
		||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
 | 
			
		||||
<ian@lynagh.demon.co.uk> in November 1998.
 | 
			
		||||
							
								
								
									
										7
									
								
								debian/libgtop2.docs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								debian/libgtop2.docs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
RELNOTES-0.25
 | 
			
		||||
RELNOTES-1.0
 | 
			
		||||
RELNOTES-1.1.x
 | 
			
		||||
NEWS
 | 
			
		||||
AUTHORS
 | 
			
		||||
TODO
 | 
			
		||||
debian/changelog
 | 
			
		||||
							
								
								
									
										2
									
								
								debian/libgtop2.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								debian/libgtop2.files.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
@PREFIX@/lib/libgtop*-1.1.so.*.*
 | 
			
		||||
@PREFIX@/lib/libgtop*-1.1.so.*
 | 
			
		||||
							
								
								
									
										115
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										115
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,115 @@
 | 
			
		||||
#!/usr/bin/make -f
 | 
			
		||||
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
 | 
			
		||||
# This version is for a hypothetical package that builds an
 | 
			
		||||
# architecture-dependant package, as well as an architecture-independent
 | 
			
		||||
# package.
 | 
			
		||||
 | 
			
		||||
# Uncomment this to turn on verbose mode. 
 | 
			
		||||
#export DH_VERBOSE=1
 | 
			
		||||
 | 
			
		||||
i=$(shell pwd)/debian/tmp
 | 
			
		||||
b=$(shell pwd)/debian/build
 | 
			
		||||
 | 
			
		||||
configure: configure.in
 | 
			
		||||
	@echo "--- Making configure script and configuring"
 | 
			
		||||
	chmod +x autogen.sh
 | 
			
		||||
	./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
 | 
			
		||||
	  --localstatedir=/@LOCALSTATEDIR@
 | 
			
		||||
 | 
			
		||||
Makefile: configure
 | 
			
		||||
	@echo "--- Configuring"
 | 
			
		||||
	./configure --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
 | 
			
		||||
	  --localstatedir=/@LOCALSTATEDIR@
 | 
			
		||||
 | 
			
		||||
build: configure Makefile build-debstamp
 | 
			
		||||
build-debstamp:
 | 
			
		||||
	@echo "--- Compiling"
 | 
			
		||||
	dh_testdir
 | 
			
		||||
	$(MAKE) all
 | 
			
		||||
	touch build-debstamp
 | 
			
		||||
 | 
			
		||||
clean: Makefile
 | 
			
		||||
	@echo "--- Cleaning"
 | 
			
		||||
	dh_testdir
 | 
			
		||||
	dh_clean
 | 
			
		||||
	-rm -rf static shared
 | 
			
		||||
	-rm -f build-debstamp install-debstamp
 | 
			
		||||
	-make -k distclean
 | 
			
		||||
	-rm -f `find . -name "*~"`
 | 
			
		||||
	-rm -f `find . -name "*\.la"`
 | 
			
		||||
	-rm -rf `find . -name "\.deps"`
 | 
			
		||||
	-rm -rf `find . -name "\.libs"`
 | 
			
		||||
	-rm -rf `find . -name "*\.rej"`
 | 
			
		||||
	-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
 | 
			
		||||
	-rm -f debian/*substvars
 | 
			
		||||
 | 
			
		||||
install: build install-debstamp
 | 
			
		||||
install-debstamp:
 | 
			
		||||
	@echo "--- Installing"
 | 
			
		||||
	dh_testdir
 | 
			
		||||
	dh_testroot
 | 
			
		||||
	rm -rf $(b)
 | 
			
		||||
	$(MAKE) install prefix=$(i)/@PREFIX@ exec_prefix=$(i)/@PREFIX@ \
 | 
			
		||||
	  localstatedir=$(i)/@LOCALSTATEDIR@
 | 
			
		||||
	touch install-debstamp
 | 
			
		||||
 | 
			
		||||
install-save: install
 | 
			
		||||
	rm -rf $(i).saved
 | 
			
		||||
	cp -a $(i) $(i).saved
 | 
			
		||||
 | 
			
		||||
install-saved:
 | 
			
		||||
	rm -rf $(i)
 | 
			
		||||
	cp -a $(i).saved $(i)
 | 
			
		||||
	rm -rf $(b)
 | 
			
		||||
	touch install-debstamp
 | 
			
		||||
 | 
			
		||||
binary-indep: build install
 | 
			
		||||
 | 
			
		||||
binary-arch: build install \
 | 
			
		||||
		libgtop1@SUFFIX@ \
 | 
			
		||||
		libgtop-dev@SUFFIX@
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# libgtop1@SUFFIX@
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
libgtop1@SUFFIX@: install
 | 
			
		||||
	@echo "--- Building: $@"
 | 
			
		||||
	dh_installdocs       -p$@ -P$(b)/$@ README NEWS AUTHORS
 | 
			
		||||
	dh_installchangelogs -p$@ -P$(b)/$@ ChangeLog
 | 
			
		||||
	dh_movefiles         -p$@ -P$(b)/$@
 | 
			
		||||
	dh_strip             -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_compress          -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_fixperms          -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_installdeb        -p$@ -P$(b)/$@
 | 
			
		||||
	dh_shlibdeps         -p$@ -P$(b)/$@
 | 
			
		||||
	dh_gencontrol        -p$@ -P$(b)/$@
 | 
			
		||||
	dh_makeshlibs        -p$@ -P$(b)/$@ -V
 | 
			
		||||
	dh_md5sums           -p$@ -P$(b)/$@
 | 
			
		||||
	dh_builddeb          -p$@ -P$(b)/$@
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# libgtop-dev
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
libgtop-dev@SUFFIX@: install
 | 
			
		||||
	@echo "--- Building: $@"
 | 
			
		||||
	mkdir -p $(b)/$@/usr/doc
 | 
			
		||||
	cd $(b)/$@/usr/doc; ln -s libgtop1@SUFFIX@ $@	
 | 
			
		||||
	dh_movefiles         -p$@ -P$(b)/$@
 | 
			
		||||
	dh_strip             -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_compress          -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_fixperms          -p$@ -P$(b)/$@ 
 | 
			
		||||
	dh_installdeb        -p$@ -P$(b)/$@
 | 
			
		||||
	dh_shlibdeps         -p$@ -P$(b)/$@
 | 
			
		||||
	dh_gencontrol        -p$@ -P$(b)/$@
 | 
			
		||||
	dh_makeshlibs        -p$@ -P$(b)/$@ -V
 | 
			
		||||
	dh_undocumented      -p$@ -P$(b)/$@ \
 | 
			
		||||
				libgtop-config.1
 | 
			
		||||
	dh_md5sums           -p$@ -P$(b)/$@
 | 
			
		||||
	dh_builddeb          -p$@ -P$(b)/$@
 | 
			
		||||
 | 
			
		||||
binary: binary-indep binary-arch
 | 
			
		||||
.PHONY: binary clean binary-indep binary-arch build install install-save install-saved
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								doc/.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								doc/.cvsignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
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,49 @@
 | 
			
		||||
2006-02-21  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Fixed glibtop_get_proc_state doc.
 | 
			
		||||
	Patch by Emil Nowak <emil5@go2.pl>.
 | 
			
		||||
 | 
			
		||||
2005-01-03  Benoît Dejean  <TazForEver@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Updated.
 | 
			
		||||
 | 
			
		||||
2004-12-04  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Updated.
 | 
			
		||||
 | 
			
		||||
2004-08-03  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Updated.
 | 
			
		||||
 | 
			
		||||
2004-07-07  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: updated.
 | 
			
		||||
	Added glibtop_get_proc_argv.
 | 
			
		||||
	Added glibtop_fsusage.block_size.
 | 
			
		||||
 | 
			
		||||
2004-03-05  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: update for new API
 | 
			
		||||
 | 
			
		||||
2003-10-20  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: s/u_int64_t/guint64/
 | 
			
		||||
 | 
			
		||||
2003-10-20  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am: removed traces of guile, intllibs and libgnomesupport
 | 
			
		||||
 | 
			
		||||
2002-03-12  James Henstridge  <james@daa.com.au>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (MAKEINFO): using += seems to screw up the build
 | 
			
		||||
	with newer automakes.  Set it explicitly (using @MAKEINFO@) seems
 | 
			
		||||
	to be compatible with both.
 | 
			
		||||
 | 
			
		||||
2001-11-26  Abel Cheung  <maddog@linux.org.hk>
 | 
			
		||||
 | 
			
		||||
	* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
 | 
			
		||||
	* about.texi: Very minor update.
 | 
			
		||||
 | 
			
		||||
1999-10-18  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* about.texi: Added a note about LibGTop and GNOME.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
info_TEXINFOS		= libgtop2.texi
 | 
			
		||||
 | 
			
		||||
libgtop2_TEXINFOS	= libgtop2.texi about.texi reference.texi \
 | 
			
		||||
			  version.texi main.texi white-paper.texi
 | 
			
		||||
 | 
			
		||||
AM_MAKEINFOFLAGS	= -I $(libgtop_top_builddir)/doc
 | 
			
		||||
							
								
								
									
										123
									
								
								doc/about.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								doc/about.texi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
@node About, White Paper, Top, Top
 | 
			
		||||
@chapter About LibGTop
 | 
			
		||||
 | 
			
		||||
LibGTop is a library to get system specific data such as CPU and Memory Usage
 | 
			
		||||
and information about running Processes.
 | 
			
		||||
 | 
			
		||||
On Systems like Solaris or Digital Unix where you need special privileges to
 | 
			
		||||
get those data, it uses a setuid/setgid server to do so.
 | 
			
		||||
 | 
			
		||||
Even if LibGTop is a part of the GNOME desktop environment
 | 
			
		||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
 | 
			
		||||
independent from any particular desktop environment, so you can also use it
 | 
			
		||||
as a standalone library in any piece of GPLed software.
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* Availability::                Where to get LibGTop
 | 
			
		||||
* Supported Platforms::         Supported Platforms
 | 
			
		||||
* Mailing List::                Helping with LibGTop development
 | 
			
		||||
* Thanks::                      People who contributed to LibGTop
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node Availability, Supported Platforms, About, About
 | 
			
		||||
@section Availability
 | 
			
		||||
 | 
			
		||||
The master source of LibGTop is the GNOME CVS tree
 | 
			
		||||
(see @uref{http://www.gnome.org} for details), but you can also get the
 | 
			
		||||
latest release tarballs from
 | 
			
		||||
 | 
			
		||||
@display
 | 
			
		||||
@uref{ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/}
 | 
			
		||||
@end display
 | 
			
		||||
 | 
			
		||||
@noindent
 | 
			
		||||
or any of its mirror sites.
 | 
			
		||||
 | 
			
		||||
The latest stable version of LibGTop is 1.0.12 which is also the one that comes
 | 
			
		||||
together with GNOME 1.0. It belongs to @code{LIBGTOP_STABLE_1_0} branch in CVS.
 | 
			
		||||
Actual development occurs in the @code{libgtop-GNOME-2-0-port} which is
 | 
			
		||||
currently versioned 1.90.0.
 | 
			
		||||
 | 
			
		||||
@node Supported Platforms, Mailing List, Availability, About
 | 
			
		||||
@section Supported Platforms
 | 
			
		||||
 | 
			
		||||
The stable branch currently supports the following platforms:
 | 
			
		||||
 | 
			
		||||
@itemize @bullet
 | 
			
		||||
@item All versions of Linux
 | 
			
		||||
 | 
			
		||||
LibGTop was tested under Linux 2.0.x and 2.2.x on the ix86 and the alpha, but
 | 
			
		||||
it should also work without problems on SparcLinux or Linux 2.4.x.
 | 
			
		||||
 | 
			
		||||
Note: I'm speaking of the Linux kernel here, not the GNU/Linux operating system.
 | 
			
		||||
 | 
			
		||||
@item FreeBSD, NetBSD and OpenBSD
 | 
			
		||||
 | 
			
		||||
LibGTop was tested under FreeBSD 2.2.6 and 3.0, NetBSD 1.3.2 and OpenBSD 2.4.
 | 
			
		||||
Support for NetBSD 1.4 was added in LibGTop 1.0.2.
 | 
			
		||||
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
The platforms listed above are known to be stable and working. However, if
 | 
			
		||||
you're using the latest development version, you can use it on the following
 | 
			
		||||
platforms as well:
 | 
			
		||||
 | 
			
		||||
@itemize @bullet
 | 
			
		||||
@item BSD/OS
 | 
			
		||||
 | 
			
		||||
There is a port for BSD/OS (aka BSDI) 2.x and 3.x from Timur Bakeyev which
 | 
			
		||||
should also work with 4.x. This isn't tested very well, but it should be
 | 
			
		||||
working.
 | 
			
		||||
 | 
			
		||||
@item Digital Unix
 | 
			
		||||
 | 
			
		||||
There is some basic support for Digital Unix (formerly DEC OSF/1) V3.2C, but
 | 
			
		||||
this may still be a bit unstable. I'm currently working on this port as time
 | 
			
		||||
permits so it should be fully supported soon.
 | 
			
		||||
 | 
			
		||||
@item Solaris
 | 
			
		||||
 | 
			
		||||
The Solaris port currently works on Solaris 7 and maybe also on other releases.
 | 
			
		||||
Thanks a lot to Drazen Kacar and everyone who helped working on this port. They
 | 
			
		||||
have really done excellent work here and I'm pretty sure that this port will be
 | 
			
		||||
fully functional on most Solaris versions in near future.
 | 
			
		||||
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
@node Mailing List, Thanks, Supported Platforms, About
 | 
			
		||||
@section Mailing List
 | 
			
		||||
 | 
			
		||||
There is a @email{libgtop-devel-list@@egroups.com} mailing list for people who
 | 
			
		||||
want to help with the development of LibGTop.
 | 
			
		||||
 | 
			
		||||
It is meant as a low-traffic, but high content-list where we can discuss
 | 
			
		||||
technical details such as adding new sysdeps ports etc. 
 | 
			
		||||
 | 
			
		||||
Especially, I'd like to see people with a deeper knowledge of operating systems
 | 
			
		||||
internals joining my list so we can discuss technical details of the sysdeps
 | 
			
		||||
code. 
 | 
			
		||||
 | 
			
		||||
It is *not* for users that want to know how to compile LibGTop etc.
 | 
			
		||||
 | 
			
		||||
You can subscribe to this mailing list and view the mailing list archives
 | 
			
		||||
on the LibGTop Page at @uref{http://www.home-of-linux.org/gnome/libgtop}.
 | 
			
		||||
 | 
			
		||||
@node Thanks,  , Mailing List, About
 | 
			
		||||
@section Thanks
 | 
			
		||||
 | 
			
		||||
At the place I'd like to thank the following people who contributed to
 | 
			
		||||
LibGTop (listed in chronological order):
 | 
			
		||||
 | 
			
		||||
@itemize @bullet
 | 
			
		||||
@item Sebastian Wilhelmi who had the initial idea of LibGTop and helped
 | 
			
		||||
me a lot in the early beginning.
 | 
			
		||||
@item Josh Sled for the initial FreeBSD port.
 | 
			
		||||
@item Jeremy Lea for his BSD patches.
 | 
			
		||||
@item Timur Bakeyev for the BSDI port.
 | 
			
		||||
@item Drazen Kacar and the other people on the LibGTop development mailing
 | 
			
		||||
list for the Solaris port.
 | 
			
		||||
@item Kevin Vandersloot for the effort to port to GNOME 2.0.
 | 
			
		||||
@item All people sending me patches, having good ideas, ...
 | 
			
		||||
@item Everyone I have forgotten in this list ...
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										107
									
								
								doc/internals.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								doc/internals.texi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
			
		||||
@node LibGTop Internals, , Reference Manual, Top
 | 
			
		||||
@chapter LibGTop Internals
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* General Internals::           General Internals
 | 
			
		||||
* Sysdeps Internals::           Sysdeps Internals
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node General Internals, Sysdeps Internals, LibGTop Internals, LibGTop Internals
 | 
			
		||||
@section General Internals
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* glibtop::                     The server structure
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node glibtop,  , General Internals, General Internals
 | 
			
		||||
@subsection The server structure - @code{glibtop}
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
@cartouche
 | 
			
		||||
typedef struct _glibtop         glibtop;
 | 
			
		||||
 | 
			
		||||
struct _glibtop
 | 
			
		||||
@{
 | 
			
		||||
        unsigned flags;
 | 
			
		||||
        unsigned method;
 | 
			
		||||
        unsigned error_method;
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
        glibtop_machine machine;
 | 
			
		||||
#endif
 | 
			
		||||
        int input [2];
 | 
			
		||||
        int output [2];
 | 
			
		||||
        int socket;
 | 
			
		||||
        int ncpu;
 | 
			
		||||
        unsigned long os_version_code;
 | 
			
		||||
        const char *name;
 | 
			
		||||
        const char *server_command;
 | 
			
		||||
        const char *server_host;
 | 
			
		||||
        const char *server_user;
 | 
			
		||||
        const char *server_rsh;
 | 
			
		||||
        unsigned long features;
 | 
			
		||||
        unsigned long server_port;
 | 
			
		||||
        glibtop_sysdeps sysdeps;
 | 
			
		||||
        glibtop_sysdeps required;
 | 
			
		||||
        glibtop_sysdeps wanted;
 | 
			
		||||
        pid_t pid;
 | 
			
		||||
@};
 | 
			
		||||
@end cartouche
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@node Sysdeps Internals,  , General Internals, LibGTop Internals
 | 
			
		||||
@section Sysdeps Internals
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* glibtop_open_s::              Non-privileged initializations
 | 
			
		||||
* glibtop_close_s::             Non-privileged cleanups
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node glibtop_open_s, glibtop_close_s, Sysdeps Internals, Sysdeps Internals
 | 
			
		||||
@subsection glibtop_open_s
 | 
			
		||||
 | 
			
		||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
 | 
			
		||||
initialize a server. It should do all initializations that do not need any
 | 
			
		||||
privileges.
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
@cartouche
 | 
			
		||||
void
 | 
			
		||||
glibtop_open_s (glibtop *server, const char *program_name,
 | 
			
		||||
		const unsigned long features,
 | 
			
		||||
		const unsigned flags);
 | 
			
		||||
@end cartouche
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@table @code
 | 
			
		||||
@item server
 | 
			
		||||
Pointer to the @code{glibtop} server structure.
 | 
			
		||||
@item program_name
 | 
			
		||||
Name of the calling program; the implementation will usually
 | 
			
		||||
set @samp{server->name} to this so it'll be used as the program
 | 
			
		||||
name in error messages.
 | 
			
		||||
@end table
 | 
			
		||||
 | 
			
		||||
Typically, this function will set @code{server->name}, @code{server->ncpu} and
 | 
			
		||||
@code{server->os_version_code} and initialize any of the @code{server->machine}
 | 
			
		||||
fields which do not need any privileges.
 | 
			
		||||
 | 
			
		||||
It is normally implemented in @file{open.c} in the sysdeps directory.
 | 
			
		||||
 | 
			
		||||
@node glibtop_close_s,  , glibtop_open_s, Sysdeps Internals
 | 
			
		||||
@subsection glibtop_close_s
 | 
			
		||||
 | 
			
		||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
 | 
			
		||||
clean-up a server when it's no longer used.
 | 
			
		||||
 | 
			
		||||
It must free all resources that were allocated in @code{glibtop_open_s}.
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
@cartouche
 | 
			
		||||
void
 | 
			
		||||
glibtop_close_s (glibtop *server);
 | 
			
		||||
@end cartouche
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
It is normally implemented in @file{close.c} in the sysdeps directory, but may
 | 
			
		||||
be empty.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										88
									
								
								doc/libgtop2.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								doc/libgtop2.texi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,88 @@
 | 
			
		||||
\input texinfo   @c -*-texinfo-*-
 | 
			
		||||
@c %**start of header
 | 
			
		||||
@setfilename libgtop2.info
 | 
			
		||||
@settitle LibGTop Reference Manual
 | 
			
		||||
@setchapternewpage odd
 | 
			
		||||
@c %**end of header
 | 
			
		||||
 | 
			
		||||
@include version.texi
 | 
			
		||||
 | 
			
		||||
@ifinfo
 | 
			
		||||
This is the LibGTop Reference Manual version @value{VERSION}
 | 
			
		||||
(last modified @value{UPDATED}).
 | 
			
		||||
 | 
			
		||||
Copyright 1999 Free Software Foundation, Inc.
 | 
			
		||||
     
 | 
			
		||||
Permission is granted to make and distribute verbatim
 | 
			
		||||
copies of this manual provided the copyright notice and
 | 
			
		||||
this permission notice are preserved on all copies.
 | 
			
		||||
     
 | 
			
		||||
@ignore
 | 
			
		||||
Permission is granted to process this file through TeX
 | 
			
		||||
and print the results, provided the printed document
 | 
			
		||||
carries a copying permission notice identical to this
 | 
			
		||||
one except for the removal of this paragraph (this
 | 
			
		||||
paragraph not being relevant to the printed manual).
 | 
			
		||||
     
 | 
			
		||||
@end ignore
 | 
			
		||||
Permission is granted to copy and distribute modified
 | 
			
		||||
versions of this manual under the conditions for
 | 
			
		||||
verbatim copying, provided also that the sections
 | 
			
		||||
entitled ``Copying'' and ``GNU General Public License''
 | 
			
		||||
are included exactly as in the original, and provided
 | 
			
		||||
that the entire resulting derived work is distributed
 | 
			
		||||
under the terms of a permission notice identical to this
 | 
			
		||||
one.
 | 
			
		||||
     
 | 
			
		||||
Permission is granted to copy and distribute
 | 
			
		||||
translations of this manual into another language,
 | 
			
		||||
under the above conditions for modified versions,
 | 
			
		||||
except that this permission notice may be stated in a
 | 
			
		||||
translation approved by the Free Software Foundation.
 | 
			
		||||
 | 
			
		||||
@format
 | 
			
		||||
@dircategory Libraries:
 | 
			
		||||
@direntry
 | 
			
		||||
* LibGTop2: (libgtop2).			Library to get system specific data
 | 
			
		||||
					such as cpu and memory usage, active
 | 
			
		||||
					processes
 | 
			
		||||
@end direntry
 | 
			
		||||
@end format
 | 
			
		||||
 | 
			
		||||
@end ifinfo
 | 
			
		||||
 | 
			
		||||
@titlepage
 | 
			
		||||
@title LibGTop Reference Manual
 | 
			
		||||
@subtitle Version @value{VERSION} - @value{UPDATED}
 | 
			
		||||
@author Martin Baulig
 | 
			
		||||
 | 
			
		||||
@page
 | 
			
		||||
@vskip 0pt plus 1filll
 | 
			
		||||
Copyright @copyright{} 1999 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
Permission is granted to make and distribute verbatim
 | 
			
		||||
copies of this manual provided the copyright notice and
 | 
			
		||||
this permission notice are preserved on all copies.
 | 
			
		||||
     
 | 
			
		||||
Permission is granted to copy and distribute modified
 | 
			
		||||
versions of this manual under the conditions for
 | 
			
		||||
verbatim copying, provided also that the sections
 | 
			
		||||
entitled ``Copying'' and ``GNU General Public License''
 | 
			
		||||
are included exactly as in the original, and provided
 | 
			
		||||
that the entire resulting derived work is distributed
 | 
			
		||||
under the terms of a permission notice identical to this
 | 
			
		||||
one.
 | 
			
		||||
     
 | 
			
		||||
Permission is granted to copy and distribute
 | 
			
		||||
translations of this manual into another language,
 | 
			
		||||
under the above conditions for modified versions,
 | 
			
		||||
except that this permission notice may be stated in a
 | 
			
		||||
translation approved by the Free Software Foundation.
 | 
			
		||||
@end titlepage
 | 
			
		||||
 | 
			
		||||
@contents
 | 
			
		||||
 | 
			
		||||
@include main.texi
 | 
			
		||||
 | 
			
		||||
@bye
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										68
									
								
								doc/main.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								doc/main.texi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
@node Top, About, (dir), (dir)
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* About::                       About LibGTop
 | 
			
		||||
* White Paper::                 LibGTop White Paper
 | 
			
		||||
* Reference Manual::            LibGTop Reference Manual
 | 
			
		||||
 | 
			
		||||
 --- The Detailed Node Listing ---
 | 
			
		||||
 | 
			
		||||
About LibGTop
 | 
			
		||||
 | 
			
		||||
* Availability::                Where to get LibGTop
 | 
			
		||||
* Supported Platforms::         Supported Platforms
 | 
			
		||||
* Mailing List::                Helping with LibGTop development
 | 
			
		||||
* Thanks::                      People who contributed to LibGTop
 | 
			
		||||
 | 
			
		||||
LibGTop White Paper
 | 
			
		||||
 | 
			
		||||
* Introduction::                Introduction
 | 
			
		||||
* Overview::                    Overview
 | 
			
		||||
 | 
			
		||||
Overview
 | 
			
		||||
 | 
			
		||||
* Interface Design::            Things that need to be considered
 | 
			
		||||
* Server Implementation::       The LibGTop "server"
 | 
			
		||||
 | 
			
		||||
LibGTop Reference Manual
 | 
			
		||||
 | 
			
		||||
* System Dependent::            System Dependent Functions.
 | 
			
		||||
* Common Functions::            Common Functions.
 | 
			
		||||
* Library Functions::           Library Functions.
 | 
			
		||||
 | 
			
		||||
System Dependent Functions
 | 
			
		||||
 | 
			
		||||
* glibtop_cpu::                 CPU Usage.
 | 
			
		||||
* glibtop_mem::                 Memory Usage.
 | 
			
		||||
* glibtop_swap::                Swap Usage.
 | 
			
		||||
* glibtop_uptime::              System Uptime.
 | 
			
		||||
* glibtop_loadavg::             Load Average.
 | 
			
		||||
* glibtop_proclist::            Process List.
 | 
			
		||||
* glibtop_proc_state::          Process State.
 | 
			
		||||
* glibtop_proc_uid::            Process UID and TTY Information.
 | 
			
		||||
* glibtop_proc_mem::            Process Memory Information.
 | 
			
		||||
* glibtop_proc_time::           Process Time Information.
 | 
			
		||||
* glibtop_proc_signal::         Process Signal Information.
 | 
			
		||||
* glibtop_proc_kernel::         Process Kernel Data Information.
 | 
			
		||||
* glibtop_proc_segment::        Process Segment Information.
 | 
			
		||||
* glibtop_proc_args::           Process Arguments.
 | 
			
		||||
* glibtop_proc_map::            Process Memory Maps.
 | 
			
		||||
* glibtop_netload::             Network Load.
 | 
			
		||||
* glibtop_ppp::                 PPP Usage.
 | 
			
		||||
 | 
			
		||||
Common Functions
 | 
			
		||||
 | 
			
		||||
* glibtop_mountlist::           Mount List.
 | 
			
		||||
* glibtop_fsusage::             File System Usage.
 | 
			
		||||
 | 
			
		||||
Library Functions
 | 
			
		||||
 | 
			
		||||
* glibtop_init::                Server Initialization.
 | 
			
		||||
* glibtop_sysdeps::             Server Sysdeps.
 | 
			
		||||
* Library Parameters::          Library Parameters.
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@include about.texi
 | 
			
		||||
@include white-paper.texi
 | 
			
		||||
@include reference.texi
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1846
									
								
								doc/reference.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1846
									
								
								doc/reference.texi
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										90
									
								
								doc/white-paper.texi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								doc/white-paper.texi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
@node White Paper, Reference Manual, About, Top
 | 
			
		||||
@chapter LibGTop White Paper
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* Introduction::                Introduction
 | 
			
		||||
* Overview::                    Overview
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node Introduction, Overview, White Paper, White Paper
 | 
			
		||||
@section Introduction
 | 
			
		||||
 | 
			
		||||
Many modern UNIX systems like Solaris, BSD or Digitial Unix only allow
 | 
			
		||||
priviledged processes to read information like CPU and Memory Usage or
 | 
			
		||||
information about running processes.
 | 
			
		||||
 | 
			
		||||
@itemize @bullet
 | 
			
		||||
@item
 | 
			
		||||
BSD, for instance, doesn't have any other way to get those data than reading
 | 
			
		||||
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
 | 
			
		||||
be able to read this.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
Other systems, like Digital Unix, allow all users to get things like CPU and
 | 
			
		||||
Memory statistics, but only root may read information about any process other
 | 
			
		||||
than the current one (you may not even get information about your own processes
 | 
			
		||||
if you're not root).
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
Linux has a very nice @file{/proc} filesystem, but reading and parsing
 | 
			
		||||
@file{/proc} is very slow and inefficient.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
Solaris is a bit better, but you still need to be in the @code{sys} group or
 | 
			
		||||
even root to get some data.
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
 | 
			
		||||
often are setgid kmem or setuid root. Usually, they're also very specific to
 | 
			
		||||
the system they're written for and not easily portable to other systems without
 | 
			
		||||
a lot of work.
 | 
			
		||||
 | 
			
		||||
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
 | 
			
		||||
a GTK+ program setgid or even setuid would be a security hole as big as you can
 | 
			
		||||
drive the entire X11 source code through. For the GNOME project, we also needed
 | 
			
		||||
some kind of library which provides all the required information in a portable
 | 
			
		||||
since there's more than just one single program that wants to use them - for
 | 
			
		||||
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
 | 
			
		||||
@code{netload} panel applets.
 | 
			
		||||
 | 
			
		||||
@node Overview,  , Introduction, White Paper
 | 
			
		||||
@section Overview
 | 
			
		||||
 | 
			
		||||
This section should give you a short overview on how LibGTop was developed, which
 | 
			
		||||
things needed to be considered and how it works.
 | 
			
		||||
 | 
			
		||||
@menu
 | 
			
		||||
* Interface Design::            Things that need to be considered
 | 
			
		||||
* Server Implementation::       The LibGTop "server"
 | 
			
		||||
@end menu
 | 
			
		||||
 | 
			
		||||
@node Interface Design, Server Implementation, Overview, Overview
 | 
			
		||||
@subsection Interface Design
 | 
			
		||||
 | 
			
		||||
At the very beginning, it was necessary to collect all the data the library part
 | 
			
		||||
should provide and put them into some C structures. This was not that easiy as it
 | 
			
		||||
might sound since LibGTop should be portable to any modern UNIX system with a common
 | 
			
		||||
library part on all those systems, but the data that should be returned vary from
 | 
			
		||||
system to system. For instance some systems support shared memory, but some others
 | 
			
		||||
may not.
 | 
			
		||||
 | 
			
		||||
The header files where we define these C structures (which are system-independent) are
 | 
			
		||||
shared between client and server. This way we can call the system dependent code
 | 
			
		||||
directly where we do not need any special privileges to do so.
 | 
			
		||||
 | 
			
		||||
All of those structures contain a @code{flags} member which is interpreted as a bit
 | 
			
		||||
mask and tells the caller of the library functions which of the fields in the returned
 | 
			
		||||
structure are valid and which are not.
 | 
			
		||||
 | 
			
		||||
@node Server Implementation,  , Interface Design, Overview
 | 
			
		||||
@subsection Server Implementation
 | 
			
		||||
 | 
			
		||||
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
 | 
			
		||||
dependent code which needs special privileges. It is only build if it's required
 | 
			
		||||
on the current system (for instance, the Linux kernel provides all the required
 | 
			
		||||
data via its @file{/proc} filesystem so we do not need the server at all) and it
 | 
			
		||||
only contains the @dfn{features} which need privileges.
 | 
			
		||||
 | 
			
		||||
Whenever we do not need any privileges to get all the data for some of the requested
 | 
			
		||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
 | 
			
		||||
rather than using the server.
 | 
			
		||||
							
								
								
									
										27
									
								
								examples/.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								examples/.cvsignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
.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
 | 
			
		||||
							
								
								
									
										235
									
								
								examples/ChangeLog
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										235
									
								
								examples/ChangeLog
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,235 @@
 | 
			
		||||
2006-02-27  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_proc_mem), (main):
 | 
			
		||||
 | 
			
		||||
	Added proc_mem example.
 | 
			
		||||
 | 
			
		||||
2005-12-15  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* proclist.c: (print_pids), (main):
 | 
			
		||||
	
 | 
			
		||||
	Improved example.
 | 
			
		||||
 | 
			
		||||
2005-12-12  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* .cvsignore:
 | 
			
		||||
	* Makefile.am:
 | 
			
		||||
	* proclist.c: (main):
 | 
			
		||||
	* procmap.c: (main):
 | 
			
		||||
 | 
			
		||||
	Added quick example for glibtop_get_proclist()
 | 
			
		||||
	and updated procmap example to display smap.
 | 
			
		||||
 | 
			
		||||
2005-08-02  Benoît Dejean  <TazForEver@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_cpu), (pprint_get_loadavg),
 | 
			
		||||
	(pprint_get_mem), (pprint_get_msg_limits), (pprint_get_netlist),
 | 
			
		||||
	(pprint_get_swap), (pprint_get_uptime), (pprint_get_proc_kernel),
 | 
			
		||||
	(main):
 | 
			
		||||
 | 
			
		||||
	Added pprint_get_proc_kernel(pid).
 | 
			
		||||
	Fixed prototypes.
 | 
			
		||||
 | 
			
		||||
2005-01-22  Benoît Dejean  <TazForEver@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* openfiles.c: (show_open_files): Updated.
 | 
			
		||||
 | 
			
		||||
2004-12-23  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* netload.c: (main):
 | 
			
		||||
	* procmap.c: (main): s/glibtop_error/g_error/g
 | 
			
		||||
 | 
			
		||||
2004-11-15  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* netload.c: (hwaddress_format_for_display), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-11-13  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
 | 
			
		||||
	(pprint_get_netload), (pprint_get_netlist), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-25  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (main): Re-added pprint_get_msg_limits()
 | 
			
		||||
 | 
			
		||||
i2004-09-25  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* df.c: (main):
 | 
			
		||||
	* pprint.c: (main):
 | 
			
		||||
	* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
 | 
			
		||||
 | 
			
		||||
2004-09-24  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* .cvsignore:
 | 
			
		||||
	* Makefile.am:
 | 
			
		||||
	* ../configure.in
 | 
			
		||||
	* df.c: (print_fsusage), (main): Added new example, just like 'df'.
 | 
			
		||||
 | 
			
		||||
2004-09-22  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
 | 
			
		||||
 | 
			
		||||
2004-09-21  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_swap), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-21  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* procargs.c: (show_args), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-21  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
 | 
			
		||||
	(pprint_get_uptime), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-21  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_mountlist): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-21  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* procargs.c: (show_args), (main): Updated.
 | 
			
		||||
 | 
			
		||||
2004-09-20  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* .cvsignore:
 | 
			
		||||
	* Makefile.am:
 | 
			
		||||
	* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
 | 
			
		||||
	(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
 | 
			
		||||
	(pprint_get_msg_limits), (main): Added new example : pretty prints
 | 
			
		||||
	the result of glibtop_*. Work in progress.
 | 
			
		||||
	
 | 
			
		||||
	Now builds procargs.
 | 
			
		||||
	
 | 
			
		||||
	* ../configure.in: Added to static list.
 | 
			
		||||
 | 
			
		||||
2004-07-07  Benoît Dejean  <tazforever@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* procargs.c: Added glibtop_get_proc_argv demo.
 | 
			
		||||
 | 
			
		||||
2003-12-27  Ole Laursen  <olau@hardworking.dk>
 | 
			
		||||
 | 
			
		||||
	* mountlist.c: Updated to display block size too.
 | 
			
		||||
 | 
			
		||||
2004-03-04  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* smp.c: use libgtop-i18n.h
 | 
			
		||||
 | 
			
		||||
2003-10-21  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am:
 | 
			
		||||
	* smp.c:
 | 
			
		||||
	* sysdeps.c: (main): install only one library, libgtop-2.0
 | 
			
		||||
	Fix build-time warnings due to the redefinition of guint64
 | 
			
		||||
	Fix building smp.c and sysdeps.c
 | 
			
		||||
 | 
			
		||||
2003-10-20  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* first.c:
 | 
			
		||||
	* mountlist.c:
 | 
			
		||||
	* netload.c:
 | 
			
		||||
	* procmap.c:
 | 
			
		||||
	* second.c:
 | 
			
		||||
	* smp.c:
 | 
			
		||||
	* sysdeps.c:
 | 
			
		||||
	* third.c:
 | 
			
		||||
	* timings.c: fixed compilation
 | 
			
		||||
 | 
			
		||||
2003-10-20  Bastien Nocera  <hadess@hadess.net>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am: removed traces of guile, intllibs and libgnomesupport
 | 
			
		||||
 | 
			
		||||
2001-01-14  Abel Cheung  <maddog@linux.org.hk>
 | 
			
		||||
 | 
			
		||||
	* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am, first.c, second.c, sysdeps.c: Make them at least
 | 
			
		||||
	compile for now, by disabling chunks which should belong to
 | 
			
		||||
	HEAD branch.
 | 
			
		||||
 | 
			
		||||
1999-05-28  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* first.c, second.c, sysdeps.c: Use LibGTop version conditionals
 | 
			
		||||
 	so we can more easily merge the code into LIBGTOP_STABLE_1_0.
 | 
			
		||||
 | 
			
		||||
1999-05-07  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* timings.c (timersub): Renamed this to `libgtop_timersub' and define
 | 
			
		||||
	it on all systems.
 | 
			
		||||
 | 
			
		||||
Fri Apr  9 00:14:52 1999 Timur Bakeyev  <timur@gnu.org>
 | 
			
		||||
 | 
			
		||||
	* timings.c: Added timersub defenition, to make code compilable on
 | 
			
		||||
	BSDI.
 | 
			
		||||
 | 
			
		||||
1999-03-24  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* timings.c: New example.
 | 
			
		||||
 | 
			
		||||
1999-03-17  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* first.c, second.c: Fixed a bug that caused a core dump when
 | 
			
		||||
	the sysdeps code does not return all data.
 | 
			
		||||
 | 
			
		||||
1998-11-22  Martin Baulig  <baulig@taurus.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* netload.c: Call inet_ntoa () to get address and subnet
 | 
			
		||||
	in quatted dot notation (like 136.199.14.201) and not just
 | 
			
		||||
	as a number (like 0xc90ec788).
 | 
			
		||||
 | 
			
		||||
1998-11-02  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* sysdeps.c: New example.
 | 
			
		||||
 | 
			
		||||
1998-10-26  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* netload.c: New file. Gets network load for the interface
 | 
			
		||||
	given as command line argument.
 | 
			
		||||
 | 
			
		||||
1998-10-26  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* first.c (glibtop_get_proc_args): Get command line arguments.
 | 
			
		||||
	* second.c: Likewise.
 | 
			
		||||
 | 
			
		||||
1998-10-25  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* first.c (glibtop_get_ppp): Get PPP/ISDN statistics.
 | 
			
		||||
 | 
			
		||||
1998-09-28  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am: Install everything in $(libexecdir)/libgtop.
 | 
			
		||||
 | 
			
		||||
1998-09-09  Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* smp.c: New file. Nice tool to show CPU statistics on SMP systems.
 | 
			
		||||
 | 
			
		||||
1998-08-25  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* first.c, second.c, procmap.c: Fixed some compiler warnings.
 | 
			
		||||
 | 
			
		||||
1998-08-18  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* procmap.c: We now display filenames when compiled
 | 
			
		||||
	`--with-libgtop-inodedb'.
 | 
			
		||||
 | 
			
		||||
1998-08-12  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* second.c: Works a little bit more like `ps' - you can
 | 
			
		||||
	give an optional command line argument to get information
 | 
			
		||||
	about a single process.
 | 
			
		||||
 | 
			
		||||
1998-07-22  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* mountlist.c: New file.
 | 
			
		||||
 | 
			
		||||
1998-06-12  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* test.scm: New file.
 | 
			
		||||
 | 
			
		||||
1998-06-07  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (CFLAGS): Disable optimize.
 | 
			
		||||
 | 
			
		||||
	* first.c (PROFILE_COUNT): Number of times each function
 | 
			
		||||
	should be called. Defaults to 1; to profile the code, you
 | 
			
		||||
	can increase this when compiling.
 | 
			
		||||
							
								
								
									
										53
									
								
								examples/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								examples/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
## Process this file with automake to produce Makefile.in
 | 
			
		||||
 | 
			
		||||
LINK			= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
 | 
			
		||||
 | 
			
		||||
INCLUDES		= @INCLUDES@
 | 
			
		||||
 | 
			
		||||
DEFS			= @DEFS@
 | 
			
		||||
 | 
			
		||||
noinst_PROGRAMS	= 	first second pprint procargs df netlist \
 | 
			
		||||
			  mountlist procmap netload sysdeps timings \
 | 
			
		||||
			  openfiles smp proclist
 | 
			
		||||
 | 
			
		||||
first_SOURCES		= first.c
 | 
			
		||||
first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
second_SOURCES		= second.c
 | 
			
		||||
second_LDADD		= $(top_builddir)/lib/libgtop-2.0.la -lm
 | 
			
		||||
 | 
			
		||||
procmap_SOURCES		= procmap.c
 | 
			
		||||
procmap_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
netload_SOURCES		= netload.c
 | 
			
		||||
netload_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
sysdeps_SOURCES		= sysdeps.c
 | 
			
		||||
sysdeps_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
mountlist_SOURCES	= mountlist.c
 | 
			
		||||
mountlist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
smp_SOURCES		= smp.c
 | 
			
		||||
smp_LDADD		= $(top_builddir)/lib/libgtop-2.0.la -lm
 | 
			
		||||
 | 
			
		||||
timings_SOURCES		= timings.c
 | 
			
		||||
timings_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
pprint_SOURCES	        = pprint.c
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
netlist_SOURCES		= netlist.c
 | 
			
		||||
netlist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
openfiles_SOURCES	= openfiles.c
 | 
			
		||||
openfiles_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
proclist_SOURCES	= proclist.c
 | 
			
		||||
proclist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
							
								
								
									
										51
									
								
								examples/df.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								examples/df.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/fsusage.h>
 | 
			
		||||
#include <glibtop/mountlist.h>
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void print_fsusage(const char *mountpoint)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_fsusage buf;
 | 
			
		||||
 | 
			
		||||
  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
 | 
			
		||||
	 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
  glibtop_mountlist buf;
 | 
			
		||||
  glibtop_mountentry *entries;
 | 
			
		||||
  size_t i;
 | 
			
		||||
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  printf("%-20s %-10s %-10s %-10s %-10s\n",
 | 
			
		||||
	 "Filesystem", "Size", "Used", "Avail", "Use%");
 | 
			
		||||
 | 
			
		||||
  entries = glibtop_get_mountlist(&buf, FALSE);
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
    {
 | 
			
		||||
      print_fsusage(entries[i].mountdir);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  g_free(entries);
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										580
									
								
								examples/first.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										580
									
								
								examples/first.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,580 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned c, method, count, port, i, *ptr;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
	pid_t pid, ppid;
 | 
			
		||||
	char *args;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
 | 
			
		||||
 | 
			
		||||
	printf ("Method = %d\n", method);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	printf ("Command = '%s'\n", buffer);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
 | 
			
		||||
 | 
			
		||||
	printf ("Host = '%s' - %u\n\n", buffer, port);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
	  	glibtop_get_cpu (&data.cpu);
 | 
			
		||||
 | 
			
		||||
	printf ("CPU          (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.cpu.flags,
 | 
			
		||||
		(unsigned long) data.cpu.total,
 | 
			
		||||
		(unsigned long) data.cpu.user,
 | 
			
		||||
		(unsigned long) data.cpu.nice,
 | 
			
		||||
		(unsigned long) data.cpu.sys,
 | 
			
		||||
		(unsigned long) data.cpu.idle,
 | 
			
		||||
		(unsigned long) data.cpu.frequency);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_mem (&data.mem);
 | 
			
		||||
 | 
			
		||||
	printf ("Memory       (0x%08lx): "
 | 
			
		||||
		"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.mem.flags,
 | 
			
		||||
		(unsigned long) data.mem.total,
 | 
			
		||||
		(unsigned long) data.mem.used,
 | 
			
		||||
		(unsigned long) data.mem.free,
 | 
			
		||||
		(unsigned long) data.mem.shared,
 | 
			
		||||
		(unsigned long) data.mem.buffer,
 | 
			
		||||
		(unsigned long) data.mem.cached,
 | 
			
		||||
		(unsigned long) data.mem.user,
 | 
			
		||||
		(unsigned long) data.mem.locked);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_swap (&data.swap);
 | 
			
		||||
 | 
			
		||||
	printf ("Swap         (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.swap.flags,
 | 
			
		||||
		(unsigned long) data.swap.total,
 | 
			
		||||
		(unsigned long) data.swap.used,
 | 
			
		||||
		(unsigned long) data.swap.free,
 | 
			
		||||
		(unsigned long) data.swap.pagein,
 | 
			
		||||
		(unsigned long) data.swap.pageout);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_uptime (&data.uptime);
 | 
			
		||||
 | 
			
		||||
	printf ("Uptime       (0x%08lx): %f, %f\n",
 | 
			
		||||
		(unsigned long) data.uptime.flags,
 | 
			
		||||
		data.uptime.uptime, data.uptime.idletime);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_loadavg (&data.loadavg);
 | 
			
		||||
 | 
			
		||||
	printf ("Loadavg      (0x%08lx): %f, %f, %f - %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.loadavg.flags,
 | 
			
		||||
		(double) data.loadavg.loadavg [0],
 | 
			
		||||
		(double) data.loadavg.loadavg [1],
 | 
			
		||||
		(double) data.loadavg.loadavg [2],
 | 
			
		||||
		(unsigned long) data.loadavg.nr_running,
 | 
			
		||||
		(unsigned long) data.loadavg.nr_tasks,
 | 
			
		||||
		(unsigned long) data.loadavg.last_pid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_shm_limits (&data.shm_limits);
 | 
			
		||||
 | 
			
		||||
	printf ("Shm Limits   (0x%08lx): %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.shm_limits.flags,
 | 
			
		||||
		(unsigned long) data.shm_limits.shmmax,
 | 
			
		||||
		(unsigned long) data.shm_limits.shmmin,
 | 
			
		||||
		(unsigned long) data.shm_limits.shmmni,
 | 
			
		||||
		(unsigned long) data.shm_limits.shmseg,
 | 
			
		||||
		(unsigned long) data.shm_limits.shmall);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_msg_limits (&data.msg_limits);
 | 
			
		||||
 | 
			
		||||
	printf ("Msg Limits   (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.msg_limits.flags,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgpool,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgmap,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgmax,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgmnb,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgmni,
 | 
			
		||||
		(unsigned long) data.msg_limits.msgssz,
 | 
			
		||||
		(unsigned long)  data.msg_limits.msgtql);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_sem_limits (&data.sem_limits);
 | 
			
		||||
 | 
			
		||||
	printf ("Sem Limits   (0x%08lx): "
 | 
			
		||||
		"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.sem_limits.flags,
 | 
			
		||||
		(unsigned long) data.sem_limits.semmap,
 | 
			
		||||
		(unsigned long) data.sem_limits.semmni,
 | 
			
		||||
		(unsigned long) data.sem_limits.semmns,
 | 
			
		||||
		(unsigned long) data.sem_limits.semmnu,
 | 
			
		||||
		(unsigned long) data.sem_limits.semmsl,
 | 
			
		||||
		(unsigned long) data.sem_limits.semopm,
 | 
			
		||||
		(unsigned long) data.sem_limits.semume,
 | 
			
		||||
		(unsigned long) data.sem_limits.semusz,
 | 
			
		||||
		(unsigned long) data.sem_limits.semvmx,
 | 
			
		||||
		(unsigned long) data.sem_limits.semaem);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_ppp (&data.ppp, 0);
 | 
			
		||||
 | 
			
		||||
	printf ("PPP          (0x%08lx): %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.ppp.flags,
 | 
			
		||||
		(unsigned long) data.ppp.state,
 | 
			
		||||
		(unsigned long) data.ppp.bytes_in,
 | 
			
		||||
		(unsigned long) data.ppp.bytes_out);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_get_sysdeps (&sysdeps);
 | 
			
		||||
 | 
			
		||||
	printf ("Sysdeps      (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
 | 
			
		||||
		"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, "
 | 
			
		||||
		"%lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) sysdeps.flags,
 | 
			
		||||
		(unsigned long) sysdeps.cpu,
 | 
			
		||||
		(unsigned long) sysdeps.mem,
 | 
			
		||||
		(unsigned long) sysdeps.swap,
 | 
			
		||||
		(unsigned long) sysdeps.uptime,
 | 
			
		||||
		(unsigned long) sysdeps.loadavg,
 | 
			
		||||
		(unsigned long) sysdeps.shm_limits,
 | 
			
		||||
		(unsigned long) sysdeps.msg_limits,
 | 
			
		||||
		(unsigned long) sysdeps.sem_limits,
 | 
			
		||||
		(unsigned long) sysdeps.proclist,
 | 
			
		||||
		(unsigned long) sysdeps.proc_state,
 | 
			
		||||
		(unsigned long) sysdeps.proc_uid,
 | 
			
		||||
		(unsigned long) sysdeps.proc_mem,
 | 
			
		||||
		(unsigned long) sysdeps.proc_time,
 | 
			
		||||
		(unsigned long) sysdeps.proc_signal,
 | 
			
		||||
		(unsigned long) sysdeps.proc_kernel,
 | 
			
		||||
		(unsigned long) sysdeps.proc_segment,
 | 
			
		||||
		(unsigned long) sysdeps.proc_args,
 | 
			
		||||
		(unsigned long) sysdeps.proc_map,
 | 
			
		||||
		(unsigned long) sysdeps.mountlist,
 | 
			
		||||
		(unsigned long) sysdeps.fsusage,
 | 
			
		||||
		(unsigned long) sysdeps.netload,
 | 
			
		||||
		(unsigned long) sysdeps.ppp);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	ptr = glibtop_get_proclist (&data.proclist, 0, 0);
 | 
			
		||||
 | 
			
		||||
	printf ("Proclist     (0x%08lx): %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) data.proclist.flags,
 | 
			
		||||
		(unsigned long) data.proclist.number,
 | 
			
		||||
		(unsigned long) data.proclist.size,
 | 
			
		||||
		(unsigned long) data.proclist.total);
 | 
			
		||||
 | 
			
		||||
	if (ptr) {
 | 
			
		||||
		printf ("\nProcess: ");
 | 
			
		||||
		for (i = 0; i < data.proclist.number; i++)
 | 
			
		||||
			printf ("%s%u", i ? ", " : "", ptr [i]);
 | 
			
		||||
		printf ("\n");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_free (ptr);
 | 
			
		||||
 | 
			
		||||
	pid = getpid ();
 | 
			
		||||
	ppid = getppid ();
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_State   PID  %5d (0x%08lx): '%s', %c, %lu, %lu\n",
 | 
			
		||||
		(int) pid, (unsigned long) data.proc_state.flags,
 | 
			
		||||
		data.proc_state.cmd, data.proc_state.state,
 | 
			
		||||
		(unsigned long) data.proc_state.uid,
 | 
			
		||||
		(unsigned long) data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Uid     PID  %5d (0x%08lx): "
 | 
			
		||||
		"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_uid.flags,
 | 
			
		||||
		data.proc_uid.uid, data.proc_uid.euid,
 | 
			
		||||
		data.proc_uid.gid, data.proc_uid.egid,
 | 
			
		||||
		data.proc_uid.pid, data.proc_uid.ppid,
 | 
			
		||||
		data.proc_uid.pgrp, data.proc_uid.session,
 | 
			
		||||
		data.proc_uid.tty, data.proc_uid.tpgid,
 | 
			
		||||
		data.proc_uid.priority, data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Mem     PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_mem.flags,
 | 
			
		||||
		(unsigned long) data.proc_mem.size,
 | 
			
		||||
		(unsigned long) data.proc_mem.vsize,
 | 
			
		||||
		(unsigned long) data.proc_mem.resident,
 | 
			
		||||
		(unsigned long) data.proc_mem.share,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Segment PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_segment.flags,
 | 
			
		||||
		(unsigned long) data.proc_segment.text_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.shlib_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.data_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.stack_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.dirty_size,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.end_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_stack);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_time.flags,
 | 
			
		||||
		(unsigned long) data.proc_time.start_time,
 | 
			
		||||
		(unsigned long) data.proc_time.rtime,
 | 
			
		||||
		(unsigned long) data.proc_time.utime,
 | 
			
		||||
		(unsigned long) data.proc_time.stime,
 | 
			
		||||
		(unsigned long) data.proc_time.cutime,
 | 
			
		||||
		(unsigned long) data.proc_time.cstime,
 | 
			
		||||
		(unsigned long) data.proc_time.timeout,
 | 
			
		||||
		(unsigned long) data.proc_time.it_real_value,
 | 
			
		||||
		(unsigned long) data.proc_time.frequency);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Signal  PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_signal.flags,
 | 
			
		||||
		(unsigned long) data.proc_signal.signal,
 | 
			
		||||
		(unsigned long) data.proc_signal.blocked,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigignore,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Kernel  PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_kernel.flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.k_flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.min_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.maj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmin_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmaj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_esp,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_eip,
 | 
			
		||||
		(unsigned long) data.proc_kernel.nwchan,
 | 
			
		||||
		data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	args = glibtop_get_proc_args (&data.proc_args, pid, 0);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < data.proc_args.size; i++) {
 | 
			
		||||
		if (args [i]) continue;
 | 
			
		||||
		args [i] = '|';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Args    PID  %5d (0x%08lx): %lu - '%s'\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_args.flags,
 | 
			
		||||
		(unsigned long) data.proc_args.size,
 | 
			
		||||
		args ? args : "");
 | 
			
		||||
 | 
			
		||||
	g_free (args);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_State   PPID %5d (0x%08lx): '%s', %c, %lu, %lu\n",
 | 
			
		||||
		(int) ppid, (unsigned long) data.proc_state.flags,
 | 
			
		||||
		data.proc_state.cmd, data.proc_state.state,
 | 
			
		||||
		(unsigned long) data.proc_state.uid,
 | 
			
		||||
		(unsigned long) data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Uid     PPID %5d (0x%08lx): "
 | 
			
		||||
		"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_uid.flags,
 | 
			
		||||
		data.proc_uid.uid, data.proc_uid.euid,
 | 
			
		||||
		data.proc_uid.gid, data.proc_uid.egid,
 | 
			
		||||
		data.proc_uid.pid, data.proc_uid.ppid,
 | 
			
		||||
		data.proc_uid.pgrp, data.proc_uid.session,
 | 
			
		||||
		data.proc_uid.tty, data.proc_uid.tpgid,
 | 
			
		||||
		data.proc_uid.priority, data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Mem     PPID %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_mem.flags,
 | 
			
		||||
		(unsigned long) data.proc_mem.size,
 | 
			
		||||
		(unsigned long) data.proc_mem.vsize,
 | 
			
		||||
		(unsigned long) data.proc_mem.resident,
 | 
			
		||||
		(unsigned long) data.proc_mem.share,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Segment PPID %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_segment.flags,
 | 
			
		||||
		(unsigned long) data.proc_segment.text_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.shlib_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.data_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.stack_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.dirty_size,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.end_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_stack);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    PPID %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_time.flags,
 | 
			
		||||
		(unsigned long) data.proc_time.start_time,
 | 
			
		||||
		(unsigned long) data.proc_time.rtime,
 | 
			
		||||
		(unsigned long) data.proc_time.utime,
 | 
			
		||||
		(unsigned long) data.proc_time.stime,
 | 
			
		||||
		(unsigned long) data.proc_time.cutime,
 | 
			
		||||
		(unsigned long) data.proc_time.cstime,
 | 
			
		||||
		(unsigned long) data.proc_time.timeout,
 | 
			
		||||
		(unsigned long) data.proc_time.it_real_value,
 | 
			
		||||
		(unsigned long) data.proc_time.frequency);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Signal  PPID %5d (0x%08lx): %lu %lu %lu %lu\n",
 | 
			
		||||
		(int) ppid, (unsigned long) data.proc_signal.flags,
 | 
			
		||||
		(unsigned long) data.proc_signal.signal,
 | 
			
		||||
		(unsigned long) data.proc_signal.blocked,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigignore,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, ppid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Kernel  PPID %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_kernel.flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.k_flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.min_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.maj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmin_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmaj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_esp,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_eip,
 | 
			
		||||
		(unsigned long) data.proc_kernel.nwchan,
 | 
			
		||||
		data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	args = glibtop_get_proc_args (&data.proc_args, ppid, 0);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < data.proc_args.size; i++) {
 | 
			
		||||
		if (args [i]) continue;
 | 
			
		||||
		args [i] = '|';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Args    PID  %5d (0x%08lx): %lu - '%s'\n", (int) ppid,
 | 
			
		||||
		(unsigned long) data.proc_args.flags,
 | 
			
		||||
		(unsigned long) data.proc_args.size,
 | 
			
		||||
		args ? args : "");
 | 
			
		||||
 | 
			
		||||
	g_free (args);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_State   INIT %5d (0x%08lx): '%s', %c, %lu, %lu\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_state.flags,
 | 
			
		||||
		data.proc_state.cmd, data.proc_state.state,
 | 
			
		||||
		(unsigned long) data.proc_state.uid,
 | 
			
		||||
		(unsigned long) data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Uid     INIT %5d (0x%08lx): "
 | 
			
		||||
		"%d %d %d %d %d %d %d %d %d %d %d %d\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_uid.flags,
 | 
			
		||||
		data.proc_uid.uid, data.proc_uid.euid,
 | 
			
		||||
		data.proc_uid.gid, data.proc_uid.egid,
 | 
			
		||||
		data.proc_uid.pid, data.proc_uid.ppid,
 | 
			
		||||
		data.proc_uid.pgrp, data.proc_uid.session,
 | 
			
		||||
		data.proc_uid.tty, data.proc_uid.tpgid,
 | 
			
		||||
		data.proc_uid.priority, data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Mem     INIT %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_mem.flags,
 | 
			
		||||
		(unsigned long) data.proc_mem.size,
 | 
			
		||||
		(unsigned long) data.proc_mem.vsize,
 | 
			
		||||
		(unsigned long) data.proc_mem.resident,
 | 
			
		||||
		(unsigned long) data.proc_mem.share,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Segment INIT %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_segment.flags,
 | 
			
		||||
		(unsigned long) data.proc_segment.text_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.shlib_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.data_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.stack_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.dirty_size,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.end_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_stack);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    INIT %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_time.flags,
 | 
			
		||||
		(unsigned long) data.proc_time.start_time,
 | 
			
		||||
		(unsigned long) data.proc_time.rtime,
 | 
			
		||||
		(unsigned long) data.proc_time.utime,
 | 
			
		||||
		(unsigned long) data.proc_time.stime,
 | 
			
		||||
		(unsigned long) data.proc_time.cutime,
 | 
			
		||||
		(unsigned long) data.proc_time.cstime,
 | 
			
		||||
		(unsigned long) data.proc_time.timeout,
 | 
			
		||||
		(unsigned long) data.proc_time.it_real_value,
 | 
			
		||||
		(unsigned long) data.proc_time.frequency);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Signal  INIT %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_signal.flags,
 | 
			
		||||
		(unsigned long) data.proc_signal.signal,
 | 
			
		||||
		(unsigned long) data.proc_signal.blocked,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigignore,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, 1);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Kernel  INIT %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_kernel.flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.k_flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.min_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.maj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmin_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmaj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_esp,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_eip,
 | 
			
		||||
		(unsigned long) data.proc_kernel.nwchan,
 | 
			
		||||
		data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	args = glibtop_get_proc_args (&data.proc_args, 1, 0);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < data.proc_args.size; i++) {
 | 
			
		||||
		if (args [i]) continue;
 | 
			
		||||
		args [i] = '|';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Args    PID  %5d (0x%08lx): %lu - '%s'\n", 1,
 | 
			
		||||
		(unsigned long) data.proc_args.flags,
 | 
			
		||||
		(unsigned long) data.proc_args.size,
 | 
			
		||||
		args ? args : "");
 | 
			
		||||
 | 
			
		||||
	g_free (args);
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										118
									
								
								examples/mountlist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								examples/mountlist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,118 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/mountlist.h>
 | 
			
		||||
#include <glibtop/fsusage.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1000
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_fsusage fsusage;
 | 
			
		||||
	glibtop_mountlist mount_list;
 | 
			
		||||
	glibtop_mountentry *mount_entries;
 | 
			
		||||
	unsigned c, index, method, count, port;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
 | 
			
		||||
 | 
			
		||||
	printf ("Method = %d\n", method);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	printf ("Command = '%s'\n", buffer);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
 | 
			
		||||
 | 
			
		||||
	printf ("Host = '%s' - %u\n\n", buffer, port);
 | 
			
		||||
 | 
			
		||||
	printf ("sbrk (0) = %p\n\n", sbrk (0));
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++) {
 | 
			
		||||
		mount_entries = glibtop_get_mountlist (&mount_list, 1);
 | 
			
		||||
 | 
			
		||||
		g_free (mount_entries);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("sbrk (0) = %p\n\n", sbrk (0));
 | 
			
		||||
 | 
			
		||||
	mount_entries = glibtop_get_mountlist (&mount_list, 1);
 | 
			
		||||
 | 
			
		||||
	if (mount_entries == NULL)
 | 
			
		||||
		_exit (1);
 | 
			
		||||
 | 
			
		||||
	for (index = 0; index < mount_list.number; index++)
 | 
			
		||||
		printf ("Mount_Entry: %-30s %-10s %-20s\n",
 | 
			
		||||
			mount_entries [index].mountdir,
 | 
			
		||||
			mount_entries [index].type,
 | 
			
		||||
			mount_entries [index].devname);
 | 
			
		||||
 | 
			
		||||
	printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n",
 | 
			
		||||
		"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz");
 | 
			
		||||
 | 
			
		||||
	for (index = 0; index < mount_list.number; index++) {
 | 
			
		||||
		glibtop_get_fsusage (&fsusage,
 | 
			
		||||
				     mount_entries [index].mountdir);
 | 
			
		||||
 | 
			
		||||
		printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
 | 
			
		||||
			mount_entries [index].mountdir,
 | 
			
		||||
			fsusage.blocks, fsusage.bfree,
 | 
			
		||||
			fsusage.bavail, fsusage.files,
 | 
			
		||||
			fsusage.ffree, fsusage.block_size);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_free (mount_entries);
 | 
			
		||||
 | 
			
		||||
	printf ("\nsbrk (0) = %p\n\n", sbrk (0));
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								examples/netlist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								examples/netlist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
/* Copyright (C) 2004 Benoît Dejean
 | 
			
		||||
   This file is part of LibGTop 2.0.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/netlist.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_netlist buf;
 | 
			
		||||
	char **devices;
 | 
			
		||||
	guint32 i;
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	devices = glibtop_get_netlist(&buf);
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < buf.number; ++i)
 | 
			
		||||
	{
 | 
			
		||||
		printf("net device '%s'\n", devices[i]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_strfreev(devices);
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										164
									
								
								examples/netload.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								examples/netload.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,164 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/netload.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static char* hwaddress_format_for_display(glibtop_netload *buf)
 | 
			
		||||
{
 | 
			
		||||
	unsigned i;
 | 
			
		||||
	GString *repr = g_string_new("");
 | 
			
		||||
	char *str;
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < sizeof buf->hwaddress; ++i)
 | 
			
		||||
		g_string_append_printf(repr, "%02X:",
 | 
			
		||||
				       (unsigned) ((char*)buf->hwaddress)[i]);
 | 
			
		||||
 | 
			
		||||
	repr->str [ repr->len - 1] = ' ';
 | 
			
		||||
	str = g_string_free(repr, FALSE);
 | 
			
		||||
	g_strstrip(str);
 | 
			
		||||
	return str;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_netload netload;
 | 
			
		||||
	unsigned method, count, port;
 | 
			
		||||
	struct in_addr addr, subnet;
 | 
			
		||||
	char *address_string, *subnet_string;
 | 
			
		||||
	char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
 | 
			
		||||
	char *hwaddress_string;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
 | 
			
		||||
 | 
			
		||||
	printf ("Method = %d\n", method);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	printf ("Command = '%s'\n", buffer);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
 | 
			
		||||
 | 
			
		||||
	printf ("Host = '%s' - %u\n\n", buffer, port);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	if (argc != 2)
 | 
			
		||||
		g_error ("Usage: %s interface", argv [0]);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_netload (&netload, argv [1]);
 | 
			
		||||
 | 
			
		||||
	addr.s_addr = netload.address;
 | 
			
		||||
	subnet.s_addr = netload.subnet;
 | 
			
		||||
 | 
			
		||||
	address_string = g_strdup (inet_ntoa (addr));
 | 
			
		||||
	subnet_string  = g_strdup (inet_ntoa (subnet));
 | 
			
		||||
 | 
			
		||||
	inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
 | 
			
		||||
	inet_ntop (AF_INET6, netload.prefix6,  prefix6_string,  INET6_ADDRSTRLEN);
 | 
			
		||||
 | 
			
		||||
	hwaddress_string = hwaddress_format_for_display(&netload);
 | 
			
		||||
 | 
			
		||||
	printf ("Network Load (0x%016llx):\n\n"
 | 
			
		||||
		"\tInterface Flags:\t0x%016llx\n"
 | 
			
		||||
		"\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"
 | 
			
		||||
		"\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,
 | 
			
		||||
		(guint32) netload.address, address_string,
 | 
			
		||||
		(guint32) netload.subnet,  subnet_string,
 | 
			
		||||
		netload.mtu,
 | 
			
		||||
		netload.collisions,
 | 
			
		||||
		netload.packets_in,
 | 
			
		||||
		netload.packets_out,
 | 
			
		||||
		netload.packets_total,
 | 
			
		||||
		netload.bytes_in,
 | 
			
		||||
		netload.bytes_out,
 | 
			
		||||
		netload.bytes_total,
 | 
			
		||||
		netload.errors_in,
 | 
			
		||||
		netload.errors_out,
 | 
			
		||||
		netload.errors_total,
 | 
			
		||||
		address6_string,
 | 
			
		||||
		prefix6_string,
 | 
			
		||||
		(int) netload.scope6,
 | 
			
		||||
		hwaddress_string);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	g_free (address_string);
 | 
			
		||||
	g_free (subnet_string);
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										68
									
								
								examples/openfiles.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								examples/openfiles.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procopenfiles.h>
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
static void show_open_files(pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_open_files buf;
 | 
			
		||||
  glibtop_open_files_entry *files;
 | 
			
		||||
  unsigned i;
 | 
			
		||||
 | 
			
		||||
  files = glibtop_get_proc_open_files(&buf, pid);
 | 
			
		||||
 | 
			
		||||
  printf("<%ld>\n", (long)pid);
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
  {
 | 
			
		||||
	  printf("\tfd = %d\t", files[i].fd);
 | 
			
		||||
 | 
			
		||||
	  switch(files[i].type)
 | 
			
		||||
	  {
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_FILE:
 | 
			
		||||
		  printf("file \"%s\"\n", files[i].info.file.name);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_PIPE:
 | 
			
		||||
		  printf("pipe\n");
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_INETSOCKET:
 | 
			
		||||
		  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;
 | 
			
		||||
	  }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  putchar('\n');
 | 
			
		||||
 | 
			
		||||
  g_free(files);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  show_open_files(getpid());
 | 
			
		||||
 | 
			
		||||
  while(*++argv)
 | 
			
		||||
    {
 | 
			
		||||
      pid_t pid = strtol(*argv, NULL, 10);
 | 
			
		||||
      show_open_files(pid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										324
									
								
								examples/pprint.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										324
									
								
								examples/pprint.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,324 @@
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
 | 
			
		||||
 | 
			
		||||
#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", \
 | 
			
		||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
 | 
			
		||||
 | 
			
		||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
 | 
			
		||||
size_t i; \
 | 
			
		||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
 | 
			
		||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
 | 
			
		||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
 | 
			
		||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
 | 
			
		||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
 | 
			
		||||
} while(0)
 | 
			
		||||
 | 
			
		||||
#define FOOTER_PPRINT() putchar('\n');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_cpu(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_cpu buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_fsusage(const char *mountpoint)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_fsusage buf;
 | 
			
		||||
 | 
			
		||||
  glibtop_get_fsusage(&buf, 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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_loadavg(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_loadavg buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_mem(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_mem buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_mountlist(gboolean allfs)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_mountlist buf;
 | 
			
		||||
  glibtop_mountentry *entries;
 | 
			
		||||
  size_t i;
 | 
			
		||||
 | 
			
		||||
  entries = glibtop_get_mountlist(&buf, 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");
 | 
			
		||||
 | 
			
		||||
  printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
    {
 | 
			
		||||
      printf("\t\t .%lu = { .dev = %#llx,"
 | 
			
		||||
	     " .devname = \"%s\","
 | 
			
		||||
	     " .mountir = \"%s\","
 | 
			
		||||
	     " .type = \"%s\" }\n",
 | 
			
		||||
	     (unsigned long) i, entries[i].dev,
 | 
			
		||||
	     entries[i].devname,
 | 
			
		||||
	     entries[i].mountdir,
 | 
			
		||||
	     entries[i].type);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  printf("\t\t}\n");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
 | 
			
		||||
  g_free(entries);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_msg_limits(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_msg_limits buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_netload(const char *iface)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_netload buf;
 | 
			
		||||
 | 
			
		||||
  glibtop_get_netload(&buf, iface);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_netload);
 | 
			
		||||
  printf("glibtop_get_netload (iface = \"%s\")\n", iface);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_netlist(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_netlist buf;
 | 
			
		||||
  char **devices;
 | 
			
		||||
  guint32 i;
 | 
			
		||||
 | 
			
		||||
  devices = glibtop_get_netlist(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_netlist);
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
  {
 | 
			
		||||
	  printf("\t%s\n", devices[i]);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
 | 
			
		||||
  g_strfreev(devices);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_swap(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_swap buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_uptime(void)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_uptime buf;
 | 
			
		||||
 | 
			
		||||
  glibtop_get_uptime(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_uptime);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(uptime, "%f");
 | 
			
		||||
  PPRINT(idletime, "%f");
 | 
			
		||||
  PPRINT(boot_time, "%llu");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_proc_kernel(pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_kernel buf;
 | 
			
		||||
 | 
			
		||||
  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");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_proc_mem(pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_mem buf;
 | 
			
		||||
 | 
			
		||||
  glibtop_get_proc_mem(&buf, pid);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_proc_mem);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(size, "%llu");
 | 
			
		||||
  PPRINT(vsize, "%llu");
 | 
			
		||||
  PPRINT(resident, "%llu");
 | 
			
		||||
  PPRINT(share, "%llu");
 | 
			
		||||
  PPRINT(rss, "%llu");
 | 
			
		||||
  PPRINT(rss_rlim, "%llu");
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  pprint_get_cpu();
 | 
			
		||||
 | 
			
		||||
  pprint_get_fsusage("/");
 | 
			
		||||
 | 
			
		||||
  pprint_get_loadavg();
 | 
			
		||||
 | 
			
		||||
  pprint_get_mem();
 | 
			
		||||
 | 
			
		||||
  pprint_get_mountlist(TRUE);
 | 
			
		||||
  pprint_get_mountlist(FALSE);
 | 
			
		||||
 | 
			
		||||
  pprint_get_msg_limits();
 | 
			
		||||
 | 
			
		||||
  pprint_get_swap();
 | 
			
		||||
 | 
			
		||||
  pprint_get_netlist();
 | 
			
		||||
 | 
			
		||||
  pprint_get_netload("eth0");
 | 
			
		||||
  pprint_get_netload("ppp0");
 | 
			
		||||
  pprint_get_netload("<unknown>");
 | 
			
		||||
/* pprint_get_sysinfo(); */
 | 
			
		||||
 | 
			
		||||
  pprint_get_uptime();
 | 
			
		||||
 | 
			
		||||
  pprint_get_proc_kernel(getpid());
 | 
			
		||||
  pprint_get_proc_mem(getpid());
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										51
									
								
								examples/procargs.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								examples/procargs.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procargs.h>
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
static void show_args(pid_t pid, unsigned max_len)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_args buf;
 | 
			
		||||
  char ** const pargv = glibtop_get_proc_argv(&buf, pid, max_len);
 | 
			
		||||
 | 
			
		||||
  char **parg = pargv;
 | 
			
		||||
 | 
			
		||||
  printf("<%ld>\t", (long)pid);
 | 
			
		||||
 | 
			
		||||
  while(*parg)
 | 
			
		||||
    {
 | 
			
		||||
      printf("\"%s\" ", *parg);
 | 
			
		||||
      parg++;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  putchar('\n');
 | 
			
		||||
 | 
			
		||||
  g_strfreev(pargv);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  show_args(getpid(), 0);
 | 
			
		||||
  show_args(getpid(), 15);
 | 
			
		||||
 | 
			
		||||
  while(*++argv)
 | 
			
		||||
    {
 | 
			
		||||
      pid_t pid = strtol(*argv, NULL, 10);
 | 
			
		||||
      show_args(pid, 0);
 | 
			
		||||
      show_args(pid, 15);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										43
									
								
								examples/proclist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								examples/proclist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/proclist.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void print_pids(guint64 which, guint64 arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned *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)
 | 
			
		||||
		printf("%u ", pids[i]);
 | 
			
		||||
 | 
			
		||||
	putchar('\n');
 | 
			
		||||
	putchar('\n');
 | 
			
		||||
 | 
			
		||||
	g_free(pids);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	print_pids(GLIBTOP_KERN_PROC_ALL, 0);
 | 
			
		||||
	print_pids(GLIBTOP_KERN_PROC_UID, getuid());
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										181
									
								
								examples/procmap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								examples/procmap.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,181 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/procmap.h>
 | 
			
		||||
 | 
			
		||||
#ifdef GLIBTOP_INODEDB
 | 
			
		||||
#include <glibtop/inodedb.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
#ifdef GLIBTOP_INODEDB
 | 
			
		||||
	glibtop_inodedb *inodedb;
 | 
			
		||||
#endif
 | 
			
		||||
	glibtop_proc_map procmap;
 | 
			
		||||
	glibtop_map_entry *maps;
 | 
			
		||||
	unsigned method, count, port, i;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
 | 
			
		||||
 | 
			
		||||
	printf ("Method = %d\n", method);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	printf ("Command = '%s'\n", buffer);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
 | 
			
		||||
 | 
			
		||||
	printf ("Host = '%s' - %u\n\n", buffer, port);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
 | 
			
		||||
		g_error ("Usage: %s pid", argv [0]);
 | 
			
		||||
 | 
			
		||||
#ifdef GLIBTOP_INODEDB
 | 
			
		||||
	inodedb = glibtop_inodedb_open (0, 0);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
 | 
			
		||||
 | 
			
		||||
	maps = glibtop_get_proc_map (&procmap, pid);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < procmap.number; i++) {
 | 
			
		||||
		const char *filename = NULL;
 | 
			
		||||
		unsigned device, device_major, device_minor;
 | 
			
		||||
		char perm [5];
 | 
			
		||||
 | 
			
		||||
		if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
 | 
			
		||||
			filename = maps [i].filename;
 | 
			
		||||
 | 
			
		||||
#ifdef GLIBTOP_INODEDB
 | 
			
		||||
		if (inodedb && !filename)
 | 
			
		||||
			filename = glibtop_inodedb_lookup
 | 
			
		||||
				(inodedb, maps [i].device, maps [i].inode);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
 | 
			
		||||
		perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
 | 
			
		||||
		perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
 | 
			
		||||
		perm [3] = (maps [i].perm & GLIBTOP_MAP_PERM_SHARED) ? 's' : '-';
 | 
			
		||||
		perm [4] = (maps [i].perm & GLIBTOP_MAP_PERM_PRIVATE) ? 'p' : '-';
 | 
			
		||||
 | 
			
		||||
		device = (unsigned long) maps [i].device;
 | 
			
		||||
		device_minor = (device & 255);
 | 
			
		||||
		device_major = ((device >> 8) & 255);
 | 
			
		||||
 | 
			
		||||
		if (filename) {
 | 
			
		||||
			char *format;
 | 
			
		||||
 | 
			
		||||
			if (sizeof (void*) == 8)
 | 
			
		||||
				format = "%016lx-%016lx %016lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s - %s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s - %s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm, filename);
 | 
			
		||||
		} else {
 | 
			
		||||
			char * format;
 | 
			
		||||
 | 
			
		||||
			if (sizeof (void*) == 8)
 | 
			
		||||
				format = "%016lx-%016lx %016lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		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,
 | 
			
		||||
			maps[i].size >> 10,
 | 
			
		||||
			maps[i].rss >> 10,
 | 
			
		||||
			maps[i].shared_clean >> 10,
 | 
			
		||||
			maps[i].shared_dirty >> 10,
 | 
			
		||||
			maps[i].private_clean >> 10,
 | 
			
		||||
			maps[i].private_dirty >> 10);
 | 
			
		||||
 | 
			
		||||
		if (filename && (filename != maps [i].filename))
 | 
			
		||||
			g_free ((void*)filename);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_free (maps);
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										305
									
								
								examples/second.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										305
									
								
								examples/second.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,305 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
output (pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	char *args;
 | 
			
		||||
	unsigned i;
 | 
			
		||||
 | 
			
		||||
#if HAVE_LIBGTOP_SMP
 | 
			
		||||
	unsigned long total;
 | 
			
		||||
	double p_total, p_utime, p_stime;
 | 
			
		||||
	double b_total, b_utime, b_stime;
 | 
			
		||||
	double s_total, s_utime, s_stime;
 | 
			
		||||
	double my_utime, my_stime;
 | 
			
		||||
	unsigned int ncpu;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_state (&data.proc_state, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_State   PID  %5d (0x%08lx): "
 | 
			
		||||
		"'%s', %c, %lu, %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_state.flags,
 | 
			
		||||
		data.proc_state.cmd, data.proc_state.state,
 | 
			
		||||
		(unsigned long) data.proc_state.uid,
 | 
			
		||||
		(unsigned long) data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_uid (&data.proc_uid, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Uid     PID  %5d (0x%08lx): "
 | 
			
		||||
		"%d %d %d %d %d %d %d %d %d %d %d %d\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_uid.flags,
 | 
			
		||||
		data.proc_uid.uid, data.proc_uid.euid,
 | 
			
		||||
		data.proc_uid.gid, data.proc_uid.egid,
 | 
			
		||||
		data.proc_uid.pid, data.proc_uid.ppid,
 | 
			
		||||
		data.proc_uid.pgrp, data.proc_uid.session,
 | 
			
		||||
		data.proc_uid.tty, data.proc_uid.tpgid,
 | 
			
		||||
		data.proc_uid.priority, data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_mem (&data.proc_mem, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Mem     PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_mem.flags,
 | 
			
		||||
		(unsigned long) data.proc_mem.size,
 | 
			
		||||
		(unsigned long) data.proc_mem.vsize,
 | 
			
		||||
		(unsigned long) data.proc_mem.resident,
 | 
			
		||||
		(unsigned long) data.proc_mem.share,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss,
 | 
			
		||||
		(unsigned long) data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Segment PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_segment.flags,
 | 
			
		||||
		(unsigned long) data.proc_segment.text_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.shlib_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.data_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.stack_rss,
 | 
			
		||||
		(unsigned long) data.proc_segment.dirty_size,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.end_code,
 | 
			
		||||
		(unsigned long) data.proc_segment.start_stack);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu %lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_time.flags,
 | 
			
		||||
		(unsigned long) data.proc_time.start_time,
 | 
			
		||||
		(unsigned long) data.proc_time.rtime,
 | 
			
		||||
		(unsigned long) data.proc_time.utime,
 | 
			
		||||
		(unsigned long) data.proc_time.stime,
 | 
			
		||||
		(unsigned long) data.proc_time.cutime,
 | 
			
		||||
		(unsigned long) data.proc_time.cstime,
 | 
			
		||||
		(unsigned long) data.proc_time.timeout,
 | 
			
		||||
		(unsigned long) data.proc_time.it_real_value,
 | 
			
		||||
		(unsigned long) data.proc_time.frequency);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_signal (&data.proc_signal, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Signal  PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_signal.flags,
 | 
			
		||||
		(unsigned long) data.proc_signal.signal,
 | 
			
		||||
		(unsigned long) data.proc_signal.blocked,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigignore,
 | 
			
		||||
		(unsigned long) data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_kernel (&data.proc_kernel, pid);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Kernel  PID  %5d (0x%08lx): "
 | 
			
		||||
		"%lu %lu %lu %lu %lu 0x%lx 0x%lx 0x%lx (%s)\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_kernel.flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.k_flags,
 | 
			
		||||
		(unsigned long) data.proc_kernel.min_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.maj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmin_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.cmaj_flt,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_esp,
 | 
			
		||||
		(unsigned long) data.proc_kernel.kstk_eip,
 | 
			
		||||
		(unsigned long) data.proc_kernel.nwchan,
 | 
			
		||||
		data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	args = glibtop_get_proc_args (&data.proc_args, pid, 0);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < data.proc_args.size; i++) {
 | 
			
		||||
		if (args [i]) continue;
 | 
			
		||||
		args [i] = '|';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Args    PID  %5d (0x%08lx): %lu - '%s'\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_args.flags,
 | 
			
		||||
		(unsigned long) data.proc_args.size,
 | 
			
		||||
		args ? args : "");
 | 
			
		||||
 | 
			
		||||
	g_free (args);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
#if HAVE_LIBGTOP_SMP
 | 
			
		||||
	ncpu = glibtop_global_server->ncpu;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
 | 
			
		||||
	total = (unsigned long) data.proc_time.utime +
 | 
			
		||||
		(unsigned long) data.proc_time.stime;
 | 
			
		||||
 | 
			
		||||
	p_total = total ? (double) total : 1.0;
 | 
			
		||||
 | 
			
		||||
	p_utime = (double) data.proc_time.utime * 100.0 / p_total;
 | 
			
		||||
	p_stime = (double) data.proc_time.stime * 100.0 / p_total;
 | 
			
		||||
 | 
			
		||||
	b_total = p_total / ncpu;
 | 
			
		||||
	b_utime = (double) data.proc_time.utime / ncpu;
 | 
			
		||||
	b_stime = (double) data.proc_time.stime / ncpu;
 | 
			
		||||
 | 
			
		||||
	s_total = 0.0; s_utime = 0.0; s_stime = 0.0;
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    PID  %5d (0x%08lx): %12lu   %12lu   %12lu\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_time.flags, total,
 | 
			
		||||
		(unsigned long) data.proc_time.utime,
 | 
			
		||||
		(unsigned long) data.proc_time.stime);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < ncpu; i++) {
 | 
			
		||||
		unsigned long this_total;
 | 
			
		||||
 | 
			
		||||
		this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
 | 
			
		||||
			(unsigned long) data.proc_time.xcpu_stime [i];
 | 
			
		||||
 | 
			
		||||
		printf ("CPU %3d      PID  %5d (0x%08lx): %12lu   %12lu   %12lu\n", i,
 | 
			
		||||
			(int) pid, (unsigned long) data.proc_time.flags, this_total,
 | 
			
		||||
			(unsigned long) data.proc_time.xcpu_utime [i],
 | 
			
		||||
			(unsigned long) data.proc_time.xcpu_stime [i]);
 | 
			
		||||
 | 
			
		||||
		s_total += fabs (((double) this_total) - b_total);
 | 
			
		||||
		s_utime += fabs (((double) data.proc_time.xcpu_utime [i]) - b_utime);
 | 
			
		||||
		s_stime += fabs (((double) data.proc_time.xcpu_stime [i]) - b_stime);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    PID  %5d (0x%08lx): %12.3f   %12.3f   %12.3f\n", (int) pid,
 | 
			
		||||
		(unsigned long) data.proc_time.flags, 100.0, p_utime, p_stime);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < ncpu; i++) {
 | 
			
		||||
		double this_p_total, this_p_utime, this_p_stime;
 | 
			
		||||
		unsigned long this_total;
 | 
			
		||||
 | 
			
		||||
		this_total = (unsigned long) data.proc_time.xcpu_utime [i] +
 | 
			
		||||
			(unsigned long) data.proc_time.xcpu_stime [i];
 | 
			
		||||
 | 
			
		||||
		this_p_total = (double) this_total * 100.0 / p_total;
 | 
			
		||||
 | 
			
		||||
		this_p_utime = (double) data.proc_time.xcpu_utime [i] * 100.0 / p_total;
 | 
			
		||||
		this_p_stime = (double) data.proc_time.xcpu_stime [i] * 100.0 / p_total;
 | 
			
		||||
 | 
			
		||||
		printf ("CPU %3d      PID  %5d (0x%08lx): %12.3f   %12.3f   %12.3f\n", i,
 | 
			
		||||
			(int) pid, (unsigned long) data.proc_time.flags,
 | 
			
		||||
			this_p_total, this_p_utime, this_p_stime);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	my_utime = (unsigned long) data.proc_time.utime ?
 | 
			
		||||
		(double) data.proc_time.utime : 1.0;
 | 
			
		||||
	my_stime = (unsigned long) data.proc_time.stime ?
 | 
			
		||||
		(double) data.proc_time.stime : 1.0;
 | 
			
		||||
 | 
			
		||||
	printf ("SPIN: %31s %12.3f   %12.3f   %12.3f\n", "", s_total * 100.0 / p_total,
 | 
			
		||||
		s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_proclist proclist;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned *ptr, pid, i;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init ();
 | 
			
		||||
 | 
			
		||||
	glibtop_get_sysdeps (&sysdeps);
 | 
			
		||||
 | 
			
		||||
	printf ("Sysdeps      (0x%08lx): %lu, %lu, %lu, %lu, %lu, "
 | 
			
		||||
		"%lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) sysdeps.flags,
 | 
			
		||||
		(unsigned long) sysdeps.cpu,
 | 
			
		||||
		(unsigned long) sysdeps.mem,
 | 
			
		||||
		(unsigned long) sysdeps.swap,
 | 
			
		||||
		(unsigned long) sysdeps.uptime,
 | 
			
		||||
		(unsigned long) sysdeps.loadavg,
 | 
			
		||||
		(unsigned long) sysdeps.shm_limits,
 | 
			
		||||
		(unsigned long) sysdeps.msg_limits,
 | 
			
		||||
		(unsigned long) sysdeps.sem_limits,
 | 
			
		||||
		(unsigned long) sysdeps.proclist,
 | 
			
		||||
		(unsigned long) sysdeps.proc_state,
 | 
			
		||||
		(unsigned long) sysdeps.proc_uid,
 | 
			
		||||
		(unsigned long) sysdeps.proc_mem,
 | 
			
		||||
		(unsigned long) sysdeps.proc_time,
 | 
			
		||||
		(unsigned long) sysdeps.proc_signal,
 | 
			
		||||
		(unsigned long) sysdeps.proc_kernel,
 | 
			
		||||
		(unsigned long) sysdeps.proc_segment);
 | 
			
		||||
 | 
			
		||||
	if ((argc == 2) && (sscanf (argv [1], "%d", &pid) == 1)) {
 | 
			
		||||
		output (pid);
 | 
			
		||||
 | 
			
		||||
		exit (0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	ptr = glibtop_get_proclist (&proclist, 0, 0);
 | 
			
		||||
 | 
			
		||||
	printf ("Proclist     (0x%08lx): %lu, %lu, %lu\n",
 | 
			
		||||
		(unsigned long) proclist.flags,
 | 
			
		||||
		(unsigned long) proclist.number,
 | 
			
		||||
		(unsigned long) proclist.size,
 | 
			
		||||
		(unsigned long) proclist.total);
 | 
			
		||||
 | 
			
		||||
	if (!ptr) exit (1);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < proclist.number; i++) {
 | 
			
		||||
 | 
			
		||||
		pid = ptr [i];
 | 
			
		||||
 | 
			
		||||
		output (pid);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_free (ptr);
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										126
									
								
								examples/smp.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								examples/smp.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,126 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, September 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/cpu.h>
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_cpu cpu;
 | 
			
		||||
	unsigned long frequency;
 | 
			
		||||
	double total, user, nice, sys, idle;
 | 
			
		||||
	double b_total, b_user, b_nice, b_sys, b_idle;
 | 
			
		||||
	double s_total, s_user, s_nice, s_sys, s_idle;
 | 
			
		||||
	char separator [BUFSIZ], buffer [BUFSIZ];
 | 
			
		||||
	int ncpu, i;
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	glibtop_get_cpu (&cpu);
 | 
			
		||||
 | 
			
		||||
	ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1;
 | 
			
		||||
 | 
			
		||||
	frequency = (unsigned long) cpu.frequency;
 | 
			
		||||
 | 
			
		||||
	total = ((unsigned long) cpu.total) ? ((double) cpu.total) : 1.0;
 | 
			
		||||
	user  = ((unsigned long) cpu.user)  ? ((double) cpu.user)  : 1.0;
 | 
			
		||||
	nice  = ((unsigned long) cpu.nice)  ? ((double) cpu.nice)  : 1.0;
 | 
			
		||||
	sys   = ((unsigned long) cpu.sys)   ? ((double) cpu.sys)   : 1.0;
 | 
			
		||||
	idle  = ((unsigned long) cpu.idle)  ? ((double) cpu.idle)  : 1.0;
 | 
			
		||||
 | 
			
		||||
	s_total = s_user = s_nice = s_sys = s_idle = 0.0;
 | 
			
		||||
 | 
			
		||||
	b_total = total / ncpu;
 | 
			
		||||
	b_user  = user  / ncpu;
 | 
			
		||||
	b_nice  = nice  / ncpu;
 | 
			
		||||
	b_sys   = sys   / ncpu;
 | 
			
		||||
	b_idle  = idle  / ncpu;
 | 
			
		||||
 | 
			
		||||
	memset (separator, '-', 91);
 | 
			
		||||
	separator [92] = '\0';
 | 
			
		||||
 | 
			
		||||
	sprintf (buffer, "Ticks (%ld per second):", frequency);
 | 
			
		||||
 | 
			
		||||
	printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
 | 
			
		||||
		"Total", "User", "Nice", "Sys", "Idle", separator);
 | 
			
		||||
 | 
			
		||||
	printf ("CPU          (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n",
 | 
			
		||||
		(unsigned long) cpu.flags, total, user, nice, sys, idle);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < glibtop_global_server->ncpu; i++) {
 | 
			
		||||
		printf ("CPU %3d      (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n", i,
 | 
			
		||||
			(unsigned long) cpu.flags,
 | 
			
		||||
			(unsigned long) cpu.xcpu_total [i],
 | 
			
		||||
			(unsigned long) cpu.xcpu_user  [i],
 | 
			
		||||
			(unsigned long) cpu.xcpu_nice  [i],
 | 
			
		||||
			(unsigned long) cpu.xcpu_sys   [i],
 | 
			
		||||
			(unsigned long) cpu.xcpu_idle  [i]);
 | 
			
		||||
 | 
			
		||||
		s_total += fabs (((double) cpu.xcpu_total [i]) - b_total);
 | 
			
		||||
		s_user  += fabs (((double) cpu.xcpu_user  [i]) - b_user);
 | 
			
		||||
		s_nice  += fabs (((double) cpu.xcpu_nice  [i]) - b_nice);
 | 
			
		||||
		s_sys   += fabs (((double) cpu.xcpu_sys   [i]) - b_sys);
 | 
			
		||||
		s_idle  += fabs (((double) cpu.xcpu_idle  [i]) - b_idle);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("%s\n\n\n", separator);
 | 
			
		||||
 | 
			
		||||
	printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", "Percent:",
 | 
			
		||||
		"Total (%)", "User (%)", "Nice (%)", "Sys (%)",
 | 
			
		||||
		"Idle (%)", separator);
 | 
			
		||||
 | 
			
		||||
	printf ("CPU          (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n",
 | 
			
		||||
		(unsigned long) cpu.flags, (double) total * 100.0 / total,
 | 
			
		||||
		(double) user  * 100.0 / total,
 | 
			
		||||
		(double) nice  * 100.0 / total,
 | 
			
		||||
		(double) sys   * 100.0 / total,
 | 
			
		||||
		(double) idle  * 100.0 / total);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < glibtop_global_server->ncpu; i++) {
 | 
			
		||||
		double p_total, p_user, p_nice, p_sys, p_idle;
 | 
			
		||||
 | 
			
		||||
		p_total = ((double) cpu.xcpu_total [i]) * 100.0 / total;
 | 
			
		||||
		p_user  = ((double) cpu.xcpu_user  [i]) * 100.0 / user;
 | 
			
		||||
		p_nice  = ((double) cpu.xcpu_nice  [i]) * 100.0 / nice;
 | 
			
		||||
		p_sys   = ((double) cpu.xcpu_sys   [i]) * 100.0 / sys;
 | 
			
		||||
		p_idle  = ((double) cpu.xcpu_idle  [i]) * 100.0 / idle;
 | 
			
		||||
 | 
			
		||||
		printf ("CPU %3d      (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n",
 | 
			
		||||
			i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
 | 
			
		||||
			p_sys, p_idle);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
 | 
			
		||||
		"Spin:", s_total * 100.0 / total, s_user * 100.0 / user,
 | 
			
		||||
		s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										154
									
								
								examples/sysdeps.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								examples/sysdeps.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,154 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned method, count, port;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
 | 
			
		||||
 | 
			
		||||
	printf ("Method = %d\n", method);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	printf ("Command = '%s'\n", buffer);
 | 
			
		||||
 | 
			
		||||
	count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
 | 
			
		||||
	buffer [count] = 0;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
 | 
			
		||||
 | 
			
		||||
	printf ("Host = '%s' - %u\n\n", buffer, port);
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_sysdeps (&sysdeps);
 | 
			
		||||
 | 
			
		||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
 | 
			
		||||
 | 
			
		||||
	printf ("Sysdeps (0x%08lx):\n\n"
 | 
			
		||||
		"\tfeatures:\t\t0x%08lx\n\n"
 | 
			
		||||
		"\tcpu:\t\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tmem:\t\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tswap:\t\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tuptime:\t\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tloadavg:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tshm_limits:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tmsg_limits:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tsem_limits:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tproclist:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tproc_state:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_uid:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_mem:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_time:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_signal:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_kernel:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_segment:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tproc_args:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_map:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tmountlist:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tfsusage:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tnetload:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tppp:\t\t%d\t0x%08lx\n\n",
 | 
			
		||||
		(unsigned long) sysdeps.flags,
 | 
			
		||||
		(unsigned long) sysdeps.features,
 | 
			
		||||
		FEATURE_CHECK(CPU),
 | 
			
		||||
		(unsigned long) sysdeps.cpu,
 | 
			
		||||
		FEATURE_CHECK(MEM),
 | 
			
		||||
		(unsigned long) sysdeps.mem,
 | 
			
		||||
		FEATURE_CHECK(SWAP),
 | 
			
		||||
		(unsigned long) sysdeps.swap,
 | 
			
		||||
		FEATURE_CHECK(UPTIME),
 | 
			
		||||
		(unsigned long) sysdeps.uptime,
 | 
			
		||||
		FEATURE_CHECK(LOADAVG),
 | 
			
		||||
		(unsigned long) sysdeps.loadavg,
 | 
			
		||||
		FEATURE_CHECK(SHM_LIMITS),
 | 
			
		||||
		(unsigned long) sysdeps.shm_limits,
 | 
			
		||||
		FEATURE_CHECK(MSG_LIMITS),
 | 
			
		||||
		(unsigned long) sysdeps.msg_limits,
 | 
			
		||||
		FEATURE_CHECK(SEM_LIMITS),
 | 
			
		||||
		(unsigned long) sysdeps.sem_limits,
 | 
			
		||||
		FEATURE_CHECK(PROCLIST),
 | 
			
		||||
		(unsigned long) sysdeps.proclist,
 | 
			
		||||
		FEATURE_CHECK(PROC_STATE),
 | 
			
		||||
		(unsigned long) sysdeps.proc_state,
 | 
			
		||||
		FEATURE_CHECK(PROC_UID),
 | 
			
		||||
		(unsigned long) sysdeps.proc_uid,
 | 
			
		||||
		FEATURE_CHECK(PROC_MEM),
 | 
			
		||||
		(unsigned long) sysdeps.proc_mem,
 | 
			
		||||
		FEATURE_CHECK(PROC_TIME),
 | 
			
		||||
		(unsigned long) sysdeps.proc_time,
 | 
			
		||||
		FEATURE_CHECK(PROC_SIGNAL),
 | 
			
		||||
		(unsigned long) sysdeps.proc_signal,
 | 
			
		||||
		FEATURE_CHECK(PROC_KERNEL),
 | 
			
		||||
		(unsigned long) sysdeps.proc_kernel,
 | 
			
		||||
		FEATURE_CHECK(PROC_SEGMENT),
 | 
			
		||||
		(unsigned long) sysdeps.proc_segment,
 | 
			
		||||
		FEATURE_CHECK(PROC_ARGS),
 | 
			
		||||
		(unsigned long) sysdeps.proc_args,
 | 
			
		||||
		FEATURE_CHECK(PROC_MAP),
 | 
			
		||||
		(unsigned long) sysdeps.proc_map,
 | 
			
		||||
		FEATURE_CHECK(MOUNTLIST),
 | 
			
		||||
		(unsigned long) sysdeps.mountlist,
 | 
			
		||||
		FEATURE_CHECK(FSUSAGE),
 | 
			
		||||
		(unsigned long) sysdeps.fsusage,
 | 
			
		||||
		FEATURE_CHECK(NETLOAD),
 | 
			
		||||
		(unsigned long) sysdeps.netload,
 | 
			
		||||
		FEATURE_CHECK(PPP),
 | 
			
		||||
		(unsigned long) sysdeps.ppp);
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										80
									
								
								examples/test.scm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								examples/test.scm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
(display (glibtop-names-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-labels-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-types-sysdeps)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-names-cpu)) (newline)
 | 
			
		||||
(display (glibtop-names-mem)) (newline)
 | 
			
		||||
(display (glibtop-names-swap)) (newline)
 | 
			
		||||
(display (glibtop-names-uptime)) (newline)
 | 
			
		||||
(display (glibtop-names-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-names-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-proclist)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-labels-cpu)) (newline)
 | 
			
		||||
(display (glibtop-labels-mem)) (newline)
 | 
			
		||||
(display (glibtop-labels-swap)) (newline)
 | 
			
		||||
(display (glibtop-labels-uptime)) (newline)
 | 
			
		||||
(display (glibtop-labels-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-labels-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-proclist)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-descriptions-cpu)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-mem)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-swap)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-uptime)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proclist)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-types-cpu)) (newline)
 | 
			
		||||
(display (glibtop-types-mem)) (newline)
 | 
			
		||||
(display (glibtop-types-swap)) (newline)
 | 
			
		||||
(display (glibtop-types-uptime)) (newline)
 | 
			
		||||
(display (glibtop-types-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-types-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-proclist)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_segment)) (newline)
 | 
			
		||||
							
								
								
									
										362
									
								
								examples/timings.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										362
									
								
								examples/timings.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,362 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#include <sys/times.h>
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT			100000L
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT_EXPENSIVE
 | 
			
		||||
#define PROFILE_COUNT_EXPENSIVE		10000L
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 +	(unsigned long) elapsed_utime.tv_usec)
 | 
			
		||||
#define ELAPSED_STIME ((unsigned long) elapsed_stime.tv_sec * 1000000 + (unsigned long) elapsed_stime.tv_usec)
 | 
			
		||||
 | 
			
		||||
#define libgtop_timeradd(tvp, uvp, vvp)						\
 | 
			
		||||
	do {								\
 | 
			
		||||
		(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec;		\
 | 
			
		||||
		(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec;	\
 | 
			
		||||
		if ((vvp)->tv_usec >= 1000000) {			\
 | 
			
		||||
			(vvp)->tv_sec++;				\
 | 
			
		||||
			(vvp)->tv_usec -= 1000000;			\
 | 
			
		||||
		}							\
 | 
			
		||||
	} while (0)
 | 
			
		||||
#define libgtop_timersub(tvp, uvp, vvp)						\
 | 
			
		||||
	do {								\
 | 
			
		||||
		(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec;		\
 | 
			
		||||
		(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec;	\
 | 
			
		||||
		if ((vvp)->tv_usec < 0) {				\
 | 
			
		||||
			(vvp)->tv_sec--;				\
 | 
			
		||||
			(vvp)->tv_usec += 1000000;			\
 | 
			
		||||
		}							\
 | 
			
		||||
	} while (0)
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	unsigned c, count, *ptr;
 | 
			
		||||
	struct rusage total_start, total_end;
 | 
			
		||||
	struct rusage rusage_start, rusage_end;
 | 
			
		||||
	struct timeval elapsed_utime, elapsed_stime;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
	printf ("%-12s (%-10s): %7s - %9s - %9s\n",
 | 
			
		||||
		"Feature", "Flags", "Count", "utime", "stime");
 | 
			
		||||
	printf ("-------------------------------------------"
 | 
			
		||||
		"---------------\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &total_start);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_cpu (&data.cpu);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("CPU          (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.cpu.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
 | 
			
		||||
		glibtop_get_mem (&data.mem);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Memory       (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.mem.flags, PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++)
 | 
			
		||||
		glibtop_get_swap (&data.swap);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Swap         (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.swap.flags, PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_uptime (&data.uptime);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Uptime       (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.uptime.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_loadavg (&data.loadavg);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Loadavg      (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.loadavg.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
 | 
			
		||||
		ptr = glibtop_get_proclist (&data.proclist, 0, 0);
 | 
			
		||||
		g_free (ptr);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proclist     (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proclist.flags,
 | 
			
		||||
		PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
 | 
			
		||||
 | 
			
		||||
	pid = getpid ();
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_State   (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_state.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Uid     (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_uid.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Mem     (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_mem.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Segment (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_segment.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Time    (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_time.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Signal  (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_signal.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Kernel  (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_kernel.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &total_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&total_end.ru_stime, &total_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("-------------------------------------------"
 | 
			
		||||
		"---------------\n");
 | 
			
		||||
 | 
			
		||||
	printf ("%-36s %9lu - %9lu\n\n", "TOTAL",
 | 
			
		||||
		ELAPSED_UTIME, ELAPSED_STIME);
 | 
			
		||||
 | 
			
		||||
	printf ("All timings are in clock ticks "
 | 
			
		||||
		"(1000000 ticks per second).\n\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								features.def
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								features.def
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										111
									
								
								glibtop.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								glibtop.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_H__
 | 
			
		||||
#define __GLIBTOP_H__
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop		glibtop;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *  LIBGTOP_CHECK_VERSION
 | 
			
		||||
 *  @major: Major version number
 | 
			
		||||
 *  @minor: Minor version number
 | 
			
		||||
 *  @micro: Micro version number
 | 
			
		||||
 *
 | 
			
		||||
 *  Checks if the version given is compatable with this version of the
 | 
			
		||||
 *  library.  For example, LIBGTOP_CHECK_VERSION(1.2.3) would return TRUE
 | 
			
		||||
 *  if the version is 1.2.5, and FALSE if 1.1.0.  This can be used in
 | 
			
		||||
 *  build tests.
 | 
			
		||||
 *
 | 
			
		||||
 **/
 | 
			
		||||
 | 
			
		||||
#include <libgtopconfig.h>
 | 
			
		||||
 | 
			
		||||
#define LIBGTOP_CHECK_VERSION(major, minor, micro)    \
 | 
			
		||||
(LIBGTOP_MAJOR_VERSION > (major) || \
 | 
			
		||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION > (minor)) || \
 | 
			
		||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION == (minor) && \
 | 
			
		||||
LIBGTOP_MICRO_VERSION >= (micro)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop_server.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
#include <glibtop_machine.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
 | 
			
		||||
#define GLIBTOP_MOUNTENTRY_LEN	79
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#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 */
 | 
			
		||||
	int ncpu;			/* Number of CPUs, zero if single-processor */
 | 
			
		||||
	int real_ncpu;			/* Real number of CPUs. Only ncpu are monitored */
 | 
			
		||||
	unsigned long os_version_code;	/* Version code of the operating system */
 | 
			
		||||
	const char *name;		/* Program name for error messages */
 | 
			
		||||
	const char *server_command;	/* Command used to invoke server */
 | 
			
		||||
	const char *server_host;	/* Host the server should run on */
 | 
			
		||||
	const char *server_user;	/* Name of the user on the target host */
 | 
			
		||||
	const char *server_rsh;		/* Command used to connect to the target host */
 | 
			
		||||
	unsigned long features;		/* Server is required for this features */
 | 
			
		||||
	unsigned long server_port;	/* Port on which daemon is listening */
 | 
			
		||||
	glibtop_sysdeps sysdeps;	/* Detailed feature list */
 | 
			
		||||
	glibtop_sysdeps required;	/* Required feature list */
 | 
			
		||||
	pid_t pid;			/* PID of the server */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern glibtop *glibtop_global_server;
 | 
			
		||||
 | 
			
		||||
extern const unsigned long glibtop_server_features;
 | 
			
		||||
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init (void);
 | 
			
		||||
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init_r (glibtop **server_ptr,
 | 
			
		||||
		unsigned long features,
 | 
			
		||||
		unsigned flags);
 | 
			
		||||
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init_s (glibtop **server_ptr,
 | 
			
		||||
		unsigned long features,
 | 
			
		||||
		unsigned flags);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										2
									
								
								include/.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								include/.cvsignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
							
								
								
									
										2
									
								
								include/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								include/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
SUBDIRS		= glibtop
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								include/glibtop/.cvsignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								include/glibtop/.cvsignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
							
								
								
									
										13
									
								
								include/glibtop/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								include/glibtop/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
glibtopdir		= $(includedir)/libgtop-2.0/glibtop
 | 
			
		||||
 | 
			
		||||
glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \
 | 
			
		||||
			  sem_limits.h uptime.h command.h mem.h proclist.h \
 | 
			
		||||
			  proctime.h shm_limits.h version.h cpu.h msg_limits.h \
 | 
			
		||||
			  procmem.h procuid.h swap.h \
 | 
			
		||||
			  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 \
 | 
			
		||||
			  netlist.h procopenfiles.h open.h
 | 
			
		||||
 | 
			
		||||
noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h
 | 
			
		||||
							
								
								
									
										43
									
								
								include/glibtop/call-vector.h.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								include/glibtop/call-vector.h.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
@@AUTOGEN_COMMENT@@
 | 
			
		||||
 | 
			
		||||
/* 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_CALL_VECTOR_H__
 | 
			
		||||
#define __GLIBTOP_CALL_VECTOR_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
struct _glibtop_call_vector
 | 
			
		||||
{
 | 
			
		||||
    @@GLIBTOP_CALL_VECTOR@@
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										116
									
								
								include/glibtop/call-vector.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								include/glibtop/call-vector.pl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,116 @@
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
 | 
			
		||||
require 'c_types.pl';
 | 
			
		||||
 | 
			
		||||
die "Usage: $0 features.def call-vector.h.in" unless $#ARGV == 1;
 | 
			
		||||
 | 
			
		||||
$[ = 1;			# set array base to 1
 | 
			
		||||
$, = ' ';		# set output field separator
 | 
			
		||||
$\ = "\n";		# set output record separator
 | 
			
		||||
 | 
			
		||||
sub toupper {
 | 
			
		||||
    local($_) = @_;
 | 
			
		||||
    tr/a-z/A-Z/;
 | 
			
		||||
    return $_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub tolower {
 | 
			
		||||
    local($_) = @_;
 | 
			
		||||
    tr/A-Z/a-z/;
 | 
			
		||||
    return $_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$func_decl_code = '';
 | 
			
		||||
 | 
			
		||||
open FEATURESDEF, $ARGV[1] or
 | 
			
		||||
  die "open ($ARGV[1]): $!";
 | 
			
		||||
 | 
			
		||||
while (<FEATURESDEF>) {
 | 
			
		||||
  chop;				# strip record separator
 | 
			
		||||
  
 | 
			
		||||
  if (/^[^\#]/) {
 | 
			
		||||
    &parse_features_def ($_);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
close FEATURESDEF;
 | 
			
		||||
 | 
			
		||||
sub parse_features_def {
 | 
			
		||||
  local($line) = @_;
 | 
			
		||||
  @line_fields = split(/\|/, $line, 9999);
 | 
			
		||||
  $retval = $line_fields[1];
 | 
			
		||||
  $element_def = $line_fields[3];
 | 
			
		||||
  $feature = $line_fields[2];
 | 
			
		||||
  $param_def = $line_fields[4];
 | 
			
		||||
 | 
			
		||||
  $orig = $feature;
 | 
			
		||||
  $feature =~ s/^@//;
 | 
			
		||||
  $space = $feature;
 | 
			
		||||
  $space =~ s/./ /g;
 | 
			
		||||
 | 
			
		||||
  if ($retval eq 'retval') {
 | 
			
		||||
    $retval_param = '&retval';
 | 
			
		||||
    $retval = 'int';
 | 
			
		||||
  }
 | 
			
		||||
  elsif ($retval !~ /^void$/) {
 | 
			
		||||
    $retval_param = 'NULL';
 | 
			
		||||
  }
 | 
			
		||||
  else {
 | 
			
		||||
    $retval_param = 'NULL';
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
  if ($retval =~ /^(array|pointer)\((.*)\)$/) {
 | 
			
		||||
    $retval = ($2 eq 'string') ? 'char **' : "$2 *";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $param_decl = '';
 | 
			
		||||
  $nr_params = (@params = split(/:/, $param_def, 9999));
 | 
			
		||||
  for ($param = 1; $param <= $nr_params; $param++) {
 | 
			
		||||
    $list = $params[$param];
 | 
			
		||||
    $type = $params[$param];
 | 
			
		||||
    $type =~ s/\(.*//;
 | 
			
		||||
    $list =~ s/^.*\(//;
 | 
			
		||||
    $list =~ s/\)$//;
 | 
			
		||||
    $count = (@fields = split(/,/, $list, 9999));
 | 
			
		||||
    for ($field = 1; $field <= $count; $field++) {
 | 
			
		||||
      my $c_type = $typeinfo->{$type}->[1];
 | 
			
		||||
 | 
			
		||||
      $param_decl = $param_decl . ', ';
 | 
			
		||||
      $param_decl = $param_decl . $c_type;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if ($line_fields[3] eq '') {
 | 
			
		||||
    $func_decl_code .= sprintf
 | 
			
		||||
      (qq[\t%s (*%s) (glibtop_server *, glibtop_closure *%s);\n], $retval, $feature, $param_decl);
 | 
			
		||||
  } elsif ($line_fields[3] eq 'array') {
 | 
			
		||||
    $func_decl_code .= sprintf
 | 
			
		||||
      (qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
 | 
			
		||||
  } elsif ($line_fields[3] =~ /^array/) {
 | 
			
		||||
    $func_decl_code .= sprintf
 | 
			
		||||
      (qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
 | 
			
		||||
  } else {
 | 
			
		||||
    $func_decl_code .= sprintf
 | 
			
		||||
      (qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
chop $func_decl_code;
 | 
			
		||||
 | 
			
		||||
$auto_gen_comment = sprintf
 | 
			
		||||
  (qq[/*\n * This file is automatically generated.\n * Please modify `call-vector.pl' and `call-vector.h.in'.\n */]);
 | 
			
		||||
 | 
			
		||||
open CALLVECTOR, $ARGV[2] or
 | 
			
		||||
  die "open ($ARGV[2]): $!";
 | 
			
		||||
 | 
			
		||||
while (<CALLVECTOR>) {
 | 
			
		||||
  chop;
 | 
			
		||||
 | 
			
		||||
  s/^\s*\@\@GLIBTOP_CALL_VECTOR\@\@\s*$/$func_decl_code/;
 | 
			
		||||
 | 
			
		||||
  s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
 | 
			
		||||
} continue {
 | 
			
		||||
  print $_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
close CALLVECTOR;
 | 
			
		||||
							
								
								
									
										40
									
								
								include/glibtop/close.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								include/glibtop/close.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_CLOSE_H__
 | 
			
		||||
#define __GLIBTOP_CLOSE_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
void glibtop_close (void);
 | 
			
		||||
 | 
			
		||||
void glibtop_close_r (glibtop *server);
 | 
			
		||||
 | 
			
		||||
void glibtop_close_s (glibtop *server);
 | 
			
		||||
void glibtop_close_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										104
									
								
								include/glibtop/command.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								include/glibtop/command.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,104 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_COMMAND_H__
 | 
			
		||||
#define __GLIBTOP_COMMAND_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_QUIT		0
 | 
			
		||||
#define GLIBTOP_CMND_SYSDEPS		1
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_CPU		2
 | 
			
		||||
#define GLIBTOP_CMND_MEM		3
 | 
			
		||||
#define GLIBTOP_CMND_SWAP		4
 | 
			
		||||
#define GLIBTOP_CMND_UPTIME		5
 | 
			
		||||
#define GLIBTOP_CMND_LOADAVG		6
 | 
			
		||||
#define GLIBTOP_CMND_SHM_LIMITS		7
 | 
			
		||||
#define GLIBTOP_CMND_MSG_LIMITS		8
 | 
			
		||||
#define GLIBTOP_CMND_SEM_LIMITS		9
 | 
			
		||||
#define GLIBTOP_CMND_PROCLIST		10
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_PROC_STATE		11
 | 
			
		||||
#define GLIBTOP_CMND_PROC_UID		12
 | 
			
		||||
#define GLIBTOP_CMND_PROC_MEM		13
 | 
			
		||||
#define GLIBTOP_CMND_PROC_TIME		14
 | 
			
		||||
#define GLIBTOP_CMND_PROC_SIGNAL	15
 | 
			
		||||
#define GLIBTOP_CMND_PROC_KERNEL	16
 | 
			
		||||
#define GLIBTOP_CMND_PROC_SEGMENT	17
 | 
			
		||||
#define GLIBTOP_CMND_PROC_ARGS		18
 | 
			
		||||
#define GLIBTOP_CMND_PROC_MAP		19
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_MOUNTLIST		20
 | 
			
		||||
#define GLIBTOP_CMND_FSUSAGE		21
 | 
			
		||||
#define GLIBTOP_CMND_NETLOAD		22
 | 
			
		||||
#define GLIBTOP_CMND_PPP		23
 | 
			
		||||
#define GLIBTOP_CMND_NETLIST		24
 | 
			
		||||
#define GLIBTOP_CMND_PROC_OPEN_FILES	25
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_CMND		26
 | 
			
		||||
 | 
			
		||||
#define _GLIBTOP_PARAM_SIZE		16
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_command		glibtop_command;
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_response	glibtop_response;
 | 
			
		||||
typedef union  _glibtop_response_union	glibtop_response_union;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_command
 | 
			
		||||
{
 | 
			
		||||
	guint64	command;
 | 
			
		||||
	guint64	size, data_size;
 | 
			
		||||
	char		parameter [_GLIBTOP_PARAM_SIZE];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
union _glibtop_response_union
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union	data;
 | 
			
		||||
	glibtop_sysdeps	sysdeps;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_response
 | 
			
		||||
{
 | 
			
		||||
	gint64 offset;
 | 
			
		||||
	guint64 size, data_size;
 | 
			
		||||
	glibtop_response_union u;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_call(p1, p2, p3, p4)	glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
 | 
			
		||||
		const void *send_buf, size_t recv_size, void *recv_buf);
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
 | 
			
		||||
		const void *send_buf, size_t recv_size, void *recv_buf);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										107
									
								
								include/glibtop/cpu.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								include/glibtop/cpu.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_CPU_H__
 | 
			
		||||
#define __GLIBTOP_CPU_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CPU_TOTAL	0
 | 
			
		||||
#define GLIBTOP_CPU_USER	1
 | 
			
		||||
#define GLIBTOP_CPU_NICE	2
 | 
			
		||||
#define GLIBTOP_CPU_SYS		3
 | 
			
		||||
#define GLIBTOP_CPU_IDLE	4
 | 
			
		||||
#define GLIBTOP_CPU_FREQUENCY	5
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_XCPU_TOTAL	6
 | 
			
		||||
#define GLIBTOP_XCPU_USER	7
 | 
			
		||||
#define GLIBTOP_XCPU_NICE	8
 | 
			
		||||
#define GLIBTOP_XCPU_SYS	9
 | 
			
		||||
#define GLIBTOP_XCPU_IDLE	10
 | 
			
		||||
#define GLIBTOP_XCPU_FLAGS	11
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CPU_IOWAIT	12
 | 
			
		||||
#define GLIBTOP_CPU_IRQ		13
 | 
			
		||||
#define GLIBTOP_CPU_SOFTIRQ	14
 | 
			
		||||
#define GLIBTOP_XCPU_IOWAIT	15
 | 
			
		||||
#define GLIBTOP_XCPU_IRQ	16
 | 
			
		||||
#define GLIBTOP_XCPU_SOFTIRQ	17
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_CPU		18
 | 
			
		||||
 | 
			
		||||
/* Nobody should really be using more than 4 processors.
 | 
			
		||||
   Yes we are :)
 | 
			
		||||
   Nobody should really be using more than 32 processors.
 | 
			
		||||
*/
 | 
			
		||||
#define GLIBTOP_NCPU		32
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_cpu	glibtop_cpu;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_cpu
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		total,				/* GLIBTOP_CPU_TOTAL		*/
 | 
			
		||||
		user,				/* GLIBTOP_CPU_USER		*/
 | 
			
		||||
		nice,				/* GLIBTOP_CPU_NICE		*/
 | 
			
		||||
		sys,				/* GLIBTOP_CPU_SYS		*/
 | 
			
		||||
		idle,				/* GLIBTOP_CPU_IDLE		*/
 | 
			
		||||
		iowait,				/* GLIBTOP_CPU_IOWAIT		*/
 | 
			
		||||
		irq,				/* GLIBTOP_CPU_IRQ		*/
 | 
			
		||||
		softirq,			/* GLIBTOP_CPU_SOFTIRQ		*/
 | 
			
		||||
		frequency,			/* GLIBTOP_CPU_FREQUENCY	*/
 | 
			
		||||
		xcpu_total [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_TOTAL		*/
 | 
			
		||||
		xcpu_user [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_USER		*/
 | 
			
		||||
		xcpu_nice [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_NICE		*/
 | 
			
		||||
		xcpu_sys  [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_SYS		*/
 | 
			
		||||
		xcpu_idle [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_IDLE		*/
 | 
			
		||||
		xcpu_iowait [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_IOWAIT		*/
 | 
			
		||||
		xcpu_irq [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_IRQ		*/
 | 
			
		||||
		xcpu_softirq  [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_SOFTIRQ		*/
 | 
			
		||||
		xcpu_flags;	                /* GLIBTOP_XCPU_IDLE		*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_cpu(glibtop_cpu *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_CPU
 | 
			
		||||
#define glibtop_get_cpu_r	glibtop_get_cpu_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_cpu_r	glibtop_get_cpu_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_CPU
 | 
			
		||||
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_get_cpu_s (glibtop *server, glibtop_cpu *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										53
									
								
								include/glibtop/error.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								include/glibtop/error.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
/* $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.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This is private API
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_ERROR_H__
 | 
			
		||||
#define __GLIBTOP_ERROR_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
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_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 (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);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										66
									
								
								include/glibtop/fsusage.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								include/glibtop/fsusage.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_FSUSAGE_H__
 | 
			
		||||
#define __GLIBTOP_FSUSAGE_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_FSUSAGE_BLOCKS		0
 | 
			
		||||
#define GLIBTOP_FSUSAGE_BFREE		1
 | 
			
		||||
#define GLIBTOP_FSUSAGE_BAVAIL		2
 | 
			
		||||
#define GLIBTOP_FSUSAGE_FILES		3
 | 
			
		||||
#define GLIBTOP_FSUSAGE_FFREE		4
 | 
			
		||||
#define GLIBTOP_FSUSAGE_BLOCK_SIZE	5
 | 
			
		||||
#define GLIBTOP_FSUSAGE_READ           6
 | 
			
		||||
#define GLIBTOP_FSUSAGE_WRITE          7
 | 
			
		||||
#define GLIBTOP_MAX_FSUSAGE		8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_fsusage		glibtop_fsusage;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_fsusage
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		blocks,		/* Total number of blocks. */
 | 
			
		||||
		bfree,		/* Free blocks available to superuser. */
 | 
			
		||||
		bavail,		/* Free blocks available to non-superuser. */
 | 
			
		||||
		files,		/* Total file nodes. */
 | 
			
		||||
		ffree;		/* Free file nodes. */
 | 
			
		||||
	guint32	block_size;	/* Size of a block in bytes. */
 | 
			
		||||
	guint64 read, write;    /* Total blocks read and written */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_fsusage(glibtop_fsusage *buf, const char *mount_dir);
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_fsusage_r		glibtop_get_fsusage_s
 | 
			
		||||
 | 
			
		||||
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
 | 
			
		||||
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										70
									
								
								include/glibtop/glibtop-server.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								include/glibtop/glibtop-server.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
/* -*- 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
 | 
			
		||||
							
								
								
									
										83
									
								
								include/glibtop/global.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								include/glibtop/global.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_GLOBAL_H__
 | 
			
		||||
#define __GLIBTOP_GLOBAL_H__
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
 | 
			
		||||
#ifdef _IN_LIBGTOP
 | 
			
		||||
 | 
			
		||||
#endif /* _IN_LIBGTOP */
 | 
			
		||||
 | 
			
		||||
#if TIME_WITH_SYS_TIME
 | 
			
		||||
# include <sys/time.h>
 | 
			
		||||
# include <time.h>
 | 
			
		||||
#else
 | 
			
		||||
# if HAVE_SYS_TIME_H
 | 
			
		||||
#  include <sys/time.h>
 | 
			
		||||
# else
 | 
			
		||||
#  include <time.h>
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_UNISTD_H
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_MEMORY_H
 | 
			
		||||
#include <memory.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#ifdef _IN_LIBGTOP
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
 | 
			
		||||
#endif /* _IN_LIBGTOP */
 | 
			
		||||
 | 
			
		||||
#include <signal.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
#ifdef _IN_LIBGTOP
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_STRERROR
 | 
			
		||||
char *strerror (int errno);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif /* _IN_LIBGTOP */
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										160
									
								
								include/glibtop/gnuserv.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								include/glibtop/gnuserv.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,160 @@
 | 
			
		||||
/* -*-C-*-
 | 
			
		||||
 | 
			
		||||
 Header file for the GNU Emacs server and client C code.
 | 
			
		||||
 | 
			
		||||
 This file is part of GNU Emacs.
 | 
			
		||||
 | 
			
		||||
 Copying is permitted under those conditions described by the GNU
 | 
			
		||||
 General Public License.
 | 
			
		||||
 | 
			
		||||
 Copyright (C) 1989 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
 Author: Andy Norman (ange@hplb.hpl.hp.com), based on
 | 
			
		||||
         'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU
 | 
			
		||||
         Emacs distribution.
 | 
			
		||||
 | 
			
		||||
 Please mail bugs and suggestions to the author at the above address.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/* HISTORY
 | 
			
		||||
 * 11-Nov-1990		bristor@simba
 | 
			
		||||
 *    Added EOT stuff.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This file incorporates new features added by Bob Weiner <weiner@mot.com>,
 | 
			
		||||
 * Darrell Kindred <dkindred@cmu.edu> and Arup Mukherjee <arup@cmu.edu>.
 | 
			
		||||
 * Please see the note at the end of the README file for details.
 | 
			
		||||
 *
 | 
			
		||||
 * (If gnuserv came bundled with your emacs, the README file is probably
 | 
			
		||||
 * ../etc/gnuserv.README relative to the directory containing this file)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup alpha !";
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define NO_SHORTNAMES
 | 
			
		||||
 | 
			
		||||
#define PATCHLEVEL 2
 | 
			
		||||
 | 
			
		||||
#define NO_SHORTNAMES
 | 
			
		||||
/* gnuserv should not be compiled using SOCKS */
 | 
			
		||||
#define DO_NOT_SOCKSIFY
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#undef read
 | 
			
		||||
#undef write
 | 
			
		||||
#undef open
 | 
			
		||||
#undef close
 | 
			
		||||
#undef signal
 | 
			
		||||
 | 
			
		||||
/* Define the communication method between server and clients:
 | 
			
		||||
 *   You can have either or both kinds of sockets, but you can't mix
 | 
			
		||||
 *   sockets with sysv ipc
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define INTERNET_DOMAIN_SOCKETS
 | 
			
		||||
#define UNIX_DOMAIN_SOCKETS
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Define additional authentication protocols to be used. These methods will
 | 
			
		||||
 * be tried before falling back to the default gnuserv protocol (based on
 | 
			
		||||
 * the GNU_SECURE environment variable). Currently, only MIT-MAGIC-COOKIE-1
 | 
			
		||||
 * is also supported.
 | 
			
		||||
 *
 | 
			
		||||
 * Comment out the next line(s) if you don't want to enable the
 | 
			
		||||
 * appropriate authentication protocol.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined (HAVE_XAUTH)
 | 
			
		||||
#define AUTH_MAGIC_COOKIE
 | 
			
		||||
#endif /* HAVE_XAUTH */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * stuff related to supporting MIT-MAGIC-COOKIE-1
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
#define MCOOKIE_SCREEN "42980"   /* screen # to use as the gnuserv cookie */
 | 
			
		||||
#endif
 | 
			
		||||
#define MCOOKIE_NAME   "MAGIC-1" /* authentication protocol name */
 | 
			
		||||
#define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1"  /* as needed by X */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define DEFAUTH_NAME "GNU-SECURE"  /* name of default auth protocol */
 | 
			
		||||
#define AUTH_TIMEOUT  15           /* # seconds to wait for auth data */
 | 
			
		||||
#define AUTH_NAMESZ   15           /* max allows auth protocol name size */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Pick a default communication scheme, if none was specified.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if !defined(UNIX_DOMAIN_SOCKETS) && !defined(INTERNET_DOMAIN_SOCKETS)
 | 
			
		||||
 | 
			
		||||
/* BSD systems use Unix Domain sockets by default */
 | 
			
		||||
 | 
			
		||||
#ifdef BSD
 | 
			
		||||
#define UNIX_DOMAIN_SOCKETS
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* No communication method pre-defined */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * If you are using SYSV_IPC, you might want to make the buffer size bigger
 | 
			
		||||
 * since it limits the size of requests and responses. Don't make it bigger
 | 
			
		||||
 * than your system's max message size though (usually a couple of k) or else
 | 
			
		||||
 * msgsend will start failing. For sockets, using the system BUFSIZ is usually
 | 
			
		||||
 * what you want.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */
 | 
			
		||||
 | 
			
		||||
#ifdef INTERNET_DOMAIN_SOCKETS
 | 
			
		||||
#include <netdb.h>
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
#define TABLE_SIZE 101		/* The number of entries in the hash table */
 | 
			
		||||
#define HASH(host) host		/* Rather simplistic hash function */
 | 
			
		||||
#define DEFAULT_PORT 21490	/* default port number to use is
 | 
			
		||||
				 * DEFAULT_PORT + uid */
 | 
			
		||||
#endif /* INTERNET_DOMAIN_SOCKETS */
 | 
			
		||||
 | 
			
		||||
#ifdef UNIX_DOMAIN_SOCKETS
 | 
			
		||||
#include <sys/un.h>
 | 
			
		||||
#define HIDE_UNIX_SOCKET	/* put the unix socket in a protected dir */
 | 
			
		||||
#endif /* UNIX_DOMAIN_SOCKETS */
 | 
			
		||||
 | 
			
		||||
#define HOSTNAMSZ 255		/* max size of a hostname */
 | 
			
		||||
#define REPLYSIZ 300		/* max size of reply from server to client */
 | 
			
		||||
#undef FALSE
 | 
			
		||||
#define FALSE 0
 | 
			
		||||
#undef TRUE
 | 
			
		||||
#define TRUE 1
 | 
			
		||||
 | 
			
		||||
/* The casts shut Sun's compiler up and are safe in the context these
 | 
			
		||||
   are actually used. */
 | 
			
		||||
#define max2(x,y) (((int) (x) > (int) (y)) ? (x) : (y))
 | 
			
		||||
#define min2(x,y) (((int) (x) < (int) (y)) ? (x) : (y))
 | 
			
		||||
 | 
			
		||||
#ifndef _NFILE            /* rough guess at maximum number of open files */
 | 
			
		||||
#define _NFILE 20
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define EOT_STR "\004"
 | 
			
		||||
#define EOT_CHR '\004'
 | 
			
		||||
 | 
			
		||||
/* connection types */
 | 
			
		||||
#define CONN_UNIX     0
 | 
			
		||||
#define CONN_INTERNET 1
 | 
			
		||||
#define CONN_IPC      2
 | 
			
		||||
 | 
			
		||||
/* function declarations */
 | 
			
		||||
int glibtop_make_connection (const char *hostarg, int portarg, int *s);
 | 
			
		||||
 | 
			
		||||
#ifdef INTERNET_DOMAIN_SOCKETS
 | 
			
		||||
long glibtop_internet_addr (const char *host);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								include/glibtop/init_hooks.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								include/glibtop/init_hooks.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
#ifndef H_LIBGTOP_INIT_HOOKS_1122955666
 | 
			
		||||
#define H_LIBGTOP_INIT_HOOKS_1122955666
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
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[];
 | 
			
		||||
 | 
			
		||||
#endif /* H_LIBGTOP_INIT_HOOKS_1122955666 */
 | 
			
		||||
							
								
								
									
										67
									
								
								include/glibtop/inodedb.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								include/glibtop/inodedb.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_INODEDB_H__
 | 
			
		||||
#define __GLIBTOP_INODEDB_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <gdbm.h>
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_INODEDB_SYSTEM		1
 | 
			
		||||
#define GLIBTOP_INODEDB_USER		2
 | 
			
		||||
#define GLIBTOP_INODEDB_CACHE		4
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_INODEDB_ALL		7
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										71
									
								
								include/glibtop/loadavg.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								include/glibtop/loadavg.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_LOADAVG_H__
 | 
			
		||||
#define __GLIBTOP_LOADAVG_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_LOADAVG_LOADAVG		0
 | 
			
		||||
#define GLIBTOP_LOADAVG_NR_RUNNING	1
 | 
			
		||||
#define GLIBTOP_LOADAVG_NR_TASKS	2
 | 
			
		||||
#define GLIBTOP_LOADAVG_LAST_PID	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_LOADAVG		4
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_loadavg	glibtop_loadavg;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_loadavg
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	double loadavg [3];		/* GLIBTOP_LOADAVG_LOADAVG	*/
 | 
			
		||||
	guint64 nr_running,		/* GLIBTOP_LOADAVG_NR_RUNNING	*/
 | 
			
		||||
		nr_tasks,		/* GLIBTOP_LOADAVG_NR_TASKS	*/
 | 
			
		||||
		last_pid;		/* GLIBTOP_LOADAVG_LAST_PID	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_loadavg(glibtop_loadavg *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_LOADAVG
 | 
			
		||||
#define glibtop_get_loadavg_r		glibtop_get_loadavg_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_loadavg_r		glibtop_get_loadavg_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_LOADAVG
 | 
			
		||||
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_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										79
									
								
								include/glibtop/mem.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								include/glibtop/mem.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MEM_H__
 | 
			
		||||
#define __GLIBTOP_MEM_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MEM_TOTAL	0
 | 
			
		||||
#define GLIBTOP_MEM_USED	1
 | 
			
		||||
#define GLIBTOP_MEM_FREE	2
 | 
			
		||||
#define GLIBTOP_MEM_SHARED	3
 | 
			
		||||
#define GLIBTOP_MEM_BUFFER	4
 | 
			
		||||
#define GLIBTOP_MEM_CACHED	5
 | 
			
		||||
#define GLIBTOP_MEM_USER	6
 | 
			
		||||
#define GLIBTOP_MEM_LOCKED	7
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_MEM		8
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_mem	glibtop_mem;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_mem
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		total,		/* GLIBTOP_MEM_TOTAL	*/
 | 
			
		||||
		used,		/* GLIBTOP_MEM_USED	*/
 | 
			
		||||
		free,		/* GLIBTOP_MEM_FREE	*/
 | 
			
		||||
		shared,		/* GLIBTOP_MEM_SHARED	*/
 | 
			
		||||
		buffer,		/* GLIBTOP_MEM_BUFFER	*/
 | 
			
		||||
		cached,		/* GLIBTOP_MEM_CACHED	*/
 | 
			
		||||
		user,		/* GLIBTOP_MEM_USER	*/
 | 
			
		||||
		locked;		/* GLIBTOP_MEM_LOCKED	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_mem(glibtop_mem *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MEM
 | 
			
		||||
#define glibtop_get_mem_r		glibtop_get_mem_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_mem_r		glibtop_get_mem_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MEM
 | 
			
		||||
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_get_mem_s (glibtop *server, glibtop_mem *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										72
									
								
								include/glibtop/mountlist.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								include/glibtop/mountlist.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MOUNTLIST_H__
 | 
			
		||||
#define __GLIBTOP_MOUNTLIST_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MOUNTLIST_NUMBER	0
 | 
			
		||||
#define GLIBTOP_MOUNTLIST_TOTAL		1
 | 
			
		||||
#define GLIBTOP_MOUNTLIST_SIZE		2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_MOUNTLIST		3
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_mountentry	glibtop_mountentry;
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_mountlist	glibtop_mountlist;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_mountentry
 | 
			
		||||
{
 | 
			
		||||
	guint64 dev;
 | 
			
		||||
	char devname [GLIBTOP_MOUNTENTRY_LEN+1];
 | 
			
		||||
	char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
 | 
			
		||||
	char type [GLIBTOP_MOUNTENTRY_LEN+1];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_mountlist
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		number,			/* GLIBTOP_MOUNTLIST_NUMBER	*/
 | 
			
		||||
		total,			/* GLIBTOP_MOUNTLIST_TOTAL	*/
 | 
			
		||||
		size;			/* GLIBTOP_MOUNTLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
glibtop_mountentry *
 | 
			
		||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_mountlist_r		glibtop_get_mountlist_s
 | 
			
		||||
 | 
			
		||||
glibtop_mountentry *
 | 
			
		||||
glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
 | 
			
		||||
glibtop_mountentry *
 | 
			
		||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										78
									
								
								include/glibtop/msg_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								include/glibtop/msg_limits.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
 | 
			
		||||
#define __GLIBTOP_MSG_LIMITS_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_IPC_MSGPOOL	0
 | 
			
		||||
#define GLIBTOP_IPC_MSGMAP	1
 | 
			
		||||
#define GLIBTOP_IPC_MSGMAX	2
 | 
			
		||||
#define GLIBTOP_IPC_MSGMNB	3
 | 
			
		||||
#define GLIBTOP_IPC_MSGMNI	4
 | 
			
		||||
#define GLIBTOP_IPC_MSGSSZ	5
 | 
			
		||||
#define GLIBTOP_IPC_MSGTQL	6
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_MSG_LIMITS	7
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_msg_limits	glibtop_msg_limits;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_msg_limits
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		msgpool,	/* GLIBTOP_IPC_MSGPOOL	*/
 | 
			
		||||
		msgmap,		/* GLIBTOP_IPC_MSGMAP	*/
 | 
			
		||||
		msgmax,		/* GLIBTOP_IPC_MSGMAX	*/
 | 
			
		||||
		msgmnb,		/* GLIBTOP_IPC_MSGMNB	*/
 | 
			
		||||
		msgmni,		/* GLIBTOP_IPC_MSGMNI	*/
 | 
			
		||||
		msgssz,		/* GLIBTOP_IPC_MSGSSZ	*/
 | 
			
		||||
		msgtql;		/* GLIBTOP_IPC_MSGTQL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MSG_LIMITS
 | 
			
		||||
#define glibtop_get_msg_limits_r	glibtop_get_msg_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_msg_limits_r	glibtop_get_msg_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_msg_limits_s (glibtop *server);
 | 
			
		||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										61
									
								
								include/glibtop/netlist.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								include/glibtop/netlist.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
/* Copyright (C) 2004 Benoît Dejean
 | 
			
		||||
   This file is part of LibGTop 2.0.
 | 
			
		||||
 | 
			
		||||
   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_NETLIST_H__
 | 
			
		||||
#define __GLIBTOP_NETLIST_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_NETLIST_NUMBER		0
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_NETLIST		1
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_netlist	glibtop_netlist;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_netlist
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	guint32 number;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
char** glibtop_get_netlist(glibtop_netlist *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLIST
 | 
			
		||||
#define glibtop_get_netlist_r		glibtop_get_netlist_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_netlist_r		glibtop_get_netlist_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLIST
 | 
			
		||||
void glibtop_init_netlist_p (glibtop *server);
 | 
			
		||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_netlist_s (glibtop *server);
 | 
			
		||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										131
									
								
								include/glibtop/netload.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								include/glibtop/netload.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,131 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_NETLOAD_H__
 | 
			
		||||
#define __GLIBTOP_NETLOAD_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_NETLOAD_IF_FLAGS	0
 | 
			
		||||
#define GLIBTOP_NETLOAD_MTU		1
 | 
			
		||||
#define GLIBTOP_NETLOAD_SUBNET		2
 | 
			
		||||
#define GLIBTOP_NETLOAD_ADDRESS		3
 | 
			
		||||
#define GLIBTOP_NETLOAD_PACKETS_IN	4
 | 
			
		||||
#define GLIBTOP_NETLOAD_PACKETS_OUT	5
 | 
			
		||||
#define GLIBTOP_NETLOAD_PACKETS_TOTAL	6
 | 
			
		||||
#define GLIBTOP_NETLOAD_BYTES_IN	7
 | 
			
		||||
#define GLIBTOP_NETLOAD_BYTES_OUT	8
 | 
			
		||||
#define GLIBTOP_NETLOAD_BYTES_TOTAL	9
 | 
			
		||||
#define GLIBTOP_NETLOAD_ERRORS_IN	10
 | 
			
		||||
#define GLIBTOP_NETLOAD_ERRORS_OUT	11
 | 
			
		||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL	12
 | 
			
		||||
#define GLIBTOP_NETLOAD_COLLISIONS	13
 | 
			
		||||
#define GLIBTOP_NETLOAD_ADDRESS6	14
 | 
			
		||||
#define GLIBTOP_NETLOAD_PREFIX6		15
 | 
			
		||||
#define GLIBTOP_NETLOAD_SCOPE6		16
 | 
			
		||||
#define GLIBTOP_NETLOAD_HWADDRESS	17
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_NETLOAD		18
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_netload	glibtop_netload;
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
	GLIBTOP_IF_FLAGS_UP = 1,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_BROADCAST,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_DEBUG,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_LOOPBACK,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_POINTOPOINT,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_RUNNING,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_NOARP,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_PROMISC,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_ALLMULTI,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_OACTIVE,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_SIMPLEX,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_LINK0,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_LINK1,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_LINK2,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_ALTPHYS,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_MULTICAST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum GLIBTOP_IF_IN6_SCOPE
 | 
			
		||||
{
 | 
			
		||||
	GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
 | 
			
		||||
	GLIBTOP_IF_IN6_SCOPE_LINK    = 1,
 | 
			
		||||
	GLIBTOP_IF_IN6_SCOPE_SITE    = 2,
 | 
			
		||||
	GLIBTOP_IF_IN6_SCOPE_GLOBAL  = 4,
 | 
			
		||||
	GLIBTOP_IF_IN6_SCOPE_HOST    = 8
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_netload
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		if_flags;		/* GLIBTOP_NETLOAD_IF_FLAGS	*/
 | 
			
		||||
 | 
			
		||||
	guint32	mtu,			/* GLIBTOP_NETLOAD_MTU		*/
 | 
			
		||||
		subnet,			/* GLIBTOP_NETLOAD_SUBNET	*/
 | 
			
		||||
		address;		/* GLIBTOP_NETLOAD_ADDRESS	*/
 | 
			
		||||
 | 
			
		||||
	guint64	packets_in,		/* GLIBTOP_NETLOAD_PACKETS_IN	*/
 | 
			
		||||
		packets_out,		/* GLIBTOP_NETLOAD_PACKETS_OUT	*/
 | 
			
		||||
		packets_total,		/* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
 | 
			
		||||
		bytes_in,		/* GLIBTOP_NETLOAD_BYTES_IN	*/
 | 
			
		||||
		bytes_out,		/* GLIBTOP_NETLOAD_BYTES_OUT	*/
 | 
			
		||||
		bytes_total,		/* GLIBTOP_NETLOAD_BYTES_TOTAL	*/
 | 
			
		||||
		errors_in,		/* GLIBTOP_NETLOAD_ERRORS_IN	*/
 | 
			
		||||
		errors_out,		/* GLIBTOP_NETLOAD_ERRORS_OUT	*/
 | 
			
		||||
		errors_total,		/* GLIBTOP_NETLOAD_ERRORS_TOTAL	*/
 | 
			
		||||
		collisions;		/* GLIBTOP_NETLOAD_COLLISIONS	*/
 | 
			
		||||
 | 
			
		||||
	guint8 address6[16];		/* GLIBTOP_NETLOAD_ADDRESS6     */
 | 
			
		||||
	guint8 prefix6[16];		/* GLIBTOP_NETLOAD_PREXIF6      */
 | 
			
		||||
	guint8 scope6;			/* GLIBTOP_NETLOAD_SCOPE6       */
 | 
			
		||||
 | 
			
		||||
	guint8 hwaddress[8];		/* GLIBTOP_NETLOAD_HWADDRESS    */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_netload(glibtop_netload *buf, const char *interface);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLOAD
 | 
			
		||||
#define glibtop_get_netload_r	glibtop_get_netload_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_netload_r	glibtop_get_netload_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLOAD
 | 
			
		||||
void glibtop_init_netload_p (glibtop *server);
 | 
			
		||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_netload_s (glibtop *server);
 | 
			
		||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										71
									
								
								include/glibtop/open.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								include/glibtop/open.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
			
		||||
/* 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_OPEN_H__
 | 
			
		||||
#define __GLIBTOP_OPEN_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define _GLIBTOP_INIT_STATE_INIT	0x10000
 | 
			
		||||
#define _GLIBTOP_INIT_STATE_OPEN	0x20000
 | 
			
		||||
#define _GLIBTOP_INIT_STATE_SERVER	0x40000
 | 
			
		||||
#define _GLIBTOP_INIT_STATE_SYSDEPS	0x80000
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_INIT_NO_OPEN		1
 | 
			
		||||
#define GLIBTOP_INIT_NO_INIT		2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_FEATURES_NO_SERVER	4
 | 
			
		||||
#define GLIBTOP_FEATURES_EXCEPT		8
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_METHOD_DIRECT		1
 | 
			
		||||
#define GLIBTOP_METHOD_PIPE		2
 | 
			
		||||
#define GLIBTOP_METHOD_INET		3
 | 
			
		||||
#define GLIBTOP_METHOD_UNIX		4
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_ERROR_METHOD_IGNORE	0
 | 
			
		||||
#define GLIBTOP_ERROR_METHOD_WARN_ONCE	1
 | 
			
		||||
#define GLIBTOP_ERROR_METHOD_WARN	2
 | 
			
		||||
#define GLIBTOP_ERROR_METHOD_ABORT	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_ERROR_METHOD_DEFAULT	GLIBTOP_ERROR_METHOD_WARN_ONCE
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_open_l (glibtop *server, const char *program_name,
 | 
			
		||||
		const unsigned long features, const unsigned flags);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_init_p (glibtop *server, const unsigned long features,
 | 
			
		||||
		const unsigned flags);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_open_p (glibtop *server, const char *program_name,
 | 
			
		||||
		const unsigned long features, const unsigned flags);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_open_s (glibtop *server, const char *program_name,
 | 
			
		||||
		const unsigned long features, const unsigned flags);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										50
									
								
								include/glibtop/parameter.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								include/glibtop/parameter.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PARAMETER_H__
 | 
			
		||||
#define __GLIBTOP_PARAMETER_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PARAM_METHOD		1
 | 
			
		||||
#define GLIBTOP_PARAM_FEATURES		2
 | 
			
		||||
#define GLIBTOP_PARAM_COMMAND		3
 | 
			
		||||
#define GLIBTOP_PARAM_HOST		4
 | 
			
		||||
#define GLIBTOP_PARAM_PORT		5
 | 
			
		||||
#define GLIBTOP_PARAM_ERROR_METHOD	6
 | 
			
		||||
#define GLIBTOP_PARAM_REQUIRED		7
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_parameter(p1,p2,p3)	glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3)
 | 
			
		||||
#define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3)
 | 
			
		||||
 | 
			
		||||
size_t
 | 
			
		||||
glibtop_get_parameter_l (glibtop *server, const unsigned parameter,
 | 
			
		||||
			 void *data_ptr, size_t data_size);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
 | 
			
		||||
			 const void *data_ptr, size_t data_size);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										75
									
								
								include/glibtop/ppp.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								include/glibtop/ppp.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PPP_H__
 | 
			
		||||
#define __GLIBTOP_PPP_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PPP_STATE	0
 | 
			
		||||
#define GLIBTOP_PPP_BYTES_IN	1
 | 
			
		||||
#define GLIBTOP_PPP_BYTES_OUT	2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PPP		3
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_ppp	glibtop_ppp;
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
	GLIBTOP_PPP_STATE_UNKNOWN = 0,
 | 
			
		||||
	GLIBTOP_PPP_STATE_HANGUP,
 | 
			
		||||
	GLIBTOP_PPP_STATE_ONLINE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_ppp
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		state,			/* GLIBTOP_PPP_STATE		*/
 | 
			
		||||
		bytes_in,		/* GLIBTOP_PPP_BYTES_IN		*/
 | 
			
		||||
		bytes_out;		/* GLIBTOP_PPP_BYTES_OUT	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PPP
 | 
			
		||||
#define glibtop_get_ppp_r	glibtop_get_ppp_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_ppp_r	glibtop_get_ppp_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PPP
 | 
			
		||||
void glibtop_init_ppp_p (glibtop *server);
 | 
			
		||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_ppp_s (glibtop *server);
 | 
			
		||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										90
									
								
								include/glibtop/procargs.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								include/glibtop/procargs.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_ARGS_H__
 | 
			
		||||
#define __GLIBTOP_PROC_ARGS_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_ARGS_SIZE		0
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_ARGS		1
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_args	glibtop_proc_args;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_args
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		size;			/* GLIBTOP_PROC_ARGS_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
char *
 | 
			
		||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
 | 
			
		||||
			 pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
char *
 | 
			
		||||
glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_ARGS
 | 
			
		||||
 | 
			
		||||
# define glibtop_get_proc_args_r		glibtop_get_proc_args_p
 | 
			
		||||
 | 
			
		||||
  void glibtop_init_proc_args_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
  char *
 | 
			
		||||
  glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
 | 
			
		||||
			   pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#else /* !GLIBTOP_SUID_PROC_ARGS */
 | 
			
		||||
 | 
			
		||||
# define glibtop_get_proc_args_r		glibtop_get_proc_args_s
 | 
			
		||||
 | 
			
		||||
  void glibtop_init_proc_args_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
  char *
 | 
			
		||||
  glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
 | 
			
		||||
			   pid_t pid, unsigned max_len);
 | 
			
		||||
#endif /* GLIBTOP_SUID_PROC_ARGS */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * NEW functions
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
char **
 | 
			
		||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
 | 
			
		||||
			 pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
char **
 | 
			
		||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										88
									
								
								include/glibtop/prockernel.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								include/glibtop/prockernel.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,88 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCKERNEL_H__
 | 
			
		||||
#define __GLIBTOP_PROCKERNEL_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_K_FLAGS	0
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_MIN_FLT	1
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_MAJ_FLT	2
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_CMIN_FLT	3
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_CMAJ_FLT	4
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_KSTK_ESP	5
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_KSTK_EIP	6
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_NWCHAN	7
 | 
			
		||||
#define GLIBTOP_PROC_KERNEL_WCHAN	8
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_KERNEL		9
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_kernel	glibtop_proc_kernel;
 | 
			
		||||
 | 
			
		||||
/* Kernel stuff */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_kernel
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	guint64 k_flags,	/* kernel flags for the process */
 | 
			
		||||
		min_flt,	/* number of minor page faults since
 | 
			
		||||
				 * process start */
 | 
			
		||||
		maj_flt,	/* number of major page faults since
 | 
			
		||||
				 * process start */
 | 
			
		||||
		cmin_flt,	/* cumulative min_flt of process and
 | 
			
		||||
				 * child processes */
 | 
			
		||||
		cmaj_flt,	/* cumulative maj_flt of process and
 | 
			
		||||
				 * child processes */
 | 
			
		||||
		kstk_esp,	/* kernel stack pointer */
 | 
			
		||||
		kstk_eip,	/* kernel stack pointer */
 | 
			
		||||
		nwchan;		/* address of kernel wait channel
 | 
			
		||||
				 * proc is sleeping in */
 | 
			
		||||
	char wchan [40];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_KERNEL
 | 
			
		||||
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_kernel_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										95
									
								
								include/glibtop/proclist.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								include/glibtop/proclist.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCLIST_H__
 | 
			
		||||
#define __GLIBTOP_PROCLIST_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROCLIST_NUMBER	0
 | 
			
		||||
#define GLIBTOP_PROCLIST_TOTAL	1
 | 
			
		||||
#define GLIBTOP_PROCLIST_SIZE	2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROCLIST	3
 | 
			
		||||
 | 
			
		||||
/* You can use the folowing constants as the `which' member of
 | 
			
		||||
 * glibtop_get_proclist () to specify which processes to fetch. */
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_KERN_PROC_ALL		0	/* all processes */
 | 
			
		||||
#define GLIBTOP_KERN_PROC_PID		1
 | 
			
		||||
#define GLIBTOP_KERN_PROC_PGRP		2
 | 
			
		||||
#define GLIBTOP_KERN_PROC_SESSION	3
 | 
			
		||||
#define GLIBTOP_KERN_PROC_TTY		4
 | 
			
		||||
#define GLIBTOP_KERN_PROC_UID		5
 | 
			
		||||
#define GLIBTOP_KERN_PROC_RUID		6
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_KERN_PROC_MASK		15
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_EXCLUDE_IDLE		0x1000
 | 
			
		||||
#define GLIBTOP_EXCLUDE_SYSTEM		0x2000
 | 
			
		||||
#define GLIBTOP_EXCLUDE_NOTTY		0x4000
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proclist	glibtop_proclist;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proclist
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		number,			/* GLIBTOP_PROCLIST_NUMBER	*/
 | 
			
		||||
		total,			/* GLIBTOP_PROCLIST_TOTAL	*/
 | 
			
		||||
		size;			/* GLIBTOP_PROCLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
unsigned *
 | 
			
		||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
#define glibtop_get_proclist_r		glibtop_get_proclist_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proclist_r		glibtop_get_proclist_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
unsigned *
 | 
			
		||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
void glibtop_init_proclist_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
unsigned *
 | 
			
		||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proclist_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
unsigned *
 | 
			
		||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										113
									
								
								include/glibtop/procmap.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								include/glibtop/procmap.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,113 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_MAP_H__
 | 
			
		||||
#define __GLIBTOP_PROC_MAP_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_MAP_NUMBER		0
 | 
			
		||||
#define GLIBTOP_PROC_MAP_TOTAL		1
 | 
			
		||||
#define GLIBTOP_PROC_MAP_SIZE		2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_MAP		3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_START		0
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_END		1
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_OFFSET	2
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PERM		3
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_INODE		4
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_DEVICE	5
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_FILENAME	6
 | 
			
		||||
 | 
			
		||||
/* Smap support */
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_SIZE			 7
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_RSS			 8
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_SHARED_CLEAN		 9
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY		10
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN		11
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY		12
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_MAP_ENTRY		13
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAP_FILENAME_LEN	215
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAP_PERM_READ		1
 | 
			
		||||
#define GLIBTOP_MAP_PERM_WRITE		2
 | 
			
		||||
#define GLIBTOP_MAP_PERM_EXECUTE	4
 | 
			
		||||
#define GLIBTOP_MAP_PERM_SHARED		8
 | 
			
		||||
#define GLIBTOP_MAP_PERM_PRIVATE	16
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_map_entry	glibtop_map_entry;
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_map	glibtop_proc_map;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_map_entry
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags, start, end, offset, perm, inode, device;
 | 
			
		||||
	guint64 size,
 | 
			
		||||
		rss,
 | 
			
		||||
		shared_clean, shared_dirty,
 | 
			
		||||
		private_clean, private_dirty;
 | 
			
		||||
	char filename [GLIBTOP_MAP_FILENAME_LEN+1];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_map
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		number,			/* GLIBTOP_PROC_MAP_NUMBER	*/
 | 
			
		||||
		total,			/* GLIBTOP_PROC_MAP_TOTAL	*/
 | 
			
		||||
		size;			/* GLIBTOP_PROC_MAP_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MAP
 | 
			
		||||
#define glibtop_get_proc_map_r		glibtop_get_proc_map_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_map_r		glibtop_get_proc_map_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MAP
 | 
			
		||||
void glibtop_init_proc_map_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_map_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										79
									
								
								include/glibtop/procmem.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								include/glibtop/procmem.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCMEM_H__
 | 
			
		||||
#define __GLIBTOP_PROCMEM_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_MEM_SIZE		0
 | 
			
		||||
#define GLIBTOP_PROC_MEM_VSIZE		1
 | 
			
		||||
#define GLIBTOP_PROC_MEM_RESIDENT	2
 | 
			
		||||
#define GLIBTOP_PROC_MEM_SHARE		3
 | 
			
		||||
#define GLIBTOP_PROC_MEM_RSS		4
 | 
			
		||||
#define GLIBTOP_PROC_MEM_RSS_RLIM	5
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_MEM		6
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_mem	glibtop_proc_mem;
 | 
			
		||||
 | 
			
		||||
/* Memory section */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_mem
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		size,		/* total # of pages of memory */
 | 
			
		||||
		vsize,		/* number of pages of virtual memory ... */
 | 
			
		||||
		resident,	/* number of resident set
 | 
			
		||||
				 * (non-swapped) pages (4k) */
 | 
			
		||||
		share,		/* number of pages of shared (mmap'd) memory */
 | 
			
		||||
		rss,		/* resident set size */
 | 
			
		||||
		rss_rlim;	/* current limit (in bytes) of the rss
 | 
			
		||||
				 * of the process; usually 2,147,483,647 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MEM
 | 
			
		||||
#define glibtop_get_proc_mem_r		glibtop_get_proc_mem_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_mem_r		glibtop_get_proc_mem_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_mem_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										123
									
								
								include/glibtop/procopenfiles.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								include/glibtop/procopenfiles.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   Copyright (C) 2004 Nicolás Lichtmaier
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   Modified by Nicolás Lichtmaier to give open process files.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
 | 
			
		||||
#define __GLIBTOP_PROC_OPEN_FILES_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_OPEN_FILES_NUMBER		0
 | 
			
		||||
#define GLIBTOP_PROC_OPEN_FILES_TOTAL		1
 | 
			
		||||
#define GLIBTOP_PROC_OPEN_FILES_SIZE		2
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_OPEN_FILES		3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_FILE_ENTRY_FD				0
 | 
			
		||||
#define GLIBTOP_FILE_ENTRY_NAME				1
 | 
			
		||||
#define GLIBTOP_FILE_ENTRY_TYPE				2
 | 
			
		||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST		3
 | 
			
		||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT		4
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_OPEN_FILE_ENTRY		5
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_OPEN_FILENAME_LEN	215
 | 
			
		||||
 /* ready for IPv6 */
 | 
			
		||||
#define GLIBTOP_OPEN_DEST_HOST_LEN	46
 | 
			
		||||
 | 
			
		||||
enum glibtop_file_type {
 | 
			
		||||
	GLIBTOP_FILE_TYPE_FILE		= 1,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_PIPE		= 2,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_INETSOCKET	= 4,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_LOCALSOCKET	= 8
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_open_files	glibtop_proc_open_files;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_open_files_entry
 | 
			
		||||
{
 | 
			
		||||
	int fd;
 | 
			
		||||
	guint16 type; /* An "enum glibtop_file_type" value. */
 | 
			
		||||
	union {
 | 
			
		||||
		/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
 | 
			
		||||
		struct {
 | 
			
		||||
			char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
 | 
			
		||||
			int dest_port;
 | 
			
		||||
		} sock;
 | 
			
		||||
 | 
			
		||||
		/* When type == GLIBTOP_FILE_TYPE_FILE */
 | 
			
		||||
		struct {
 | 
			
		||||
			char name[GLIBTOP_OPEN_FILENAME_LEN+1];
 | 
			
		||||
		} file;
 | 
			
		||||
 | 
			
		||||
		/* When type == GLIBTOP_FILE_TYPE_LOCALSOCKET */
 | 
			
		||||
		struct {
 | 
			
		||||
			char name[GLIBTOP_OPEN_FILENAME_LEN+1];
 | 
			
		||||
		} localsock;
 | 
			
		||||
 | 
			
		||||
	} info;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_open_files
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		number,			/* GLIBTOP_PROC_OPEN_FILES_NUMBER */
 | 
			
		||||
		total,			/* GLIBTOP_PROC_OPEN_FILES_TOTAL  */
 | 
			
		||||
		size;			/* GLIBTOP_PROC_OPEN_FILES_SIZE   */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_FILE
 | 
			
		||||
#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_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_FILE
 | 
			
		||||
void glibtop_init_proc_open_files_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
glibtop_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);
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										82
									
								
								include/glibtop/procsegment.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								include/glibtop/procsegment.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
 | 
			
		||||
#define __GLIBTOP_PROCSEGMENT_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS		0
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS		1
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_DATA_RSS		2
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_STACK_RSS		3
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_DIRTY_SIZE		4
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_START_CODE		5
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_END_CODE		6
 | 
			
		||||
#define GLIBTOP_PROC_SEGMENT_START_STACK	7
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_SEGMENT		8
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_segment	glibtop_proc_segment;
 | 
			
		||||
 | 
			
		||||
/* Segment stuff */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_segment
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		text_rss,	/* text resident set size */
 | 
			
		||||
		shlib_rss,	/* shared-lib resident set size */
 | 
			
		||||
		data_rss,	/* data resident set size */
 | 
			
		||||
		stack_rss,	/* stack resident set size */
 | 
			
		||||
		dirty_size,	/* size of dirty pages */
 | 
			
		||||
		start_code,
 | 
			
		||||
				/* address of beginning of code segment */
 | 
			
		||||
		end_code,	/* address of end of code segment */
 | 
			
		||||
		start_stack;	/* address of the bottom of stack segment */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SEGMENT
 | 
			
		||||
#define glibtop_get_proc_segment_r	glibtop_get_proc_segment_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_segment_r	glibtop_get_proc_segment_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_segment_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										73
									
								
								include/glibtop/procsignal.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								include/glibtop/procsignal.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
 | 
			
		||||
#define __GLIBTOP_PROCSIGNAL_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_SIGNAL_SIGNAL	0
 | 
			
		||||
#define GLIBTOP_PROC_SIGNAL_BLOCKED	1
 | 
			
		||||
#define GLIBTOP_PROC_SIGNAL_SIGIGNORE	2
 | 
			
		||||
#define GLIBTOP_PROC_SIGNAL_SIGCATCH	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_SIGNAL		4
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_signal	glibtop_proc_signal;
 | 
			
		||||
 | 
			
		||||
/* Signals section */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_signal
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		signal [2],		/* mask of pending signals */
 | 
			
		||||
		blocked [2],		/* mask of blocked signals */
 | 
			
		||||
		sigignore [2],		/* mask of ignored signals */
 | 
			
		||||
		sigcatch [2];		/* mask of caught  signals */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SIGNAL
 | 
			
		||||
#define glibtop_get_proc_signal_r	glibtop_get_proc_signal_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_signal_r	glibtop_get_proc_signal_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_signal_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										98
									
								
								include/glibtop/procstate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								include/glibtop/procstate.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSTATE_H__
 | 
			
		||||
#define __GLIBTOP_PROCSTATE_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_STATE_CMD		0
 | 
			
		||||
#define GLIBTOP_PROC_STATE_STATE	1
 | 
			
		||||
#define GLIBTOP_PROC_STATE_UID		2
 | 
			
		||||
#define GLIBTOP_PROC_STATE_GID		3
 | 
			
		||||
#define GLIBTOP_PROC_STATE_RUID     4
 | 
			
		||||
#define GLIBTOP_PROC_STATE_RGID     5
 | 
			
		||||
#define GLIBTOP_PROC_STATE_HAS_CPU  6
 | 
			
		||||
#define GLIBTOP_PROC_STATE_PROCESSOR 7
 | 
			
		||||
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_STATE		9
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROCESS_RUNNING                 1
 | 
			
		||||
#define GLIBTOP_PROCESS_INTERRUPTIBLE           2
 | 
			
		||||
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE         4
 | 
			
		||||
#define GLIBTOP_PROCESS_ZOMBIE                  8
 | 
			
		||||
#define GLIBTOP_PROCESS_STOPPED                 16
 | 
			
		||||
#define GLIBTOP_PROCESS_SWAPPING                32
 | 
			
		||||
#define GLIBTOP_PROCESS_DEAD                    64
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_state	glibtop_proc_state;
 | 
			
		||||
 | 
			
		||||
/* Name and status */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_state
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	char cmd[40];		/* basename of executable file in
 | 
			
		||||
				 * call to exec(2) */
 | 
			
		||||
	unsigned state;		/* single-char code for process state
 | 
			
		||||
				 * (S=sleeping) */
 | 
			
		||||
	/* NOTE: when porting the library, TRY HARD to implement the
 | 
			
		||||
	 *       following two fields. */
 | 
			
		||||
	/* IMPORTANT NOTICE: For security reasons, it is extremely important
 | 
			
		||||
	 *                   only to set the flags value for those two
 | 
			
		||||
	 *                   fields if their values are corrent ! */
 | 
			
		||||
	int uid,		/* UID of process */
 | 
			
		||||
		gid,		/* GID of process */
 | 
			
		||||
        ruid,
 | 
			
		||||
        rgid;
 | 
			
		||||
    int has_cpu,
 | 
			
		||||
        processor,
 | 
			
		||||
        last_processor;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_STATE
 | 
			
		||||
#define glibtop_get_proc_state_r	glibtop_get_proc_state_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_state_r	glibtop_get_proc_state_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_state_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										95
									
								
								include/glibtop/proctime.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								include/glibtop/proctime.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCTIME_H__
 | 
			
		||||
#define __GLIBTOP_PROCTIME_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/cpu.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_TIME_START_TIME	0
 | 
			
		||||
#define GLIBTOP_PROC_TIME_RTIME		1
 | 
			
		||||
#define GLIBTOP_PROC_TIME_UTIME		2
 | 
			
		||||
#define GLIBTOP_PROC_TIME_STIME		3
 | 
			
		||||
#define GLIBTOP_PROC_TIME_CUTIME	4
 | 
			
		||||
#define GLIBTOP_PROC_TIME_CSTIME	5
 | 
			
		||||
#define GLIBTOP_PROC_TIME_TIMEOUT	6
 | 
			
		||||
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE	7
 | 
			
		||||
#define GLIBTOP_PROC_TIME_FREQUENCY	8
 | 
			
		||||
#define GLIBTOP_PROC_TIME_XCPU_UTIME	9
 | 
			
		||||
#define GLIBTOP_PROC_TIME_XCPU_STIME	10
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_TIME		11
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_time	glibtop_proc_time;
 | 
			
		||||
 | 
			
		||||
/* Time section */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_time
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		start_time,	/* start time of process --
 | 
			
		||||
				 * seconds since 1-1-70 */
 | 
			
		||||
		rtime,		/* real time accumulated by process */
 | 
			
		||||
		utime,		/* user-mode CPU time accumulated by process */
 | 
			
		||||
		stime,		/* kernel-mode CPU time accumulated by process */
 | 
			
		||||
		cutime,		/* cumulative utime of process and
 | 
			
		||||
				 * reaped children */
 | 
			
		||||
		cstime,		/* cumulative stime of process and
 | 
			
		||||
				 * reaped children */
 | 
			
		||||
		timeout,	/* The time (in jiffies) of the process's
 | 
			
		||||
				 * next timeout */
 | 
			
		||||
		it_real_value,	/* The time (in jiffies) before the
 | 
			
		||||
				 * next SIGALRM is sent to the process
 | 
			
		||||
				 * due to an interval timer. */
 | 
			
		||||
		frequency,	/* Tick frequency. */
 | 
			
		||||
		xcpu_utime [GLIBTOP_NCPU],	/* utime and stime for all CPUs on */
 | 
			
		||||
		xcpu_stime [GLIBTOP_NCPU];	/* SMP machines. */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_TIME
 | 
			
		||||
#define glibtop_get_proc_time_r	glibtop_get_proc_time_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_time_r	glibtop_get_proc_time_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_time_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										104
									
								
								include/glibtop/procuid.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								include/glibtop/procuid.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,104 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCUID_H__
 | 
			
		||||
#define __GLIBTOP_PROCUID_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_UID_UID		0
 | 
			
		||||
#define GLIBTOP_PROC_UID_EUID		1
 | 
			
		||||
#define GLIBTOP_PROC_UID_GID		2
 | 
			
		||||
#define GLIBTOP_PROC_UID_EGID		3
 | 
			
		||||
#define GLIBTOP_PROC_UID_SUID		4
 | 
			
		||||
#define GLIBTOP_PROC_UID_SGID		5
 | 
			
		||||
#define GLIBTOP_PROC_UID_FSUID		6
 | 
			
		||||
#define GLIBTOP_PROC_UID_FSGID		7
 | 
			
		||||
#define GLIBTOP_PROC_UID_PID		8
 | 
			
		||||
#define GLIBTOP_PROC_UID_PPID		9
 | 
			
		||||
#define GLIBTOP_PROC_UID_PGRP		10
 | 
			
		||||
#define GLIBTOP_PROC_UID_SESSION	11
 | 
			
		||||
#define GLIBTOP_PROC_UID_TTY		12
 | 
			
		||||
#define GLIBTOP_PROC_UID_TPGID		13
 | 
			
		||||
#define GLIBTOP_PROC_UID_PRIORITY	14
 | 
			
		||||
#define GLIBTOP_PROC_UID_NICE		15
 | 
			
		||||
#define GLIBTOP_PROC_UID_NGROUPS    16
 | 
			
		||||
#define GLIBTOP_PROC_UID_GROUPS     17
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_UID		18
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_uid	glibtop_proc_uid;
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_GROUPS          64
 | 
			
		||||
 | 
			
		||||
/* User, Group, Terminal and session */
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_uid
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	gint32 uid,		/* user id */
 | 
			
		||||
		euid,		/* effective user id */
 | 
			
		||||
		gid,		/* group id */
 | 
			
		||||
		egid,		/* effective group id */
 | 
			
		||||
        suid,       /* set user id */
 | 
			
		||||
        sgid,       /* set group id */
 | 
			
		||||
        fsuid,      /* ??? user id */
 | 
			
		||||
        fsgid,      /* ??? group id */
 | 
			
		||||
		pid,		/* process id */
 | 
			
		||||
		ppid,		/* pid of parent process */
 | 
			
		||||
		pgrp,		/* process group id */
 | 
			
		||||
		session,	/* session id */
 | 
			
		||||
		tty,		/* full device number of controlling terminal */
 | 
			
		||||
		tpgid,		/* terminal process group id */
 | 
			
		||||
		priority,	/* kernel scheduling priority */
 | 
			
		||||
		nice,		/* standard unix nice level of process */
 | 
			
		||||
		ngroups,
 | 
			
		||||
        groups [GLIBTOP_MAX_GROUPS];
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_UID
 | 
			
		||||
#define glibtop_get_proc_uid_r		glibtop_get_proc_uid_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_uid_r		glibtop_get_proc_uid_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_proc_uid_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										38
									
								
								include/glibtop/read.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								include/glibtop/read.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_READ_H__
 | 
			
		||||
#define __GLIBTOP_READ_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_read(p1, p2)	glibtop_read(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
void glibtop_read_l (glibtop *server, size_t size, void *buf);
 | 
			
		||||
void glibtop_read_s (glibtop *server, size_t size, void *buf);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										38
									
								
								include/glibtop/read_data.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								include/glibtop/read_data.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_READ_DATA_H__
 | 
			
		||||
#define __GLIBTOP_READ_DATA_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_read_data()	glibtop_read_data_r(glibtop_global_server)
 | 
			
		||||
 | 
			
		||||
void *glibtop_read_data_l (glibtop *server);
 | 
			
		||||
void *glibtop_read_data_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										83
									
								
								include/glibtop/sem_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								include/glibtop/sem_limits.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
 | 
			
		||||
#define __GLIBTOP_SEM_LIMITS_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_IPC_SEMMAP	0
 | 
			
		||||
#define GLIBTOP_IPC_SEMMNI	1
 | 
			
		||||
#define GLIBTOP_IPC_SEMMNS	2
 | 
			
		||||
#define GLIBTOP_IPC_SEMMNU	3
 | 
			
		||||
#define GLIBTOP_IPC_SEMMSL	4
 | 
			
		||||
#define GLIBTOP_IPC_SEMOPM	5
 | 
			
		||||
#define GLIBTOP_IPC_SEMUME	6
 | 
			
		||||
#define GLIBTOP_IPC_SEMUSZ	7
 | 
			
		||||
#define GLIBTOP_IPC_SEMVMX	8
 | 
			
		||||
#define GLIBTOP_IPC_SEMAEM	9
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SEM_LIMITS	10
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_sem_limits	glibtop_sem_limits;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_sem_limits
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		semmap,		/* GLIBTOP_IPC_SEMMAP	*/
 | 
			
		||||
		semmni,		/* GLIBTOP_IPC_SEMMNI	*/
 | 
			
		||||
		semmns,		/* GLIBTOP_IPC_SEMMNS	*/
 | 
			
		||||
		semmnu,		/* GLIBTOP_IPC_SEMMNU	*/
 | 
			
		||||
		semmsl,		/* GLIBTOP_IPC_SEMMSL	*/
 | 
			
		||||
		semopm,		/* GLIBTOP_IPC_SEMOPM	*/
 | 
			
		||||
		semume,		/* GLIBTOP_IPC_SEMUME	*/
 | 
			
		||||
		semusz,		/* GLIBTOP_IPC_SEMUSZ	*/
 | 
			
		||||
		semvmx,		/* GLIBTOP_IPC_SEMVMX	*/
 | 
			
		||||
		semaem;		/* GLIBTOP_IPC_SEMAEM	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SEM_LIMITS
 | 
			
		||||
#define glibtop_get_sem_limits_r	glibtop_get_sem_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_sem_limits_r	glibtop_get_sem_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_sem_limits_s (glibtop *server);
 | 
			
		||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										73
									
								
								include/glibtop/shm_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								include/glibtop/shm_limits.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
 | 
			
		||||
#define __GLIBTOP_SHM_LIMITS_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_IPC_SHMMAX	0
 | 
			
		||||
#define GLIBTOP_IPC_SHMMIN	1
 | 
			
		||||
#define GLIBTOP_IPC_SHMMNI	2
 | 
			
		||||
#define GLIBTOP_IPC_SHMSEG	3
 | 
			
		||||
#define GLIBTOP_IPC_SHMALL	4
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SHM_LIMITS	5
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_shm_limits	glibtop_shm_limits;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_shm_limits
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		shmmax,		/* GLIBTOP_IPC_SHMMAX	*/
 | 
			
		||||
		shmmin,		/* GLIBTOP_IPC_SHMMIN	*/
 | 
			
		||||
		shmmni,		/* GLIBTOP_IPC_SHMMNI	*/
 | 
			
		||||
		shmseg,		/* GLIBTOP_IPC_SHMSEG	*/
 | 
			
		||||
		shmall;		/* GLIBTOP_IPC_SHMALL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
#define glibtop_get_shm_limits_r	glibtop_get_shm_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_shm_limits_r	glibtop_get_shm_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
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_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
 | 
			
		||||
#else
 | 
			
		||||
void glibtop_init_shm_limits_s (glibtop *server);
 | 
			
		||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										47
									
								
								include/glibtop/signal.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								include/glibtop/signal.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SIGNAL_H__
 | 
			
		||||
#define __GLIBTOP_SIGNAL_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_SYS_SIGNAL_H
 | 
			
		||||
#include <sys/signal.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_signame	glibtop_signame;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_signame
 | 
			
		||||
{
 | 
			
		||||
	const int number;
 | 
			
		||||
	const char *name, *label;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern const glibtop_signame glibtop_sys_siglist [];
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										74
									
								
								include/glibtop/swap.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								include/glibtop/swap.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SWAP_H__
 | 
			
		||||
#define __GLIBTOP_SWAP_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_SWAP_TOTAL	0
 | 
			
		||||
#define GLIBTOP_SWAP_USED	1
 | 
			
		||||
#define GLIBTOP_SWAP_FREE	2
 | 
			
		||||
#define GLIBTOP_SWAP_PAGEIN	3
 | 
			
		||||
#define GLIBTOP_SWAP_PAGEOUT	4
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SWAP	5
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_swap	glibtop_swap;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_swap
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags,
 | 
			
		||||
		total,		/* GLIBTOP_SWAP_TOTAL	*/
 | 
			
		||||
		used,		/* GLIBTOP_SWAP_USED	*/
 | 
			
		||||
		free,		/* GLIBTOP_SWAP_FREE	*/
 | 
			
		||||
		pagein,		/* GLIBTOP_SWAP_PAGEIN	*/
 | 
			
		||||
		pageout;	/* GLIBTOP_SWAP_PAGEOUT	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_swap(glibtop_swap *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SWAP
 | 
			
		||||
#define glibtop_get_swap_r		glibtop_get_swap_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_swap_r		glibtop_get_swap_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SWAP
 | 
			
		||||
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_get_swap_s (glibtop *server, glibtop_swap *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user