Compare commits
	
		
			1496 Commits
		
	
	
		
			master-UNN
			...
			LIBGTOP_2_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					91b7ae4b11 | ||
| 
						 | 
					ce23ce407c | ||
| 
						 | 
					7f779e078d | ||
| 
						 | 
					229eab1213 | ||
| 
						 | 
					791e0dd859 | ||
| 
						 | 
					f63973eac5 | ||
| 
						 | 
					806a2d2d7e | ||
| 
						 | 
					af81e9be75 | ||
| 
						 | 
					90fc3ca780 | ||
| 
						 | 
					99e9437b37 | ||
| 
						 | 
					6c7f40ac64 | ||
| 
						 | 
					e75261ada8 | ||
| 
						 | 
					dc5da30913 | ||
| 
						 | 
					4d78d26932 | ||
| 
						 | 
					cd950bbf73 | ||
| 
						 | 
					c1b95643a8 | ||
| 
						 | 
					be8a371481 | ||
| 
						 | 
					fedd75b2b1 | ||
| 
						 | 
					a02e213373 | ||
| 
						 | 
					e3697c9a9e | ||
| 
						 | 
					91e2e5a1b7 | ||
| 
						 | 
					158280e297 | ||
| 
						 | 
					62c741074c | ||
| 
						 | 
					87a80ba430 | ||
| 
						 | 
					7bb5abb9a8 | ||
| 
						 | 
					40485978ec | ||
| 
						 | 
					73c62a7bdb | ||
| 
						 | 
					e4d9c10a73 | ||
| 
						 | 
					5d3f18e12c | ||
| 
						 | 
					d97b0c3419 | ||
| 
						 | 
					960d12822d | ||
| 
						 | 
					f79f25f5ce | ||
| 
						 | 
					3bb78c22c4 | ||
| 
						 | 
					4971103dc3 | ||
| 
						 | 
					35fab4d9aa | ||
| 
						 | 
					2078320e14 | ||
| 
						 | 
					46a29ac020 | ||
| 
						 | 
					d9c98b57c9 | ||
| 
						 | 
					9ce9de7942 | ||
| 
						 | 
					1409a8ef80 | ||
| 
						 | 
					bff4a84864 | ||
| 
						 | 
					77524a1ad2 | ||
| 
						 | 
					a171755aa6 | ||
| 
						 | 
					1d5f2cb395 | ||
| 
						 | 
					86ace13645 | ||
| 
						 | 
					57b1547333 | ||
| 
						 | 
					efee8728d1 | ||
| 
						 | 
					9ae5202a78 | ||
| 
						 | 
					07322469b7 | ||
| 
						 | 
					b797fcf578 | ||
| 
						 | 
					7725fdff77 | ||
| 
						 | 
					e5298ca598 | ||
| 
						 | 
					92d54e287a | ||
| 
						 | 
					2d9656e82a | ||
| 
						 | 
					8674e92349 | ||
| 
						 | 
					f5bbc36a91 | ||
| 
						 | 
					b058565419 | ||
| 
						 | 
					2c6b951822 | ||
| 
						 | 
					9b072525a6 | ||
| 
						 | 
					e2e0e3a555 | ||
| 
						 | 
					f37f72781a | ||
| 
						 | 
					9618fe795f | ||
| 
						 | 
					2e3231b051 | ||
| 
						 | 
					7fd14852db | ||
| 
						 | 
					73728a78c7 | ||
| 
						 | 
					3f55d507dd | ||
| 
						 | 
					13cec7830f | ||
| 
						 | 
					665d65d164 | ||
| 
						 | 
					21adc6b0c5 | ||
| 
						 | 
					3529a1b59f | ||
| 
						 | 
					8a0a3632ac | ||
| 
						 | 
					e6f9e07a9e | ||
| 
						 | 
					755695c537 | ||
| 
						 | 
					dba423b6e7 | ||
| 
						 | 
					83cda8c605 | ||
| 
						 | 
					6856c690f3 | ||
| 
						 | 
					a9b3964675 | ||
| 
						 | 
					44b360a521 | ||
| 
						 | 
					699524ea6a | ||
| 
						 | 
					2f4826b4d8 | ||
| 
						 | 
					83160ef48c | ||
| 
						 | 
					76bfbd3006 | ||
| 
						 | 
					73c9b1dd20 | ||
| 
						 | 
					da878ec588 | ||
| 
						 | 
					f3c90e4b3a | ||
| 
						 | 
					f3959743b6 | ||
| 
						 | 
					70a58a4cd4 | ||
| 
						 | 
					600bb6f004 | ||
| 
						 | 
					d5ccf3404b | ||
| 
						 | 
					b17762a5ae | ||
| 
						 | 
					1f2325b441 | ||
| 
						 | 
					b1757616d8 | ||
| 
						 | 
					871f300a2c | ||
| 
						 | 
					650c8f2582 | ||
| 
						 | 
					28ae85c10b | ||
| 
						 | 
					ce37ceeb15 | ||
| 
						 | 
					706c847b17 | ||
| 
						 | 
					82be8d7f8d | ||
| 
						 | 
					22e55d2e37 | ||
| 
						 | 
					31844753e8 | ||
| 
						 | 
					0ad36c2f62 | ||
| 
						 | 
					79143ecad7 | ||
| 
						 | 
					62dba864d7 | ||
| 
						 | 
					21a763e55a | ||
| 
						 | 
					c81d6306e5 | ||
| 
						 | 
					7270bcc9d5 | ||
| 
						 | 
					3c39f89281 | ||
| 
						 | 
					e34f38d3fc | ||
| 
						 | 
					a207cc1580 | ||
| 
						 | 
					b219d3181e | ||
| 
						 | 
					bc848239ff | ||
| 
						 | 
					0285e018f4 | ||
| 
						 | 
					01f1e7e955 | ||
| 
						 | 
					ef34cfb38a | ||
| 
						 | 
					1e0ba1d7aa | ||
| 
						 | 
					6b0bafcafb | ||
| 
						 | 
					c0856a39bd | ||
| 
						 | 
					270820a05c | ||
| 
						 | 
					358660837c | ||
| 
						 | 
					e387c66aad | ||
| 
						 | 
					e774440e77 | ||
| 
						 | 
					c7295cd5f0 | ||
| 
						 | 
					65fe248d66 | ||
| 
						 | 
					5c479c9a45 | ||
| 
						 | 
					6509ddff4c | ||
| 
						 | 
					ee78aaf29c | ||
| 
						 | 
					a5f59cb81a | ||
| 
						 | 
					a99011fd5c | ||
| 
						 | 
					598374bb1c | ||
| 
						 | 
					b1acd4461e | ||
| 
						 | 
					0e2fe6158c | ||
| 
						 | 
					f8b9e6f7cc | ||
| 
						 | 
					8fc7451000 | ||
| 
						 | 
					aaab91cc20 | ||
| 
						 | 
					cde89c59b1 | ||
| 
						 | 
					0ce04dd037 | ||
| 
						 | 
					8e4c6df830 | ||
| 
						 | 
					da54431af5 | ||
| 
						 | 
					ace68aa492 | ||
| 
						 | 
					eee0cad2b6 | ||
| 
						 | 
					785b30aeb6 | ||
| 
						 | 
					3eb958dc6c | ||
| 
						 | 
					cd389851b9 | ||
| 
						 | 
					7ee8dae9c5 | ||
| 
						 | 
					4b9bb4ee71 | ||
| 
						 | 
					aa9fafe5c3 | ||
| 
						 | 
					e0c1214cdd | ||
| 
						 | 
					82612af053 | ||
| 
						 | 
					2f6439a239 | ||
| 
						 | 
					44ff5b7599 | ||
| 
						 | 
					eb6c8b696f | ||
| 
						 | 
					177d1aa841 | ||
| 
						 | 
					021153bc49 | ||
| 
						 | 
					89810a70ec | ||
| 
						 | 
					504ff4ec59 | ||
| 
						 | 
					04a5531a46 | ||
| 
						 | 
					5a15e409cf | ||
| 
						 | 
					747438e334 | ||
| 
						 | 
					10211bf7da | ||
| 
						 | 
					09f8aaec1e | ||
| 
						 | 
					9f509067d4 | ||
| 
						 | 
					a085c85db6 | ||
| 
						 | 
					c6a7459bc9 | ||
| 
						 | 
					3d06443c2c | ||
| 
						 | 
					3f49e555fc | ||
| 
						 | 
					e156172e7c | ||
| 
						 | 
					c9385972bd | ||
| 
						 | 
					b411ee115f | ||
| 
						 | 
					63fb94127a | ||
| 
						 | 
					37fc9c1544 | ||
| 
						 | 
					9055b90aef | ||
| 
						 | 
					3f25ae9b43 | ||
| 
						 | 
					a288a086f7 | ||
| 
						 | 
					25a398fc24 | ||
| 
						 | 
					0b438b5250 | ||
| 
						 | 
					0d2382e666 | ||
| 
						 | 
					56b06c7433 | ||
| 
						 | 
					84f690d318 | ||
| 
						 | 
					fef76514ed | ||
| 
						 | 
					1bc8ce6f23 | ||
| 
						 | 
					920a936511 | ||
| 
						 | 
					648c28b332 | ||
| 
						 | 
					d9282f6102 | ||
| 
						 | 
					1ca0e5c5e7 | ||
| 
						 | 
					537bf34f94 | ||
| 
						 | 
					5982287f48 | ||
| 
						 | 
					24f5bb1e22 | ||
| 
						 | 
					499f599e95 | ||
| 
						 | 
					71ce0e790b | ||
| 
						 | 
					05dfb867a3 | ||
| 
						 | 
					2345eaf4ee | ||
| 
						 | 
					7b3d57c9e9 | ||
| 
						 | 
					9ebea04e19 | ||
| 
						 | 
					0cefbb6df0 | ||
| 
						 | 
					272a72d7bc | ||
| 
						 | 
					75f11dc5d6 | ||
| 
						 | 
					383b4c480e | ||
| 
						 | 
					610c0071cc | ||
| 
						 | 
					08887909fa | ||
| 
						 | 
					6bd78a815b | ||
| 
						 | 
					34e8fd7400 | ||
| 
						 | 
					1f7f18b399 | ||
| 
						 | 
					a7a9e7e9f8 | ||
| 
						 | 
					c51a13bf0e | ||
| 
						 | 
					d497c25081 | ||
| 
						 | 
					3345ef1704 | ||
| 
						 | 
					af52067b3a | ||
| 
						 | 
					a3e3a224a2 | ||
| 
						 | 
					b9e498c0b8 | ||
| 
						 | 
					875df72edf | ||
| 
						 | 
					c5e81bacbf | ||
| 
						 | 
					8663fc3fda | ||
| 
						 | 
					37487d4e62 | ||
| 
						 | 
					d52fc3f868 | ||
| 
						 | 
					bc79bf010a | ||
| 
						 | 
					7f477561f0 | ||
| 
						 | 
					c7e0a7ac59 | ||
| 
						 | 
					bc6ff2cb59 | ||
| 
						 | 
					1826be8ef6 | ||
| 
						 | 
					739e9cac4a | ||
| 
						 | 
					8c7e0e6f2e | ||
| 
						 | 
					46c9f6ebeb | ||
| 
						 | 
					e6d6b0bba7 | ||
| 
						 | 
					8d60c52922 | ||
| 
						 | 
					21f74a6427 | ||
| 
						 | 
					05b94bd263 | ||
| 
						 | 
					956527cb57 | ||
| 
						 | 
					d8f9e265cf | ||
| 
						 | 
					64fe5d591b | ||
| 
						 | 
					12502c2673 | ||
| 
						 | 
					5d2f45803b | ||
| 
						 | 
					3c21c70b64 | ||
| 
						 | 
					9e6115f322 | ||
| 
						 | 
					cead508eae | ||
| 
						 | 
					26d85d02fb | ||
| 
						 | 
					afa9757a0e | ||
| 
						 | 
					80855eabe2 | ||
| 
						 | 
					3558c4d5c3 | ||
| 
						 | 
					1870a03538 | ||
| 
						 | 
					214e1decbd | ||
| 
						 | 
					3c173b95b4 | ||
| 
						 | 
					2083db6c34 | ||
| 
						 | 
					a7cf016d67 | ||
| 
						 | 
					ec7922c6bd | ||
| 
						 | 
					c2104f2f0b | ||
| 
						 | 
					47776e8f21 | ||
| 
						 | 
					88cd202147 | ||
| 
						 | 
					6226594f04 | ||
| 
						 | 
					580558333e | ||
| 
						 | 
					702e3775c3 | ||
| 
						 | 
					a597640830 | ||
| 
						 | 
					a956784797 | ||
| 
						 | 
					e71023b362 | ||
| 
						 | 
					89f9c1d43a | ||
| 
						 | 
					29adf02352 | ||
| 
						 | 
					35030c878b | ||
| 
						 | 
					9b916ee402 | ||
| 
						 | 
					23ca9669ae | ||
| 
						 | 
					d66ae501f9 | ||
| 
						 | 
					ccb10a7b33 | ||
| 
						 | 
					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 | 
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										4
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								MAINTAINERS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
Benoît Dejean
 | 
			
		||||
E-mail: benoit@placenet.org
 | 
			
		||||
Userid: bdejean
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										35
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
 | 
			
		||||
if EXAMPLES
 | 
			
		||||
EXAMPLES_DIR = examples
 | 
			
		||||
else
 | 
			
		||||
EXAMPLES_DIR = 
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
 | 
			
		||||
 | 
			
		||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
 | 
			
		||||
libgtopincludedir = $(includedir)/libgtop-2.0
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
 | 
			
		||||
	 features.def libgtopconfig.h.in \
 | 
			
		||||
	libgtop-sysdeps.m4 README \
 | 
			
		||||
	 libgtop-2.0.pc.in acinclude.m4 \
 | 
			
		||||
	intltool-extract.in \
 | 
			
		||||
	intltool-merge.in \
 | 
			
		||||
	intltool-update.in
 | 
			
		||||
 | 
			
		||||
DISTCLEANFILES = \
 | 
			
		||||
	intltool-extract \
 | 
			
		||||
	intltool-merge \
 | 
			
		||||
	intltool-update
 | 
			
		||||
 | 
			
		||||
dist-hook:
 | 
			
		||||
	cp libgtop.spec $(distdir)
 | 
			
		||||
 | 
			
		||||
pkgconfigdir = $(libdir)/pkgconfig
 | 
			
		||||
pkgconfig_DATA = libgtop-2.0.pc
 | 
			
		||||
 | 
			
		||||
libgtop-features.def: features.def
 | 
			
		||||
	@LN_S@ $< $@
 | 
			
		||||
 | 
			
		||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
 | 
			
		||||
							
								
								
									
										391
									
								
								NEWS
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										391
									
								
								NEWS
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,391 @@
 | 
			
		||||
23 June 2008: Overview of changes in 2.23.4
 | 
			
		||||
===========================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
 | 
			
		||||
    Closes #539360.
 | 
			
		||||
 | 
			
		||||
24 May 2008: Overview of changes in 2.23.2
 | 
			
		||||
==========================================
 | 
			
		||||
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
 | 
			
		||||
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
 | 
			
		||||
 | 
			
		||||
(Let's hope one day i'll find the gtk-doc documentation ...)
 | 
			
		||||
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed parsing of big /proc/stat for uptime.
 | 
			
		||||
 | 
			
		||||
04 April 2008: Overview of changes in 2.22.1
 | 
			
		||||
============================================
 | 
			
		||||
* Fixed compilation/dist for !linux.
 | 
			
		||||
  Closes #525953.
 | 
			
		||||
 | 
			
		||||
10 Mars 2008: Overview of changes in 2.22.0
 | 
			
		||||
===========================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed proc_kernel.
 | 
			
		||||
 
 | 
			
		||||
25 February 2008: Overview of changes in 2.21.92
 | 
			
		||||
================================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed smaps parsing on >= 2.6.24.x.
 | 
			
		||||
 | 
			
		||||
14 January 2008: Overview of changes in 2.21.5
 | 
			
		||||
==============================================
 | 
			
		||||
* freebsd:
 | 
			
		||||
  - fixed build on GNU/kfreebsd. Petr Salinger.
 | 
			
		||||
  - fixed procmem units. Kuang-che Wu.
 | 
			
		||||
 | 
			
		||||
28 October 2007: Overview of changes in 2.21.1
 | 
			
		||||
==============================================
 | 
			
		||||
* don't export _p/_s private symbols anymore. This is not an API/ABI breakage.
 | 
			
		||||
* darwin implementation by Benjamin Reed.
 | 
			
		||||
* linux:
 | 
			
		||||
  - splitted fsusage and mountlist implementations;
 | 
			
		||||
  - smarter mountlist(allfs = False);
 | 
			
		||||
  - fixed some compile warning on 64bit;
 | 
			
		||||
* solaris:
 | 
			
		||||
  - fixed netload build by Henry Zhang.
 | 
			
		||||
 | 
			
		||||
16 September 2007: Overview of changes in 2.20.0
 | 
			
		||||
================================================
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
27 August 2007: Overview of changes in 2.19.92
 | 
			
		||||
==============================================
 | 
			
		||||
* Fixed stupid hardwired path in linux/sysinfo.c
 | 
			
		||||
 | 
			
		||||
26 August 2007: Overview of changes in 2.19.91
 | 
			
		||||
==============================================
 | 
			
		||||
* Translations updates.
 | 
			
		||||
* linux:
 | 
			
		||||
  - Small internal improvement. Might fix sysinfo when having more than
 | 
			
		||||
  8 CPUS.
 | 
			
		||||
 | 
			
		||||
9 July 2007: Overview of changes in 2.19.5
 | 
			
		||||
==========================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed proc_map for >= 2.6.22
 | 
			
		||||
* freebsd:
 | 
			
		||||
  - implemented procwd and procopenfiles
 | 
			
		||||
    Joe Marcus Clarke
 | 
			
		||||
 | 
			
		||||
18 June 2007: Overview of changes in 2.19.4
 | 
			
		||||
===========================================
 | 
			
		||||
* solaris:
 | 
			
		||||
  - fixed build. Damien Carbery.
 | 
			
		||||
 | 
			
		||||
3 June 2007: Overview of changes in 2.19.3
 | 
			
		||||
==========================================
 | 
			
		||||
* Small API change. get_proclist returns pid_t instead of unsigned
 | 
			
		||||
  for consistency.
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed an typo bug in open_files.
 | 
			
		||||
  - got rid of useless glibtop_init_s calls.
 | 
			
		||||
* Enable example build by defaut.
 | 
			
		||||
* Dropped G_GNUC_INTERNAL attributes no longer needed.
 | 
			
		||||
  This will please people trying to implement G_GNUC macro with a non
 | 
			
		||||
  GNU Compiler.
 | 
			
		||||
 | 
			
		||||
13 May 2007: Overview of changes in 2.19.2
 | 
			
		||||
==========================================
 | 
			
		||||
* This is the first release of the 2.19.x series.
 | 
			
		||||
* Got rid of inodedb (you don't even know what it is ;)
 | 
			
		||||
* New unstable API glibtop_get_proc_wd to get working directories of
 | 
			
		||||
  a process.
 | 
			
		||||
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
 | 
			
		||||
 | 
			
		||||
25 February 2007: Overview of changes in 2.14.8
 | 
			
		||||
===============================================
 | 
			
		||||
* bsd implementations have been splitted by Joe Marcus Clarke
 | 
			
		||||
  and Alexander Nedotsukov. (k)freeBSD now has a separate implementation.
 | 
			
		||||
 | 
			
		||||
February 10, 2007: Overview of changes in 2.14.7
 | 
			
		||||
================================================
 | 
			
		||||
* bsd:
 | 
			
		||||
  - massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger.
 | 
			
		||||
* mountlist can now ignore objfs and ctfs filesystems.
 | 
			
		||||
* fsusage won't return bavail > bfree anymore.
 | 
			
		||||
 | 
			
		||||
January 14, 2007: Overview of changes in 2.14.6
 | 
			
		||||
===============================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed stack overflow in glibtop_get_proc_map
 | 
			
		||||
  - fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files.
 | 
			
		||||
  - micro-optimization
 | 
			
		||||
 | 
			
		||||
December 3, 2006: Overview of changes in 2.14.5
 | 
			
		||||
===============================================
 | 
			
		||||
* Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>).
 | 
			
		||||
* Added solaris glibtop_get_proc_open_files (Henry Zhang <hua.zhang@sun.com>).
 | 
			
		||||
* Migrated to gtk-doc (Germán Poó-Caamaño <gpoo@ubiobio.cl>).
 | 
			
		||||
* glibtop_get_mountlist can now ignore nsfd FS. 
 | 
			
		||||
 | 
			
		||||
September 16, 2006: Overview of changes in 2.14.4
 | 
			
		||||
=================================================
 | 
			
		||||
* Fixed linux maps/smaps parsing on 64bit kernel.
 | 
			
		||||
 | 
			
		||||
September 5, 2006: Overview of changes in 2.14.3
 | 
			
		||||
================================================
 | 
			
		||||
* Fixed build with --as-needed.
 | 
			
		||||
* Added missing G_BEGIN_DECLS/G_END_DECLS.
 | 
			
		||||
 | 
			
		||||
July 27, 2006: Overview of changes in 2.14.2
 | 
			
		||||
============================================
 | 
			
		||||
* Updated solaris support (hua.zhang@sun.com)
 | 
			
		||||
* Small linux updates and improvments.
 | 
			
		||||
 | 
			
		||||
April 10, 2006: Overview of changes in 2.14.1
 | 
			
		||||
=============================================
 | 
			
		||||
* Updated translations.
 | 
			
		||||
* Fixed NetBSD port (Julio M. Merino Vidal  <jmmv@NetBSD.org>).
 | 
			
		||||
* Fixed some warnings.
 | 
			
		||||
 | 
			
		||||
Mars 13, 2006: Overview of changes in 2.14.0
 | 
			
		||||
============================================
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
February 27, 2006: Overview of changes in 2.13.92
 | 
			
		||||
=================================================
 | 
			
		||||
* Fixed proc_state documentation.
 | 
			
		||||
* Updated mountlist ignore list.
 | 
			
		||||
 | 
			
		||||
January 23, 2006: Overview of changes in 2.13.3
 | 
			
		||||
===============================================
 | 
			
		||||
* linux:
 | 
			
		||||
	- fixe get_procmap for linux < 2.6.14.
 | 
			
		||||
 | 
			
		||||
January 2, 2006: Overview of changes in 2.13.2
 | 
			
		||||
==============================================
 | 
			
		||||
* Fixed libtool versioning (James Henstridge)
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										395
									
								
								configure.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										395
									
								
								configure.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,395 @@
 | 
			
		||||
dnl
 | 
			
		||||
dnl Configure script for the Gnome library
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
m4_define([libgtop_major_version], [2])
 | 
			
		||||
m4_define([libgtop_minor_version], [23])
 | 
			
		||||
m4_define([libgtop_micro_version], [4])
 | 
			
		||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
 | 
			
		||||
 | 
			
		||||
dnl  increment if the interface has additions, changes, removals.
 | 
			
		||||
m4_define([libgtop_current], [9])
 | 
			
		||||
 | 
			
		||||
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], [2])
 | 
			
		||||
 | 
			
		||||
# 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_PREREQ(2.59)
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
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(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
 | 
			
		||||
    case $host_os in
 | 
			
		||||
    solaris[[8-9]] | solaris2.[[0-9]].*)
 | 
			
		||||
    AC_CHECK_LIB(kvm, kvm_open,[
 | 
			
		||||
      LIBS="-lkvm $LIBS"
 | 
			
		||||
    ],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
 | 
			
		||||
       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
 | 
			
		||||
     ;;
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
IT_PROG_INTLTOOL([0.35.0])
 | 
			
		||||
 | 
			
		||||
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,
 | 
			
		||||
              AS_HELP_STRING([--enable-debug],
 | 
			
		||||
                             [Turn on debugging @<:@default=no@:>@]),
 | 
			
		||||
              AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
 | 
			
		||||
AC_ARG_ENABLE(fatal-warnings,
 | 
			
		||||
              AS_HELP_STRING([--enable-fatal-warnings],
 | 
			
		||||
                             [Make all warnings fatal @<:@debug=no@:>@]),
 | 
			
		||||
              AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1,
 | 
			
		||||
                        [Define to enable fatal warnings]))
 | 
			
		||||
 | 
			
		||||
dnl These definitions are expanded in make.
 | 
			
		||||
LIBGTOP_LIBS='-L$(libdir)'
 | 
			
		||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
 | 
			
		||||
 | 
			
		||||
if test x$libgtop_use_machine_h = xyes ; then
 | 
			
		||||
  LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test x$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 \
 | 
			
		||||
	$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)
 | 
			
		||||
 | 
			
		||||
GTK_DOC_CHECK(1.4)
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
sysdeps/bsd/Makefile
 | 
			
		||||
sysdeps/darwin/Makefile
 | 
			
		||||
src/Makefile
 | 
			
		||||
src/daemon/Makefile
 | 
			
		||||
lib/Makefile
 | 
			
		||||
examples/Makefile
 | 
			
		||||
doc/Makefile
 | 
			
		||||
doc/reference/Makefile
 | 
			
		||||
doc/reference/version.xml
 | 
			
		||||
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/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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1,3 +1,55 @@
 | 
			
		||||
2007-02-15  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* reference/Makefile.am:
 | 
			
		||||
	
 | 
			
		||||
	Fixed distcheck.
 | 
			
		||||
 | 
			
		||||
2006-02-21  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Fixed glibtop_get_proc_state doc.
 | 
			
		||||
	Patch by Emil Nowak <emil5@go2.pl>.
 | 
			
		||||
 | 
			
		||||
2005-01-03  Benoît Dejean  <TazForEver@dlfp.org>
 | 
			
		||||
 | 
			
		||||
	* reference.texi: Updated.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								doc/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
SUBDIRS = reference
 | 
			
		||||
 | 
			
		||||
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
											
										
									
								
							
							
								
								
									
										59
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
AUTOMAKE_OPTIONS = 1.6
 | 
			
		||||
## Process this file with automake to produce Makefile.in
 | 
			
		||||
# The name of the module, e.g. 'glib'.
 | 
			
		||||
DOC_MODULE=libgtop
 | 
			
		||||
 | 
			
		||||
# The top-level SGML file. You can change this if you want to.
 | 
			
		||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
 | 
			
		||||
 | 
			
		||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
 | 
			
		||||
# SCANGOBJ_OPTIONS=
 | 
			
		||||
 | 
			
		||||
# Extra options to supply to gtkdoc-scan.
 | 
			
		||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" 
 | 
			
		||||
SCAN_OPTIONS=
 | 
			
		||||
 | 
			
		||||
# Extra options to supply to gtkdoc-mkdb.
 | 
			
		||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
 | 
			
		||||
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common
 | 
			
		||||
 | 
			
		||||
# The directory containing the source code. Relative to $(srcdir).
 | 
			
		||||
# gtk-doc will search all .c & .h files beneath here for inline comments
 | 
			
		||||
# documenting the functions and macros.
 | 
			
		||||
# e.g. DOC_SOURCE_DIR=../../../gtk
 | 
			
		||||
DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop
 | 
			
		||||
 | 
			
		||||
# Used for dependencies. The docs will be rebuilt if any of these change.
 | 
			
		||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
 | 
			
		||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
 | 
			
		||||
HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h
 | 
			
		||||
CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c
 | 
			
		||||
 | 
			
		||||
# Header files to ignore when scanning.
 | 
			
		||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
 | 
			
		||||
IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
 | 
			
		||||
 | 
			
		||||
EXTRA_HFILES=$(top_srcdir)/glibtop.h
 | 
			
		||||
 | 
			
		||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
 | 
			
		||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
 | 
			
		||||
content_files=version.xml
 | 
			
		||||
 | 
			
		||||
# Images to copy into HTML directory.
 | 
			
		||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 | 
			
		||||
HTML_IMAGES=
 | 
			
		||||
 | 
			
		||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
 | 
			
		||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
 | 
			
		||||
# signals and properties.
 | 
			
		||||
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 | 
			
		||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
 | 
			
		||||
INCLUDES=
 | 
			
		||||
GTKDOC_LIBS=
 | 
			
		||||
 | 
			
		||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
 | 
			
		||||
include $(top_srcdir)/gtk-doc.make
 | 
			
		||||
 | 
			
		||||
# Other files to distribute
 | 
			
		||||
# e.g. EXTRA_DIST += version.xml.in
 | 
			
		||||
EXTRA_DIST += version.xml.in
 | 
			
		||||
							
								
								
									
										206
									
								
								doc/reference/libgtop-docs.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								doc/reference/libgtop-docs.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,206 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
 | 
			
		||||
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
 | 
			
		||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
 | 
			
		||||
  <bookinfo>
 | 
			
		||||
    <title>Libgtop Reference Manual</title>
 | 
			
		||||
    <releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo>
 | 
			
		||||
    <authorgroup>
 | 
			
		||||
      <author>
 | 
			
		||||
	<firstname>Martin </firstname>
 | 
			
		||||
	<surname>Baulig</surname>
 | 
			
		||||
	<affiliation>
 | 
			
		||||
	  <address>
 | 
			
		||||
	    <email>martin@home-of-linux.org</email>
 | 
			
		||||
	  </address>
 | 
			
		||||
	</affiliation>
 | 
			
		||||
      </author>
 | 
			
		||||
      <author>
 | 
			
		||||
	<firstname>Germán</firstname>
 | 
			
		||||
	<surname>Poó-Caamaño</surname>
 | 
			
		||||
	<affiliation>
 | 
			
		||||
	  <address>
 | 
			
		||||
	    <email>gpoo@ubiobio.cl</email>
 | 
			
		||||
	  </address>
 | 
			
		||||
	</affiliation>
 | 
			
		||||
      </author>
 | 
			
		||||
    </authorgroup>
 | 
			
		||||
 | 
			
		||||
    <legalnotice>
 | 
			
		||||
      <para>Permission is granted to copy, distribute and/or modify
 | 
			
		||||
      this document under the terms of the <citetitle>GNU Free
 | 
			
		||||
      Documentation License</citetitle>, Version 1.1 or any later
 | 
			
		||||
      version published by the Free Software Foundation with no
 | 
			
		||||
      Invariant Sections, no Front-Cover Texts, and no Back-Cover
 | 
			
		||||
      Texts. You may obtain a copy of the <citetitle>GNU Free
 | 
			
		||||
      Documentation License</citetitle> from the Free Software
 | 
			
		||||
      Foundation by visiting <ulink type="http"
 | 
			
		||||
      url="http://www.fsf.org">their Web site</ulink> or by writing
 | 
			
		||||
      to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
      Boston, MA 02111-1307, USA.</para>
 | 
			
		||||
 | 
			
		||||
      <para>Many of the names used by companies to distinguish their
 | 
			
		||||
      products and services are claimed as trademarks. Where those
 | 
			
		||||
      names appear in any GNOME documentation, and those trademarks
 | 
			
		||||
      are made aware to the members of the GNOME Documentation
 | 
			
		||||
      Project, the names have been printed in caps or initial
 | 
			
		||||
      caps.</para>
 | 
			
		||||
    </legalnotice>
 | 
			
		||||
 | 
			
		||||
    <abstract>
 | 
			
		||||
      <para>
 | 
			
		||||
      LibGTop is a library to get system specific data such as CPU and 
 | 
			
		||||
      Memory Usage and information about running Processes.</para>
 | 
			
		||||
 | 
			
		||||
      <para>On Systems like Solaris or Digital Unix where you need special
 | 
			
		||||
      privileges to get those data, it uses a setuid/setgid server to do 
 | 
			
		||||
      so.</para>
 | 
			
		||||
 | 
			
		||||
      <para>Even if LibGTop is a part of the GNOME desktop environment
 | 
			
		||||
      (@uref{http://www.gnome.org}), the main interface of LibGTop is totally
 | 
			
		||||
      independent from any particular desktop environment, so you can also
 | 
			
		||||
      use it as a standalone library in any piece of GPLed software.</para>
 | 
			
		||||
 | 
			
		||||
      <para>This manual documents the interfaces of the libgtop
 | 
			
		||||
      library and has some short notes to help get you up to speed
 | 
			
		||||
      with using the library.</para>
 | 
			
		||||
    </abstract>
 | 
			
		||||
  </bookinfo>
 | 
			
		||||
 | 
			
		||||
  <!--FIXME: It is missing the rest of about.texi -->
 | 
			
		||||
 | 
			
		||||
  <chapter id="libgtop-white-paper">
 | 
			
		||||
    <title>White paper</title>
 | 
			
		||||
 | 
			
		||||
    <sect1 id="libgtop-white-paper-introduction">
 | 
			
		||||
      <title>Introduction</title>
 | 
			
		||||
      <para>Many modern UNIX systems like Solaris, BSD or Digitial Unix 
 | 
			
		||||
      only allow priviledged processes to read information like CPU and 
 | 
			
		||||
      Memory Usage or information about running processes.</para>
 | 
			
		||||
 | 
			
		||||
      <itemizedlist>
 | 
			
		||||
      <listitem><para>
 | 
			
		||||
      BSD, for instance, doesn't have any other way to get those data than reading
 | 
			
		||||
      directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
 | 
			
		||||
      be able to read this.</para></listitem>
 | 
			
		||||
 | 
			
		||||
      <listitem><para>
 | 
			
		||||
      Other systems, like Digital Unix, allow all users to get things like CPU and
 | 
			
		||||
      Memory statistics, but only root may read information about any process other
 | 
			
		||||
      than the current one (you may not even get information about your own processes
 | 
			
		||||
      if you're not root).</para></listitem>
 | 
			
		||||
 | 
			
		||||
      <listitem><para>
 | 
			
		||||
      Linux has a very nice @file{/proc} filesystem, but reading and parsing
 | 
			
		||||
      @file{/proc} is very slow and inefficient.</para></listitem>
 | 
			
		||||
 | 
			
		||||
      <listitem><para>
 | 
			
		||||
      Solaris is a bit better, but you still need to be in the @code{sys} group or
 | 
			
		||||
      even root to get some data.</para></listitem>
 | 
			
		||||
      </itemizedlist>
 | 
			
		||||
 | 
			
		||||
      <para>
 | 
			
		||||
      Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
 | 
			
		||||
      often are setgid kmem or setuid root. Usually, they're also very specific to
 | 
			
		||||
      the system they're written for and not easily portable to other systems without
 | 
			
		||||
      a lot of work.</para>
 | 
			
		||||
 | 
			
		||||
      <para>
 | 
			
		||||
      This, of cause, becomes a problem for graphical tools like @code{gtop} - making
 | 
			
		||||
      a GTK+ program setgid or even setuid would be a security hole as big as you can
 | 
			
		||||
      drive the entire X11 source code through. For the GNOME project, we also needed
 | 
			
		||||
      some kind of library which provides all the required information in a portable
 | 
			
		||||
      since there's more than just one single program that wants to use them - for
 | 
			
		||||
      instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
 | 
			
		||||
      @code{netload} panel applets.</para>
 | 
			
		||||
 | 
			
		||||
    </sect1>
 | 
			
		||||
 | 
			
		||||
    <sect1 id="libgtop-white-paper-overview">
 | 
			
		||||
      <title>Overview</title>
 | 
			
		||||
      <para>This section should give you a short overview on how LibGTop
 | 
			
		||||
      was developed, which things needed to be considered and how it 
 | 
			
		||||
      works.</para>
 | 
			
		||||
 | 
			
		||||
      <sect2 id="libgtop-white-paper-overview-design">
 | 
			
		||||
      <title>Interface Design: Things that need to be considered</title>
 | 
			
		||||
      <para>
 | 
			
		||||
At the very beginning, it was necessary to collect all the data the library part
 | 
			
		||||
should provide and put them into some C structures. This was not that easiy as it
 | 
			
		||||
might sound since LibGTop should be portable to any modern UNIX system with a common
 | 
			
		||||
library part on all those systems, but the data that should be returned vary from
 | 
			
		||||
system to system. For instance some systems support shared memory, but some others
 | 
			
		||||
may not.</para>
 | 
			
		||||
 | 
			
		||||
      <para>
 | 
			
		||||
The header files where we define these C structures (which are system-independent) are
 | 
			
		||||
shared between client and server. This way we can call the system dependent code
 | 
			
		||||
directly where we do not need any special privileges to do so.</para>
 | 
			
		||||
 | 
			
		||||
      <para>
 | 
			
		||||
All of those structures contain a @code{flags} member which is interpreted as a bit
 | 
			
		||||
mask and tells the caller of the library functions which of the fields in the returned
 | 
			
		||||
structure are valid and which are not.</para>
 | 
			
		||||
      </sect2>
 | 
			
		||||
 | 
			
		||||
      <sect2 id="libgtop-white-paper-overview-server">
 | 
			
		||||
      <title>Server Implementation: The LibGTop "server"</title>
 | 
			
		||||
      <para>
 | 
			
		||||
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
 | 
			
		||||
dependent code which needs special privileges. It is only build if it's required
 | 
			
		||||
on the current system (for instance, the Linux kernel provides all the required
 | 
			
		||||
data via its @file{/proc} filesystem so we do not need the server at all) and it
 | 
			
		||||
only contains the @dfn{features} which need privileges.</para>
 | 
			
		||||
 | 
			
		||||
      <para>
 | 
			
		||||
Whenever we do not need any privileges to get all the data for some of the requested
 | 
			
		||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
 | 
			
		||||
rather than using the server.</para>
 | 
			
		||||
      </sect2>
 | 
			
		||||
    </sect1>
 | 
			
		||||
 | 
			
		||||
  </chapter>
 | 
			
		||||
 | 
			
		||||
  <chapter id="libgtop-lib">
 | 
			
		||||
    <title>Libgtop Library Reference</title>
 | 
			
		||||
 | 
			
		||||
    <para>This section contains the API reference for libgtop.  All
 | 
			
		||||
    the public interfaces are documented here.</para>
 | 
			
		||||
 | 
			
		||||
    <xi:include href="xml/glibtop.xml"/>
 | 
			
		||||
    <xi:include href="xml/close.xml"/>
 | 
			
		||||
    <xi:include href="xml/command.xml"/>
 | 
			
		||||
    <xi:include href="xml/glibtop-server.xml"/>
 | 
			
		||||
    <xi:include href="xml/netload.xml"/>
 | 
			
		||||
    <xi:include href="xml/ppp.xml"/>
 | 
			
		||||
    <xi:include href="xml/shm_limits.xml"/>
 | 
			
		||||
    <xi:include href="xml/uptime.xml"/>
 | 
			
		||||
    <xi:include href="xml/netlist.xml"/>
 | 
			
		||||
    <xi:include href="xml/open.xml"/>
 | 
			
		||||
    <xi:include href="xml/parameter.xml"/>
 | 
			
		||||
    <xi:include href="xml/procargs.xml"/>
 | 
			
		||||
    <xi:include href="xml/procmem.xml"/>
 | 
			
		||||
    <xi:include href="xml/procopenfiles.xml"/>
 | 
			
		||||
    <xi:include href="xml/procsegment.xml"/>
 | 
			
		||||
    <xi:include href="xml/procsignal.xml"/>
 | 
			
		||||
    <xi:include href="xml/sysdeps.xml"/>
 | 
			
		||||
    <xi:include href="xml/procstate.xml"/>
 | 
			
		||||
    <xi:include href="xml/procuid.xml"/>
 | 
			
		||||
    <xi:include href="xml/proctime.xml"/>
 | 
			
		||||
    <xi:include href="xml/signal.xml"/>
 | 
			
		||||
    <xi:include href="xml/procmap.xml"/>
 | 
			
		||||
    <xi:include href="xml/sysinfo.xml"/>
 | 
			
		||||
    <xi:include href="xml/union.xml"/>
 | 
			
		||||
    <xi:include href="xml/version.xml"/>
 | 
			
		||||
    <xi:include href="xml/proclist.xml"/>
 | 
			
		||||
    <xi:include href="xml/sem_limits.xml"/>
 | 
			
		||||
    <xi:include href="xml/prockernel.xml"/>
 | 
			
		||||
    <xi:include href="xml/fsusage.xml"/>
 | 
			
		||||
    <xi:include href="xml/loadavg.xml"/>
 | 
			
		||||
    <xi:include href="xml/mem.xml"/>
 | 
			
		||||
    <xi:include href="xml/mountlist.xml"/>
 | 
			
		||||
    <xi:include href="xml/msg_limits.xml"/>
 | 
			
		||||
    <xi:include href="xml/cpu.xml"/>
 | 
			
		||||
    <xi:include href="xml/swap.xml"/>
 | 
			
		||||
  </chapter>
 | 
			
		||||
</book>
 | 
			
		||||
							
								
								
									
										0
									
								
								doc/reference/libgtop-overrides.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								doc/reference/libgtop-overrides.txt
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										736
									
								
								doc/reference/libgtop-sections.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										736
									
								
								doc/reference/libgtop-sections.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,736 @@
 | 
			
		||||
<INCLUDE>glibtop.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>glibtop</FILE>
 | 
			
		||||
<TITLE>GlibTop</TITLE>
 | 
			
		||||
GLIBTOP_MOUNTENTRY_LEN
 | 
			
		||||
LIBGTOP_CHECK_VERSION
 | 
			
		||||
glibtop
 | 
			
		||||
glibtop_global_server
 | 
			
		||||
glibtop_init
 | 
			
		||||
glibtop_init_r
 | 
			
		||||
glibtop_init_s
 | 
			
		||||
glibtop_server_features
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/close.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>close</FILE>
 | 
			
		||||
<TITLE>Close</TITLE>
 | 
			
		||||
glibtop_close
 | 
			
		||||
glibtop_close_r
 | 
			
		||||
glibtop_close_s
 | 
			
		||||
glibtop_close_p
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/command.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>command</FILE>
 | 
			
		||||
<TITLE>Command</TITLE>
 | 
			
		||||
GLIBTOP_CMND_QUIT
 | 
			
		||||
GLIBTOP_CMND_SYSDEPS
 | 
			
		||||
GLIBTOP_CMND_CPU
 | 
			
		||||
GLIBTOP_CMND_MEM
 | 
			
		||||
GLIBTOP_CMND_SWAP
 | 
			
		||||
GLIBTOP_CMND_UPTIME
 | 
			
		||||
GLIBTOP_CMND_LOADAVG
 | 
			
		||||
GLIBTOP_CMND_SHM_LIMITS
 | 
			
		||||
GLIBTOP_CMND_MSG_LIMITS
 | 
			
		||||
GLIBTOP_CMND_SEM_LIMITS
 | 
			
		||||
GLIBTOP_CMND_PROCLIST
 | 
			
		||||
GLIBTOP_CMND_PROC_STATE
 | 
			
		||||
GLIBTOP_CMND_PROC_UID
 | 
			
		||||
GLIBTOP_CMND_PROC_MEM
 | 
			
		||||
GLIBTOP_CMND_PROC_TIME
 | 
			
		||||
GLIBTOP_CMND_PROC_SIGNAL
 | 
			
		||||
GLIBTOP_CMND_PROC_KERNEL
 | 
			
		||||
GLIBTOP_CMND_PROC_SEGMENT
 | 
			
		||||
GLIBTOP_CMND_PROC_ARGS
 | 
			
		||||
GLIBTOP_CMND_PROC_MAP
 | 
			
		||||
GLIBTOP_CMND_MOUNTLIST
 | 
			
		||||
GLIBTOP_CMND_FSUSAGE
 | 
			
		||||
GLIBTOP_CMND_NETLOAD
 | 
			
		||||
GLIBTOP_CMND_PPP
 | 
			
		||||
GLIBTOP_CMND_NETLIST
 | 
			
		||||
GLIBTOP_CMND_PROC_OPEN_FILES
 | 
			
		||||
GLIBTOP_MAX_CMND
 | 
			
		||||
glibtop_command
 | 
			
		||||
glibtop_response
 | 
			
		||||
glibtop_response_union
 | 
			
		||||
glibtop_call
 | 
			
		||||
glibtop_call_l
 | 
			
		||||
glibtop_call_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/glibtop-server.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>glibtop-server</FILE>
 | 
			
		||||
<TITLE>GlibTop Server</TITLE>
 | 
			
		||||
glibtop_server
 | 
			
		||||
glibtop_server_info
 | 
			
		||||
glibtop_closure
 | 
			
		||||
glibtop_server_new
 | 
			
		||||
glibtop_server_ref
 | 
			
		||||
glibtop_server_unref
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/netload.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>netload</FILE>
 | 
			
		||||
<TITLE>Net Load</TITLE>
 | 
			
		||||
GLIBTOP_NETLOAD_IF_FLAGS
 | 
			
		||||
GLIBTOP_NETLOAD_MTU
 | 
			
		||||
GLIBTOP_NETLOAD_SUBNET
 | 
			
		||||
GLIBTOP_NETLOAD_ADDRESS
 | 
			
		||||
GLIBTOP_NETLOAD_PACKETS_IN
 | 
			
		||||
GLIBTOP_NETLOAD_PACKETS_OUT
 | 
			
		||||
GLIBTOP_NETLOAD_PACKETS_TOTAL
 | 
			
		||||
GLIBTOP_NETLOAD_BYTES_IN
 | 
			
		||||
GLIBTOP_NETLOAD_BYTES_OUT
 | 
			
		||||
GLIBTOP_NETLOAD_BYTES_TOTAL
 | 
			
		||||
GLIBTOP_NETLOAD_ERRORS_IN
 | 
			
		||||
GLIBTOP_NETLOAD_ERRORS_OUT
 | 
			
		||||
GLIBTOP_NETLOAD_ERRORS_TOTAL
 | 
			
		||||
GLIBTOP_NETLOAD_COLLISIONS
 | 
			
		||||
GLIBTOP_NETLOAD_ADDRESS6
 | 
			
		||||
GLIBTOP_NETLOAD_PREFIX6
 | 
			
		||||
GLIBTOP_NETLOAD_SCOPE6
 | 
			
		||||
GLIBTOP_NETLOAD_HWADDRESS
 | 
			
		||||
GLIBTOP_MAX_NETLOAD
 | 
			
		||||
glibtop_netload
 | 
			
		||||
glibtop_get_netload
 | 
			
		||||
glibtop_get_netload_r
 | 
			
		||||
glibtop_get_netload_l
 | 
			
		||||
glibtop_init_netload_p
 | 
			
		||||
glibtop_get_netload_p
 | 
			
		||||
glibtop_init_netload_s
 | 
			
		||||
glibtop_get_netload_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/ppp.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>ppp</FILE>
 | 
			
		||||
<TITLE>PPP</TITLE>
 | 
			
		||||
GLIBTOP_PPP_STATE
 | 
			
		||||
GLIBTOP_PPP_BYTES_IN
 | 
			
		||||
GLIBTOP_PPP_BYTES_OUT
 | 
			
		||||
GLIBTOP_MAX_PPP
 | 
			
		||||
glibtop_ppp
 | 
			
		||||
glibtop_get_ppp
 | 
			
		||||
glibtop_get_ppp_r
 | 
			
		||||
glibtop_get_ppp_l
 | 
			
		||||
glibtop_init_ppp_p
 | 
			
		||||
glibtop_get_ppp_p
 | 
			
		||||
glibtop_init_ppp_s
 | 
			
		||||
glibtop_get_ppp_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/shm_limits.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>shm_limits</FILE>
 | 
			
		||||
<TITLE>Shared Memory Limits</TITLE>
 | 
			
		||||
GLIBTOP_IPC_SHMMAX
 | 
			
		||||
GLIBTOP_IPC_SHMMIN
 | 
			
		||||
GLIBTOP_IPC_SHMMNI
 | 
			
		||||
GLIBTOP_IPC_SHMSEG
 | 
			
		||||
GLIBTOP_IPC_SHMALL
 | 
			
		||||
GLIBTOP_MAX_SHM_LIMITS
 | 
			
		||||
glibtop_shm_limits
 | 
			
		||||
glibtop_get_shm_limits
 | 
			
		||||
glibtop_get_shm_limits_r
 | 
			
		||||
glibtop_get_shm_limits_l
 | 
			
		||||
glibtop_init_shm_limits_p
 | 
			
		||||
glibtop_get_shm_limits_p
 | 
			
		||||
glibtop_init_shm_limits_s
 | 
			
		||||
glibtop_get_shm_limits_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/uptime.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>uptime</FILE>
 | 
			
		||||
<TITLE>Uptime</TITLE>
 | 
			
		||||
GLIBTOP_UPTIME_UPTIME
 | 
			
		||||
GLIBTOP_UPTIME_IDLETIME
 | 
			
		||||
GLIBTOP_UPTIME_BOOT_TIME
 | 
			
		||||
GLIBTOP_MAX_UPTIME
 | 
			
		||||
glibtop_uptime
 | 
			
		||||
glibtop_get_uptime
 | 
			
		||||
glibtop_get_uptime_r
 | 
			
		||||
glibtop_get_uptime_l
 | 
			
		||||
glibtop_init_uptime_p
 | 
			
		||||
glibtop_get_uptime_p
 | 
			
		||||
glibtop_init_uptime_s
 | 
			
		||||
glibtop_get_uptime_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/netlist.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>netlist</FILE>
 | 
			
		||||
<TITLE>Net List</TITLE>
 | 
			
		||||
GLIBTOP_NETLIST_NUMBER
 | 
			
		||||
GLIBTOP_MAX_NETLIST
 | 
			
		||||
glibtop_netlist
 | 
			
		||||
glibtop_get_netlist
 | 
			
		||||
glibtop_get_netlist_r
 | 
			
		||||
glibtop_get_netlist_l
 | 
			
		||||
glibtop_init_netlist_p
 | 
			
		||||
glibtop_get_netlist_p
 | 
			
		||||
glibtop_init_netlist_s
 | 
			
		||||
glibtop_get_netlist_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/open.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>open</FILE>
 | 
			
		||||
GLIBTOP_INIT_NO_OPEN
 | 
			
		||||
GLIBTOP_INIT_NO_INIT
 | 
			
		||||
GLIBTOP_FEATURES_NO_SERVER
 | 
			
		||||
GLIBTOP_FEATURES_EXCEPT
 | 
			
		||||
GLIBTOP_METHOD_DIRECT
 | 
			
		||||
GLIBTOP_METHOD_PIPE
 | 
			
		||||
GLIBTOP_METHOD_INET
 | 
			
		||||
GLIBTOP_METHOD_UNIX
 | 
			
		||||
GLIBTOP_ERROR_METHOD_IGNORE
 | 
			
		||||
GLIBTOP_ERROR_METHOD_WARN_ONCE
 | 
			
		||||
GLIBTOP_ERROR_METHOD_WARN
 | 
			
		||||
GLIBTOP_ERROR_METHOD_ABORT
 | 
			
		||||
GLIBTOP_ERROR_METHOD_DEFAULT
 | 
			
		||||
glibtop_open_l
 | 
			
		||||
glibtop_init_p
 | 
			
		||||
glibtop_open_p
 | 
			
		||||
glibtop_open_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/parameter.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>parameter</FILE>
 | 
			
		||||
GLIBTOP_PARAM_METHOD
 | 
			
		||||
GLIBTOP_PARAM_FEATURES
 | 
			
		||||
GLIBTOP_PARAM_COMMAND
 | 
			
		||||
GLIBTOP_PARAM_HOST
 | 
			
		||||
GLIBTOP_PARAM_PORT
 | 
			
		||||
GLIBTOP_PARAM_ERROR_METHOD
 | 
			
		||||
GLIBTOP_PARAM_REQUIRED
 | 
			
		||||
glibtop_get_parameter
 | 
			
		||||
glibtop_set_parameter
 | 
			
		||||
glibtop_get_parameter_l
 | 
			
		||||
glibtop_set_parameter_l
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procargs</FILE>
 | 
			
		||||
GLIBTOP_PROC_ARGS_SIZE
 | 
			
		||||
GLIBTOP_MAX_PROC_ARGS
 | 
			
		||||
glibtop_proc_args
 | 
			
		||||
glibtop_get_proc_args_l
 | 
			
		||||
glibtop_get_proc_args
 | 
			
		||||
glibtop_get_proc_args_r
 | 
			
		||||
glibtop_init_proc_args_p
 | 
			
		||||
glibtop_get_proc_args_p
 | 
			
		||||
glibtop_init_proc_args_s
 | 
			
		||||
glibtop_get_proc_args_s
 | 
			
		||||
glibtop_get_proc_argv_l
 | 
			
		||||
glibtop_get_proc_argv
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procmem.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procmem</FILE>
 | 
			
		||||
GLIBTOP_PROC_MEM_SIZE
 | 
			
		||||
GLIBTOP_PROC_MEM_VSIZE
 | 
			
		||||
GLIBTOP_PROC_MEM_RESIDENT
 | 
			
		||||
GLIBTOP_PROC_MEM_SHARE
 | 
			
		||||
GLIBTOP_PROC_MEM_RSS
 | 
			
		||||
GLIBTOP_PROC_MEM_RSS_RLIM
 | 
			
		||||
GLIBTOP_MAX_PROC_MEM
 | 
			
		||||
glibtop_proc_mem
 | 
			
		||||
glibtop_get_proc_mem
 | 
			
		||||
glibtop_get_proc_mem_r
 | 
			
		||||
glibtop_get_proc_mem_l
 | 
			
		||||
glibtop_init_proc_mem_p
 | 
			
		||||
glibtop_get_proc_mem_p
 | 
			
		||||
glibtop_init_proc_mem_s
 | 
			
		||||
glibtop_get_proc_mem_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procopenfiles.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procopenfiles</FILE>
 | 
			
		||||
GLIBTOP_PROC_OPEN_FILES_NUMBER
 | 
			
		||||
GLIBTOP_PROC_OPEN_FILES_TOTAL
 | 
			
		||||
GLIBTOP_PROC_OPEN_FILES_SIZE
 | 
			
		||||
GLIBTOP_MAX_PROC_OPEN_FILES
 | 
			
		||||
GLIBTOP_FILE_ENTRY_FD
 | 
			
		||||
GLIBTOP_FILE_ENTRY_NAME
 | 
			
		||||
GLIBTOP_FILE_ENTRY_TYPE
 | 
			
		||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST
 | 
			
		||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT
 | 
			
		||||
GLIBTOP_MAX_OPEN_FILE_ENTRY
 | 
			
		||||
GLIBTOP_OPEN_FILENAME_LEN
 | 
			
		||||
GLIBTOP_OPEN_DEST_HOST_LEN
 | 
			
		||||
glibtop_open_files_entry
 | 
			
		||||
glibtop_proc_open_files
 | 
			
		||||
glibtop_get_proc_open_files
 | 
			
		||||
glibtop_get_proc_open_files_r
 | 
			
		||||
glibtop_get_proc_open_files_l
 | 
			
		||||
glibtop_init_proc_open_files_p
 | 
			
		||||
glibtop_get_proc_open_files_p
 | 
			
		||||
glibtop_init_proc_open_files_s
 | 
			
		||||
glibtop_get_proc_open_files_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procsegment.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procsegment</FILE>
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_TEXT_RSS
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_SHLIB_RSS
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_DATA_RSS
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_STACK_RSS
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_DIRTY_SIZE
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_START_CODE
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_END_CODE
 | 
			
		||||
GLIBTOP_PROC_SEGMENT_START_STACK
 | 
			
		||||
GLIBTOP_MAX_PROC_SEGMENT
 | 
			
		||||
glibtop_proc_segment
 | 
			
		||||
glibtop_get_proc_segment
 | 
			
		||||
glibtop_get_proc_segment_r
 | 
			
		||||
glibtop_get_proc_segment_l
 | 
			
		||||
glibtop_init_proc_segment_p
 | 
			
		||||
glibtop_get_proc_segment_p
 | 
			
		||||
glibtop_init_proc_segment_s
 | 
			
		||||
glibtop_get_proc_segment_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procsignal.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procsignal</FILE>
 | 
			
		||||
GLIBTOP_PROC_SIGNAL_SIGNAL
 | 
			
		||||
GLIBTOP_PROC_SIGNAL_BLOCKED
 | 
			
		||||
GLIBTOP_PROC_SIGNAL_SIGIGNORE
 | 
			
		||||
GLIBTOP_PROC_SIGNAL_SIGCATCH
 | 
			
		||||
GLIBTOP_MAX_PROC_SIGNAL
 | 
			
		||||
glibtop_proc_signal
 | 
			
		||||
glibtop_get_proc_signal
 | 
			
		||||
glibtop_get_proc_signal_r
 | 
			
		||||
glibtop_get_proc_signal_l
 | 
			
		||||
glibtop_init_proc_signal_p
 | 
			
		||||
glibtop_get_proc_signal_p
 | 
			
		||||
glibtop_init_proc_signal_s
 | 
			
		||||
glibtop_get_proc_signal_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/sysdeps.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>sysdeps</FILE>
 | 
			
		||||
GLIBTOP_SYSDEPS_FEATURES
 | 
			
		||||
GLIBTOP_SYSDEPS_CPU
 | 
			
		||||
GLIBTOP_SYSDEPS_MEM
 | 
			
		||||
GLIBTOP_SYSDEPS_SWAP
 | 
			
		||||
GLIBTOP_SYSDEPS_UPTIME
 | 
			
		||||
GLIBTOP_SYSDEPS_LOADAVG
 | 
			
		||||
GLIBTOP_SYSDEPS_SHM_LIMITS
 | 
			
		||||
GLIBTOP_SYSDEPS_MSG_LIMITS
 | 
			
		||||
GLIBTOP_SYSDEPS_SEM_LIMITS
 | 
			
		||||
GLIBTOP_SYSDEPS_PROCLIST
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_STATE
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_UID
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_MEM
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_TIME
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_SIGNAL
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_KERNEL
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_SEGMENT
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_ARGS
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_MAP
 | 
			
		||||
GLIBTOP_SYSDEPS_MOUNTLIST
 | 
			
		||||
GLIBTOP_SYSDEPS_FSUSAGE
 | 
			
		||||
GLIBTOP_SYSDEPS_NETLOAD
 | 
			
		||||
GLIBTOP_SYSDEPS_PPP
 | 
			
		||||
GLIBTOP_SYSDEPS_NETLIST
 | 
			
		||||
GLIBTOP_SYSDEPS_PROC_OPEN_FILES
 | 
			
		||||
GLIBTOP_MAX_SYSDEPS
 | 
			
		||||
GLIBTOP_SYSDEPS_ALL
 | 
			
		||||
glibtop_sysdeps
 | 
			
		||||
glibtop_get_sysdeps
 | 
			
		||||
glibtop_get_sysdeps_r
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procstate.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procstate</FILE>
 | 
			
		||||
GLIBTOP_PROC_STATE_CMD
 | 
			
		||||
GLIBTOP_PROC_STATE_STATE
 | 
			
		||||
GLIBTOP_PROC_STATE_UID
 | 
			
		||||
GLIBTOP_PROC_STATE_GID
 | 
			
		||||
GLIBTOP_PROC_STATE_RUID
 | 
			
		||||
GLIBTOP_PROC_STATE_RGID
 | 
			
		||||
GLIBTOP_PROC_STATE_HAS_CPU
 | 
			
		||||
GLIBTOP_PROC_STATE_PROCESSOR
 | 
			
		||||
GLIBTOP_PROC_STATE_LAST_PROCESSOR
 | 
			
		||||
GLIBTOP_MAX_PROC_STATE
 | 
			
		||||
GLIBTOP_PROCESS_RUNNING
 | 
			
		||||
GLIBTOP_PROCESS_INTERRUPTIBLE
 | 
			
		||||
GLIBTOP_PROCESS_UNINTERRUPTIBLE
 | 
			
		||||
GLIBTOP_PROCESS_ZOMBIE
 | 
			
		||||
GLIBTOP_PROCESS_STOPPED
 | 
			
		||||
GLIBTOP_PROCESS_SWAPPING
 | 
			
		||||
GLIBTOP_PROCESS_DEAD
 | 
			
		||||
glibtop_proc_state
 | 
			
		||||
glibtop_get_proc_state
 | 
			
		||||
glibtop_get_proc_state_r
 | 
			
		||||
glibtop_get_proc_state_l
 | 
			
		||||
glibtop_init_proc_state_p
 | 
			
		||||
glibtop_get_proc_state_p
 | 
			
		||||
glibtop_init_proc_state_s
 | 
			
		||||
glibtop_get_proc_state_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procuid.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procuid</FILE>
 | 
			
		||||
GLIBTOP_PROC_UID_UID
 | 
			
		||||
GLIBTOP_PROC_UID_EUID
 | 
			
		||||
GLIBTOP_PROC_UID_GID
 | 
			
		||||
GLIBTOP_PROC_UID_EGID
 | 
			
		||||
GLIBTOP_PROC_UID_SUID
 | 
			
		||||
GLIBTOP_PROC_UID_SGID
 | 
			
		||||
GLIBTOP_PROC_UID_FSUID
 | 
			
		||||
GLIBTOP_PROC_UID_FSGID
 | 
			
		||||
GLIBTOP_PROC_UID_PID
 | 
			
		||||
GLIBTOP_PROC_UID_PPID
 | 
			
		||||
GLIBTOP_PROC_UID_PGRP
 | 
			
		||||
GLIBTOP_PROC_UID_SESSION
 | 
			
		||||
GLIBTOP_PROC_UID_TTY
 | 
			
		||||
GLIBTOP_PROC_UID_TPGID
 | 
			
		||||
GLIBTOP_PROC_UID_PRIORITY
 | 
			
		||||
GLIBTOP_PROC_UID_NICE
 | 
			
		||||
GLIBTOP_PROC_UID_NGROUPS
 | 
			
		||||
GLIBTOP_PROC_UID_GROUPS
 | 
			
		||||
GLIBTOP_MAX_PROC_UID
 | 
			
		||||
glibtop_proc_uid
 | 
			
		||||
GLIBTOP_MAX_GROUPS
 | 
			
		||||
glibtop_get_proc_uid
 | 
			
		||||
glibtop_get_proc_uid_r
 | 
			
		||||
glibtop_get_proc_uid_l
 | 
			
		||||
glibtop_init_proc_uid_p
 | 
			
		||||
glibtop_get_proc_uid_p
 | 
			
		||||
glibtop_init_proc_uid_s
 | 
			
		||||
glibtop_get_proc_uid_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>proctime</FILE>
 | 
			
		||||
GLIBTOP_PROC_TIME_START_TIME
 | 
			
		||||
GLIBTOP_PROC_TIME_RTIME
 | 
			
		||||
GLIBTOP_PROC_TIME_UTIME
 | 
			
		||||
GLIBTOP_PROC_TIME_STIME
 | 
			
		||||
GLIBTOP_PROC_TIME_CUTIME
 | 
			
		||||
GLIBTOP_PROC_TIME_CSTIME
 | 
			
		||||
GLIBTOP_PROC_TIME_TIMEOUT
 | 
			
		||||
GLIBTOP_PROC_TIME_IT_REAL_VALUE
 | 
			
		||||
GLIBTOP_PROC_TIME_FREQUENCY
 | 
			
		||||
GLIBTOP_PROC_TIME_XCPU_UTIME
 | 
			
		||||
GLIBTOP_PROC_TIME_XCPU_STIME
 | 
			
		||||
GLIBTOP_MAX_PROC_TIME
 | 
			
		||||
glibtop_proc_time
 | 
			
		||||
glibtop_get_proc_time
 | 
			
		||||
glibtop_get_proc_time_r
 | 
			
		||||
glibtop_get_proc_time_l
 | 
			
		||||
glibtop_init_proc_time_p
 | 
			
		||||
glibtop_get_proc_time_p
 | 
			
		||||
glibtop_init_proc_time_s
 | 
			
		||||
glibtop_get_proc_time_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/signal.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>signal</FILE>
 | 
			
		||||
glibtop_signame
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/procmap.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>procmap</FILE>
 | 
			
		||||
GLIBTOP_PROC_MAP_NUMBER
 | 
			
		||||
GLIBTOP_PROC_MAP_TOTAL
 | 
			
		||||
GLIBTOP_PROC_MAP_SIZE
 | 
			
		||||
GLIBTOP_MAX_PROC_MAP
 | 
			
		||||
GLIBTOP_MAP_ENTRY_START
 | 
			
		||||
GLIBTOP_MAP_ENTRY_END
 | 
			
		||||
GLIBTOP_MAP_ENTRY_OFFSET
 | 
			
		||||
GLIBTOP_MAP_ENTRY_PERM
 | 
			
		||||
GLIBTOP_MAP_ENTRY_INODE
 | 
			
		||||
GLIBTOP_MAP_ENTRY_DEVICE
 | 
			
		||||
GLIBTOP_MAP_ENTRY_FILENAME
 | 
			
		||||
GLIBTOP_MAP_ENTRY_SIZE
 | 
			
		||||
GLIBTOP_MAP_ENTRY_RSS
 | 
			
		||||
GLIBTOP_MAP_ENTRY_SHARED_CLEAN
 | 
			
		||||
GLIBTOP_MAP_ENTRY_SHARED_DIRTY
 | 
			
		||||
GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN
 | 
			
		||||
GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY
 | 
			
		||||
GLIBTOP_MAX_MAP_ENTRY
 | 
			
		||||
GLIBTOP_MAP_FILENAME_LEN
 | 
			
		||||
GLIBTOP_MAP_PERM_READ
 | 
			
		||||
GLIBTOP_MAP_PERM_WRITE
 | 
			
		||||
GLIBTOP_MAP_PERM_EXECUTE
 | 
			
		||||
GLIBTOP_MAP_PERM_SHARED
 | 
			
		||||
GLIBTOP_MAP_PERM_PRIVATE
 | 
			
		||||
glibtop_map_entry
 | 
			
		||||
glibtop_proc_map
 | 
			
		||||
glibtop_get_proc_map
 | 
			
		||||
glibtop_get_proc_map_r
 | 
			
		||||
glibtop_get_proc_map_l
 | 
			
		||||
glibtop_init_proc_map_p
 | 
			
		||||
glibtop_get_proc_map_p
 | 
			
		||||
glibtop_init_proc_map_s
 | 
			
		||||
glibtop_get_proc_map_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/sysinfo.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>sysinfo</FILE>
 | 
			
		||||
GLIBTOP_SYSINFO_NCPU
 | 
			
		||||
GLIBTOP_SYSINFO_CPUINFO
 | 
			
		||||
GLIBTOP_MAX_SYSINFO
 | 
			
		||||
glibtop_sysinfo
 | 
			
		||||
glibtop_entry
 | 
			
		||||
glibtop_get_sysinfo_r
 | 
			
		||||
glibtop_get_sysinfo_s
 | 
			
		||||
glibtop_get_sysinfo
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/union.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>union</FILE>
 | 
			
		||||
glibtop_union
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/version.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>version</FILE>
 | 
			
		||||
LIBGTOP_VERSION_STRING
 | 
			
		||||
glibtop_send_version
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>proclist</FILE>
 | 
			
		||||
GLIBTOP_PROCLIST_NUMBER
 | 
			
		||||
GLIBTOP_PROCLIST_TOTAL
 | 
			
		||||
GLIBTOP_PROCLIST_SIZE
 | 
			
		||||
GLIBTOP_MAX_PROCLIST
 | 
			
		||||
GLIBTOP_KERN_PROC_ALL
 | 
			
		||||
GLIBTOP_KERN_PROC_PID
 | 
			
		||||
GLIBTOP_KERN_PROC_PGRP
 | 
			
		||||
GLIBTOP_KERN_PROC_SESSION
 | 
			
		||||
GLIBTOP_KERN_PROC_TTY
 | 
			
		||||
GLIBTOP_KERN_PROC_UID
 | 
			
		||||
GLIBTOP_KERN_PROC_RUID
 | 
			
		||||
GLIBTOP_KERN_PROC_MASK
 | 
			
		||||
GLIBTOP_EXCLUDE_IDLE
 | 
			
		||||
GLIBTOP_EXCLUDE_SYSTEM
 | 
			
		||||
GLIBTOP_EXCLUDE_NOTTY
 | 
			
		||||
glibtop_proclist
 | 
			
		||||
glibtop_get_proclist
 | 
			
		||||
glibtop_get_proclist_r
 | 
			
		||||
glibtop_get_proclist_l
 | 
			
		||||
glibtop_init_proclist_p
 | 
			
		||||
glibtop_get_proclist_p
 | 
			
		||||
glibtop_init_proclist_s
 | 
			
		||||
glibtop_get_proclist_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>sem_limits</FILE>
 | 
			
		||||
GLIBTOP_IPC_SEMMAP
 | 
			
		||||
GLIBTOP_IPC_SEMMNI
 | 
			
		||||
GLIBTOP_IPC_SEMMNS
 | 
			
		||||
GLIBTOP_IPC_SEMMNU
 | 
			
		||||
GLIBTOP_IPC_SEMMSL
 | 
			
		||||
GLIBTOP_IPC_SEMOPM
 | 
			
		||||
GLIBTOP_IPC_SEMUME
 | 
			
		||||
GLIBTOP_IPC_SEMUSZ
 | 
			
		||||
GLIBTOP_IPC_SEMVMX
 | 
			
		||||
GLIBTOP_IPC_SEMAEM
 | 
			
		||||
GLIBTOP_MAX_SEM_LIMITS
 | 
			
		||||
glibtop_sem_limits
 | 
			
		||||
glibtop_get_sem_limits
 | 
			
		||||
glibtop_get_sem_limits_r
 | 
			
		||||
glibtop_get_sem_limits_l
 | 
			
		||||
glibtop_init_sem_limits_p
 | 
			
		||||
glibtop_get_sem_limits_p
 | 
			
		||||
glibtop_init_sem_limits_s
 | 
			
		||||
glibtop_get_sem_limits_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/prockernel.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>prockernel</FILE>
 | 
			
		||||
GLIBTOP_PROC_KERNEL_K_FLAGS
 | 
			
		||||
GLIBTOP_PROC_KERNEL_MIN_FLT
 | 
			
		||||
GLIBTOP_PROC_KERNEL_MAJ_FLT
 | 
			
		||||
GLIBTOP_PROC_KERNEL_CMIN_FLT
 | 
			
		||||
GLIBTOP_PROC_KERNEL_CMAJ_FLT
 | 
			
		||||
GLIBTOP_PROC_KERNEL_KSTK_ESP
 | 
			
		||||
GLIBTOP_PROC_KERNEL_KSTK_EIP
 | 
			
		||||
GLIBTOP_PROC_KERNEL_NWCHAN
 | 
			
		||||
GLIBTOP_PROC_KERNEL_WCHAN
 | 
			
		||||
GLIBTOP_MAX_PROC_KERNEL
 | 
			
		||||
glibtop_proc_kernel
 | 
			
		||||
glibtop_get_proc_kernel
 | 
			
		||||
glibtop_get_proc_kernel_r
 | 
			
		||||
glibtop_get_proc_kernel_l
 | 
			
		||||
glibtop_init_proc_kernel_p
 | 
			
		||||
glibtop_get_proc_kernel_p
 | 
			
		||||
glibtop_init_proc_kernel_s
 | 
			
		||||
glibtop_get_proc_kernel_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/fsusage.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>fsusage</FILE>
 | 
			
		||||
GLIBTOP_FSUSAGE_BLOCKS
 | 
			
		||||
GLIBTOP_FSUSAGE_BFREE
 | 
			
		||||
GLIBTOP_FSUSAGE_BAVAIL
 | 
			
		||||
GLIBTOP_FSUSAGE_FILES
 | 
			
		||||
GLIBTOP_FSUSAGE_FFREE
 | 
			
		||||
GLIBTOP_FSUSAGE_BLOCK_SIZE
 | 
			
		||||
GLIBTOP_FSUSAGE_READ
 | 
			
		||||
GLIBTOP_FSUSAGE_WRITE
 | 
			
		||||
GLIBTOP_MAX_FSUSAGE
 | 
			
		||||
glibtop_fsusage
 | 
			
		||||
glibtop_get_fsusage
 | 
			
		||||
glibtop_get_fsusage_r
 | 
			
		||||
glibtop_get_fsusage_l
 | 
			
		||||
glibtop_get_fsusage_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/loadavg.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>loadavg</FILE>
 | 
			
		||||
GLIBTOP_LOADAVG_LOADAVG
 | 
			
		||||
GLIBTOP_LOADAVG_NR_RUNNING
 | 
			
		||||
GLIBTOP_LOADAVG_NR_TASKS
 | 
			
		||||
GLIBTOP_LOADAVG_LAST_PID
 | 
			
		||||
GLIBTOP_MAX_LOADAVG
 | 
			
		||||
glibtop_loadavg
 | 
			
		||||
glibtop_get_loadavg
 | 
			
		||||
glibtop_get_loadavg_r
 | 
			
		||||
glibtop_get_loadavg_l
 | 
			
		||||
glibtop_init_loadavg_p
 | 
			
		||||
glibtop_get_loadavg_p
 | 
			
		||||
glibtop_init_loadavg_s
 | 
			
		||||
glibtop_get_loadavg_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/mem.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>mem</FILE>
 | 
			
		||||
GLIBTOP_MEM_TOTAL
 | 
			
		||||
GLIBTOP_MEM_USED
 | 
			
		||||
GLIBTOP_MEM_FREE
 | 
			
		||||
GLIBTOP_MEM_SHARED
 | 
			
		||||
GLIBTOP_MEM_BUFFER
 | 
			
		||||
GLIBTOP_MEM_CACHED
 | 
			
		||||
GLIBTOP_MEM_USER
 | 
			
		||||
GLIBTOP_MEM_LOCKED
 | 
			
		||||
GLIBTOP_MAX_MEM
 | 
			
		||||
glibtop_mem
 | 
			
		||||
glibtop_get_mem
 | 
			
		||||
glibtop_get_mem_r
 | 
			
		||||
glibtop_get_mem_l
 | 
			
		||||
glibtop_init_mem_p
 | 
			
		||||
glibtop_get_mem_p
 | 
			
		||||
glibtop_init_mem_s
 | 
			
		||||
glibtop_get_mem_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/mountlist.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>mountlist</FILE>
 | 
			
		||||
GLIBTOP_MOUNTLIST_NUMBER
 | 
			
		||||
GLIBTOP_MOUNTLIST_TOTAL
 | 
			
		||||
GLIBTOP_MOUNTLIST_SIZE
 | 
			
		||||
GLIBTOP_MAX_MOUNTLIST
 | 
			
		||||
glibtop_mountentry
 | 
			
		||||
glibtop_mountlist
 | 
			
		||||
glibtop_get_mountlist
 | 
			
		||||
glibtop_get_mountlist_r
 | 
			
		||||
glibtop_get_mountlist_l
 | 
			
		||||
glibtop_get_mountlist_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/msg_limits.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>msg_limits</FILE>
 | 
			
		||||
GLIBTOP_IPC_MSGPOOL
 | 
			
		||||
GLIBTOP_IPC_MSGMAP
 | 
			
		||||
GLIBTOP_IPC_MSGMAX
 | 
			
		||||
GLIBTOP_IPC_MSGMNB
 | 
			
		||||
GLIBTOP_IPC_MSGMNI
 | 
			
		||||
GLIBTOP_IPC_MSGSSZ
 | 
			
		||||
GLIBTOP_IPC_MSGTQL
 | 
			
		||||
GLIBTOP_MAX_MSG_LIMITS
 | 
			
		||||
glibtop_msg_limits
 | 
			
		||||
glibtop_get_msg_limits
 | 
			
		||||
glibtop_get_msg_limits_r
 | 
			
		||||
glibtop_get_msg_limits_l
 | 
			
		||||
glibtop_init_msg_limits_p
 | 
			
		||||
glibtop_get_msg_limits_p
 | 
			
		||||
glibtop_init_msg_limits_s
 | 
			
		||||
glibtop_get_msg_limits_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/cpu.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>cpu</FILE>
 | 
			
		||||
GLIBTOP_CPU_TOTAL
 | 
			
		||||
GLIBTOP_CPU_USER
 | 
			
		||||
GLIBTOP_CPU_NICE
 | 
			
		||||
GLIBTOP_CPU_SYS
 | 
			
		||||
GLIBTOP_CPU_IDLE
 | 
			
		||||
GLIBTOP_CPU_FREQUENCY
 | 
			
		||||
GLIBTOP_XCPU_TOTAL
 | 
			
		||||
GLIBTOP_XCPU_USER
 | 
			
		||||
GLIBTOP_XCPU_NICE
 | 
			
		||||
GLIBTOP_XCPU_SYS
 | 
			
		||||
GLIBTOP_XCPU_IDLE
 | 
			
		||||
GLIBTOP_XCPU_FLAGS
 | 
			
		||||
GLIBTOP_CPU_IOWAIT
 | 
			
		||||
GLIBTOP_CPU_IRQ
 | 
			
		||||
GLIBTOP_CPU_SOFTIRQ
 | 
			
		||||
GLIBTOP_XCPU_IOWAIT
 | 
			
		||||
GLIBTOP_XCPU_IRQ
 | 
			
		||||
GLIBTOP_XCPU_SOFTIRQ
 | 
			
		||||
GLIBTOP_MAX_CPU
 | 
			
		||||
GLIBTOP_NCPU
 | 
			
		||||
glibtop_cpu
 | 
			
		||||
glibtop_get_cpu
 | 
			
		||||
glibtop_get_cpu_r
 | 
			
		||||
glibtop_get_cpu_l
 | 
			
		||||
glibtop_init_cpu_p
 | 
			
		||||
glibtop_get_cpu_p
 | 
			
		||||
glibtop_init_cpu_s
 | 
			
		||||
glibtop_get_cpu_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
<INCLUDE>glibtop/swap.h</INCLUDE>
 | 
			
		||||
<SECTION>
 | 
			
		||||
<FILE>swap</FILE>
 | 
			
		||||
GLIBTOP_SWAP_TOTAL
 | 
			
		||||
GLIBTOP_SWAP_USED
 | 
			
		||||
GLIBTOP_SWAP_FREE
 | 
			
		||||
GLIBTOP_SWAP_PAGEIN
 | 
			
		||||
GLIBTOP_SWAP_PAGEOUT
 | 
			
		||||
GLIBTOP_MAX_SWAP
 | 
			
		||||
glibtop_swap
 | 
			
		||||
glibtop_get_swap
 | 
			
		||||
glibtop_get_swap_r
 | 
			
		||||
glibtop_get_swap_l
 | 
			
		||||
glibtop_init_swap_p
 | 
			
		||||
glibtop_get_swap_p
 | 
			
		||||
glibtop_init_swap_s
 | 
			
		||||
glibtop_get_swap_s
 | 
			
		||||
</SECTION>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								doc/reference/version.xml.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								doc/reference/version.xml.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
<?xml version="1.0" standalone="no"?>
 | 
			
		||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 | 
			
		||||
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
 | 
			
		||||
<phrase>@PACKAGE_VERSION@</phrase>
 | 
			
		||||
							
								
								
									
										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.
 | 
			
		||||
							
								
								
									
										243
									
								
								examples/ChangeLog
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								examples/ChangeLog
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,243 @@
 | 
			
		||||
2007-05-19  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am:
 | 
			
		||||
	* mem.c: (main):
 | 
			
		||||
	* wd.c: (main):
 | 
			
		||||
 | 
			
		||||
	Fixed wd and new simple mem example.
 | 
			
		||||
 | 
			
		||||
2006-02-27  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* pprint.c: (pprint_get_proc_mem), (main):
 | 
			
		||||
 | 
			
		||||
	Added proc_mem example.
 | 
			
		||||
 | 
			
		||||
2005-12-15  Benoît Dejean  <benoit@placenet.org>
 | 
			
		||||
 | 
			
		||||
	* proclist.c: (print_pids), (main):
 | 
			
		||||
	
 | 
			
		||||
	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.
 | 
			
		||||
							
								
								
									
										62
									
								
								examples/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								examples/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
## 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 mem wd affinity
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
wd_SOURCES	= wd.c
 | 
			
		||||
wd_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
mem_SOURCE	= mem.c
 | 
			
		||||
mem_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
affinity_SOURCES	= affinity.c
 | 
			
		||||
affinity_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
							
								
								
									
										34
									
								
								examples/affinity.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								examples/affinity.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procaffinity.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	glibtop_proc_affinity buf;
 | 
			
		||||
	guint16 *cpus;
 | 
			
		||||
	size_t i;
 | 
			
		||||
 | 
			
		||||
	if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
 | 
			
		||||
		pid = getpid();
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	cpus = glibtop_get_proc_affinity(&buf, pid);
 | 
			
		||||
 | 
			
		||||
	g_print("Process %u:\n"
 | 
			
		||||
		" - all: %d\n",
 | 
			
		||||
		(unsigned)pid, buf.all);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i != buf.number; ++i)
 | 
			
		||||
		g_print(" - CPU#%u is set\n", cpus[i]);
 | 
			
		||||
 | 
			
		||||
	g_free(cpus);
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								examples/df.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								examples/df.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
#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("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
 | 
			
		||||
	 mountpoint,
 | 
			
		||||
	 buf.blocks * buf.block_size >> 20,
 | 
			
		||||
	 (buf.blocks - buf.bavail) * buf.block_size >> 20,
 | 
			
		||||
	 buf.bavail * buf.block_size >> 20,
 | 
			
		||||
	 (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
 | 
			
		||||
	 buf.read,
 | 
			
		||||
	 buf.write
 | 
			
		||||
	 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_mountlist buf;
 | 
			
		||||
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  printf("%-30s %10s %10s %10s %5s %10s %10s\n",
 | 
			
		||||
	 "Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
 | 
			
		||||
 | 
			
		||||
  if (argc > 1) {
 | 
			
		||||
    while (*++argv)
 | 
			
		||||
      print_fsusage(*argv);
 | 
			
		||||
  } else {
 | 
			
		||||
    glibtop_mountentry *entries;
 | 
			
		||||
    size_t i;
 | 
			
		||||
 | 
			
		||||
    entries = glibtop_get_mountlist(&buf, TRUE);
 | 
			
		||||
 | 
			
		||||
    for(i = 0; i < buf.number; ++i)
 | 
			
		||||
      {
 | 
			
		||||
	print_fsusage(entries[i].mountdir);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    g_free(entries);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										578
									
								
								examples/first.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										578
									
								
								examples/first.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,578 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
	pid_t pid, ppid, *ptr;
 | 
			
		||||
	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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								examples/mem.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								examples/mem.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_mem buf;
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	g_print("%lx\n", glibtop_global_server->features);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_mem(&buf);
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										116
									
								
								examples/mountlist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								examples/mountlist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,116 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										162
									
								
								examples/netload.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								examples/netload.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,162 @@
 | 
			
		||||
/* 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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										75
									
								
								examples/openfiles.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								examples/openfiles.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
#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_INET6SOCKET:
 | 
			
		||||
		  printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_LOCALSOCKET:
 | 
			
		||||
		  printf("localsocket %s\n", files[i].info.localsock.name);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  default:
 | 
			
		||||
		  printf("unknown type\n");
 | 
			
		||||
	  }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  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)
 | 
			
		||||
{
 | 
			
		||||
	pid_t *pids;
 | 
			
		||||
	unsigned i;
 | 
			
		||||
	glibtop_proclist buf;
 | 
			
		||||
 | 
			
		||||
	pids = glibtop_get_proclist(&buf, which, arg);
 | 
			
		||||
 | 
			
		||||
	printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
 | 
			
		||||
	       which, arg, (unsigned long)buf.number);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < buf.number; ++i)
 | 
			
		||||
		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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										163
									
								
								examples/procmap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								examples/procmap.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,163 @@
 | 
			
		||||
/* 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>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	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]);
 | 
			
		||||
 | 
			
		||||
	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;
 | 
			
		||||
 | 
			
		||||
		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 - %5.5s - %s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %5.5s - %s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm, filename);
 | 
			
		||||
		} else {
 | 
			
		||||
			char * format;
 | 
			
		||||
 | 
			
		||||
			if (sizeof (void*) == 8)
 | 
			
		||||
				format = "%016lx-%016lx %016lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
 | 
			
		||||
			"shared_clean:%lluKib shared_dirty:%lluKiB "
 | 
			
		||||
			"private_clean:%lluKiB private_dirty: %lluKiB\n",
 | 
			
		||||
			maps[i].flags,
 | 
			
		||||
			maps[i].size >> 10,
 | 
			
		||||
			maps[i].rss >> 10,
 | 
			
		||||
			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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										304
									
								
								examples/second.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										304
									
								
								examples/second.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,304 @@
 | 
			
		||||
/* 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 i;
 | 
			
		||||
	pid_t *ptr, pid;
 | 
			
		||||
 | 
			
		||||
	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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										124
									
								
								examples/smp.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								examples/smp.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,124 @@
 | 
			
		||||
/* 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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										152
									
								
								examples/sysdeps.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								examples/sysdeps.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,152 @@
 | 
			
		||||
/* 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)
 | 
			
		||||
							
								
								
									
										360
									
								
								examples/timings.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										360
									
								
								examples/timings.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,360 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	struct rusage total_start, total_end;
 | 
			
		||||
	struct rusage rusage_start, rusage_end;
 | 
			
		||||
	struct timeval elapsed_utime, elapsed_stime;
 | 
			
		||||
	pid_t pid, *ptr;
 | 
			
		||||
 | 
			
		||||
	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);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								examples/wd.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								examples/wd.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procwd.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	glibtop_proc_wd buf;
 | 
			
		||||
	char **dirs, **dir;
 | 
			
		||||
 | 
			
		||||
	if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
 | 
			
		||||
		pid = getpid();
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	dirs = glibtop_get_proc_wd(&buf, pid);
 | 
			
		||||
 | 
			
		||||
	g_print("Process %u:\n"
 | 
			
		||||
		" - root: '%s'\n"
 | 
			
		||||
		" - exe: '%s'\n"
 | 
			
		||||
		" - working directories:\n",
 | 
			
		||||
		(unsigned)pid, buf.root, buf.exe);
 | 
			
		||||
 | 
			
		||||
	for (dir = dirs; *dir; ++dir)
 | 
			
		||||
		g_print("   - '%s'\n", *dir);
 | 
			
		||||
 | 
			
		||||
	g_strfreev(dirs);
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										27
									
								
								features.def
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								features.def
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
 | 
			
		||||
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
 | 
			
		||||
void|swap|ulong(total,used,free,pagein,pageout)
 | 
			
		||||
void|uptime|double(uptime,idletime)
 | 
			
		||||
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
 | 
			
		||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
 | 
			
		||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
 | 
			
		||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
 | 
			
		||||
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
 | 
			
		||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
 | 
			
		||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
 | 
			
		||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
 | 
			
		||||
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
 | 
			
		||||
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
 | 
			
		||||
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
 | 
			
		||||
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
 | 
			
		||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
 | 
			
		||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
 | 
			
		||||
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
 | 
			
		||||
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
 | 
			
		||||
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
 | 
			
		||||
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
 | 
			
		||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
 | 
			
		||||
char **|netlist|unsigned(number)
 | 
			
		||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
 | 
			
		||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										143
									
								
								glibtop.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								glibtop.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,143 @@
 | 
			
		||||
/* 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__
 | 
			
		||||
 | 
			
		||||
#include <glib/gmacros.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
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>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
 | 
			
		||||
struct _glibtop
 | 
			
		||||
{
 | 
			
		||||
	unsigned flags;
 | 
			
		||||
	unsigned method;		/* Server Method */
 | 
			
		||||
	unsigned error_method;		/* Error Method */
 | 
			
		||||
	glibtop_machine machine;	/* Machine dependent data */
 | 
			
		||||
	int input [2];			/* Pipe client <- server */
 | 
			
		||||
	int output [2];			/* Pipe client -> server */
 | 
			
		||||
	int socket;			/* Accepted connection of a socket */
 | 
			
		||||
	int ncpu;			/* Number of CPUs, zero if single-processor */
 | 
			
		||||
	int real_ncpu;			/* Real number of CPUs. Only ncpu are monitored */
 | 
			
		||||
	unsigned long os_version_code;	/* Version code of the operating system */
 | 
			
		||||
	const char *name;		/* Program name for error messages */
 | 
			
		||||
	const char *server_command;	/* Command used to invoke server */
 | 
			
		||||
	const char *server_host;	/* Host the server should run on */
 | 
			
		||||
	const char *server_user;	/* Name of the user on the target host */
 | 
			
		||||
	const char *server_rsh;		/* Command used to connect to the target host */
 | 
			
		||||
	unsigned long features;		/* Server is required for this features */
 | 
			
		||||
	unsigned long server_port;	/* Port on which daemon is listening */
 | 
			
		||||
	glibtop_sysdeps sysdeps;	/* Detailed feature list */
 | 
			
		||||
	glibtop_sysdeps required;	/* Required feature list */
 | 
			
		||||
	pid_t pid;			/* PID of the server */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#else /* !HAVE_GLIBTOP_MACHINE_H */
 | 
			
		||||
 | 
			
		||||
struct _glibtop
 | 
			
		||||
{
 | 
			
		||||
	unsigned flags;
 | 
			
		||||
	unsigned method;		/* Server Method */
 | 
			
		||||
	unsigned error_method;		/* Error Method */
 | 
			
		||||
	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 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* HAVE_GLIBTOP_MACHINE_H */
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										2
									
								
								include/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								include/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
SUBDIRS		= glibtop
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								include/glibtop/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								include/glibtop/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
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 \
 | 
			
		||||
			  sysinfo.h ppp.h procargs.h netload.h \
 | 
			
		||||
			  procwd.h procaffinity.h \
 | 
			
		||||
			  netlist.h procopenfiles.h open.h
 | 
			
		||||
 | 
			
		||||
noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h
 | 
			
		||||
							
								
								
									
										41
									
								
								include/glibtop/call-vector.h.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								include/glibtop/call-vector.h.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
 | 
			
		||||
@@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;
 | 
			
		||||
							
								
								
									
										38
									
								
								include/glibtop/close.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								include/glibtop/close.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
/* 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 @@
 | 
			
		||||
/* 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_CMND_PROC_WD		26
 | 
			
		||||
#define GLIBTOP_CMND_PROC_AFFINITY	27
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_CMND		28
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										105
									
								
								include/glibtop/cpu.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								include/glibtop/cpu.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,105 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 total;				/* GLIBTOP_CPU_TOTAL		*/
 | 
			
		||||
	guint64 user;				/* GLIBTOP_CPU_USER		*/
 | 
			
		||||
	guint64 nice;				/* GLIBTOP_CPU_NICE		*/
 | 
			
		||||
	guint64 sys;				/* GLIBTOP_CPU_SYS		*/
 | 
			
		||||
	guint64 idle;				/* GLIBTOP_CPU_IDLE		*/
 | 
			
		||||
	guint64 iowait;				/* GLIBTOP_CPU_IOWAIT		*/
 | 
			
		||||
	guint64 irq;				/* GLIBTOP_CPU_IRQ		*/
 | 
			
		||||
	guint64 softirq;			/* GLIBTOP_CPU_SOFTIRQ		*/
 | 
			
		||||
	guint64 frequency;			/* GLIBTOP_CPU_FREQUENCY	*/
 | 
			
		||||
	guint64 xcpu_total [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_TOTAL		*/
 | 
			
		||||
	guint64 xcpu_user [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_USER		*/
 | 
			
		||||
	guint64 xcpu_nice [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_NICE		*/
 | 
			
		||||
	guint64 xcpu_sys  [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_SYS		*/
 | 
			
		||||
	guint64 xcpu_idle [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IDLE		*/
 | 
			
		||||
	guint64 xcpu_iowait [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IOWAIT		*/
 | 
			
		||||
	guint64 xcpu_irq [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IRQ		*/
 | 
			
		||||
	guint64 xcpu_softirq  [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_SOFTIRQ		*/
 | 
			
		||||
	guint64 xcpu_flags;	                /* GLIBTOP_XCPU_IDLE		*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_cpu(glibtop_cpu *buf);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										51
									
								
								include/glibtop/error.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								include/glibtop/error.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * 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_NORETURN;
 | 
			
		||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
 | 
			
		||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
 | 
			
		||||
 | 
			
		||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
 | 
			
		||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
 | 
			
		||||
 | 
			
		||||
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
 | 
			
		||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										64
									
								
								include/glibtop/fsusage.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								include/glibtop/fsusage.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 blocks;		/* Total number of blocks. */
 | 
			
		||||
	guint64 bfree;		/* Free blocks available to superuser. */
 | 
			
		||||
	guint64 bavail;		/* Free blocks available to non-superuser. */
 | 
			
		||||
	guint64 files;		/* Total file nodes. */
 | 
			
		||||
	guint64 ffree;		/* Free file nodes. */
 | 
			
		||||
	guint32	block_size;	/* Size of a block in bytes. */
 | 
			
		||||
	guint64 read, write;    /* Total blocks read and written */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										81
									
								
								include/glibtop/global.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								include/glibtop/global.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
/* 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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								include/glibtop/init_hooks.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								include/glibtop/init_hooks.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
#ifndef H_LIBGTOP_INIT_HOOKS_1122955666
 | 
			
		||||
#define H_LIBGTOP_INIT_HOOKS_1122955666
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef void (*_glibtop_init_func_t)(glibtop *);
 | 
			
		||||
 | 
			
		||||
extern const _glibtop_init_func_t _glibtop_init_hook_s[];
 | 
			
		||||
extern const _glibtop_init_func_t _glibtop_init_hook_p[];
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif /* H_LIBGTOP_INIT_HOOKS_1122955666 */
 | 
			
		||||
							
								
								
									
										69
									
								
								include/glibtop/loadavg.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								include/glibtop/loadavg.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
/* 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	*/
 | 
			
		||||
	guint64 nr_tasks;		/* GLIBTOP_LOADAVG_NR_TASKS	*/
 | 
			
		||||
	guint64 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
 | 
			
		||||
							
								
								
									
										77
									
								
								include/glibtop/mem.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								include/glibtop/mem.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 total;		/* GLIBTOP_MEM_TOTAL	*/
 | 
			
		||||
	guint64 used;		/* GLIBTOP_MEM_USED	*/
 | 
			
		||||
	guint64 free;		/* GLIBTOP_MEM_FREE	*/
 | 
			
		||||
	guint64 shared;		/* GLIBTOP_MEM_SHARED	*/
 | 
			
		||||
	guint64 buffer;		/* GLIBTOP_MEM_BUFFER	*/
 | 
			
		||||
	guint64 cached;		/* GLIBTOP_MEM_CACHED	*/
 | 
			
		||||
	guint64 user;		/* GLIBTOP_MEM_USER	*/
 | 
			
		||||
	guint64 locked;		/* GLIBTOP_MEM_LOCKED	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_mem(glibtop_mem *buf);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										70
									
								
								include/glibtop/mountlist.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								include/glibtop/mountlist.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 number;			/* GLIBTOP_MOUNTLIST_NUMBER	*/
 | 
			
		||||
	guint64 total;			/* GLIBTOP_MOUNTLIST_TOTAL	*/
 | 
			
		||||
	guint64 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
 | 
			
		||||
							
								
								
									
										76
									
								
								include/glibtop/msg_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								include/glibtop/msg_limits.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 msgpool;	/* GLIBTOP_IPC_MSGPOOL	*/
 | 
			
		||||
	guint64 msgmap;		/* GLIBTOP_IPC_MSGMAP	*/
 | 
			
		||||
	guint64 msgmax;		/* GLIBTOP_IPC_MSGMAX	*/
 | 
			
		||||
	guint64 msgmnb;		/* GLIBTOP_IPC_MSGMNB	*/
 | 
			
		||||
	guint64 msgmni;		/* GLIBTOP_IPC_MSGMNI	*/
 | 
			
		||||
	guint64 msgssz;		/* GLIBTOP_IPC_MSGSSZ	*/
 | 
			
		||||
	guint64 msgtql;		/* GLIBTOP_IPC_MSGTQL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										130
									
								
								include/glibtop/netload.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								include/glibtop/netload.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
/* 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,
 | 
			
		||||
	GLIBTOP_IF_FLAGS_WIRELESS
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
	guint64 if_flags;		/* GLIBTOP_NETLOAD_IF_FLAGS	*/
 | 
			
		||||
 | 
			
		||||
	guint32	mtu;			/* GLIBTOP_NETLOAD_MTU		*/
 | 
			
		||||
	guint32 subnet;			/* GLIBTOP_NETLOAD_SUBNET	*/
 | 
			
		||||
	guint32 address;		/* GLIBTOP_NETLOAD_ADDRESS	*/
 | 
			
		||||
 | 
			
		||||
	guint64	packets_in;		/* GLIBTOP_NETLOAD_PACKETS_IN	*/
 | 
			
		||||
	guint64 packets_out;		/* GLIBTOP_NETLOAD_PACKETS_OUT	*/
 | 
			
		||||
	guint64 packets_total;		/* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
 | 
			
		||||
	guint64 bytes_in;		/* GLIBTOP_NETLOAD_BYTES_IN	*/
 | 
			
		||||
	guint64 bytes_out;		/* GLIBTOP_NETLOAD_BYTES_OUT	*/
 | 
			
		||||
	guint64 bytes_total;		/* GLIBTOP_NETLOAD_BYTES_TOTAL	*/
 | 
			
		||||
	guint64 errors_in;		/* GLIBTOP_NETLOAD_ERRORS_IN	*/
 | 
			
		||||
	guint64 errors_out;		/* GLIBTOP_NETLOAD_ERRORS_OUT	*/
 | 
			
		||||
	guint64 errors_total;		/* GLIBTOP_NETLOAD_ERRORS_TOTAL	*/
 | 
			
		||||
	guint64 collisions;		/* GLIBTOP_NETLOAD_COLLISIONS	*/
 | 
			
		||||
 | 
			
		||||
	guint8 address6[16];		/* GLIBTOP_NETLOAD_ADDRESS6     */
 | 
			
		||||
	guint8 prefix6[16];		/* GLIBTOP_NETLOAD_PREXIF6      */
 | 
			
		||||
	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
 | 
			
		||||
							
								
								
									
										73
									
								
								include/glibtop/ppp.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								include/glibtop/ppp.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 state;			/* GLIBTOP_PPP_STATE		*/
 | 
			
		||||
	guint64 bytes_in;		/* GLIBTOP_PPP_BYTES_IN		*/
 | 
			
		||||
	guint64 bytes_out;		/* GLIBTOP_PPP_BYTES_OUT	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										61
									
								
								include/glibtop/procaffinity.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								include/glibtop/procaffinity.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
/* Copyright (C) 2007 Benoît Dejean
 | 
			
		||||
   This file is part of LibGTop 2.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
 | 
			
		||||
#define __GLIBTOP_PROCAFFINITY_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_affinity	glibtop_proc_affinity;
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_AFFINITY_NUMBER	0
 | 
			
		||||
#define GLIBTOP_PROC_AFFINITY_ALL	1
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_affinity
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags;
 | 
			
		||||
	guint32 number;
 | 
			
		||||
	gboolean all;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
 | 
			
		||||
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_AFFINITY
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
 | 
			
		||||
void _glibtop_init_proc_affinity_p(glibtop *server);
 | 
			
		||||
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
 | 
			
		||||
void _glibtop_init_proc_affinity_s(glibtop *server);
 | 
			
		||||
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										88
									
								
								include/glibtop/procargs.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								include/glibtop/procargs.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,88 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 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
 | 
			
		||||
							
								
								
									
										86
									
								
								include/glibtop/prockernel.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								include/glibtop/prockernel.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
			
		||||
/* 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 */
 | 
			
		||||
	guint64 min_flt;	/* number of minor page faults since
 | 
			
		||||
				 * process start */
 | 
			
		||||
	guint64 maj_flt;	/* number of major page faults since
 | 
			
		||||
				 * process start */
 | 
			
		||||
	guint64 cmin_flt;	/* cumulative min_flt of process and
 | 
			
		||||
				 * child processes */
 | 
			
		||||
	guint64 cmaj_flt;	/* cumulative maj_flt of process and
 | 
			
		||||
				 * child processes */
 | 
			
		||||
	guint64 kstk_esp;	/* kernel stack pointer */
 | 
			
		||||
	guint64 kstk_eip;	/* kernel stack pointer */
 | 
			
		||||
	guint64 nwchan;		/* address of kernel wait channel
 | 
			
		||||
				 * proc is sleeping in */
 | 
			
		||||
	char wchan [40];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										93
									
								
								include/glibtop/proclist.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								include/glibtop/proclist.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 number;			/* GLIBTOP_PROCLIST_NUMBER	*/
 | 
			
		||||
	guint64 total;			/* GLIBTOP_PROCLIST_TOTAL	*/
 | 
			
		||||
	guint64 size;			/* GLIBTOP_PROCLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
pid_t*
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
void _glibtop_init_proclist_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
#else
 | 
			
		||||
void _glibtop_init_proclist_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										119
									
								
								include/glibtop/procmap.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								include/glibtop/procmap.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,119 @@
 | 
			
		||||
/* 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; 
 | 
			
		||||
	guint64 start; 
 | 
			
		||||
	guint64 end; 
 | 
			
		||||
	guint64 offset; 
 | 
			
		||||
	guint64 perm; 
 | 
			
		||||
	guint64 inode; 
 | 
			
		||||
	guint64 device;
 | 
			
		||||
	guint64 size;
 | 
			
		||||
	guint64 rss;
 | 
			
		||||
	guint64 shared_clean; 
 | 
			
		||||
	guint64 shared_dirty;
 | 
			
		||||
	guint64 private_clean; 
 | 
			
		||||
	guint64 private_dirty;
 | 
			
		||||
	char filename [GLIBTOP_MAP_FILENAME_LEN+1];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_map
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags;
 | 
			
		||||
	guint64 number;			/* GLIBTOP_PROC_MAP_NUMBER	*/
 | 
			
		||||
	guint64 total;			/* GLIBTOP_PROC_MAP_TOTAL	*/
 | 
			
		||||
	guint64 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
 | 
			
		||||
							
								
								
									
										77
									
								
								include/glibtop/procmem.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								include/glibtop/procmem.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 size;		/* total # of pages of memory */
 | 
			
		||||
	guint64 vsize;		/* number of pages of virtual memory ... */
 | 
			
		||||
	guint64 resident;	/* number of resident set
 | 
			
		||||
				 * (non-swapped) pages (4k) */
 | 
			
		||||
	guint64 share;		/* number of pages of shared (mmap'd) memory */
 | 
			
		||||
	guint64 rss;		/* resident set size */
 | 
			
		||||
	guint64 rss_rlim;	/* current limit (in bytes) of the rss
 | 
			
		||||
				 * of the process; usually 2,147,483,647 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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 @@
 | 
			
		||||
/* 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,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_INET6SOCKET	= 16
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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 or
 | 
			
		||||
		 * when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
 | 
			
		||||
		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;
 | 
			
		||||
	guint64 number;			/* GLIBTOP_PROC_OPEN_FILES_NUMBER */
 | 
			
		||||
	guint64 total;			/* GLIBTOP_PROC_OPEN_FILES_TOTAL  */
 | 
			
		||||
	guint64 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
 | 
			
		||||
							
								
								
									
										80
									
								
								include/glibtop/procsegment.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								include/glibtop/procsegment.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 text_rss;	/* text resident set size */
 | 
			
		||||
	guint64 shlib_rss;	/* shared-lib resident set size */
 | 
			
		||||
	guint64 data_rss;	/* data resident set size */
 | 
			
		||||
	guint64 stack_rss;	/* stack resident set size */
 | 
			
		||||
	guint64 dirty_size;	/* size of dirty pages */
 | 
			
		||||
	guint64 start_code;
 | 
			
		||||
				/* address of beginning of code segment */
 | 
			
		||||
	guint64 end_code;	/* address of end of code segment */
 | 
			
		||||
	guint64 start_stack;	/* address of the bottom of stack segment */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										71
									
								
								include/glibtop/procsignal.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								include/glibtop/procsignal.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_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;
 | 
			
		||||
	guint64 signal [2];		/* mask of pending signals */
 | 
			
		||||
	guint64 blocked [2];		/* mask of blocked signals */
 | 
			
		||||
	guint64 sigignore [2];		/* mask of ignored signals */
 | 
			
		||||
	guint64 sigcatch [2];		/* mask of caught  signals */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										95
									
								
								include/glibtop/procstate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								include/glibtop/procstate.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	/* 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 */
 | 
			
		||||
	int gid;		/* GID of process */
 | 
			
		||||
    int ruid;
 | 
			
		||||
    int rgid;
 | 
			
		||||
    int has_cpu;
 | 
			
		||||
    int processor;
 | 
			
		||||
    int last_processor;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										93
									
								
								include/glibtop/proctime.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								include/glibtop/proctime.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 start_time;	/* start time of process --
 | 
			
		||||
				 * seconds since 1-1-70 */
 | 
			
		||||
	guint64 rtime;		/* real time accumulated by process */
 | 
			
		||||
	guint64 utime;		/* user-mode CPU time accumulated by process */
 | 
			
		||||
	guint64 stime;		/* kernel-mode CPU time accumulated by process */
 | 
			
		||||
	guint64 cutime;		/* cumulative utime of process and
 | 
			
		||||
				 * reaped children */
 | 
			
		||||
	guint64 cstime;		/* cumulative stime of process and
 | 
			
		||||
				 * reaped children */
 | 
			
		||||
	guint64 timeout;	/* The time (in jiffies) of the process's
 | 
			
		||||
				 * next timeout */
 | 
			
		||||
	guint64 it_real_value;	/* The time (in jiffies) before the
 | 
			
		||||
				 * next SIGALRM is sent to the process
 | 
			
		||||
				 * due to an interval timer. */
 | 
			
		||||
	guint64 frequency;	/* Tick frequency. */
 | 
			
		||||
	guint64 xcpu_utime [GLIBTOP_NCPU];	/* utime and stime for all CPUs on */
 | 
			
		||||
	guint64 xcpu_stime [GLIBTOP_NCPU];	/* SMP machines. */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										102
									
								
								include/glibtop/procuid.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								include/glibtop/procuid.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
/* 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 */
 | 
			
		||||
	gint32 euid;		/* effective user id */
 | 
			
		||||
	gint32 gid;		/* group id */
 | 
			
		||||
	gint32 egid;		/* effective group id */
 | 
			
		||||
	gint32 suid;       /* set user id */
 | 
			
		||||
	gint32 sgid;       /* set group id */
 | 
			
		||||
	gint32 fsuid;      /* ??? user id */
 | 
			
		||||
	gint32 fsgid;      /* ??? group id */
 | 
			
		||||
	gint32 pid;		/* process id */
 | 
			
		||||
	gint32 ppid;		/* pid of parent process */
 | 
			
		||||
	gint32 pgrp;		/* process group id */
 | 
			
		||||
	gint32 session;	/* session id */
 | 
			
		||||
	gint32 tty;		/* full device number of controlling terminal */
 | 
			
		||||
	gint32 tpgid;		/* terminal process group id */
 | 
			
		||||
	gint32 priority;	/* kernel scheduling priority */
 | 
			
		||||
	gint32 nice;		/* standard unix nice level of process */
 | 
			
		||||
	gint32 ngroups;
 | 
			
		||||
	gint32 groups [GLIBTOP_MAX_GROUPS];
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										69
									
								
								include/glibtop/procwd.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								include/glibtop/procwd.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
/* Copyright (C) 2007 Benoît Dejean
 | 
			
		||||
   This file is part of LibGTop 2.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCWD_H__
 | 
			
		||||
#define __GLIBTOP_PROCWD_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_wd	glibtop_proc_wd;
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_WD_NUMBER	0
 | 
			
		||||
#define GLIBTOP_PROC_WD_ROOT	1
 | 
			
		||||
#define GLIBTOP_PROC_WD_EXE	2
 | 
			
		||||
#define GLIBTOP_PROC_WD_MAX	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
 | 
			
		||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_wd
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags;
 | 
			
		||||
	guint32 number;
 | 
			
		||||
	char root[GLIBTOP_PROC_WD_ROOT_LEN+1];
 | 
			
		||||
	char exe[GLIBTOP_PROC_WD_EXE_LEN+1];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_WD
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_p
 | 
			
		||||
void _glibtop_init_proc_wd_p(glibtop *server);
 | 
			
		||||
char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_s
 | 
			
		||||
void _glibtop_init_proc_wd_s(glibtop *server);
 | 
			
		||||
char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										36
									
								
								include/glibtop/read.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								include/glibtop/read.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
/* 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
 | 
			
		||||
							
								
								
									
										36
									
								
								include/glibtop/read_data.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								include/glibtop/read_data.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
/* 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
 | 
			
		||||
							
								
								
									
										81
									
								
								include/glibtop/sem_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								include/glibtop/sem_limits.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
/* 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;
 | 
			
		||||
	guint64 semmap;		/* GLIBTOP_IPC_SEMMAP	*/
 | 
			
		||||
	guint64 semmni;		/* GLIBTOP_IPC_SEMMNI	*/
 | 
			
		||||
	guint64 semmns;		/* GLIBTOP_IPC_SEMMNS	*/
 | 
			
		||||
	guint64 semmnu;		/* GLIBTOP_IPC_SEMMNU	*/
 | 
			
		||||
	guint64 semmsl;		/* GLIBTOP_IPC_SEMMSL	*/
 | 
			
		||||
	guint64 semopm;		/* GLIBTOP_IPC_SEMOPM	*/
 | 
			
		||||
	guint64 semume;		/* GLIBTOP_IPC_SEMUME	*/
 | 
			
		||||
	guint64 semusz;		/* GLIBTOP_IPC_SEMUSZ	*/
 | 
			
		||||
	guint64 semvmx;		/* GLIBTOP_IPC_SEMVMX	*/
 | 
			
		||||
	guint64 semaem;		/* GLIBTOP_IPC_SEMAEM	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										71
									
								
								include/glibtop/shm_limits.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								include/glibtop/shm_limits.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_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;
 | 
			
		||||
	guint64 shmmax;		/* GLIBTOP_IPC_SHMMAX	*/
 | 
			
		||||
	guint64 shmmin;		/* GLIBTOP_IPC_SHMMIN	*/
 | 
			
		||||
	guint64 shmmni;		/* GLIBTOP_IPC_SHMMNI	*/
 | 
			
		||||
	guint64 shmseg;		/* GLIBTOP_IPC_SHMSEG	*/
 | 
			
		||||
	guint64 shmall;		/* GLIBTOP_IPC_SHMALL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user