Compare commits
	
		
			253 Commits
		
	
	
		
			LIBGTOP_2_
			...
			LIBGTOP_2_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 78add589c6 | ||
|  | c234586bfa | ||
|  | 8d25899dc6 | ||
|  | b7def65c7a | ||
|  | 9939d070b9 | ||
|  | 206c620fd6 | ||
|  | 057b16ec01 | ||
|  | ef899af6f3 | ||
|  | 730c36e1fd | ||
|  | 96f9b4f199 | ||
|  | 3dbb6f1eca | ||
|  | 52ea02ba87 | ||
|  | 1b5fe965df | ||
|  | 7b274d19e4 | ||
|  | 934c7dca93 | ||
|  | 5fe502317e | ||
|  | 0e5efea6f1 | ||
|  | b1111e2b2a | ||
|  | 64af09a8a2 | ||
|  | 77ced38c16 | ||
|  | 8963e38a7c | ||
|  | a8f4eec9e6 | ||
|  | a9e9fe07ef | ||
|  | 85b34b98af | ||
|  | ab8bd67cdf | ||
|  | 5650b49719 | ||
|  | 71426ed454 | ||
|  | 4458d6ba13 | ||
|  | 70210721e0 | ||
|  | b81f82e9a2 | ||
|  | 4df359b9d3 | ||
|  | 1c248d7e93 | ||
|  | b2368f46ca | ||
|  | 890398bbb5 | ||
|  | 84cc3242fc | ||
|  | 2456c458c2 | ||
|  | a6710fbfad | ||
|  | 6dca1e55d8 | ||
|  | 1516e5e192 | ||
|  | f659523856 | ||
|  | 6b81006d08 | ||
|  | b70be80aca | ||
|  | f8fb49a428 | ||
|  | 18356c6ae6 | ||
|  | 807d4bf6ae | ||
|  | c0350d38ae | ||
|  | d3a9e47ffb | ||
|  | c8a3e46433 | ||
|  | 222706a0d4 | ||
|  | 2168cc5f71 | ||
|  | 08808384f4 | ||
|  | 0f1306a20f | ||
|  | 84b05c0219 | ||
|  | 6916ada308 | ||
|  | 5943c96d35 | ||
|  | 909a3e6512 | ||
|  | ca94618e27 | ||
|  | a478d380f4 | ||
|  | af80d4d3d2 | ||
|  | 973dc2d37c | ||
|  | 97b32c7046 | ||
|  | fb8184afba | ||
|  | 16643866cf | ||
|  | aa9299f344 | ||
|  | 6f69cd863b | ||
|  | 7262bf39d8 | ||
|  | 9e773390cc | ||
|  | 54cbdb8158 | ||
|  | c70b11ee00 | ||
|  | 965b26c926 | ||
|  | 384cd6b2db | ||
|  | b055e3710b | ||
|  | 669c6fd670 | ||
|  | 617c4568d2 | ||
|  | 93c998cf7a | ||
|  | 46a0750736 | ||
|  | e9227d1a2e | ||
|  | 41b7120527 | ||
|  | 0ad6ae0a12 | ||
|  | 6197e3ad47 | ||
|  | e577717013 | ||
|  | 6b19a0090a | ||
|  | a515242f17 | ||
|  | a7b13c7d83 | ||
|  | 849d2da085 | ||
|  | d4b195045a | ||
|  | c269f0adb8 | ||
|  | 4f65ee018c | ||
|  | 8a8b975d08 | ||
|  | 64955004a0 | ||
|  | 4ef82847fe | ||
|  | 9da5658ba1 | ||
|  | b300842f47 | ||
|  | 9a49872026 | ||
|  | 1aa7aae2f6 | ||
|  | 70ba9e2559 | ||
|  | 13323e55ee | ||
|  | 57d96878de | ||
|  | 10de82e256 | ||
|  | 29240a5a96 | ||
|  | 1baa2ef8ff | ||
|  | 0bd5a6c082 | ||
|  | 2698263164 | ||
|  | 85d53a69cf | ||
|  | 0a42a8d018 | ||
|  | 9d772e3c07 | ||
|  | ddd9d11c71 | ||
|  | b161b5bb72 | ||
|  | 5607fefe30 | ||
|  | 9d9aed4023 | ||
|  | 62edf91314 | ||
|  | 38e55efd2d | ||
|  | 67c9c8e3e3 | ||
|  | 013ab1841d | ||
|  | 88c5d4fd61 | ||
|  | adbe42cda3 | ||
|  | 2e6e310a3e | ||
|  | 818e941413 | ||
|  | dfa868ce82 | ||
|  | dc353a4172 | ||
|  | 4da65d5d0b | ||
|  | a2043e3aaf | ||
|  | f03304a920 | ||
|  | beedc57724 | ||
|  | 3049619931 | ||
|  | ddb0c913c1 | ||
|  | c7244ba1ba | ||
|  | 146ccb2511 | ||
|  | 91c35548e4 | ||
|  | 8705ef6b65 | ||
|  | d5b27269d8 | ||
|  | 6915f098ca | ||
|  | 376613ddd4 | ||
|  | 6a9cd61fd9 | ||
|  | 18a3526ea7 | ||
|  | 333c85736c | ||
|  | df5ec3c02a | ||
|  | 368e94c8e1 | ||
|  | f5de8e4ead | ||
|  | 715975f7ed | ||
|  | f13099194c | ||
|  | 1dd8a8e8fc | ||
|  | d9fb27e57c | ||
|  | dde1a2c1aa | ||
|  | 5bff21b7b4 | ||
|  | e58c732f54 | ||
|  | 48404428a2 | ||
|  | d009071e40 | ||
|  | 33b1fcf4f9 | ||
|  | c0a9dedc4b | ||
|  | 7ab96d212d | ||
|  | bd6e248adf | ||
|  | 9abfb85080 | ||
|  | fdef2d5b38 | ||
|  | 641eb24a8b | ||
|  | 8754f434d1 | ||
|  | f656208234 | ||
|  | 0df1594f31 | ||
|  | 1ab7936ced | ||
|  | dcd43f8a15 | ||
|  | 7f7c5506f7 | ||
|  | b0a4cb2379 | ||
|  | 8c06ed1516 | ||
|  | 56154e50f2 | ||
|  | 902670623f | ||
|  | 0e5d856065 | ||
|  | 35b6acfc22 | ||
|  | 0830a0b8a7 | ||
|  | f4be080d63 | ||
|  | a599e04eb6 | ||
|  | 0dec9a7b70 | ||
|  | 75958ce2ab | ||
|  | 20bbc17f6b | ||
|  | 19ffa1419a | ||
|  | 1e568f294e | ||
|  | 7752a312e9 | ||
|  | 23c7449898 | ||
|  | 64b3db2dc0 | ||
|  | e94b4882b6 | ||
|  | 1e629c9a86 | ||
|  | 6b6e1261f1 | ||
|  | bbc872138b | ||
|  | 3555a6ca0c | ||
|  | e5928d0b13 | ||
|  | 5bb7e07e95 | ||
|  | 043f4a498f | ||
|  | 94297b8460 | ||
|  | 0f5b941b15 | ||
|  | df6d645afd | ||
|  | 9ac47c7839 | ||
|  | 8d734d1296 | ||
|  | 7fa43bba5d | ||
|  | e2e01a9405 | ||
|  | 5530697ab8 | ||
|  | 95f279d1a7 | ||
|  | 1904a463e2 | ||
|  | 7ce1f9e9d7 | ||
|  | 5221f6d4f8 | ||
|  | ac175a4cbf | ||
|  | f53d1a69bc | ||
|  | adaa9cad97 | ||
|  | 7201ec7790 | ||
|  | 113525a7d7 | ||
|  | d6e62e85d2 | ||
|  | ee153445f0 | ||
|  | 50b43a0f41 | ||
|  | 25c26a6620 | ||
|  | 0438b9d69a | ||
|  | 90c01f24fe | ||
|  | dc0f442247 | ||
|  | 017f4d20c7 | ||
|  | c021ce7851 | ||
|  | 93ab9882c3 | ||
|  | a0477c6212 | ||
|  | 6780e78a6b | ||
|  | d8871029eb | ||
|  | 6799ce187b | ||
|  | 2b6b2578be | ||
|  | 1b0a9fd291 | ||
|  | 43e070dd8b | ||
|  | b0d18119ff | ||
|  | be05f8163a | ||
|  | d6cdf95d83 | ||
|  | 2256a9127f | ||
|  | e6507a80be | ||
|  | 8411e566b4 | ||
|  | 40854f4179 | ||
|  | 41062d0262 | ||
|  | 58c882a860 | ||
|  | 789d156972 | ||
|  | 19c24da036 | ||
|  | 929a025f53 | ||
|  | 6a7c289305 | ||
|  | b65a4a7dcb | ||
|  | 39b2fffe83 | ||
|  | efb913acff | ||
|  | 79e756a2f7 | ||
|  | b08968e644 | ||
|  | dff497d2fa | ||
|  | 38de742ca4 | ||
|  | e0d3401bc4 | ||
|  | aae2b5a94d | ||
|  | a5bd38fc19 | ||
|  | 931b8f065e | ||
|  | f7885e488f | ||
|  | 8122db69ee | ||
|  | ab13d4919d | ||
|  | 1d955fbf1f | ||
|  | 8af25a2003 | ||
|  | 12eb6a25ec | ||
|  | 77ced087a1 | ||
|  | 983475d0c1 | ||
|  | 70b65c05e5 | 
| @@ -33,4 +33,3 @@ libgtop.spec | ||||
| libgtop*.tar.gz | ||||
| *-debstamp | ||||
| libgtop*.pc | ||||
| autom4te.cache | ||||
|   | ||||
							
								
								
									
										566
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										566
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,557 +1,3 @@ | ||||
| 2004-04-07  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* configure.in: version 2.6.0 | ||||
|  | ||||
| 2004-04-07  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* include/glibtop/fsusage.h: fix typo in the #defines for | ||||
| 	FSUSAGE_BLOCK_SIZE (patch by Beno<6E>t Dejean <TazForEver@free.fr>) | ||||
|  | ||||
| 2004-03-30  Adam Weinberger  <adamw@gnome.org> | ||||
|  | ||||
| 	* configure.in: Added en_CA (Canadian English) to ALL_LINGUAS. | ||||
|  | ||||
| 2004-03-22  Gareth Owen  <gowen72@yahoo.com> | ||||
|  | ||||
| 	* configure.in: Added en_GB to ALL_LINGUAS | ||||
|  | ||||
| 2004-03-22  Guntupalli Karunakar  <karunakar@freedomink.org> | ||||
|  | ||||
|         * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS. | ||||
|  | ||||
| 2004-03-15  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* include/glibtop/fsusage.h: set GLIBTOP_MAX_FSUSAGE properly, | ||||
| 	use gint in the headers instead of int (Closes: #125049) | ||||
|  | ||||
| 2004-03-11  Kjartan Maraas  <kmaraas@gnome.org> | ||||
|  | ||||
| 	* configure.in: Up versions etc. | ||||
| 	* po/am.po: Update foo. | ||||
| 	* po/ar.po: | ||||
| 	* po/az.po: | ||||
| 	* po/be.po: | ||||
| 	* po/bg.po: | ||||
| 	* po/bn.po: | ||||
| 	* po/ca.po: | ||||
| 	* po/cs.po: | ||||
| 	* po/cy.po: | ||||
| 	* po/da.po: | ||||
| 	* po/de.po: | ||||
| 	* po/el.po: | ||||
| 	* po/es.po: | ||||
| 	* po/et.po: | ||||
| 	* po/fa.po: | ||||
| 	* po/fi.po: | ||||
| 	* po/fr.po: | ||||
| 	* po/ga.po: | ||||
| 	* po/gl.po: | ||||
| 	* po/he.po: | ||||
| 	* po/hi.po: | ||||
| 	* po/hr.po: | ||||
| 	* po/hu.po: | ||||
| 	* po/id.po: | ||||
| 	* po/it.po: | ||||
| 	* po/ja.po: | ||||
| 	* po/ko.po: | ||||
| 	* po/lt.po: | ||||
| 	* po/lv.po: | ||||
| 	* po/mk.po: | ||||
| 	* po/ml.po: | ||||
| 	* po/mn.po: | ||||
| 	* po/ms.po: | ||||
| 	* po/nl.po: | ||||
| 	* po/nn.po: | ||||
| 	* po/no.po: | ||||
| 	* po/pl.po: | ||||
| 	* po/pt.po: | ||||
| 	* po/pt_BR.po: | ||||
| 	* po/ro.po: | ||||
| 	* po/ru.po: | ||||
| 	* po/sk.po: | ||||
| 	* po/sl.po: | ||||
| 	* po/sq.po: | ||||
| 	* po/sr.po: | ||||
| 	* po/sr@Latn.po: | ||||
| 	* po/sv.po: | ||||
| 	* po/ta.po: | ||||
| 	* po/tr.po: | ||||
| 	* po/uk.po: | ||||
| 	* po/vi.po: | ||||
| 	* po/zh_CN.po: | ||||
| 	* po/zh_TW.po: | ||||
|  | ||||
| 2004-03-11  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* NEWS: update the NEWS file for the release | ||||
|  | ||||
| 2004-03-11  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* include/Makefile.am: fix distchecking | ||||
|  | ||||
| 2003-12-27  Ole Laursen  <olau@hardworking.dk> | ||||
|  | ||||
| 	* include/glibtop/fsusage.h: Added block_size field. (Closes: #125049) | ||||
|  | ||||
| 2004-03-05  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* include/glibtop/procmap.h: patch by Benoit Dejean <bnet@ifrance.com> | ||||
| 	to break the API, I mean, to make it easier to generate Python bindings | ||||
| 	(Closes: #129701) | ||||
|  | ||||
| 2004-03-04  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	* include/libgtop-i18n.h: | ||||
| 	* lib/lib.pl: | ||||
| 	* lib/read.c: | ||||
| 	* lib/read_data.c: | ||||
| 	* lib/write.c: | ||||
| 	* sysdeps/names/cpu.c: | ||||
| 	* sysdeps/names/fsusage.c: | ||||
| 	* sysdeps/names/loadavg.c: | ||||
| 	* sysdeps/names/mem.c: | ||||
| 	* sysdeps/names/mountlist.c: | ||||
| 	* sysdeps/names/msg_limits.c: | ||||
| 	* sysdeps/names/netload.c: | ||||
| 	* sysdeps/names/ppp.c: | ||||
| 	* sysdeps/names/procargs.c: | ||||
| 	* sysdeps/names/prockernel.c: | ||||
| 	* sysdeps/names/proclist.c: | ||||
| 	* sysdeps/names/procmap.c: | ||||
| 	* sysdeps/names/procmem.c: | ||||
| 	* sysdeps/names/procsegment.c: | ||||
| 	* sysdeps/names/procsignal.c: | ||||
| 	* sysdeps/names/procstate.c: | ||||
| 	* sysdeps/names/proctime.c: | ||||
| 	* sysdeps/names/procuid.c: | ||||
| 	* sysdeps/names/sem_limits.c: | ||||
| 	* sysdeps/names/shm_limits.c: | ||||
| 	* sysdeps/names/swap.c: | ||||
| 	* sysdeps/names/sysdeps.c: | ||||
| 	* sysdeps/names/uptime.c: remove dependency on libgnome, | ||||
| 	check for linux/isdn.h for distros using the 2.6 kernel headers | ||||
|  | ||||
| 2004-02-07  Kevin Vandersloot | ||||
|  | ||||
| 	* configure.in: release 2.5.1 | ||||
|  | ||||
| 2004-02-02  Sebastien Bacher  <seb128@debian.org> | ||||
|  | ||||
| 	* sysdeps/linux/mem.c: (glibtop_get_mem_s): patch from  | ||||
| 	Benoît Dejean <bnet@ifrance.com> to fix libtop_mem.used  | ||||
| 	and glibtop_mem.shared values (Closes: #129863). | ||||
|  | ||||
| Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
|  | ||||
| 	* libgtop-2.0.pc.in: Should be -lgtop-2.0, #130506 | ||||
|  | ||||
| 2004-01-05  Frederic Crozat  <fcrozat@mandrakesoft.com> | ||||
|  | ||||
| 	* libgtop.spec.in: License is GPL, not LGPL. | ||||
|  | ||||
| 2004-01-05  Malcolm Tredinnick <malcolm@commsecure.com.au> | ||||
|  | ||||
| 	* libgtop-2.0.pc.in: Include -lgtop in the linking flags. | ||||
| 	Bug #130506. | ||||
|  | ||||
| 2004-01-03  Robert Sedak  <robert.sedak@sk.htnet.hr> | ||||
|  | ||||
|         * configure.in: Added "hr" in ALL_LINGUAS. | ||||
|  | ||||
| 2003-12-22  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* acinclude.m4: | ||||
| 	* configure.in: remove linking to libgtop and checks for 64-bit | ||||
| 	integer bytes (fixes warning on build on glib 2.0 systems) | ||||
|  | ||||
| 2003-11-02  Ćœygimantas BeruÄka  <uid0@tuxfamily.org> | ||||
|  | ||||
| 	* configure.in: Added "lt" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-10-21  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* Makefile.am: | ||||
| 	* configure.in: | ||||
| 	* src/inodedb/.cvsignore: | ||||
| 	* sysdeps/names/Makefile.am: | ||||
| 	install only one library, libgtop-2.0 | ||||
| 	Fix build-time warnings due to the redefinition of guint64 | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* lib/read.c: (glibtop_read_l): | ||||
| 	* lib/read_data.c: (glibtop_read_data_l): | ||||
| 	* lib/write.c: (glibtop_write_l): apply patch for ngettext support | ||||
| 	by Christian Neumair <chris@gnome-de.org> | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* include/glibtop/cpu.h: | ||||
| 	* include/glibtop/procstate.h: | ||||
| 	* include/glibtop/procuid.h: | ||||
| 	* include/glibtop/uptime.h: | ||||
| 	* lib/sysdeps.c: | ||||
| 	* sysdeps/names/cpu.c: | ||||
| 	* sysdeps/names/procstate.c: | ||||
| 	* sysdeps/names/procuid.c: | ||||
| 	* sysdeps/names/uptime.c: Apply patch by the_h1ghlander@yahoo.com and | ||||
| 	Cory Omand <cory.omand@Sun.com> for Solaris support | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* src/inodedb/Makefile.am: link to libgtop_suid_common-2.0.la | ||||
| 	(Closes: #107990) | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* acconfig.h: | ||||
| 	* acinclude.m4: | ||||
| 	* include/glibtop/array.h: | ||||
| 	* include/glibtop/command.h: | ||||
| 	* include/glibtop/cpu.h: | ||||
| 	* include/glibtop/fsusage.h: | ||||
| 	* include/glibtop/glibtop-backend-info.h: | ||||
| 	* include/glibtop/glibtop-backend.h: | ||||
| 	* include/glibtop/glibtop-client.h: | ||||
| 	* include/glibtop/inodedb.h: | ||||
| 	* include/glibtop/interfaces.h: | ||||
| 	* include/glibtop/limits.h: | ||||
| 	* include/glibtop/loadavg.h: | ||||
| 	* include/glibtop/mem.h: | ||||
| 	* include/glibtop/mountlist.h: | ||||
| 	* include/glibtop/msg_limits.h: | ||||
| 	* include/glibtop/netinfo.h: | ||||
| 	* include/glibtop/netload.h: | ||||
| 	* include/glibtop/ppp.h: | ||||
| 	* include/glibtop/procargs.h: | ||||
| 	* include/glibtop/proccwd.h: | ||||
| 	* include/glibtop/prockernel.h: | ||||
| 	* include/glibtop/proclist.h: | ||||
| 	* include/glibtop/procmap.h: | ||||
| 	* include/glibtop/procmem.h: | ||||
| 	* include/glibtop/procsegment.h: | ||||
| 	* include/glibtop/procsignal.h: | ||||
| 	* include/glibtop/procstate.h: | ||||
| 	* include/glibtop/proctime.h: | ||||
| 	* include/glibtop/procuid.h: | ||||
| 	* include/glibtop/sem_limits.h: | ||||
| 	* include/glibtop/shm_limits.h: | ||||
| 	* include/glibtop/swap.h: | ||||
| 	* include/glibtop/sysdeps.h: | ||||
| 	* include/glibtop/sysinfo.h: | ||||
| 	* include/glibtop/uptime.h: | ||||
| 	* lib/glibtop-backend.c: (glibtop_backend_get): | ||||
| 	* lib/glibtop-client.c: (glibtop_client_open_backend): | ||||
| 	* lib/inodedb.c: (glibtop_inodedb_lookup_s): | ||||
| 	* lib/lib.pl: | ||||
| 	* src/inodedb/README.inodedb: | ||||
| 	* src/inodedb/mkinodedb2.c: (main): s/u_int64_t/guint64/ | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* Makefile.am: fix distchecking, release 2.5.0 | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* configure.in: fix the library versioning to be hand-made rather | ||||
| 	than uber-calculated from some esoteric numbers | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* glibtop.h: | ||||
| 	* include/glibtop/close.h: | ||||
| 	* include/glibtop/command.h: | ||||
| 	* include/glibtop/cpu.h: | ||||
| 	* include/glibtop/error.h: | ||||
| 	* include/glibtop/fsusage.h: | ||||
| 	* include/glibtop/global.h: | ||||
| 	* include/glibtop/inodedb.h: | ||||
| 	* include/glibtop/loadavg.h: | ||||
| 	* include/glibtop/mem.h: | ||||
| 	* include/glibtop/mountlist.h: | ||||
| 	* include/glibtop/msg_limits.h: | ||||
| 	* include/glibtop/netload.h: | ||||
| 	* include/glibtop/open.h: | ||||
| 	* include/glibtop/parameter.h: | ||||
| 	* include/glibtop/ppp.h: | ||||
| 	* include/glibtop/procargs.h: | ||||
| 	* include/glibtop/prockernel.h: | ||||
| 	* include/glibtop/proclist.h: | ||||
| 	* include/glibtop/procmap.h: | ||||
| 	* include/glibtop/procmem.h: | ||||
| 	* include/glibtop/procsegment.h: | ||||
| 	* include/glibtop/procsignal.h: | ||||
| 	* include/glibtop/procstate.h: | ||||
| 	* include/glibtop/proctime.h: | ||||
| 	* include/glibtop/procuid.h: | ||||
| 	* include/glibtop/read.h: | ||||
| 	* include/glibtop/read_data.h: | ||||
| 	* include/glibtop/sem_limits.h: | ||||
| 	* include/glibtop/shm_limits.h: | ||||
| 	* include/glibtop/signal.h: | ||||
| 	* include/glibtop/swap.h: | ||||
| 	* include/glibtop/sysdeps.h: | ||||
| 	* include/glibtop/sysinfo.h: | ||||
| 	* include/glibtop/types.h: | ||||
| 	* include/glibtop/union.h: | ||||
| 	* include/glibtop/uptime.h: | ||||
| 	* include/glibtop/version.h: | ||||
| 	* include/glibtop/write.h: | ||||
| 	* lib/Makefile.am: | ||||
| 	* lib/command.c: (glibtop_call_l): | ||||
| 	* lib/init.c: | ||||
| 	* lib/inodedb.c: | ||||
| 	* lib/lib.pl: | ||||
| 	* lib/open.c: | ||||
| 	* lib/read.c: | ||||
| 	* lib/read_data.c: (glibtop_read_data_l): | ||||
| 	* lib/structures.pl: | ||||
| 	* lib/write.c: | ||||
| 	* sysdeps/names/cpu.c: | ||||
| 	* sysdeps/names/fsusage.c: | ||||
| 	* sysdeps/names/loadavg.c: | ||||
| 	* sysdeps/names/mem.c: | ||||
| 	* sysdeps/names/mountlist.c: | ||||
| 	* sysdeps/names/msg_limits.c: | ||||
| 	* sysdeps/names/netinfo.c: | ||||
| 	* sysdeps/names/netload.c: | ||||
| 	* sysdeps/names/ppp.c: | ||||
| 	* sysdeps/names/procargs.c: | ||||
| 	* sysdeps/names/proccwd.c: | ||||
| 	* sysdeps/names/prockernel.c: | ||||
| 	* sysdeps/names/proclist.c: | ||||
| 	* sysdeps/names/procmap.c: | ||||
| 	* sysdeps/names/procmem.c: | ||||
| 	* sysdeps/names/procsegment.c: | ||||
| 	* sysdeps/names/procsignal.c: | ||||
| 	* sysdeps/names/procstate.c: | ||||
| 	* sysdeps/names/proctime.c: | ||||
| 	* sysdeps/names/procuid.c: | ||||
| 	* sysdeps/names/sem_limits.c: | ||||
| 	* sysdeps/names/shm_limits.c: | ||||
| 	* sysdeps/names/swap.c: | ||||
| 	* sysdeps/names/sysdeps.c: | ||||
| 	* sysdeps/names/uptime.c: fixed compilation | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* RELNOTES-0.25: removed | ||||
| 	* RELNOTES-1.0: removed | ||||
| 	* RELNOTES-1.0.x: removed | ||||
| 	* RELNOTES-1.1.x: removed | ||||
| 	* include/glibtop/Makefile.am: | ||||
| 	* include/glibtop/xmalloc.h: removed xmalloc.h | ||||
| 	* lib/command.c: (glibtop_call_l): | ||||
| 	* lib/init.c: (_init_server): | ||||
| 	* lib/inodedb.c: (glibtop_inodedb_open_s), | ||||
| 	(glibtop_inodedb_close_s): | ||||
| 	* lib/read_data.c: (glibtop_read_data_l): | ||||
| 	* lib/xmalloc.c: removed xmalloc.h | ||||
| 	replace all the xmalloc crap by glib memory management functions | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* lib/Makefile.am: | ||||
| 	* libgtop-config.in: | ||||
| 	* libgtop.spec.in: | ||||
| 	* libgtopConf.sh.in: | ||||
| 	* src/inodedb/Makefile.am: removed traces of guile, intllibs and | ||||
| 	libgnomesupport | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* .cvsignore: updated | ||||
| 	* configure.in: removed all traces of guile stuff | ||||
| 	* sysdeps/guile/.cvsignore: removed | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* sysdeps/Makefile.am: | ||||
| 	* sysdeps/guile/ChangeLog: | ||||
| 	* sysdeps/guile/Makefile.am: | ||||
| 	* sysdeps/guile/guile.pl: | ||||
| 	* sysdeps/guile/names/.cvsignore: | ||||
| 	* sysdeps/guile/names/Makefile.am: | ||||
| 	* sysdeps/guile/names/guile-names.pl: removed guile | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* Makefile.am: | ||||
| 	* configure.in: remove guile and libgnome-support stuff | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* configure.in: make it compile | ||||
|  | ||||
| 2003-10-19  Carlos PerellĂł MarĂn <carlos@gnome.org> | ||||
|  | ||||
| 	* support/*: Reverted libgtop changes. It's a common module | ||||
| 	and I should not modify it. | ||||
| 	* Added/removed files. Now the move should be done. | ||||
|  | ||||
| 2003-10-19  Carlos PerellĂł MarĂn <carlos@gnome.org> | ||||
|  | ||||
| 	* libgtop-GNOME-2-0-branch moved to HEAD. | ||||
|  | ||||
| 2003-09-30  Laurent Dhima  <laurenti@alblinux.net> | ||||
|  | ||||
| 	* configure.in: Added "sq" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-09-17  Fatih Demir <kabalak@gtranslator.org> | ||||
|  | ||||
| 	* configure.in: Added "ta" (Tamil) to the languages' list. | ||||
|  | ||||
| 2003-09-13  Carlos PerellĂł MarĂn <carlos@gnome.org> | ||||
|  | ||||
| 	* configure.in (ALL_LINGUAS):  Removed es_ES. | ||||
|  | ||||
| 2003-09-08  Kevin Vandersloot | ||||
|  | ||||
| 	* configure.in: release 2.0.5 | ||||
|  | ||||
| 2003-09-06  Taneem Ahmed  <taneem@bengalinux.org> | ||||
|  | ||||
| 	* configure.in: Added "bn" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-08-24  Kevin Vandersloot | ||||
|  | ||||
| 	* configure.in: release 2.0.4 | ||||
|  | ||||
| 2003-08-13  Guntupalli Karunakar  <karunakar@freedomink.org> | ||||
|  | ||||
| 	* configure.in: Added "hi" (Hindi) in ALL_LINGUAS. | ||||
|  | ||||
| 2003-08-13  Andrew Sobala  <aes@gnome.org> | ||||
|  | ||||
| 	* configure.in: release 2.0.3 | ||||
|  | ||||
| 2003-08-09  Dafydd Harries  <daf@parnassus.ath.cx> | ||||
|  | ||||
| 	* configure.in: Added "cy" (Welsh) to ALL_LINGUAS. | ||||
|  | ||||
| 2003-08-03  Malcolm Tredinnick <malcolm@commsecure.com.au> | ||||
|  | ||||
| 	* Makefile.am: Change subdirectory build order so that | ||||
| 	'distclean' target work (and other targets remain working). | ||||
| 	Fixes bug #84622. | ||||
|  | ||||
| 2003-06-10  Kjartan Maraas  <set EMAIL_ADDRESS environment variable> | ||||
|  | ||||
| 	* libgtop-2.0.pc.in: Fix missing build flags. Patch from | ||||
| 	Julio Merino. Fixes bug #103086. | ||||
| 	* sysdeps/linux/mem.c: (glibtop_get_mem_s): Fix memory calculation | ||||
| 	under Linux. Patch from <rwahl@gmx.de>. Fixes bug #68626. | ||||
|  | ||||
| 2003-06-10  Kjartan Maraas  <kmaraas@gnome.org> | ||||
|  | ||||
| 	* sysdeps/freebsd/glibtop_machine.h: | ||||
| 	* sysdeps/kernel/glibtop_private.h: | ||||
| 	* sysdeps/solaris/glibtop_machine.h: | ||||
| 	* sysdeps/solaris/glibtop_private.h: Comment out text after | ||||
| 	#endif to make some compilers happy. | ||||
|  | ||||
| 2003-05-11  Andrew Sobala  <aes@gnome.org> | ||||
|  | ||||
| 	* configure.in: release 2.0.2 | ||||
|  | ||||
| 2003-05-10  Danilo Ć egan  <dsegan@gmx.net> | ||||
|  | ||||
| 	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-04-17  Abel Cheung  <maddog@linux.org.hk> | ||||
|  | ||||
| 	* configure.in: Added "mk" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-03-13  Christian Rose  <menthos@menthos.com> | ||||
|  | ||||
| 	* configure.in: Added "ml" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-03-10  Roozbeh Pournader  <roozbeh@sharif.edu> | ||||
|  | ||||
| 	* configure.in: Added "fa" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-03-08  Gil "Dolfin" Osher <dolfin@rpg.org.il> | ||||
|  | ||||
| 	* configure.in: Added he to ALL_LINGUAS. | ||||
|  | ||||
| 2003-02-25  T?”ivo Leedj?€rv  <toivo@linux.ee> | ||||
|  | ||||
| 	* configure.in: Added et to ALL_LINGUAS. | ||||
|  | ||||
| 2003-02-16  Mohammad DAMT  <mdamt@bisnisweb.com> | ||||
|  | ||||
| 	* po/id.po: Added Indonesian translation | ||||
| 	* configure.in: Added "id" to ALL_LINGUAS | ||||
|  | ||||
| 2003-01-31  James Henstridge  <james@daa.com.au> | ||||
|  | ||||
| 	* acinclude.m4 (GNOME_SUPPORT_CHECKS): use AC_LIBOBJ() to set | ||||
| 	LIBOBJS variable, since newer autoconf's barf on direct access. | ||||
| 	This also takes care of setting LTLIBOBJS for us. | ||||
|  | ||||
| 2003-01-29  Abel Cheung  <maddog@linux.org.hk> | ||||
|  | ||||
| 	* configure.in: Added ar to ALL_LINGUAS | ||||
|  | ||||
| 2003-01-25  Alessio Frusciante  <algol@firenze.linux.it> | ||||
|  | ||||
| 	* configure.in: Added "it" (Italian) to ALL_LINGUAS. | ||||
|  | ||||
| 2003-01-23  Marius Andreiana <marius galuna.ro> | ||||
|  | ||||
| 	* configure.in: Added "ro" to ALL_LINGUAS | ||||
|  | ||||
| 2003-01-22  Christian Rose  <menthos@menthos.com> | ||||
|  | ||||
| 	* configure.in: Added "mn" to ALL_LINGUAS. | ||||
|  | ||||
| 2003-01-16  Daniel Yacob <locales@geez.org> | ||||
|  | ||||
| 	* configure.in: added am to ALL_LINGUAS | ||||
| 	 | ||||
| 2003-01-12  Kevin Vandersloot <kfv101@psu.edu> | ||||
|  | ||||
| 	* configure.in: release 2.0.1 | ||||
|  | ||||
| 2002-12-30  Bastien Nocera <hadess@hadess.net> | ||||
|  | ||||
| 	* Added sysdeps/aix directory that was missing | ||||
|  | ||||
| 2002-10-08  Laurent Vivier <Laurent.Vivier@bull.net> | ||||
|  | ||||
| 	* Framework for AIX support | ||||
|  | ||||
| 2002-08-07  Vincent Berger <Vincent.Berger@ext.bull.net>  | ||||
|  | ||||
| 	* support/: Add alloca management for AIX | ||||
| 	* configure.in: correct checking for nm | ||||
|  | ||||
| 2002-11-03  Dmitry G. Mastrukov  <dmitry@taurussoft.org> | ||||
|  | ||||
| 	* configure.in: Added Belarusian to ALL_LINGUAS | ||||
|  | ||||
| 2002-09-26  Stanislav Brabec  <sbrabec@suse.cz> | ||||
|  | ||||
| 	* configure.in: Added cs to ALL_LINGUAS. | ||||
|  | ||||
| 2002-09-26  jacob berkman  <jacob@ximian.com> | ||||
|  | ||||
| 	* configure.in (ALL_LINGUAS): remove cs until the file actually | ||||
| 	gets added | ||||
|  | ||||
| 2002-09-26  Stanislav Brabec  <sbrabec@suse.cz> | ||||
|  | ||||
| 	* configure.in: Added cs to ALL_LINGUAS. | ||||
|  | ||||
| 2002-08-20  Peteris Krisjanis <peteris.krisjanis@os.lv> | ||||
|  | ||||
| 	* configure.in: (ALL_LINGUAS) Added Latvian (lv). | ||||
|  | ||||
| 2002-06-25  Yanko Kaneti <yaneti@declera.com> | ||||
|  | ||||
| 	* configure.in: (ALL_LINGUAS) Added Bulgarian (bg). | ||||
|  | ||||
| 2002-05-10  Kevin Vandersloot <kfv101@psu.edu> | ||||
|  | ||||
| 	* configure.in: release 2.0.0 | ||||
| @@ -1179,7 +625,7 @@ Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
| 1998-10-20  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* include/glibtop/proc_signal.h: Use a 2-element-array of | ||||
| 	type `guint64' for all signal masks instead of just | ||||
| 	type `u_int64_t' for all signal masks instead of just | ||||
| 	scalar numbers. This avoids problems on systems with more | ||||
| 	than 64 signals. | ||||
|  | ||||
| @@ -1189,7 +635,7 @@ Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
|  | ||||
| 	[NOTE for people porting libgtop: | ||||
| 	 | ||||
|  	 Please use all 64 bits of the `guint64' and not just 32 - the | ||||
|  	 Please use all 64 bits of the `u_int64_t' and not just 32 - the | ||||
| 	 signal number (as it is used in calls to kill () ...) should be | ||||
| 	 a bit-index into this field; if a process ignores for instance | ||||
| 	 signal 64, it has the 0-bit of sigcatch[1] set, if it ignores 63, | ||||
| @@ -1329,7 +775,7 @@ Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
| 	* include/glibtop/command.h (glibtop_call): Third argument is | ||||
| 	now `const void *'. | ||||
|  | ||||
| 	* include/glibtop/xmalloc.h (g_free): Now taking a | ||||
| 	* include/glibtop/xmalloc.h (glibtop_free): Now taking a | ||||
| 	`const void *'. | ||||
|  | ||||
| 1998-08-25  Martin Baulig  <martin@home-of-linux.org> | ||||
| @@ -1530,14 +976,14 @@ Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
|  | ||||
| 1998-07-30  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* acconfig.h (guint64, int64_t): Added. | ||||
| 	* acconfig.h (u_int64_t, int64_t): Added. | ||||
|  | ||||
| 	* lib/lib.awk: Using correct `(1 << GLIBTOP_SYSDEPS_<feature>)' | ||||
| 	in call to `glibtop_init_r'. | ||||
|  | ||||
| 	* configure.in (GNOME_LIBGTOP_TYPES): New check. | ||||
|  | ||||
| 	* include/glibtop/*.h: Using `guint64' instead of `unsigned long' | ||||
| 	* include/glibtop/*.h: Using `u_int64_t' instead of `unsigned long' | ||||
| 	and `long' to avoid problems when client is on a 32bit system and | ||||
| 	the server on a 64bit system. | ||||
|  | ||||
| @@ -1915,7 +1361,7 @@ Wed Jan  7 02:23:28 2004  Jonathan Blandford  <jrb@gnome.org> | ||||
|  | ||||
| 	* glibtop.h (_glibtop): New field `server_port'. | ||||
|  | ||||
| 	* lib/xmalloc.c (g_strdup): New function. | ||||
| 	* lib/xmalloc.c (glibtop_strdup_r): New function. | ||||
|  | ||||
| 	* lib/gnuclient.c: Removed. | ||||
| 	 | ||||
|   | ||||
| @@ -1,2 +0,0 @@ | ||||
| Email: martin@home-of-linux.org | ||||
| Email: dave@srce.hr | ||||
							
								
								
									
										81
									
								
								Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								Makefile.am
									
									
									
									
									
								
							| @@ -1,20 +1,93 @@ | ||||
| ## Process this file with automake to produce Makefile.in. | ||||
|  | ||||
| SUBDIRS = po misc include sysdeps lib src examples doc | ||||
| if EXAMPLES | ||||
| examples_SUBDIRS = examples | ||||
| else | ||||
| examples_SUBDIRS = | ||||
| endif | ||||
|  | ||||
| if BUILD_GNOME_SUPPORT | ||||
| support = support | ||||
| endif | ||||
|  | ||||
| SUBDIRS = po $(support) misc include sysdeps lib src \ | ||||
| 	  $(examples_SUBDIRS) doc | ||||
|  | ||||
| libgtopinclude_HEADERS = glibtop.h | ||||
| libgtopincludedir = $(includedir)/libgtop-2.0 | ||||
|  | ||||
| EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \ | ||||
| 	LIBGTOP-VERSION features.def \ | ||||
| 	libgtop-sysdeps.m4 README \ | ||||
| EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \ | ||||
| 	LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \ | ||||
| 	RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \ | ||||
| 	libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4 | ||||
|  | ||||
| dist-hook: | ||||
| 	cp libgtop.spec $(distdir) | ||||
|  | ||||
| release: | ||||
| 	$(MAKE) dist distdir=$(PACKAGE)-$(VERSION) | ||||
|  | ||||
| ## Put `exec' in the name because this should be installed by | ||||
| ## `install-exec', not `install-data'. | ||||
| ## confexecdir	= $(libdir) | ||||
| ## confexec_DATA	= $(top_builddir)/libgtopConf.sh \ | ||||
| ##		  $(top_builddir)/libgtop-features.def | ||||
| 		   | ||||
| pkgconfigdir = $(libdir)/pkgconfig | ||||
| pkgconfig_DATA = libgtop-2.0.pc | ||||
|  | ||||
| CLEANFILES=libgtopConf.sh | ||||
|  | ||||
| ## bin_SCRIPTS = $(top_builddir)/libgtop-config | ||||
|  | ||||
| ## to automatically rebuild aclocal.m4 if any of the macros in | ||||
| ## `macros/' change | ||||
| ## @MAINT@ include macros/macros.dep | ||||
| ## @MAINT@macros/macros.dep: macros/Makefile.am | ||||
| ## @MAINT@	cd macros && $(MAKE) macros.dep | ||||
|  | ||||
| @MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION | ||||
|  | ||||
| ## We create libgtopConf.sh here and not from configure because we want | ||||
| ## to get the paths expanded correctly.  Macros like srcdir are given | ||||
| ## the value NONE in configure if the user doesn't specify them (this | ||||
| ## is an autoconf feature, not a bug). | ||||
| libgtopConf.sh: libgtopConf.sh.in Makefile | ||||
| ## Use sed and then mv to avoid problems if the user interrupts. | ||||
| 	sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \ | ||||
| 	  -e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \ | ||||
| 	  -e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \ | ||||
| 	  -e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \ | ||||
| 	  -e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \ | ||||
| 	  -e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \ | ||||
| 	  -e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \ | ||||
| 	  -e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \ | ||||
| 	      < $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \ | ||||
| 	  && mv libgtopConf.tmp libgtopConf.sh | ||||
|  | ||||
| # libgtop-config: libgtop-config.in Makefile | ||||
| #	sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \ | ||||
| #	      < $(srcdir)/libgtop-config.in > libgtop-config.tmp \ | ||||
| #	  && mv libgtop-config.tmp libgtop-config && \ | ||||
| #		chmod 755 libgtop-config | ||||
|  | ||||
| libgtop-features.def: features.def | ||||
| 	@LN_S@ $< $@ | ||||
|  | ||||
|   | ||||
							
								
								
									
										14
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,17 +1,3 @@ | ||||
| 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: | ||||
| ================= | ||||
|  | ||||
|   | ||||
							
								
								
									
										146
									
								
								RELNOTES-0.25
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								RELNOTES-0.25
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,146 @@ | ||||
| RELEASE NOTES FOR LIBGTOP 0.25 STABLE | ||||
| ===================================== | ||||
|  | ||||
| OVERVIEW | ||||
| -------- | ||||
|  | ||||
| LibGTop is a library that read information about processes and the running | ||||
| systems. This information include: | ||||
|  | ||||
| General System Information | ||||
|  | ||||
| cpu		- CPU Usage | ||||
| mem		- Memory Usage | ||||
| swap		- Swap Usage (including paging activity) | ||||
| loadavg		- Load average (including nr_running, nr_tasks, last_pid) | ||||
| uptime		- Uptime and Idle time, can be calculated from CPU usage | ||||
|  | ||||
| SYS V IPC Limits: | ||||
|  | ||||
| shm_limits	- Shared Memory Limits | ||||
| msg_limits	- Message Queue Limits | ||||
| sem_limits	- Semaphore Set Limits | ||||
|  | ||||
| Process List: | ||||
|  | ||||
| proclist	- List of processes | ||||
|  | ||||
| Process information: | ||||
|  | ||||
| proc_state	- cmd, state, uid, gid | ||||
| proc_uid	- uid,euid,gid,egid,pid,ppid,pgrp | ||||
| 		  session,tty,tpgid,priority,nice | ||||
| proc_mem	- size,vsize,resident,share,rss,rss_rlim | ||||
| proc_time	- start_time,rtime,utime,stime,cutime,cstime | ||||
| 		  timeout,it_real_value,frequency | ||||
| proc_signal	- signal,blocked,sigignore,sigcatch | ||||
| proc_kernel	- k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt | ||||
| 		  kstk_esp,kstk_eip,nwchan,wchan | ||||
| proc_segment	- text_rss,shlib_rss,data_rss,stack_rss,dirty_size | ||||
| 		  start_code,end_code,start_stack | ||||
|  | ||||
| Process maps: | ||||
|  | ||||
| proc_map	- Process map (/proc/<pid>/maps under Linux) | ||||
|  | ||||
| File system usage: | ||||
|  | ||||
| mountlist	- List of currently mounted filesystems | ||||
| fsusage		- File system usage | ||||
|  | ||||
| PORTABILITY: | ||||
| ----------- | ||||
|  | ||||
| LibGtop is designed to be as portable as possible. None of the functions | ||||
| and retrieved information should be specific to a specific operating | ||||
| system. So you only need to port the system dependent part of the library | ||||
| to a new system and all application programs can then use libgtop on this | ||||
| new system. | ||||
|  | ||||
| CLIENT/SERVER MODEL: | ||||
| ------------------- | ||||
|  | ||||
| Some systems like DEC OSF/1 or BSD require special priviledges for the calling | ||||
| proces to fetch the required information (SUID root/SGID kmem). To solve this | ||||
| problem, I designed a client/server model which makes a call to a SUID/SGID | ||||
| server which fetches the required information whenever it is required. This | ||||
| server is only called for features that really require priviledges, otherwise | ||||
| the sysdeps code is called directory (every user can get the CPU usage on | ||||
| DEC OSF/1, but only root can get information about processes other than the | ||||
| current one). | ||||
|  | ||||
| There is also some kind of daemon which can be used to fetch information from | ||||
| remote systems (still experimental). This daemon normally runs as nobody and | ||||
| calls the SUID/SGID itself when needed. | ||||
|  | ||||
| GNOME APPLETS: | ||||
| -------------- | ||||
|  | ||||
| There are some applets and applications which already use LibGTop. They can | ||||
| be found in the `libgtop-apps' module in the GNOME CVS tree: | ||||
|  | ||||
| * Applets:  cpuload, cpumemusage - they need LibGTop to get their information | ||||
|                                    on all systems other than Linux. | ||||
|  | ||||
| * Applets:  diskusage - just uses the mountlist/fsusage features of LibGTop, | ||||
|                         the one in gnome-core also works on other systems. | ||||
|  | ||||
| * Applets:  multiload - I enhanced the cpuload applet a little bit, it is | ||||
|                         now a multi applet and can display CPU, Memory and | ||||
|                         Swap usages. | ||||
|  | ||||
| GTOP: | ||||
| ---- | ||||
|  | ||||
| This cool GNOME app has been ported to use LibGTop. It can be found in | ||||
| `libgtop-apps/gtop' in the GNOME CVS tree. | ||||
|  | ||||
| You can now use nearly the full functionality of GTop on FreeBSD ! | ||||
|  | ||||
|  | ||||
| PLATTFORM SPECIFIC NOTES FOR LINUX: | ||||
| ================================== | ||||
|  | ||||
| Under Linux, LibGTop should work without problems and read everything | ||||
| from /proc. | ||||
|  | ||||
| There is also an experimental kernel interface to read this information | ||||
| directly from the kernel with a system call - but this is still experimental | ||||
| and not well tested while I made this release. | ||||
|  | ||||
| PLATTFORM SPECIFIC NOTES FOR FREEBSD: | ||||
| ==================================== | ||||
|  | ||||
| LibGTop should now work under FreeBSD and give you the full functionality | ||||
| of GTop. | ||||
|  | ||||
| There are a few caveats: | ||||
|  | ||||
| * You need to manually make the `$(prefix)/bin/libgtop_server' SGID to kmem | ||||
|   after installation and mount the /proc filesystem of FreeBSD | ||||
|   (/proc/<pid>/mem is used withing kvm_uread ()). | ||||
|  | ||||
| * To get the filenames of the process maps displayed in GTop, you need to | ||||
|   configure with the `--with-libgtop-inodedb' option (you need GDBM for this | ||||
|   to work). | ||||
|  | ||||
| * You have then to create an inode database which is used to look up to | ||||
|   filenames. This is done using the `mkinodedb' program which comes along | ||||
|   with libgtop. | ||||
|  | ||||
|   See the file src/inodedb/README for details: | ||||
|  | ||||
|   The `mkinodedb' program which is build in this directory takes two | ||||
|   command line arguments: the full pathname of the database to be created | ||||
|   and the name of a configuration file consisting of directory and file names | ||||
|   each on a line by itself - see `/etc/ld.so.conf' for an example. | ||||
|  | ||||
|   Putting a directory name in this file means all regular files found in this | ||||
|   directory are included in the database, but it will not recursively descend | ||||
|   into subdirectories (for instance, we want everythink in `/usr/lib' but not | ||||
|   every single file in `/usr/lib/sgml'). You can also use filenames to include | ||||
|   a single file. | ||||
|  | ||||
| Have fun, | ||||
|  | ||||
| Martin <martin@home-of-linux.org> | ||||
							
								
								
									
										163
									
								
								RELNOTES-1.0
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								RELNOTES-1.0
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,163 @@ | ||||
| RELEASE NOTES FOR LIBGTOP 1.0 STABLE | ||||
| ==================================== | ||||
|  | ||||
| OVERVIEW | ||||
| -------- | ||||
|  | ||||
| LibGTop is a library that read information about processes and the | ||||
| running systems. This information include: | ||||
|  | ||||
| General System Information: | ||||
|  | ||||
| cpu		- CPU Usage | ||||
| mem		- Memory Usage | ||||
| swap		- Swap Usage (including paging activity) | ||||
| loadavg		- Load average (including nr_running, nr_tasks, last_pid) | ||||
| uptime		- Uptime and Idle time, can be calculated from CPU usage | ||||
|  | ||||
| SYS V IPC Limits: | ||||
|  | ||||
| shm_limits	- Shared Memory Limits | ||||
| msg_limits	- Message Queue Limits | ||||
| sem_limits	- Semaphore Set Limits | ||||
|  | ||||
| Network: | ||||
|  | ||||
| netload		- Network load | ||||
| ppp		- PPP statistics | ||||
|  | ||||
| Process List: | ||||
|  | ||||
| proclist	- List of processes | ||||
|  | ||||
| Process information: | ||||
|  | ||||
| proc_state	- cmd, state, uid, gid | ||||
| proc_uid	- uid,euid,gid,egid,pid,ppid,pgrp | ||||
| 		  session,tty,tpgid,priority,nice | ||||
| proc_mem	- size,vsize,resident,share,rss,rss_rlim | ||||
| proc_time	- start_time,rtime,utime,stime,cutime,cstime | ||||
| 		  timeout,it_real_value,frequency | ||||
| proc_signal	- signal,blocked,sigignore,sigcatch | ||||
| proc_kernel	- k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt | ||||
| 		  kstk_esp,kstk_eip,nwchan,wchan | ||||
| proc_segment	- text_rss,shlib_rss,data_rss,stack_rss,dirty_size | ||||
| 		  start_code,end_code,start_stack | ||||
|  | ||||
| Process maps: | ||||
|  | ||||
| proc_args	- Command line arguments | ||||
| proc_map	- Process map (/proc/<pid>/maps under Linux) | ||||
|  | ||||
| File system usage: | ||||
|  | ||||
| mountlist	- List of currently mounted filesystems | ||||
| fsusage		- File system usage | ||||
|  | ||||
| PORTABILITY: | ||||
| ----------- | ||||
|  | ||||
| LibGTop is designed to be as portable as possible. None of the | ||||
| functions and retrieved information should be specific to a specific | ||||
| operating system. So you only need to port the system dependent part | ||||
| of the library to a new system and all application programs can then | ||||
| use libgtop on this new system. | ||||
|  | ||||
| CLIENT/SERVER MODEL: | ||||
| ------------------- | ||||
|  | ||||
| Some systems like DEC OSF/1 or BSD require special privileges for the | ||||
| calling process to fetch the required information (SUID root/SGID | ||||
| kmem). To solve this problem, I designed a client/server model which | ||||
| makes a call to a SUID/SGID server which fetches the required | ||||
| information whenever it is required. This server is only called for | ||||
| features that really require privileges, otherwise the sysdeps code | ||||
| is called directory (every user can get the CPU usage on DEC OSF/1, | ||||
| but only root can get information about processes other than the | ||||
| current one). | ||||
|  | ||||
| There is also some kind of daemon which can be used to fetch | ||||
| information from remote systems (still experimental). This daemon | ||||
| normally runs as nobody and calls the SUID/SGID itself when needed. | ||||
|  | ||||
| LIBGTOP AND GNOME: | ||||
| ----------------- | ||||
|  | ||||
| LibGTop is currently used in various places in the GNOME Project, | ||||
| for instance in some of the applets in gnome-core and - of cause - | ||||
| this ultra-cool application called GTop ... | ||||
|  | ||||
| Although LibGTop is not specific to GNOME and under GPL license, I | ||||
| spent most my time during the last months to work in the GNOME project | ||||
| so this is the primary use for LibGTop (and currently the only one). | ||||
|  | ||||
| However, you can also give its configure.in script the `--without-gnome' | ||||
| parameter and then use it fully without GNOME in your own applications. | ||||
|  | ||||
| LIBGTOP AND GNOME - PART II: | ||||
| --------------------------- | ||||
|  | ||||
| LibGTop was tested with FreeBSD 3.0 but it should also work with | ||||
| FreeBSD 2.2.7, NetBSD and OpenBSD. | ||||
|  | ||||
| Currently my primary aim is to help the GNOME people with our 1.0 release | ||||
| so I won't have much time to test it with any other system than Linux. | ||||
|  | ||||
| However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for | ||||
| LibGTop and whenever I get bug reports I will do my best to fix them as | ||||
| quickly as possible. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR LINUX: | ||||
| ================================== | ||||
|  | ||||
| Under Linux, LibGTop should work without problems and read everything | ||||
| from /proc. | ||||
|  | ||||
| LibGTop 0.25 also had an experimental kernel interface to read this | ||||
| information directly from the kernel with a system call - but I have | ||||
| currently dropped support for this as I am too busy with GNOME | ||||
| development to keep current with kernel hacking. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR SOLARIS: | ||||
| ==================================== | ||||
|  | ||||
| Since so many people were asking me about this: | ||||
|  | ||||
| LibGTop currently does not have any support for Solaris, and it will | ||||
| never have until some volunteer writes the code for it. I can't do this | ||||
| myself since I do not have any machine to test it on. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR BSD: | ||||
| ================================= | ||||
|  | ||||
| There are a few caveats: | ||||
|  | ||||
| * You need to manually make the `$(prefix)/bin/libgtop_server' SGID to | ||||
|   kmem after installation and mount the /proc file system of FreeBSD | ||||
|   (/proc/<pid>/mem is used within kvm_uread ()). | ||||
|  | ||||
| * To get the filenames of the process maps displayed in GTop, you need | ||||
|   to configure with the `--with-libgtop-inodedb' option (you need GDBM | ||||
|   for this to work). | ||||
|  | ||||
|   You have then to create an inode database which is used to look up | ||||
|   filenames. This is done using the `mkinodedb' program which comes | ||||
|   along with libgtop. | ||||
|  | ||||
|   See the file src/inodedb/README for details: | ||||
|  | ||||
|   The `mkinodedb' program which is build in this directory takes two | ||||
|   command line arguments: the full pathname of the database to be | ||||
|   created and the name of a configuration file consisting of directory | ||||
|   and file names each on a line by itself - see `/etc/ld.so.conf' for | ||||
|   an example. | ||||
|  | ||||
|   Putting a directory name in this file means all regular files found | ||||
|   in this directory are included in the database, but it will not | ||||
|   recursively descend into subdirectories (for instance, we want | ||||
|   everything in `/usr/lib' but not every single file in `/usr/lib/sgml'). | ||||
|   You can also use filenames to include a single file. | ||||
|  | ||||
| Have fun, | ||||
|  | ||||
| Martin <martin@home-of-linux.org> | ||||
							
								
								
									
										172
									
								
								RELNOTES-1.0.x
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								RELNOTES-1.0.x
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,172 @@ | ||||
| RELEASE NOTES FOR LIBGTOP 1.0.7 | ||||
| =============================== | ||||
|  | ||||
| OVERVIEW | ||||
| -------- | ||||
|  | ||||
| LibGTop is a library that read information about processes and the | ||||
| running systems. This information include: | ||||
|  | ||||
| General System Information: | ||||
|  | ||||
| cpu		- CPU Usage | ||||
| mem		- Memory Usage | ||||
| swap		- Swap Usage (including paging activity) | ||||
| loadavg		- Load average (including nr_running, nr_tasks, last_pid) | ||||
| uptime		- Uptime and Idle time, can be calculated from CPU usage | ||||
|  | ||||
| SYS V IPC Limits: | ||||
|  | ||||
| shm_limits	- Shared Memory Limits | ||||
| msg_limits	- Message Queue Limits | ||||
| sem_limits	- Semaphore Set Limits | ||||
|  | ||||
| Network: | ||||
|  | ||||
| netload		- Network load | ||||
| ppp		- PPP statistics | ||||
|  | ||||
| Process List: | ||||
|  | ||||
| proclist	- List of processes | ||||
|  | ||||
| Process information: | ||||
|  | ||||
| proc_state	- cmd, state, uid, gid | ||||
| proc_uid	- uid,euid,gid,egid,pid,ppid,pgrp | ||||
| 		  session,tty,tpgid,priority,nice | ||||
| proc_mem	- size,vsize,resident,share,rss,rss_rlim | ||||
| proc_time	- start_time,rtime,utime,stime,cutime,cstime | ||||
| 		  timeout,it_real_value,frequency | ||||
| proc_signal	- signal,blocked,sigignore,sigcatch | ||||
| proc_kernel	- k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt | ||||
| 		  kstk_esp,kstk_eip,nwchan,wchan | ||||
| proc_segment	- text_rss,shlib_rss,data_rss,stack_rss,dirty_size | ||||
| 		  start_code,end_code,start_stack | ||||
|  | ||||
| Process maps: | ||||
|  | ||||
| proc_args	- Command line arguments | ||||
| proc_map	- Process map (/proc/<pid>/maps under Linux) | ||||
|  | ||||
| File system usage: | ||||
|  | ||||
| mountlist	- List of currently mounted filesystems | ||||
| fsusage		- File system usage | ||||
|  | ||||
| PORTABILITY: | ||||
| ----------- | ||||
|  | ||||
| LibGTop is designed to be as portable as possible. None of the | ||||
| functions and retrieved information should be specific to a specific | ||||
| operating system. So you only need to port the system dependent part | ||||
| of the library to a new system and all application programs can then | ||||
| use libgtop on this new system. | ||||
|  | ||||
| CLIENT/SERVER MODEL: | ||||
| ------------------- | ||||
|  | ||||
| Some systems like DEC OSF/1 or BSD require special privileges for the | ||||
| calling process to fetch the required information (SUID root/SGID | ||||
| kmem). To solve this problem, I designed a client/server model which | ||||
| makes a call to a SUID/SGID server which fetches the required | ||||
| information whenever it is required. This server is only called for | ||||
| features that really require privileges, otherwise the sysdeps code | ||||
| is called directory (every user can get the CPU usage on DEC OSF/1, | ||||
| but only root can get information about processes other than the | ||||
| current one). | ||||
|  | ||||
| There is also some kind of daemon which can be used to fetch | ||||
| information from remote systems (still experimental). This daemon | ||||
| normally runs as nobody and calls the SUID/SGID itself when needed. | ||||
|  | ||||
| LIBGTOP AND GNOME: | ||||
| ----------------- | ||||
|  | ||||
| Although LibGTop is part of the GNOME desktop environment, its main | ||||
| interface is totally independent from any particular desktop environment, | ||||
| so you can also use it as a standalone library in any piece of GPLed | ||||
| software which makes it also a valuable part of the GNU project. | ||||
|  | ||||
| LibGTop is currently used in various places in the GNOME Project, | ||||
| for instance in some of the applets in gnome-core and - of cause - | ||||
| this ultra-cool application called GTop ... | ||||
|  | ||||
| However, you need to give the configure.in script the `--without-gnome' | ||||
| parameter when you want to use LibGTop without GNOME (this is because, | ||||
| if you want to use it with GNOME, you need to compile it after the main | ||||
| GNOME libraries and I wanted to avoid getting unnecessary bug reports | ||||
| about this). | ||||
|  | ||||
| LIBGTOP AND GNOME - PART II: | ||||
| --------------------------- | ||||
|  | ||||
| LibGTop was tested with FreeBSD 3.0 but it should also work with | ||||
| FreeBSD 2.2.7, NetBSD and OpenBSD. | ||||
|  | ||||
| Unfortunately, I don't have the power and disk space to install all | ||||
| possible operating systems out there on my machine and test things myself, | ||||
| so I depend on people telling me whether it works and sending me bug | ||||
| reports and patches if not. | ||||
|  | ||||
| However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for | ||||
| LibGTop and whenever I get bug reports I will do my best to fix them as | ||||
| quickly as possible. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR LINUX: | ||||
| ================================== | ||||
|  | ||||
| [I am speaking of the Linux kernel here.] | ||||
|  | ||||
| Under Linux, LibGTop should work without problems and read everything | ||||
| from /proc. | ||||
|  | ||||
| LibGTop 0.25 also had an experimental kernel interface to read this | ||||
| information directly from the kernel with a system call - but I have | ||||
| currently dropped support for this as I am too busy with GNOME | ||||
| development to keep current with kernel hacking. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR SOLARIS: | ||||
| ==================================== | ||||
|  | ||||
| The development branch of LibGTop (the 1.1.x series) has a first version | ||||
| of the Solaris port which works at least on Solaris 7. | ||||
|  | ||||
| If you are on a Solaris system and want to give it a try, just fetch the | ||||
| latest 1.1.x tarball from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/ | ||||
| and try it out. | ||||
|  | ||||
| PLATFORM SPECIFIC NOTES FOR BSD: | ||||
| ================================= | ||||
|  | ||||
| There are a few caveats: | ||||
|  | ||||
| * You need to manually make the `$(prefix)/bin/libgtop_server' SGID to | ||||
|   kmem after installation and mount the /proc file system of FreeBSD | ||||
|   (/proc/<pid>/mem is used within kvm_uread ()). | ||||
|  | ||||
| * To get the filenames of the process maps displayed in GTop, you need | ||||
|   to configure with the `--with-libgtop-inodedb' option (you need GDBM | ||||
|   for this to work). | ||||
|  | ||||
|   You have then to create an inode database which is used to look up | ||||
|   filenames. This is done using the `mkinodedb' program which comes | ||||
|   along with libgtop. | ||||
|  | ||||
|   See the file src/inodedb/README for details: | ||||
|  | ||||
|   The `mkinodedb' program which is build in this directory takes two | ||||
|   command line arguments: the full pathname of the database to be | ||||
|   created and the name of a configuration file consisting of directory | ||||
|   and file names each on a line by itself - see `/etc/ld.so.conf' for | ||||
|   an example. | ||||
|  | ||||
|   Putting a directory name in this file means all regular files found | ||||
|   in this directory are included in the database, but it will not | ||||
|   recursively descend into subdirectories (for instance, we want | ||||
|   everything in `/usr/lib' but not every single file in `/usr/lib/sgml'). | ||||
|   You can also use filenames to include a single file. | ||||
|  | ||||
| Have fun, | ||||
|  | ||||
| Martin <martin@home-of-linux.org> | ||||
| @@ -126,7 +126,7 @@ | ||||
| #undef HAVE_GUILE | ||||
|  | ||||
| #undef ssize_t | ||||
| #undef guint64 | ||||
| #undef u_int64_t | ||||
| #undef int64_t | ||||
|  | ||||
| #undef HAVE_GLIBTOP_MACHINE_H | ||||
|   | ||||
							
								
								
									
										35
									
								
								acinclude.m4
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								acinclude.m4
									
									
									
									
									
								
							| @@ -43,6 +43,8 @@ dnl | ||||
| AC_DEFUN([GNOME_LIBGTOP_TYPES], | ||||
| [ | ||||
|         AC_CHECK_HEADERS(sys/bitypes.h) | ||||
|         AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int) | ||||
|         AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int) | ||||
| ]) | ||||
|  | ||||
| dnl See whether we need a declaration for a function. | ||||
| @@ -475,8 +477,8 @@ fi | ||||
|  | ||||
| if test -n "$list_mounted_fs" && test $space != no; then | ||||
| DF_PROG="df" | ||||
| # AC_LIBOBJ(fsusage) | ||||
| # AC_LIBOBJ(mountlist) | ||||
| # LIBOBJS="$LIBOBJS fsusage.o" | ||||
| # LIBOBJS="$LIBOBJS mountlist.o" | ||||
| fi | ||||
|  | ||||
| # Check for SunOS statfs brokenness wrt partitions 2GB and larger. | ||||
| @@ -515,9 +517,10 @@ AC_DEFUN([GNOME_SUPPORT_CHECKS],[ | ||||
|   # this should go away soon | ||||
|   need_gnome_support=yes | ||||
|  | ||||
|   AC_CHECK_FUNCS(getopt_long,, | ||||
|    [AC_LIBOBJ(getopt) | ||||
|     AC_LIBOBJ(getopt1)]) | ||||
|   save_LIBOBJS="$LIBOBJS" | ||||
|   LIBOBJS= | ||||
|  | ||||
|   AC_CHECK_FUNCS(getopt_long,,LIBOBJS="$LIBOBJS getopt.o getopt1.o") | ||||
|  | ||||
|   # for `scandir' | ||||
|   AC_HEADER_DIRENT | ||||
| @@ -542,7 +545,7 @@ AC_DEFUN([GNOME_SUPPORT_CHECKS],[ | ||||
|   AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen) | ||||
|   AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf) | ||||
|  | ||||
|   AC_CHECK_FUNCS(realpath,,AC_LIBOBJ(canonicalize)) | ||||
|   AC_CHECK_FUNCS(realpath,,LIBOBJS="$LIBOBJS canonicalize.o") | ||||
|  | ||||
|   # to include `error.c' error.c has some HAVE_* checks | ||||
|   AC_CHECK_FUNCS(vprintf doprnt strerror_r) | ||||
| @@ -552,8 +555,9 @@ AC_DEFUN([GNOME_SUPPORT_CHECKS],[ | ||||
|               am_cv_lib_error_at_line=yes, | ||||
|               am_cv_lib_error_at_line=no)]) | ||||
|   if test $am_cv_lib_error_at_line = no; then | ||||
|     AC_LIBOBJ(error) | ||||
|    LIBOBJS="$LIBOBJS error.o" | ||||
|   fi | ||||
|   AC_SUBST(LIBOBJS)dnl | ||||
|    | ||||
|   # This is required if we declare setreuid () and setregid (). | ||||
|   AC_TYPE_UID_T | ||||
| @@ -568,8 +572,13 @@ AC_DEFUN([GNOME_SUPPORT_CHECKS],[ | ||||
| #endif | ||||
| ]) | ||||
|  | ||||
|   # Turn our LIBOBJS into libtool objects.  This is gross, but it | ||||
|   # requires changes to autoconf before it goes away. | ||||
|   LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'` | ||||
|   AC_SUBST(need_gnome_support) | ||||
|   AC_SUBST(LTLIBOBJS) | ||||
|  | ||||
|   LIBOBJS="$save_LIBOBJS" | ||||
|   AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes) | ||||
| ]) | ||||
|  | ||||
| @@ -668,9 +677,6 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ | ||||
| 	  linux*) | ||||
| 	    libgtop_smp=yes | ||||
| 	    ;; | ||||
| 	  aix*) | ||||
| 	    libgtop_smp=yes | ||||
| 	    ;; | ||||
| 	  *) | ||||
| 	    libgtop_smp=no | ||||
| 	    ;; | ||||
| @@ -710,13 +716,6 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ | ||||
| 	  libgtop_need_server=yes | ||||
| 	  libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server' | ||||
| 	  ;; | ||||
|         aix*) | ||||
| 	  libgtop_sysdeps_dir=aix | ||||
| 	  libgtop_use_machine_h=yes | ||||
| 	  libgtop_need_server=yes | ||||
| 	  libgtop_have_sysinfo=yes | ||||
| 	  libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2' | ||||
|           ;; | ||||
| 	*) | ||||
| 	  if test x$hacker_mode = xyes ; then | ||||
| 	    case "$host_os" in | ||||
| @@ -875,4 +874,4 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ | ||||
| 	AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes) | ||||
| ]) | ||||
|  | ||||
|    | ||||
|    | ||||
| @@ -1,5 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| *.lo | ||||
| @@ -1,15 +0,0 @@ | ||||
| if NEED_LIBGTOP | ||||
| server_dir	= server | ||||
| else | ||||
| server_dir	= | ||||
| endif | ||||
|  | ||||
| if HAVE_SYSDEPS | ||||
| sysdeps_dir	= sysdeps | ||||
| else | ||||
| sysdeps_dir	= | ||||
| endif | ||||
|  | ||||
| SUBDIRS		= $(server_dir) $(sysdeps_dir) common | ||||
|  | ||||
| DIST_SUBDIRS	= server sysdeps common | ||||
| @@ -1,7 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| *.lo | ||||
| *.la | ||||
| marshal.c | ||||
| @@ -1,50 +0,0 @@ | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-common.c: (_open_common): s/u_int64_t/guint64/ | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-common.h: fixed compilation | ||||
|  | ||||
| 2000-11-26  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* glibtop-backend-private.h: Removed. | ||||
|  | ||||
| 	* backend-common.h: New files. | ||||
|  | ||||
| 	* backend-common.c (_open_common): Don't overwrite | ||||
| 	`backend->_priv'. | ||||
|  | ||||
| 2000-11-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Link libgtop_backend_common.la against | ||||
| 	$(top_builddir)/sysdeps/common/libgtop_common.la and | ||||
| 	$(top_builddir)/lib/libgtop_server.la. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* backend-sysdeps.c (LibGTopBackendInfo): Call this | ||||
| 	`LibGTopBackendInfo_Common' when we don't use gmodule. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR) | ||||
| 	when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise. | ||||
|  | ||||
| 2000-01-12  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR). | ||||
|  | ||||
| 	* libgtop-common.backend: New file. | ||||
|  | ||||
| 	* backend-common.c (glibtop_backend_common): Renamed to | ||||
| 	`LibGTopBackendInfo'. | ||||
|  | ||||
| 2000-01-12  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	Initial version of the "glibtop-backend-common" backend. | ||||
|  | ||||
| 	* backend-common.c: New file. | ||||
| 	* glibtop-backend-private.h: New file. | ||||
| 	* marshal.pl: New file. Automatically creates `marshal.c'. | ||||
|  | ||||
| @@ -1,47 +0,0 @@ | ||||
| LINK		= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ | ||||
|  | ||||
| INCLUDES	= @INCLUDES@ | ||||
|  | ||||
| backenddir	= @LIBGTOP_BACKEND_DIR@ | ||||
|  | ||||
| if LIBGTOP_USE_GMODULE | ||||
| backendlibdir	= $(backenddir) | ||||
| else | ||||
| backendlibdir	= $(libdir) | ||||
| endif | ||||
|  | ||||
| dynamic_ldflags	= @libgtop_dynamic_ldflags@ | ||||
|  | ||||
| backend_DATA = \ | ||||
| 	libgtop-common.backend | ||||
|  | ||||
| noinst_HEADERS = \ | ||||
| 	backend-common.h | ||||
|  | ||||
| backendlib_LTLIBRARIES = \ | ||||
| 	libgtop_backend_common.la | ||||
|  | ||||
| libgtop_backend_common_la_SOURCES = \ | ||||
| 	backend-common.c		\ | ||||
| 	marshal.c | ||||
|  | ||||
| libgtop_backend_common_la_LDFLAGS = \ | ||||
| 	$(LT_VERSION_INFO) $(dynamic_ldflags) | ||||
|  | ||||
| libgtop_backend_common_la_LIBADD = \ | ||||
| 	$(top_builddir)/sysdeps/common/libgtop_common.la	\ | ||||
| 	$(top_builddir)/lib/libgtop_server.la | ||||
|  | ||||
| BUILT_SOURCES = \ | ||||
| 	marshal.c | ||||
|  | ||||
| EXTRA_DIST = \ | ||||
| 	marshal.pl	\ | ||||
| 	libgtop-common.backend | ||||
|  | ||||
| CLEANFILES = $(BUILT_SOURCES) | ||||
|  | ||||
| marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl | ||||
| 	$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t | ||||
| 	mv tmp-t marshal.c | ||||
|  | ||||
| @@ -1,61 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-common.h> | ||||
|  | ||||
| static int | ||||
| _open_common (glibtop_server *, glibtop_backend *, guint64, const char **); | ||||
|  | ||||
| static int | ||||
| _close_common (glibtop_server *, glibtop_backend *, void *closure); | ||||
|  | ||||
| extern glibtop_call_vector glibtop_backend_common_call_vector; | ||||
|  | ||||
| #ifdef LIBGTOP_USE_GMODULE | ||||
| glibtop_backend_info LibGTopBackendInfo = { | ||||
|     "glibtop-backend-common", _open_common, _close_common, | ||||
|     &glibtop_backend_common_call_vector | ||||
| }; | ||||
| #else | ||||
| glibtop_backend_info LibGTopBackendInfo_Common = { | ||||
|     "glibtop-backend-common", _open_common, _close_common, | ||||
|     &glibtop_backend_common_call_vector | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| static int | ||||
| _open_common (glibtop_server *server, glibtop_backend *backend, | ||||
| 	      guint64 features, const char **backend_args) | ||||
| { | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| static int | ||||
| _close_common (glibtop_server *server, glibtop_backend *backend, | ||||
| 	       void *closure) | ||||
| { | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -1,36 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_BACKEND_COMMON_H__ | ||||
| #define __GLIBTOP_BACKEND_COMMON_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/glibtop-backend.h> | ||||
| #include <glibtop/glibtop-backend-info.h> | ||||
|  | ||||
| #endif | ||||
| @@ -1,13 +0,0 @@ | ||||
| <?xml version="1.0"?> <!-- -*-xml-*- --> | ||||
| <!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'> | ||||
| <libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1"> | ||||
|  | ||||
|   <libgtop:Backend> | ||||
|     <libgtop:Name>glibtop-backend-common</libgtop:Name> | ||||
|     <libgtop:Location> | ||||
|       <libgtop:LibtoolName>libgtop_backend_common.la</libgtop:LibtoolName> | ||||
|       <libgtop:ShlibName>libgtop_backend_common.so</libgtop:ShlibName> | ||||
|     </libgtop:Location> | ||||
|   </libgtop:Backend> | ||||
|  | ||||
| </libgtop:Backends> | ||||
| @@ -1,175 +0,0 @@ | ||||
| #!/usr/bin/perl | ||||
|  | ||||
| require 'c_types.pl'; | ||||
|  | ||||
| $[ = 1;			# set array base to 1 | ||||
| $, = ' ';		# set output field separator | ||||
| $\ = "\n";		# set output record separator | ||||
|  | ||||
| $always_use_temp_storage = 1; | ||||
|  | ||||
| sub toupper { | ||||
|     local($_) = @_; | ||||
|     tr/a-z/A-Z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| sub tolower { | ||||
|     local($_) = @_; | ||||
|     tr/A-Z/a-z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| print '/* marshal.c */'; | ||||
| print "/* This is a generated file.  Please modify `marshal.pl' */"; | ||||
| print ''; | ||||
|  | ||||
| print '#include <backend-common.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/sysdeps.h>'; | ||||
| print '#include <glibtop/union.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/call-vector.h>'; | ||||
| print ''; | ||||
|  | ||||
| $feature_count = 0; | ||||
|  | ||||
| while (<>) { | ||||
|     chop;	# strip record separator | ||||
|  | ||||
|     if (/^[^#]/) { | ||||
| 	&output($_); | ||||
|     } | ||||
| } | ||||
|  | ||||
| sub output { | ||||
|     local($line) = @_; | ||||
|     @line_fields = split(/\|/, $line, 9999); | ||||
|     $retval = $line_fields[1]; | ||||
|     $feature = $line_fields[2]; | ||||
|     $param_def = $line_fields[4]; | ||||
|  | ||||
|     $orig = $feature; | ||||
|     $feature =~ s/^@//; | ||||
|     $space = $feature; | ||||
|     $space =~ s/./ /g; | ||||
|  | ||||
|     $features{++$feature_count} = $orig; | ||||
|  | ||||
|     return unless $orig =~ /^@/; | ||||
|  | ||||
|     if ($retval eq 'retval') { | ||||
|       $retval_param = '&retval'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $retval = 'int'; | ||||
|     } | ||||
|     elsif ($retval !~ /^void$/) { | ||||
|       $retval_param = 'NULL'; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $call_prefix = 'retval = '; | ||||
|       $call_prefix_space = '         '; | ||||
|     } | ||||
|     else { | ||||
|       $retval_param = 'NULL'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = ''; | ||||
|       $prefix_space = ''; | ||||
|     } | ||||
|  | ||||
|     if ($retval =~ /^(array|pointer)\((.*)\)$/) { | ||||
|       $retval = ($2 eq 'string') ? 'char **' : "$2 *"; | ||||
|     } | ||||
|  | ||||
|     $need_temp_storage = $always_use_temp_storage; | ||||
|     $first_param_name = ''; | ||||
|  | ||||
|     $call_param = ''; | ||||
|     $param_decl = ''; | ||||
|     $need_temp_len = 0; | ||||
|     $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]; | ||||
|  | ||||
| 	if ($first_param_name eq '') { | ||||
| 	  $first_param_name = $fields[$field]; | ||||
| 	} | ||||
|  | ||||
| 	if ($typeinfo->{$type}->[2]) { | ||||
| 	  $need_temp_storage = 1; | ||||
| 	} | ||||
|  | ||||
| 	if ($param_decl eq '') { | ||||
| 	  $param_decl = ",\n             " . $space . '    '; | ||||
| 	} | ||||
| 	else { | ||||
| 	  $param_decl = $param_decl . ', '; | ||||
| 	} | ||||
| 	$param_decl = $param_decl . $c_type . ' ' . $fields[$field]; | ||||
| 	$call_param = $call_param . ', ' . $fields[$field]; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param); | ||||
|     } elsif ($line_fields[3] eq 'array') { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param); | ||||
|     } elsif ($line_fields[3] =~ /^array/) { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param); | ||||
|     } else { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param); | ||||
|     } | ||||
|  | ||||
|     $func_decl = 'static '.$retval."\n"; | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] eq 'array') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] =~ /^array/) { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } else { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } | ||||
|  | ||||
|     $total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code); | ||||
|  | ||||
|     print $total_code; | ||||
| } | ||||
|  | ||||
| $call_vector_code = ''; | ||||
| for ($nr = 1; $nr <= $feature_count; $nr++) { | ||||
|   $feature = $features{$nr}; | ||||
|  | ||||
|   if ($feature =~ /^@/) { | ||||
|     $feature =~ s/^@//; | ||||
|  | ||||
|     $call_vector_code .= sprintf (qq[\t_glibtop_get_%s_c,\n], $feature); | ||||
|   } else { | ||||
|     $call_vector_code .= sprintf (qq[\tNULL,\n]); | ||||
|   } | ||||
| } | ||||
|  | ||||
| print 'glibtop_call_vector glibtop_backend_common_call_vector = {'; | ||||
| print $call_vector_code; | ||||
| print '};'; | ||||
| print ''; | ||||
|  | ||||
| @@ -1,10 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| *.lo | ||||
| *.la | ||||
| marshal.c | ||||
| demarshal.c | ||||
| libgtop_server | ||||
| command.h | ||||
| @@ -1,121 +0,0 @@ | ||||
| 2004-03-09  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* command.c: (glibtop_call_i): | ||||
| 	* demarshal.pl: | ||||
| 	* marshal.pl: | ||||
| 	* read_data.c: (glibtop_read_data_i): | ||||
| 	* server.c: (handle_slave_connection): fix g_malloc usage on non-Linux | ||||
| 	platforms (patch by Benoit Dejean <bnet@ifrance.com>) | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-server.c: (_open_server): | ||||
| 	* backend-server.h: | ||||
| 	* command.h.in: s/u_int64_t/guint64/ | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-server.h: | ||||
| 	* command.h.in: | ||||
| 	* demarshal.pl: | ||||
| 	* server.h: fixed compilation | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-server.c: (_open_server): | ||||
| 	* command.c: (glibtop_call_i): | ||||
| 	* demarshal.pl: | ||||
| 	* marshal.pl: | ||||
| 	* read_data.c: (glibtop_read_data_i): | ||||
| 	* server.c: (main), (handle_slave_connection): | ||||
| 	replace all the xmalloc crap by glib memory management functions | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* Makefile.am: removed traces of guile, intllibs and libgnomesupport | ||||
|  | ||||
| 2000-11-27  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* backend-server.c (backend_server_quark): New global variable. | ||||
| 	(_open_server, _close_server): Use the quark. | ||||
| 	* commands.c: Likewise. | ||||
|  | ||||
| 2000-11-26  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* backend-server.h: New file. | ||||
| 	(backend_server_private): New struct, formerly known | ||||
| 	as glibtop_backend_private. | ||||
|  | ||||
| 	* glibtop-backend-private.h: Removed. | ||||
|  | ||||
| 	* backend-server.c: (_open_server): Use g_object_set_data() | ||||
| 	to set add the backend_server_private data to the glibtop_backend, | ||||
| 	don't override `backend->_priv'. | ||||
| 	(_close_server): Use g_object_get_data() to get the data. | ||||
| 	[FIXME: Use quarks directly.] | ||||
|  | ||||
| 	* read.c: (glibtop_read_i): Replaced the glibtop_server and | ||||
| 	glibtop_backend arguments with backend_server_private. | ||||
| 	* read_data.c: (glibtop_read_data_i): Likewise. | ||||
| 	* write.c: (glibtop_write_i): Likewise. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* backend-sysdeps.c (LibGTopBackendInfo): Call this | ||||
| 	`LibGTopBackendInfo_Server' when we don't use gmodule. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR) | ||||
| 	when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise. | ||||
|  | ||||
| 2000-01-18  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* demarshal.pl: Only emit code for functions which are | ||||
| 	really suid/sgid. | ||||
|  | ||||
| 2000-01-13  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* write.c (glibtop_write_i): The buffer which we write is | ||||
| 	now a `const'. | ||||
|  | ||||
| 2000-01-12  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Install everything except the server binary | ||||
| 	in $(LIBGTOP_BACKEND_DIR). | ||||
|  | ||||
| 	* libgtop-server.backend: New file. | ||||
|  | ||||
| 	* backend-server.c (glibtop_backend_server): Renamed to | ||||
| 	`LibGTopBackendInfo'. | ||||
|  | ||||
| 2000-01-08  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* command.h.in (glibtop_response): New structure. | ||||
|  | ||||
| 2000-01-02  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* command.pl: New file. Creates `command.h' from `command.h.in'. | ||||
| 	* command.h.in: New file. Template file for `command.h'. | ||||
|  | ||||
| 	* io.c, version.c: New files. Copied here from `src/daemon'. | ||||
|  | ||||
| 	* demarshal.pl: New file. Automatically creates `demarshal.c'. | ||||
| 	* demarshal.c: This automatically created file handles the | ||||
| 	demarshalling in the libgtop_server. | ||||
|  | ||||
| 	* Makefile.am: Build the `libgtop_server' here. | ||||
| 	* server.c, server.h: New files. Copied here from `src/daemon'. | ||||
|  | ||||
| 2000-01-01  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	Initial version of the "glibtop-backend-server" backend. | ||||
|  | ||||
| 	* command.c, read.c, read_data.c, write.c: New files. Moved here | ||||
| 	from the `lib' directory. | ||||
|  | ||||
| 	* backend-server.c: New file. | ||||
| 	* glibtop-backend-private.h: New file. | ||||
|  | ||||
| 	* marshal.pl: New file. Automatically creates `marshal.c'. | ||||
|  | ||||
| @@ -1,84 +0,0 @@ | ||||
| LINK		= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ | ||||
|  | ||||
| INCLUDES	= @INCLUDES@ -D_BSD \ | ||||
| 		  -DLIBGTOP_COMPILE_SYSTEM=\"`uname -s`\" \ | ||||
| 		  -DLIBGTOP_COMPILE_RELEASE=\"`uname -r`\" \ | ||||
| 		  -DLIBGTOP_COMPILE_MACHINE=\"`uname -m`\" | ||||
|  | ||||
| backenddir	= @LIBGTOP_BACKEND_DIR@ | ||||
|  | ||||
| if LIBGTOP_USE_GMODULE | ||||
| backendlibdir	= $(backenddir) | ||||
| else | ||||
| backendlibdir	= $(libdir) | ||||
| endif | ||||
|  | ||||
| dynamic_ldflags	= @libgtop_dynamic_ldflags@ | ||||
|  | ||||
| backend_DATA = \ | ||||
| 	libgtop-server.backend | ||||
|  | ||||
| noinst_HEADERS = \ | ||||
| 	backend-server.h | ||||
|  | ||||
| backendlib_LTLIBRARIES = \ | ||||
| 	libgtop_backend_server.la | ||||
|  | ||||
| bin_PROGRAMS = \ | ||||
| 	@server_programs@ | ||||
|  | ||||
| EXTRA_PROGRAMS = \ | ||||
| 	libgtop_server | ||||
|  | ||||
| libgtop_backend_server_la_SOURCES = \ | ||||
| 	backend-server.c		\ | ||||
| 	marshal.c			\ | ||||
| 	command.c			\ | ||||
| 	read.c				\ | ||||
| 	read_data.c			\ | ||||
| 	write.c | ||||
|  | ||||
| libgtop_backend_server_la_LDFLAGS = \ | ||||
| 	$(LT_VERSION_INFO) $(dynamic_ldflags) | ||||
|  | ||||
| libgtop_server_SOURCES = \ | ||||
| 	server.c		\ | ||||
| 	server.h		\ | ||||
| 	demarshal.c		\ | ||||
| 	version.c		\ | ||||
| 	io.c | ||||
|  | ||||
| libgtop_server_LDADD = \ | ||||
| 	$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid.la \ | ||||
| 	$(top_builddir)/sysdeps/common/libgtop_suid_common.la | ||||
|  | ||||
| if ENABLE_STATIC | ||||
| libgtop_server_LDFLAGS = -static | ||||
| endif | ||||
|  | ||||
| BUILT_SOURCES = \ | ||||
| 	marshal.c		\ | ||||
| 	demarshal.c		\ | ||||
| 	command.h | ||||
|  | ||||
| EXTRA_DIST = \ | ||||
| 	marshal.pl		\ | ||||
| 	demarshal.pl		\ | ||||
| 	command.pl		\ | ||||
| 	command.h.in		\ | ||||
| 	libgtop-server.backend | ||||
|  | ||||
| CLEANFILES = $(BUILT_SOURCES) | ||||
|  | ||||
| marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl | ||||
| 	$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t | ||||
| 	mv tmp-t marshal.c | ||||
|  | ||||
| demarshal.c: demarshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl | ||||
| 	$(PERL) -I $(top_srcdir)/scripts $(srcdir)/demarshal.pl < $(top_srcdir)/features.def > tmp-t | ||||
| 	mv tmp-t demarshal.c | ||||
|  | ||||
| command.h: command.pl command.h.in $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl | ||||
| 	$(PERL) -I $(top_srcdir)/scripts $(srcdir)/command.pl $(top_srcdir)/features.def $(srcdir)/command.h.in > tmp-t | ||||
| 	mv tmp-t command.h | ||||
|  | ||||
| @@ -1,113 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-server.h> | ||||
|  | ||||
| static int | ||||
| _open_server (glibtop_server *, glibtop_backend *, guint64, const char **); | ||||
|  | ||||
| static int | ||||
| _close_server (glibtop_server *, glibtop_backend *, void *); | ||||
|  | ||||
| extern glibtop_call_vector glibtop_backend_server_call_vector; | ||||
|  | ||||
| #ifdef LIBGTOP_USE_GMODULE | ||||
| glibtop_backend_info LibGTopBackendInfo = { | ||||
|     "glibtop-backend-server", _open_server, _close_server, | ||||
|     &glibtop_backend_server_call_vector | ||||
| }; | ||||
| #else | ||||
| glibtop_backend_info LibGTopBackendInfo_Server = { | ||||
|     "glibtop-backend-server", _open_server, _close_server, | ||||
|     &glibtop_backend_server_call_vector | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| static int | ||||
| _open_server (glibtop_server *server, glibtop_backend *backend, | ||||
| 	      guint64 features, const char **backend_args) | ||||
| { | ||||
|     backend_server_private *priv; | ||||
|  | ||||
|     priv = g_malloc (sizeof (backend_server_private)); | ||||
|  | ||||
|     glibtop_backend_set_closure_data (backend, priv); | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "open_server - %p, %p, %p\n", server, backend, priv); | ||||
|  | ||||
|     fprintf (stderr, "Opening pipe to server (%s).\n", LIBGTOP_SERVER); | ||||
| #endif | ||||
|  | ||||
|     if (pipe (priv->input) || pipe (priv->output)) { | ||||
| 	glibtop_warn_io_r (server, "cannot make a pipe"); | ||||
| 	return -1; | ||||
|     } | ||||
|  | ||||
|     priv->pid  = fork (); | ||||
|  | ||||
|     if (priv->pid < 0) { | ||||
| 	glibtop_warn_io_r (server, "fork failed"); | ||||
| 	return -1; | ||||
|     } else if (priv->pid == 0) { | ||||
| 	close (0); close (1); | ||||
| 	close (priv->input [0]); | ||||
| 	close (priv->output [1]); | ||||
| 	dup2 (priv->input [1], 1); | ||||
| 	dup2 (priv->output [0], 0); | ||||
| 	execl (LIBGTOP_SERVER, "libgtop-server", NULL); | ||||
| 	glibtop_error_io_r (server, "execl (%s)", | ||||
| 			    LIBGTOP_SERVER); | ||||
| 	_exit (2); | ||||
|     } | ||||
|  | ||||
|     close (priv->input [1]); | ||||
|     close (priv->output [0]); | ||||
|  | ||||
|     glibtop_server_ref (server); | ||||
|     priv->server = server; | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| static int | ||||
| _close_server (glibtop_server *server, glibtop_backend *backend, | ||||
| 	       void *closure) | ||||
| { | ||||
|     backend_server_private *priv = closure; | ||||
|  | ||||
|     kill (priv->pid, SIGKILL); | ||||
|     close (priv->input [0]); | ||||
|     close (priv->output [1]); | ||||
|  | ||||
|     glibtop_server_unref (priv->server); | ||||
|  | ||||
|     priv->pid = 0; | ||||
|  | ||||
|     g_free (priv); | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -1,65 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_BACKEND_COMMON_H__ | ||||
| #define __GLIBTOP_BACKEND_COMMON_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/glibtop-backend.h> | ||||
| #include <glibtop/glibtop-backend-info.h> | ||||
|  | ||||
| typedef struct _backend_server_private backend_server_private; | ||||
|  | ||||
| struct _backend_server_private | ||||
| { | ||||
|     guint64 flags; | ||||
|     int input [2];		/* Pipe client <- server */ | ||||
|     int output [2];		/* Pipe client -> server */ | ||||
|     pid_t pid;			/* PID of the server */ | ||||
|  | ||||
|     glibtop_server *server; | ||||
| }; | ||||
|  | ||||
| void * | ||||
| glibtop_call_i (glibtop_server *server, backend_server_private *priv, | ||||
| 		unsigned command, size_t send_size, const void *send_ptr, | ||||
| 		size_t data_size, const void *data_ptr, | ||||
| 		size_t recv_size, void *recv_ptr, | ||||
| 		int *retval_ptr); | ||||
|  | ||||
| void | ||||
| glibtop_read_i (backend_server_private *priv, size_t size, void *buf); | ||||
|  | ||||
| void * | ||||
| glibtop_read_data_i (backend_server_private *priv); | ||||
|  | ||||
| void | ||||
| glibtop_write_i (backend_server_private *priv, size_t size, const void *buf); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @@ -1,100 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-server.h> | ||||
|  | ||||
| #include "command.h" | ||||
|  | ||||
| void * | ||||
| glibtop_call_i (glibtop_server *server, backend_server_private *priv, | ||||
| 		unsigned command, size_t send_size, const void *send_buf, | ||||
| 		size_t data_size, const void *data_buf, | ||||
| 		size_t recv_size, void *recv_ptr, | ||||
| 		int *retval_ptr) | ||||
| { | ||||
|     glibtop_command cmnd; | ||||
|     glibtop_response resp; | ||||
| #if 0 | ||||
|     int retval; | ||||
| #endif | ||||
|  | ||||
|     memset (&cmnd, 0, sizeof (glibtop_command)); | ||||
|     memset (&resp, 0, sizeof (glibtop_response)); | ||||
|  | ||||
|     cmnd.command = command; | ||||
|  | ||||
|     /* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we | ||||
|      * send it together with command, so we only need one system call instead | ||||
|      * of two. */ | ||||
|  | ||||
|     if (send_size <= _GLIBTOP_PARAM_SIZE) { | ||||
| 	memcpy (cmnd.parameter, send_buf, send_size); | ||||
| 	cmnd.param_size = send_size; | ||||
|     } else { | ||||
| 	cmnd.send_size = send_size; | ||||
|     } | ||||
|  | ||||
|     cmnd.data_size = data_size; | ||||
| 	 | ||||
|     glibtop_write_i (priv, sizeof (glibtop_command), &cmnd); | ||||
|  | ||||
|     if (data_size) { | ||||
| #ifdef SLAVE_DEBUG | ||||
| 	fprintf (stderr, "SENDING %d bytes of DATA.\n", data_size); | ||||
| #endif | ||||
| 	glibtop_write_i (priv, data_size, data_buf); | ||||
|     } | ||||
|  | ||||
|     glibtop_read_i (priv, sizeof (glibtop_response), &resp); | ||||
|  | ||||
| #ifdef SLAVE_DEBUG | ||||
|     fprintf (stderr, "RESPONSE: %d - %d - %ld - %ld - %p - %ld\n", | ||||
| 	     resp.retval, resp.glibtop_errno, | ||||
| 	     (long) resp.recv_size, (long) resp.data_size, | ||||
| 	     recv_ptr, (long) recv_size); | ||||
| #endif | ||||
|      | ||||
|     if (retval_ptr) | ||||
| 	*retval_ptr = resp.glibtop_errno; | ||||
|  | ||||
|     if (resp.recv_size != recv_size) { | ||||
| 	glibtop_warn_r (server, "Expected %ld bytes, but got %ld.", | ||||
| 			(long) recv_size, (long) resp.recv_size); | ||||
| 	return NULL; | ||||
|     } | ||||
|  | ||||
|     if (recv_ptr) | ||||
| 	glibtop_read_i (priv, recv_size, recv_ptr); | ||||
|  | ||||
|     if (resp.data_size) { | ||||
| 	void *ptr = g_malloc (resp.data_size); | ||||
|  | ||||
| 	glibtop_read_i (priv, resp.data_size, ptr); | ||||
|  | ||||
| 	return ptr; | ||||
|     } | ||||
|  | ||||
|     return NULL; | ||||
| } | ||||
| @@ -1,59 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| @@AUTOGEN_COMMENT@@ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_COMMAND_H__ | ||||
| #define __GLIBTOP_COMMAND_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/union.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| @@GLIBTOP_COMMAND_CONSTANTS@@ | ||||
|  | ||||
| #define _GLIBTOP_PARAM_SIZE		16 | ||||
|  | ||||
| typedef struct _glibtop_command		glibtop_command; | ||||
| typedef struct _glibtop_response	glibtop_response; | ||||
|  | ||||
| struct _glibtop_command | ||||
| { | ||||
|     guint64	command; | ||||
|     guint64	param_size, send_size, data_size; | ||||
|     char	parameter [_GLIBTOP_PARAM_SIZE]; | ||||
| }; | ||||
|  | ||||
| struct _glibtop_response | ||||
| { | ||||
|     int retval; | ||||
|     int glibtop_errno; | ||||
|     guint64 recv_size, data_size; | ||||
| }; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,76 +0,0 @@ | ||||
| #!/usr/bin/perl | ||||
|  | ||||
| require 'c_types.pl'; | ||||
|  | ||||
| die "Usage: $0 features.def command.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 $_; | ||||
| } | ||||
|  | ||||
| $constants_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; | ||||
|  | ||||
|   $constants_decl_code .= sprintf | ||||
|     (qq[\#define %-40s %d\n], 'GLIBTOP_CMND_'.&toupper($feature), | ||||
|      ++$feature_count); | ||||
|  | ||||
|   $features{$feature_count} = $feature; | ||||
| } | ||||
|  | ||||
| chop $constants_decl_code; | ||||
|  | ||||
| $auto_gen_comment = sprintf | ||||
|   (qq[/*\n * This file is automatically generated.\n * Please modify `command.pl' and `command.h.in'.\n */]); | ||||
|  | ||||
| open COMMAND, $ARGV[2] or | ||||
|   die "open ($ARGV[2]): $!"; | ||||
|  | ||||
| while (<COMMAND>) { | ||||
|   chop; | ||||
|  | ||||
|   s/^\s*\@\@GLIBTOP_COMMAND_CONSTANTS\@\@\s*$/$constants_decl_code/; | ||||
|  | ||||
|   s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/; | ||||
| } continue { | ||||
|   print $_; | ||||
| } | ||||
|  | ||||
| close COMMAND; | ||||
| @@ -1,385 +0,0 @@ | ||||
| #!/usr/bin/perl | ||||
|  | ||||
| require 'c_types.pl'; | ||||
|  | ||||
| $[ = 1;			# set array base to 1 | ||||
| $, = ' ';		# set output field separator | ||||
| $\ = "\n";		# set output record separator | ||||
|  | ||||
| $always_use_temp_storage = 0; | ||||
|  | ||||
| sub toupper { | ||||
|     local($_) = @_; | ||||
|     tr/a-z/A-Z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| sub tolower { | ||||
|     local($_) = @_; | ||||
|     tr/A-Z/a-z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| print '/* demarshal.c */'; | ||||
| print "/* This is a generated file.  Please modify `demarshal.pl' */"; | ||||
| print ''; | ||||
|  | ||||
| print '#include <glibtop.h>'; | ||||
| print '#include <glibtop/open.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/sysdeps.h>'; | ||||
| print '#include <glibtop/union.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/backend.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop-backend-private.h>'; | ||||
| print '#include "server.h"'; | ||||
| print ''; | ||||
|  | ||||
| $feature_count = 0; | ||||
|  | ||||
| while (<>) { | ||||
|   chop;	# strip record separator | ||||
|  | ||||
|   if (/^[^\#]/) { | ||||
|     &output($_); | ||||
|   } | ||||
| } | ||||
|  | ||||
| sub output { | ||||
|   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]; | ||||
|  | ||||
|   return if $feature =~ /^@/; | ||||
|   $name = 'glibtop_'.$feature; | ||||
|    | ||||
|   $orig = $feature; | ||||
|   $feature =~ s/^@//; | ||||
|   $space = $feature; | ||||
|   $space =~ s/./ /g; | ||||
|    | ||||
|   $features{++$feature_count} = $feature; | ||||
|  | ||||
|   $orig_retval = $retval; | ||||
|    | ||||
|   if ($retval eq 'retval') { | ||||
|     $retval_param = '&retval'; | ||||
|     $call_prefix = ''; | ||||
|     $call_prefix_space = ''; | ||||
|     $prefix = 'retval = '; | ||||
|     $prefix_space = '         '; | ||||
|     $retval = 'int'; | ||||
|   } elsif ($retval !~ /^void$/) { | ||||
|     $retval_param = 'NULL'; | ||||
|     $prefix = 'retval = '; | ||||
|     $prefix_space = '         '; | ||||
|     $call_prefix = 'retval = '; | ||||
|     $call_prefix_space = '         '; | ||||
|   } else { | ||||
|     $retval_param = 'NULL'; | ||||
|     $call_prefix = ''; | ||||
|     $call_prefix_space = ''; | ||||
|     $prefix = ''; | ||||
|     $prefix_space = ''; | ||||
|   } | ||||
|    | ||||
|   if ($retval =~ /^(array|pointer)\((.*)\)$/) { | ||||
|     $retval = ($2 eq 'string') ? 'char **' : "$2 *"; | ||||
|   } | ||||
|    | ||||
|   $need_temp_storage = $always_use_temp_storage; | ||||
|   $first_param_name = ''; | ||||
|   $size_code = "\t/* send size */\n"; | ||||
|   $size_code .= "\t_LIBGTOP_SEND_len = 0;\n"; | ||||
|    | ||||
|   $local_var_decl_code = ''; | ||||
|   $local_var_decl_code .= "\tsize_t _LIBGTOP_SEND_len, _LIBGTOP_RECV_len;\n"; | ||||
|   $local_var_decl_code .= "\toff_t _LIBGTOP_SEND_offset;\n"; | ||||
|   $local_var_decl_code .= "\tchar *_LIBGTOP_RECV_buf, *_LIBGTOP_RECV_ptr;\n"; | ||||
|   $local_var_decl_code .= "\tconst char *_LIBGTOP_SEND_ptr;\n"; | ||||
|   $local_var_decl_code .= sprintf | ||||
|     (qq[\tglibtop_%s %s;\n], $feature, $feature); | ||||
|   if ($retval !~ /^void$/) { | ||||
|     $local_var_decl_code .= sprintf ("\t%s retval = (%s) 0;\n", | ||||
| 				     $retval, $retval); | ||||
|   } | ||||
|  | ||||
|   $init_local_var_code = "\t/* variable initialization */\n"; | ||||
|   $init_local_var_code .= sprintf | ||||
|     (qq[\tmemset (&%s, 0, sizeof (glibtop_%s));\n], $feature, $feature); | ||||
|   $init_local_var_code .= "\t_LIBGTOP_SEND_offset = 0;\n"; | ||||
|   $init_local_var_code .= "\t_LIBGTOP_SEND_ptr = ". | ||||
|     "(char *) send_ptr;\n"; | ||||
|  | ||||
|   $demarshal_code = ''; | ||||
|  | ||||
|   $call_param = ''; | ||||
|   $param_decl = ''; | ||||
|   $need_temp_len = 0; | ||||
|   $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]; | ||||
|        | ||||
|       if ($first_param_name eq '') { | ||||
| 	$first_param_name = $fields[$field]; | ||||
|       } | ||||
|        | ||||
|       if ($typeinfo->{$type}->[2]) { | ||||
| 	$need_temp_storage = 1; | ||||
|       } | ||||
|        | ||||
|       if ($param_decl eq '') { | ||||
| 	$param_decl = ",\n            " . $space . '    '; | ||||
|       } else { | ||||
| 	$param_decl = $param_decl . ', '; | ||||
|       } | ||||
|       $param_decl = $param_decl . $c_type . ' ' . $fields[$field]; | ||||
|       $call_param = $call_param . ', _LIBGTOP_demarshal_' . $fields[$field]; | ||||
|  | ||||
|       $size_code .= "\t_LIBGTOP_SEND_len += "; | ||||
|       if ($typeinfo->{$type}->[2]) { | ||||
| 	$size_code .= sprintf ("sizeof (size_t)"); | ||||
|       } else { | ||||
| 	$size_code .= sprintf ("sizeof (%s)", $c_type); | ||||
|       } | ||||
|       $size_code .= ";\n"; | ||||
|  | ||||
|       $local_var_decl_code .= sprintf | ||||
| 	(qq[\t%s _LIBGTOP_demarshal_%s;\n], $c_type, $fields[$field]); | ||||
|       $init_local_var_code .= sprintf | ||||
| 	(qq[\tmemset (&_LIBGTOP_demarshal_%s, 0, sizeof (%s));\n], | ||||
| 	 $fields[$field], $c_type); | ||||
|  | ||||
|       $demarshal_code .= "\t_LIBGTOP_SEND_ptr = ". | ||||
| 	"(char *) send_ptr + _LIBGTOP_SEND_offset;\n"; | ||||
|  | ||||
|       if ($typeinfo->{$type}->[2]) { | ||||
| 	$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_TEMP_len, _LIBGTOP_SEND_ptr, sizeof (size_t));\n"); | ||||
| 	$demarshal_code .= sprintf | ||||
| 	  (qq[\t_LIBGTOP_DATA_len += _LIBGTOP_TEMP_len;\n]); | ||||
| 	$demarshal_code .= sprintf | ||||
| 	  (qq[\tif (_LIBGTOP_DATA_len > data_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n]); | ||||
| 	$demarshal_code .= sprintf | ||||
| 	  (qq[\t_LIBGTOP_DATA_offset += _LIBGTOP_TEMP_len;\n]); | ||||
|       } | ||||
|  | ||||
|       if (defined $demarshal_funcs->{$type}) { | ||||
| 	$demarshal_code .= $demarshal_funcs->{$type}->($c_type, $fields[$field], "\t"); | ||||
|       } else { | ||||
| 	$demarshal_code .= sprintf ("\tmemcpy (&_LIBGTOP_demarshal_%s, _LIBGTOP_SEND_ptr, %s);\n", | ||||
| 				    $fields[$field], "sizeof ($c_type)"); | ||||
|       } | ||||
|  | ||||
|       $demarshal_code .= "\t_LIBGTOP_SEND_offset += "; | ||||
|       if ($typeinfo->{$type}->[2]) { | ||||
| 	$demarshal_code .= sprintf ("sizeof (size_t)"); | ||||
|       } else { | ||||
| 	$demarshal_code .= sprintf ("sizeof (%s)", $c_type); | ||||
|       } | ||||
|       $demarshal_code .= ";\n"; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (!($demarshal_code eq '')) { | ||||
|     $demarshal_code = sprintf (qq[\t/* demarshal start */\n%s\n], | ||||
| 			       $demarshal_code); | ||||
|   } | ||||
|  | ||||
|   if ($line_fields[3] eq '') { | ||||
|     $call_code = sprintf | ||||
|       ("\tretval = glibtop_get_%s_p (server%s);\n", | ||||
|        $feature, $call_param); | ||||
|   } elsif ($line_fields[3] eq 'array') { | ||||
|     $call_code = sprintf | ||||
|       ("\tretval = glibtop_get_%s_p (server, &array%s);\n", | ||||
|        $feature, $call_param); | ||||
|     $local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]); | ||||
|   } elsif ($line_fields[3] =~ /^array/) { | ||||
|     $call_code = sprintf | ||||
|       ("\tretval = glibtop_get_%s_p (server, &array, &%s%s);\n", | ||||
|        $feature, $feature, $call_param); | ||||
|     $local_var_decl_code .= sprintf (qq[\tglibtop_array array;\n]); | ||||
|   } else { | ||||
|     $call_code = sprintf | ||||
|       ("\tretval = glibtop_get_%s_p (server, &%s%s);\n", | ||||
|        $feature, $feature, $call_param); | ||||
|   } | ||||
|  | ||||
|   if ($orig_retval eq 'retval') { | ||||
|     $call_code .= sprintf | ||||
|       (qq[\tif (retval_ptr)\n\t\t*retval_ptr = retval;\n]); | ||||
|   } else { | ||||
|     $call_code .= sprintf | ||||
|       (qq[\tif (retval_ptr)\n\t\t*retval_ptr = server->glibtop_errno;\n]); | ||||
|   } | ||||
|  | ||||
|   $size_code .= sprintf | ||||
|     (qq[\tif (_LIBGTOP_SEND_len != send_size)\n\t\treturn -GLIBTOP_ERROR_DEMARSHAL_ERROR;\n\n]); | ||||
|  | ||||
|   $size_code .= "\t/* recv size */\n"; | ||||
|   $size_code .= "\t_LIBGTOP_RECV_len = 0;\n"; | ||||
|   if ($line_fields[3] eq '') { | ||||
|   } elsif ($line_fields[3] eq 'array') { | ||||
|     $size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n"; | ||||
|   } elsif ($line_fields[3] =~ /^array/) { | ||||
|     $size_code .= "\t_LIBGTOP_RECV_len += sizeof (glibtop_array);\n"; | ||||
|     $size_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature); | ||||
|   } else { | ||||
|     $size_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_len += sizeof (glibtop_%s);\n], $feature); | ||||
|   } | ||||
|   $size_code .= "\n"; | ||||
|  | ||||
|   $size_code .= "\t/* recv buffer */\n"; | ||||
|   if ($line_fields[3] eq '') { | ||||
|     $size_code .= "\t_LIBGTOP_RECV_buf = NULL;\n"; | ||||
|   } else { | ||||
|     $size_code .= "\t_LIBGTOP_RECV_buf = g_malloc (_LIBGTOP_RECV_len);\n"; | ||||
|   } | ||||
|   $size_code .= "\t_LIBGTOP_RECV_ptr = _LIBGTOP_RECV_buf;\n\n"; | ||||
|  | ||||
|   $recv_buf_code = ''; | ||||
|   if ($line_fields[3] eq '') { | ||||
|   } elsif ($line_fields[3] eq 'array') { | ||||
|     $recv_buf_code = "\t/* write recv buffer */\n"; | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]); | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]); | ||||
|   } elsif ($line_fields[3] =~ /^array/) { | ||||
|     $recv_buf_code = "\t/* write recv buffer */\n"; | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\tmemcpy (_LIBGTOP_RECV_ptr, &array, sizeof (glibtop_array));\n]); | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_array);\n]); | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n], | ||||
|        $feature, $feature); | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature); | ||||
|   } else { | ||||
|     $recv_buf_code = "\t/* write recv buffer */\n"; | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\tmemcpy (_LIBGTOP_RECV_ptr, &%s, sizeof (glibtop_%s));\n], | ||||
|        $feature, $feature); | ||||
|     $recv_buf_code .= sprintf | ||||
|       (qq[\t_LIBGTOP_RECV_ptr += sizeof (glibtop_%s);\n], $feature); | ||||
|   } | ||||
|  | ||||
|   $recv_buf_code .= "\n"; | ||||
|   $recv_buf_code .= "\t*recv_buf_ptr = _LIBGTOP_RECV_buf;\n"; | ||||
|   $recv_buf_code .= "\t*recv_size_ptr = _LIBGTOP_RECV_len;\n"; | ||||
|  | ||||
|   if ($orig_retval eq 'pointer(string)') { | ||||
|     $need_temp_storage = 1; | ||||
|     $local_var_decl_code .= "\tchar **_LIBGTOP_TEMP_ptr;\n"; | ||||
|     $local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_ptr;\n"; | ||||
|     $local_var_decl_code .= "\tchar *_LIBGTOP_ARRAY_base;\n"; | ||||
|     $local_var_decl_code .= "\toff_t _LIBGTOP_ARRAY_offset;\n"; | ||||
|     $local_var_decl_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n"; | ||||
|  | ||||
|     $recv_buf_code .= "\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_TEMP_len = 0;\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_TEMP_ptr = retval;\n"; | ||||
|     $recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++)\n"; | ||||
|     $recv_buf_code .= "\t\t_LIBGTOP_TEMP_len += strlen (*_LIBGTOP_TEMP_ptr)+1;\n"; | ||||
|     $recv_buf_code .= "\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_TEMP_len += sizeof (off_t) + 1;\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_TEMP_len += array.number * sizeof (off_t);\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_base = g_malloc (_LIBGTOP_TEMP_len);"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = _LIBGTOP_ARRAY_base;\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_offset = array.number * sizeof (off_t);\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_offset += sizeof (off_t);\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) _LIBGTOP_ARRAY_ptr;\n"; | ||||
|     $recv_buf_code .= "\n"; | ||||
|     $recv_buf_code .= "\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n"; | ||||
|     $recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n"; | ||||
|     $recv_buf_code .= "\t\t*_LIBGTOP_ARRAY_off_ptr++ = _LIBGTOP_ARRAY_offset;\n"; | ||||
|     $recv_buf_code .= "\t\t_LIBGTOP_ARRAY_offset += strlen (*_LIBGTOP_TEMP_ptr)+1;\n"; | ||||
|     $recv_buf_code .= "\t}\n\n"; | ||||
|     $recv_buf_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) _LIBGTOP_ARRAY_off_ptr;\n"; | ||||
|     $recv_buf_code .= "\tfor (_LIBGTOP_TEMP_ptr = retval; _LIBGTOP_TEMP_ptr && *_LIBGTOP_TEMP_ptr; _LIBGTOP_TEMP_ptr++) {\n"; | ||||
|     $recv_buf_code .= "\t\tstrcpy (_LIBGTOP_ARRAY_ptr, *_LIBGTOP_TEMP_ptr);\n"; | ||||
|     $recv_buf_code .= "\t\t_LIBGTOP_ARRAY_ptr += strlen (*_LIBGTOP_TEMP_ptr)+1;\n"; | ||||
|     $recv_buf_code .= "\t}\n\n"; | ||||
|     $recv_buf_code .= "\tif (recv_data_ptr) {\n"; | ||||
|     $recv_buf_code .= "\t\t*recv_data_ptr = _LIBGTOP_ARRAY_base;\n"; | ||||
|     $recv_buf_code .= "\t\t*recv_data_size_ptr = _LIBGTOP_TEMP_len;\n"; | ||||
|     $recv_buf_code .= "\t}\n"; | ||||
|  | ||||
|   } elsif ($line_fields[3] =~ /^array/) { | ||||
|     $recv_buf_code .= "\n"; | ||||
|     $recv_buf_code .= "\tif (recv_data_ptr) {\n"; | ||||
|     $recv_buf_code .= "\t\t*recv_data_ptr = retval;\n"; | ||||
|     $recv_buf_code .= "\t\t*recv_data_size_ptr = array.total;\n"; | ||||
|     $recv_buf_code .= "\t}\n"; | ||||
|   } | ||||
|  | ||||
|   if ($need_temp_storage) { | ||||
|     $local_var_decl_code .= "\tsize_t _LIBGTOP_TEMP_len;\n"; | ||||
|     $local_var_decl_code .= "\tsize_t _LIBGTOP_DATA_len;\n"; | ||||
|     $local_var_decl_code .= "\toff_t _LIBGTOP_DATA_offset;\n"; | ||||
|     $local_var_decl_code .= "\tchar *_LIBGTOP_DATA_ptr;\n"; | ||||
|  | ||||
|     $init_local_var_code .= "\t_LIBGTOP_DATA_len = 0;\n"; | ||||
|     $init_local_var_code .= "\t_LIBGTOP_DATA_offset = 0;\n"; | ||||
|     $init_local_var_code .= "\t_LIBGTOP_DATA_ptr = ". | ||||
|       "(char *) data_ptr;\n"; | ||||
|   } | ||||
|  | ||||
|   $func_decl_code = sprintf | ||||
|     (qq[static int\n_glibtop_demarshal_%s_i (glibtop *server, glibtop_backend *backend, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)\n], $feature); | ||||
|  | ||||
|   if (!($call_code eq '')) { | ||||
|     $call_code .= "\n"; | ||||
|   } | ||||
|    | ||||
|   $func_body_code = sprintf | ||||
|     (qq[%s%s%s%s], $size_code, $demarshal_code, $call_code, $recv_buf_code); | ||||
|    | ||||
|   $total_code = sprintf | ||||
|     (qq[%s{\n%s\n%s\n%s\n\treturn 0;\n}\n], | ||||
|      $func_decl_code, $local_var_decl_code, $init_local_var_code, | ||||
|      $func_body_code); | ||||
|    | ||||
|   $total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n", | ||||
| 			 &toupper($feature), $total_code, | ||||
| 			 &toupper($feature)); | ||||
|  | ||||
|   print $total_code; | ||||
| } | ||||
|  | ||||
| $func_decl_code = sprintf | ||||
|   (qq[int\nglibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr)]); | ||||
|  | ||||
| $switch_body_code = ''; | ||||
|  | ||||
| for ($nr = 1; $nr <= $feature_count; $nr++) { | ||||
|   $feature = $features{$nr}; | ||||
|  | ||||
|   $switch_body_code .= sprintf | ||||
|     (qq[#if GLIBTOP_SUID_%s\n\tcase GLIBTOP_CMND_%s:\n\t\treturn _glibtop_demarshal_%s_i\n\t\t\t(server, backend, send_ptr, send_size,\n\t\t\t data_ptr, data_size,\n\t\t\t recv_buf_ptr, recv_size_ptr,\n\t\t\t recv_data_ptr, recv_data_size_ptr, retval_ptr);\n#endif /* GLIBTOP_SUID_%s */\n], | ||||
|      &toupper ($feature), &toupper ($feature), $feature, &toupper ($feature)); | ||||
| } | ||||
|  | ||||
| $switch_code = sprintf | ||||
|   (qq[\tswitch (command) {\n%s\tdefault:\n\t\treturn -GLIBTOP_ERROR_INVALID_ARGUMENT;\n\t}\n], $switch_body_code); | ||||
|  | ||||
| $total_code = sprintf | ||||
|   (qq[%s\n{\n%s}\n\n], $func_decl_code, $switch_code); | ||||
|  | ||||
| print $total_code; | ||||
|  | ||||
| 1; | ||||
| @@ -1,114 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include "server.h" | ||||
|  | ||||
| void | ||||
| do_output (int s, glibtop_response *resp, const void *recv_ptr, | ||||
| 	   const void *data_ptr) | ||||
| { | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "Really writing %d bytes.\n", | ||||
| 	     sizeof (glibtop_response)); | ||||
| #endif | ||||
|  | ||||
|     if (s == 0) { | ||||
| 	if (write (1, (const void *) resp, sizeof (glibtop_response)) < 0) | ||||
| 	    glibtop_warn_io ("write"); | ||||
|     } else { | ||||
| 	if (send (s, (const void *) resp, sizeof (glibtop_response), 0) < 0) | ||||
| 	    glibtop_warn_io ("send"); | ||||
|     } | ||||
|  | ||||
|     if (resp->recv_size) { | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "Writing %ld bytes of data.\n", | ||||
| 		 (long) resp->recv_size); | ||||
| #endif | ||||
|  | ||||
| 	if (s == 0) { | ||||
| 	    if (write (1, recv_ptr, resp->recv_size) < 0) | ||||
| 		glibtop_warn_io ("write"); | ||||
| 	} else { | ||||
| 	    if (send (s, recv_ptr, resp->recv_size, 0) < 0) | ||||
| 		glibtop_warn_io ("send"); | ||||
| 	} | ||||
|     } | ||||
|  | ||||
|     if (resp->data_size) { | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "Writing %ld bytes of extra data.\n", | ||||
| 		 (long) resp->data_size); | ||||
| #endif | ||||
|  | ||||
| 	if (s == 0) { | ||||
| 	    if (write (1, data_ptr, resp->data_size) < 0) | ||||
| 		glibtop_warn_io ("write"); | ||||
| 	} else { | ||||
| 	    if (send (s, data_ptr, resp->data_size, 0) < 0) | ||||
| 		glibtop_warn_io ("send"); | ||||
| 	} | ||||
|     } | ||||
|  | ||||
| } | ||||
|  | ||||
| int | ||||
| do_read (int s, void *ptr, size_t total_size) | ||||
| { | ||||
|     int nread; | ||||
|     char *tmp_ptr; | ||||
|     size_t already_read = 0, remaining = total_size; | ||||
|  | ||||
|     while (already_read < total_size) { | ||||
| 	if (s) | ||||
| 	    nread = recv (s, ptr, remaining, 0); | ||||
| 	else | ||||
| 	    nread = read (0, ptr, remaining); | ||||
|  | ||||
| 	if ((already_read == 0) && (nread == 0)) { | ||||
| 	    glibtop_warn ("pid %d received eof.", getpid ()); | ||||
| 	    return 0; | ||||
| 	} | ||||
|  | ||||
| 	if (nread <= 0) { | ||||
| 	    glibtop_warn_io ("recv"); | ||||
| 	    return 0; | ||||
| 	} | ||||
|  | ||||
| 	already_read += nread; | ||||
| 	remaining -= nread; | ||||
| 	/* (char *) ptr += nread; */ | ||||
| 	tmp_ptr = ptr; | ||||
| 	tmp_ptr += nread; | ||||
| 	ptr = tmp_ptr; | ||||
|  | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "READ (%d): %d - %d - %d\n", | ||||
| 		 nread, already_read, remaining, total_size); | ||||
| #endif | ||||
|     } | ||||
|  | ||||
|     return already_read; | ||||
| } | ||||
| @@ -1,13 +0,0 @@ | ||||
| <?xml version="1.0"?> <!-- -*-xml-*- --> | ||||
| <!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'> | ||||
| <libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1"> | ||||
|  | ||||
|   <libgtop:Backend> | ||||
|     <libgtop:Name>glibtop-backend-server</libgtop:Name> | ||||
|     <libgtop:Location> | ||||
|       <libgtop:LibtoolName>libgtop_backend_server.la</libgtop:LibtoolName> | ||||
|       <libgtop:ShlibName>libgtop_backend_server.so</libgtop:ShlibName> | ||||
|     </libgtop:Location> | ||||
|   </libgtop:Backend> | ||||
|  | ||||
| </libgtop:Backends> | ||||
| @@ -1,305 +0,0 @@ | ||||
| #!/usr/bin/perl | ||||
|  | ||||
| require 'c_types.pl'; | ||||
|  | ||||
| $[ = 1;			# set array base to 1 | ||||
| $, = ' ';		# set output field separator | ||||
| $\ = "\n";		# set output record separator | ||||
|  | ||||
| $always_use_temp_storage = 1; | ||||
|  | ||||
| sub toupper { | ||||
|     local($_) = @_; | ||||
|     tr/a-z/A-Z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| sub tolower { | ||||
|     local($_) = @_; | ||||
|     tr/A-Z/a-z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| print '/* marshal.c */'; | ||||
| print "/* This is a generated file.  Please modify `marshal.pl' */"; | ||||
| print ''; | ||||
|  | ||||
| print '#include <backend-server.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/sysdeps.h>'; | ||||
| print '#include <glibtop/union.h>'; | ||||
| print ''; | ||||
| print '#include "command.h"'; | ||||
| print '#include <glibtop/call-vector.h>'; | ||||
| print ''; | ||||
|  | ||||
| $feature_count = 0; | ||||
|  | ||||
| while (<>) { | ||||
|     chop;	# strip record separator | ||||
|  | ||||
|     if (/^[^#]/) { | ||||
| 	&output($_); | ||||
|     } | ||||
| } | ||||
|  | ||||
| sub output { | ||||
|     local($line) = @_; | ||||
|     @line_fields = split(/\|/, $line, 9999); | ||||
|     $retval = $line_fields[1]; | ||||
|     $feature = $line_fields[2]; | ||||
|     $param_def = $line_fields[4]; | ||||
|  | ||||
|     $orig = $feature; | ||||
|     $feature =~ s/^@//; | ||||
|     $space = $feature; | ||||
|     $space =~ s/./ /g; | ||||
|  | ||||
|     $features{++$feature_count} = $orig; | ||||
|     return if $orig =~ /^@/; | ||||
|  | ||||
|     $orig_retval = $retval; | ||||
|     if ($retval eq 'retval') { | ||||
|       $retval_param = '&retval'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $retval = 'int'; | ||||
|     } | ||||
|     elsif ($retval !~ /^void$/) { | ||||
|       $retval_param = 'NULL'; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $call_prefix = 'retval = '; | ||||
|       $call_prefix_space = '         '; | ||||
|     } | ||||
|     else { | ||||
|       $retval_param = 'NULL'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = ''; | ||||
|       $prefix_space = ''; | ||||
|     } | ||||
|  | ||||
|     if ($retval =~ /^(array|pointer)\((.*)\)$/) { | ||||
|       $retval = ($2 eq 'string') ? 'char **' : "$2 *"; | ||||
|     } | ||||
|  | ||||
|     $need_temp_storage = $always_use_temp_storage; | ||||
|     $local_var_init_code = "\t/* variable initialization */\n"; | ||||
|     $local_var_init_code .= "\t_LIBGTOP_SEND_len = 0;\n"; | ||||
|     $local_var_init_code .= "\t_LIBGTOP_DATA_len = 0;\n"; | ||||
|     $local_var_init_code .= "\t_LIBGTOP_SEND_offset = 0;\n"; | ||||
|     $local_var_init_code  .= "\t_LIBGTOP_SEND_ptr = ". | ||||
| 	  "(char *) _LIBGTOP_SEND_buf;\n"; | ||||
|     $marshal_code = "\t/* marshal start */\n"; | ||||
|     $marshal_code .= "\tmemset (_LIBGTOP_SEND_buf, 0, _LIBGTOP_SEND_len);\n"; | ||||
|     $first_param_name = ''; | ||||
|     $size_code = ''; | ||||
|  | ||||
|     $call_param = ''; | ||||
|     $param_decl = ''; | ||||
|     $need_temp_len = 0; | ||||
|     $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]; | ||||
|  | ||||
| 	if ($first_param_name eq '') { | ||||
| 	  $first_param_name = $fields[$field]; | ||||
| 	} | ||||
|  | ||||
| 	if ($typeinfo->{$type}->[2]) { | ||||
| 	  $need_temp_storage = 1; | ||||
| 	} | ||||
|  | ||||
| 	if ($param_decl eq '') { | ||||
| 	  $param_decl = ",\n            " . $space . '    '; | ||||
| 	} | ||||
| 	else { | ||||
| 	  $param_decl = $param_decl . ', '; | ||||
| 	} | ||||
| 	$param_decl = $param_decl . $c_type . ' ' . $fields[$field]; | ||||
| 	$call_param = $call_param . ', ' . $fields[$field]; | ||||
|  | ||||
| 	$size_code .= "\t_LIBGTOP_SEND_len += "; | ||||
| 	if ($typeinfo->{$type}->[2]) { | ||||
| 	  $size_code .= sprintf ("sizeof (size_t)"); | ||||
| 	} else { | ||||
| 	  $size_code .= sprintf ("sizeof (%s)", $c_type); | ||||
| 	} | ||||
| 	$size_code .= ";\n"; | ||||
|  | ||||
| 	if (defined $sizeof_funcs->{$type}) { | ||||
| 	  $size_code .= "\t_LIBGTOP_DATA_len += "; | ||||
| 	  $size_code .= $sizeof_funcs->{$type}->($fields[$field]); | ||||
| 	  $size_code .= ";\n"; | ||||
| 	} | ||||
|  | ||||
| 	$marshal_code .= "\t_LIBGTOP_SEND_ptr = ". | ||||
| 	  "(char *) _LIBGTOP_SEND_buf + _LIBGTOP_SEND_offset;\n"; | ||||
|  | ||||
| 	if (defined $marshal_funcs->{$type}) { | ||||
| 	  $marshal_code .= $marshal_funcs->{$type}->($c_type, $fields[$field], "\t"); | ||||
| 	} else { | ||||
| 	  $marshal_code .= sprintf ("\tmemcpy (_LIBGTOP_SEND_ptr, %s, %s);\n", | ||||
| 				    '&'.$fields[$field], "sizeof ($c_type)"); | ||||
| 	} | ||||
|  | ||||
| 	$marshal_code .= "\t_LIBGTOP_SEND_offset += "; | ||||
| 	if ($typeinfo->{$type}->[2]) { | ||||
| 	  $marshal_code .= sprintf ("sizeof (size_t)"); | ||||
| 	} else { | ||||
| 	  $marshal_code .= sprintf ("sizeof (%s)", $c_type); | ||||
| 	} | ||||
| 	$marshal_code .= ";\n"; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     $local_var_code = ""; | ||||
|     $local_var_code .= "\tunsigned _LIBGTOP_SEND_offset, _LIBGTOP_SEND_len;\n"; | ||||
|     $local_var_code .= "\tunsigned _LIBGTOP_DATA_len;\n"; | ||||
|     if ($need_temp_len) { | ||||
|       $local_var_code .= "\tunsigned _LIBGTOP_SEND_temp_len;\n"; | ||||
|     } | ||||
|     $local_var_code .= "\tvoid *_LIBGTOP_SEND_buf, *_LIBGTOP_DATA_buf;\n"; | ||||
|     $local_var_code .= "\tchar *_LIBGTOP_SEND_ptr, *_LIBGTOP_DATA_ptr;\n"; | ||||
|     if ($retval !~ /^void$/) { | ||||
|       $local_var_code .= sprintf ("\t%s retval = (%s) 0;\n", | ||||
| 				  $retval, $retval); | ||||
|     } | ||||
|  | ||||
|     $total_code = ''; | ||||
|  | ||||
|     $send_buf_code = "\t/* send buffer */\n"; | ||||
|     $send_buf_code .= "\t_LIBGTOP_SEND_buf = "; | ||||
|     if ($need_temp_storage) { | ||||
|       $send_buf_code .= "g_malloc (_LIBGTOP_SEND_len+1)"; | ||||
|     } else { | ||||
|       $send_buf_code .= '(void *) &'.$first_param_name; | ||||
|     } | ||||
|     $send_buf_code .= ";\n\n"; | ||||
|  | ||||
|     $send_buf_code .= "\t/* data buffer */\n"; | ||||
|     $send_buf_code .= "\t_LIBGTOP_DATA_buf = "; | ||||
|     if ($need_temp_storage) { | ||||
|       $send_buf_code .= "g_malloc (_LIBGTOP_DATA_len+1)"; | ||||
|     } else { | ||||
|       $send_buf_code .= 'NULL'; | ||||
|     } | ||||
|     $send_buf_code .= ";\n"; | ||||
|     $send_buf_code .= "\t_LIBGTOP_DATA_ptr = _LIBGTOP_DATA_buf;\n"; | ||||
|  | ||||
|     $call_code = ''; | ||||
|     $call_code .= sprintf ("\t%sglibtop_call_i (server, closure, GLIBTOP_CMND_%s,\n", | ||||
| 			   $call_prefix, &toupper($feature)); | ||||
|     $call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space, | ||||
| 			   "_LIBGTOP_SEND_len", "_LIBGTOP_SEND_buf"); | ||||
|     $call_code .= sprintf ("\t\t\t%s%s, %s,\n", $call_prefix_space, | ||||
| 			   "_LIBGTOP_DATA_len", "_LIBGTOP_DATA_buf"); | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $call_code .= sprintf ("\t\t\t%s0, NULL,\n", $call_prefix_space); | ||||
|     } elsif ($line_fields[3] eq  'array') { | ||||
|       $call_code .= sprintf ("\t\t\t%ssizeof (glibtop_array), array,\n", | ||||
| 			     $call_prefix_space); | ||||
|     } else { | ||||
|       $call_code .= sprintf ("\t\t\t%ssizeof (glibtop_%s), buf,\n", | ||||
| 			     $call_prefix_space, $feature); | ||||
|     } | ||||
|     $call_code .= sprintf ("\t\t\t%s%s);\n", $call_prefix_space, $retval_param); | ||||
|  | ||||
|     if ($need_temp_storage) { | ||||
|       $send_buf_free_code = "\tg_free (_LIBGTOP_SEND_buf);\n"; | ||||
|       $send_buf_free_code .= "\tg_free (_LIBGTOP_DATA_buf);\n"; | ||||
|     } else { | ||||
|       $send_buf_free_code = ""; | ||||
|     } | ||||
|  | ||||
|     if (!($size_code eq '')) { | ||||
|       $size_code = sprintf (qq[\t/* send size */\n%s\n], $size_code); | ||||
|     } | ||||
|  | ||||
|     if ($orig_retval eq 'pointer(string)') { | ||||
|       $call_code .= "\n"; | ||||
|       $local_var_code .= "\tchar *_LIBGTOP_ARRAY_ptr, **ptrlist;\n"; | ||||
|       $local_var_code .= "\toff_t *_LIBGTOP_ARRAY_off_ptr;\n"; | ||||
|       $local_var_code .= "\tint i;\n"; | ||||
|       $call_code .= "\tptrlist = g_malloc (array->number+1 * sizeof (char *));\n"; | ||||
|       $call_code .= "\t_LIBGTOP_ARRAY_off_ptr = (off_t *) retval;\n"; | ||||
|       $call_code .= "\t_LIBGTOP_ARRAY_ptr = (char *) retval;\n"; | ||||
|       $call_code .= "\t_LIBGTOP_ARRAY_off_ptr++;\n\n"; | ||||
|       $call_code .= "\tfor (i = 0; i < array->number; i++)\n"; | ||||
|       $call_code .= "\t\tptrlist [i] = g_strdup (_LIBGTOP_ARRAY_ptr + *_LIBGTOP_ARRAY_off_ptr++);\n"; | ||||
|       $call_code .= "\tptrlist [array->number] = NULL;\n\n"; | ||||
|       $call_code .= "\tg_free (retval);\n"; | ||||
|       $call_code .= "\tretval = ptrlist;\n"; | ||||
|     } | ||||
|  | ||||
|     $total_code .= sprintf ("%s%s\n%s\n%s\n%s\n", | ||||
| 			    $size_code, $send_buf_code, $marshal_code, | ||||
| 			    $call_code, $send_buf_free_code); | ||||
|  | ||||
|     $return_code = ''; | ||||
|     if ($retval !~ /^void$/) { | ||||
|       $return_code .= "\treturn retval;\n"; | ||||
|     } else { | ||||
|       $return_code .= "\treturn;\n"; | ||||
|     } | ||||
|  | ||||
|     $total_code .= $return_code; | ||||
|  | ||||
|     $func_decl = 'static '.$retval."\n"; | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] eq 'array') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] =~ /^array/) { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } else { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } | ||||
|  | ||||
|     $total_code = sprintf ("%s{\n%s\n%s\n%s\n%s}\n", $func_decl, | ||||
| 			   $local_var_code, $local_var_init_code, | ||||
| 			   $total_code); | ||||
|  | ||||
|  | ||||
|     $total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n", | ||||
| 			   &toupper($feature), $total_code, | ||||
| 			   &toupper($feature)); | ||||
|  | ||||
|     print $total_code; | ||||
| } | ||||
|  | ||||
| $call_vector_code = ''; | ||||
| for ($nr = 1; $nr <= $feature_count; $nr++) { | ||||
|   $feature = $features{$nr}; | ||||
|  | ||||
|   $orig = $feature; | ||||
|   $feature =~ s/^@//; | ||||
|  | ||||
|   if ($orig =~ /^@/) { | ||||
|     $call_vector_code .= sprintf (qq[\tNULL,\n]); | ||||
|   } else { | ||||
|     $call_vector_code .= sprintf | ||||
|       (qq[\#if GLIBTOP_SUID_%s\n\t_glibtop_get_%s_c,\n\#else\n\tNULL,\n\#endif\n], | ||||
|        &toupper($feature), $feature); | ||||
|   } | ||||
| } | ||||
|  | ||||
| print 'glibtop_call_vector glibtop_backend_server_call_vector = {'; | ||||
| print $call_vector_code; | ||||
| print '};'; | ||||
| print ''; | ||||
|  | ||||
| @@ -1,46 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-server.h> | ||||
|  | ||||
| void | ||||
| glibtop_read_i (backend_server_private *priv, size_t size, void *buf) | ||||
| { | ||||
|     int ret = 0; | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "LIBRARY: really reading %d bytes from %d.\n", | ||||
| 	     size, priv->input [0]); | ||||
| #endif | ||||
|  | ||||
|     ret = read (priv->input [0], buf, size); | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "LIBRARY: read %d bytes.\n", ret); | ||||
| #endif | ||||
|  | ||||
|     if (ret < 0) | ||||
| 	glibtop_error_io_r (priv->server, "read %d bytes", size); | ||||
| } | ||||
| @@ -1,189 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include "server.h" | ||||
|  | ||||
| static glibtop _glibtop_global_server; | ||||
| glibtop *glibtop_global_server = &_glibtop_global_server; | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/union.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
|  | ||||
| #include <sys/utsname.h> | ||||
|  | ||||
| const unsigned long glibtop_server_features = | ||||
| GLIBTOP_SUID_CPU + | ||||
| GLIBTOP_SUID_MEM + | ||||
| GLIBTOP_SUID_SWAP + | ||||
| GLIBTOP_SUID_UPTIME + | ||||
| GLIBTOP_SUID_LOADAVG + | ||||
| GLIBTOP_SUID_SHM_LIMITS + | ||||
| GLIBTOP_SUID_MSG_LIMITS + | ||||
| GLIBTOP_SUID_SEM_LIMITS + | ||||
| GLIBTOP_SUID_PROCLIST + | ||||
| GLIBTOP_SUID_PROC_STATE + | ||||
| GLIBTOP_SUID_PROC_UID + | ||||
| GLIBTOP_SUID_PROC_MEM + | ||||
| GLIBTOP_SUID_PROC_TIME + | ||||
| GLIBTOP_SUID_PROC_SIGNAL + | ||||
| GLIBTOP_SUID_PROC_KERNEL + | ||||
| GLIBTOP_SUID_PROC_SEGMENT + | ||||
| GLIBTOP_SUID_PROC_ARGS + | ||||
| GLIBTOP_SUID_PROC_MAP + | ||||
| GLIBTOP_SUID_NETINFO + | ||||
| GLIBTOP_SUID_NETLOAD + | ||||
| GLIBTOP_SUID_INTERFACE_NAMES + | ||||
| GLIBTOP_SUID_PPP; | ||||
|  | ||||
| #include <fcntl.h> | ||||
| #include <locale.h> | ||||
|  | ||||
| int | ||||
| main(int argc, char *argv[]) | ||||
| { | ||||
|     struct utsname uts; | ||||
|     int uid, euid, gid, egid; | ||||
|     glibtop *server; | ||||
|  | ||||
|     /* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */ | ||||
|  | ||||
|     uid = getuid (); euid = geteuid (); | ||||
|     gid = getgid (); egid = getegid (); | ||||
|  | ||||
|     if (uname (&uts) < 0) _exit (1); | ||||
|  | ||||
|     if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) || | ||||
| 	strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) || | ||||
| 	strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) { | ||||
| 	fprintf (stderr, "Can only run on %s %s %s\n", | ||||
| 		 LIBGTOP_COMPILE_SYSTEM, | ||||
| 		 LIBGTOP_COMPILE_RELEASE, | ||||
| 		 LIBGTOP_COMPILE_MACHINE); | ||||
| 	_exit (1); | ||||
|     } | ||||
|  | ||||
|     server = glibtop_global_server; | ||||
| 	 | ||||
|     if (!server->_priv) | ||||
| 	server->_priv = g_malloc (sizeof (glibtop_server_private)); | ||||
|  | ||||
|     glibtop_init_p (server, 0, 0); | ||||
|  | ||||
|     if (setreuid (euid, uid)) _exit (1); | ||||
|  | ||||
|     if (setregid (egid, gid)) _exit (1); | ||||
|  | ||||
|     /* !!! END OF SUID ROOT PART !!! */ | ||||
|  | ||||
|     handle_slave_connection (0, 0); | ||||
|  | ||||
|     _exit (0); | ||||
| } | ||||
|  | ||||
| void | ||||
| handle_slave_connection (int input, int output) | ||||
| { | ||||
|     glibtop_command _cmnd, *cmnd = &_cmnd; | ||||
|     glibtop *server = glibtop_global_server; | ||||
|  | ||||
|     // glibtop_send_version_i (glibtop_global_server, output); | ||||
|  | ||||
|     while (do_read (input, cmnd, sizeof (glibtop_command))) { | ||||
| 	size_t recv_size = 0, send_size = 0, recv_data_size = 0; | ||||
| 	void *recv_ptr = NULL, *recv_data_ptr = NULL, *data_ptr = NULL; | ||||
| 	char parameter [BUFSIZ]; | ||||
| 	int retval, func_retval; | ||||
| 	glibtop_response resp; | ||||
|  | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "Slave %d received command " | ||||
| 		 "%ld from client.\n", getpid (), (long) cmnd->command); | ||||
| #endif | ||||
|  | ||||
| 	if (cmnd->send_size >= BUFSIZ) | ||||
| 	    glibtop_error ("Client sent %d bytes, but buffer is %d", | ||||
| 			   cmnd->send_size, BUFSIZ); | ||||
| 	else if (cmnd->param_size >= BUFSIZ) | ||||
| 	    glibtop_error ("Client sent %d bytes, but buffer is %d", | ||||
| 			   cmnd->param_size, BUFSIZ); | ||||
|  | ||||
| 	memset (parameter, 0, sizeof (parameter)); | ||||
|  | ||||
| 	if (cmnd->send_size) { | ||||
| #ifdef DEBUG | ||||
| 	    fprintf (stderr, "Client has %d bytes of data.\n", | ||||
| 		     cmnd->send_size); | ||||
| #endif | ||||
|  | ||||
| 	    send_size = cmnd->send_size; | ||||
| 	    do_read (input, parameter, send_size); | ||||
| 	} else if (cmnd->param_size) { | ||||
| #ifdef DEBUG | ||||
| 	    fprintf (stderr, "Client has %d bytes of parameter data.\n", | ||||
| 		     cmnd->param_size); | ||||
| #endif | ||||
| 	    send_size = cmnd->param_size; | ||||
| 	    memcpy (parameter, cmnd->parameter, send_size); | ||||
| 	} | ||||
|  | ||||
| 	if (cmnd->data_size) { | ||||
| #ifdef DEBUG | ||||
| 	    fprintf (stderr, "CLIENT has %d bytes of extra data for us.\n", | ||||
| 		     cmnd->data_size); | ||||
| #endif | ||||
|  | ||||
| 	    data_ptr = g_malloc (cmnd->data_size); | ||||
| 	    do_read (input, data_ptr, cmnd->data_size); | ||||
| 	} | ||||
|  | ||||
| 	retval = glibtop_demarshal_func_i (server, NULL, | ||||
| 					   cmnd->command, | ||||
| 					   parameter, send_size, | ||||
| 					   data_ptr, cmnd->data_size, | ||||
| 					   &recv_ptr, &recv_size, | ||||
| 					   &recv_data_ptr, &recv_data_size, | ||||
| 					   &func_retval); | ||||
|  | ||||
| #ifdef DEBUG | ||||
| 	fprintf (stderr, "Retval %d / %d - %p - %d\n", | ||||
| 		 retval, func_retval, recv_ptr, recv_size); | ||||
|  | ||||
| 	if (recv_data_size) { | ||||
| 	    fprintf (stderr, "Returning %d bytes of data from %p.\n", | ||||
| 		     recv_data_size, recv_data_ptr); | ||||
| 	} | ||||
| #endif | ||||
|  | ||||
| 	memset (&resp, 0, sizeof (glibtop_response)); | ||||
|  | ||||
| 	resp.retval = retval; | ||||
| 	resp.glibtop_errno = func_retval; | ||||
| 	resp.recv_size = recv_size; | ||||
| 	resp.data_size = recv_data_size; | ||||
|  | ||||
| 	do_output (output, &resp, recv_ptr, recv_data_ptr); | ||||
|     }		 | ||||
| } | ||||
| @@ -1,84 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_DAEMON_H__ | ||||
| #define __GLIBTOP_DAEMON_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/error.h> | ||||
|  | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/union.h> | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| #include <fcntl.h> | ||||
| #include <sys/wait.h> | ||||
| #include <sys/socket.h> | ||||
| #include <syslog.h> | ||||
|  | ||||
| #include <glibtop/backend.h> | ||||
| #include <glibtop-backend-private.h> | ||||
|  | ||||
| #include "command.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| /* Some don't have LOG_PERROR */ | ||||
| #ifndef LOG_PERROR | ||||
| #define LOG_PERROR 0 | ||||
| #endif | ||||
|  | ||||
| #define LIBGTOP_VERSION_STRING "Libgtop %s server version %s (%u,%u,%u,%u)." | ||||
|  | ||||
| #if defined(HAVE_GETDTABLESIZE) | ||||
| #define GET_MAX_FDS() getdtablesize() | ||||
| #else | ||||
| /* Fallthrough case - please add other #elif cases above | ||||
|    for different OS's as necessary */ | ||||
| #define GET_MAX_FDS() 256 | ||||
| #endif | ||||
|  | ||||
| void | ||||
| do_output (int s, glibtop_response *resp, const void *recv_ptr, | ||||
| 	   const void *data_ptr); | ||||
|  | ||||
| int | ||||
| do_read (int s, void *ptr, size_t total_size); | ||||
|  | ||||
| void | ||||
| handle_slave_connection (int input, int output); | ||||
|  | ||||
| int | ||||
| glibtop_demarshal_func_i (glibtop *server, glibtop_backend *backend, unsigned command, const void *send_ptr, size_t send_size, void *data_ptr, size_t data_size, void **recv_buf_ptr, size_t *recv_size_ptr, void **recv_data_ptr, size_t *recv_data_size_ptr, int *retval_ptr); | ||||
|  | ||||
| void | ||||
| glibtop_send_version_i (glibtop *server, int fd); | ||||
|  | ||||
| extern int enable_debug; | ||||
| extern int verbose_output; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,62 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include "server.h" | ||||
|  | ||||
| void | ||||
| glibtop_send_version_i (glibtop *server, int fd) | ||||
| { | ||||
|     char buffer [BUFSIZ]; | ||||
|     size_t size; | ||||
|  | ||||
|     sprintf (buffer, LIBGTOP_VERSION_STRING, | ||||
| 	     LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION, | ||||
| 	     sizeof (glibtop_command), | ||||
| 	     sizeof (glibtop_response), | ||||
| 	     sizeof (glibtop_union), | ||||
| 	     sizeof (glibtop_sysdeps)); | ||||
| 	 | ||||
|     size = strlen (buffer) + 1; | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "SERVER ID: |%s|\n", buffer); | ||||
| #endif | ||||
|  | ||||
|     if (fd == 0) { | ||||
| 	if (write (1, (const void *) &size, sizeof (size)) < 0) | ||||
| 	    glibtop_warn_io_r (server, "write"); | ||||
|     } else { | ||||
| 	if (send (fd, (const void *) &size, sizeof (size), 0) < 0) | ||||
| 	    glibtop_warn_io_r (server, "send"); | ||||
|     } | ||||
|  | ||||
|     if (fd == 0) { | ||||
| 	if (write (1, (const void *) buffer, size) < 0) | ||||
| 	    glibtop_warn_io_r (server, "write"); | ||||
|     } else { | ||||
| 	if (send (fd, (const void *) buffer, size, 0) < 0) | ||||
| 	    glibtop_warn_io_r (server, "send"); | ||||
|     } | ||||
| } | ||||
| @@ -1,43 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-server.h> | ||||
|  | ||||
| void | ||||
| glibtop_write_i (backend_server_private *priv, size_t size, const void *buf) | ||||
| { | ||||
|     int ret; | ||||
|  | ||||
|     if (size == 0) return; | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     fprintf (stderr, "LIBRARY: really writing %d bytes.\n", size); | ||||
| #endif | ||||
|  | ||||
|     ret = write (priv->output [1], buf, size); | ||||
|  | ||||
|     if (ret < 0) | ||||
| 	glibtop_error_io_r (priv->server, "write %d bytes", size); | ||||
| } | ||||
| @@ -1,7 +0,0 @@ | ||||
| .deps | ||||
| .libs | ||||
| Makefile | ||||
| Makefile.in | ||||
| *.lo | ||||
| *.la | ||||
| marshal.c | ||||
| @@ -1,68 +0,0 @@ | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-sysdeps.c: (_open_sysdeps): s/u_int64_t/guint64/ | ||||
|  | ||||
| 2003-10-20  Bastien Nocera  <hadess@hadess.net> | ||||
|  | ||||
| 	* backend-sysdeps.h: fixed compilation | ||||
|  | ||||
| 2000-11-26  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* glibtop-backend-private.h: Removed. | ||||
|  | ||||
| 	* backend-sysdeps.h: New files. | ||||
|  | ||||
| 	* backend-sysdeps.c (_open_sysdeps): Don't overwrite | ||||
| 	`backend->_priv'. | ||||
|  | ||||
| 2000-11-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Link libgtop_backend_sysdeps.la against | ||||
| 	$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la and | ||||
| 	$(top_builddir)/lib/libgtop_server.la. | ||||
|  | ||||
| 	* libgtop-sysdeps.backend: Removed the ExtraLibs section. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* backend-sysdeps.c (LibGTopBackendInfo): Call this | ||||
| 	`LibGTopBackendInfo_Sysdeps' when we don't use gmodule. | ||||
|  | ||||
| 2000-02-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Only install the libs in $(LIBGTOP_BACKEND_DIR) | ||||
| 	when we LIBGTOP_USE_GMODULE and in $(libdir) otherwise. | ||||
|  | ||||
| 2000-01-22  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* libgtop-sysdeps.backend: Added "ExtraLibs" section to | ||||
| 	load `-lgtop_sysdeps'. | ||||
|  | ||||
| 2000-01-12  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* Makefile.am: Install everything in $(LIBGTOP_BACKEND_DIR). | ||||
|  | ||||
| 	* libgtop-sysdeps.backend: New file. | ||||
|  | ||||
| 	* backend-sysdeps.c (glibtop_backend_sysdeps): Renamed to | ||||
| 	`LibGTopBackendInfo'. | ||||
|  | ||||
| 2000-01-12  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* marshal.pl: Create the `_glibtop_init_hook_s' as well. | ||||
|  | ||||
| 	* marshal.pl: Don't create code for things which are now | ||||
| 	in the new `glibtop-backend-common' backend. | ||||
|  | ||||
| 2000-01-02  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	* marshal.pl: New file. Automatically creates `marshal.c'. | ||||
| 	* call-vector.c: Removed. | ||||
|  | ||||
| 2000-01-01  Martin Baulig  <martin@home-of-linux.org> | ||||
|  | ||||
| 	Initial version of the "glibtop-backend-sysdeps" backend. | ||||
|  | ||||
| 	* backend-sysdeps.c: New file. | ||||
| 	* glibtop-backend-private.h: New file. | ||||
|  | ||||
| @@ -1,47 +0,0 @@ | ||||
| LINK		= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ | ||||
|  | ||||
| INCLUDES	= @INCLUDES@ | ||||
|  | ||||
| backenddir	= @LIBGTOP_BACKEND_DIR@ | ||||
|  | ||||
| if LIBGTOP_USE_GMODULE | ||||
| backendlibdir	= $(backenddir) | ||||
| else | ||||
| backendlibdir	= $(libdir) | ||||
| endif | ||||
|  | ||||
| dynamic_ldflags	= @libgtop_dynamic_ldflags@ | ||||
|  | ||||
| backend_DATA = \ | ||||
| 	libgtop-sysdeps.backend | ||||
|  | ||||
| noinst_HEADERS = \ | ||||
| 	backend-sysdeps.h | ||||
|  | ||||
| backendlib_LTLIBRARIES = \ | ||||
| 	libgtop_backend_sysdeps.la | ||||
|  | ||||
| libgtop_backend_sysdeps_la_SOURCES = \ | ||||
| 	backend-sysdeps.c		\ | ||||
| 	marshal.c | ||||
|  | ||||
| libgtop_backend_sysdeps_la_LDFLAGS = \ | ||||
| 	$(LT_VERSION_INFO) $(dynamic_ldflags) | ||||
|  | ||||
| libgtop_backend_sysdeps_la_LIBADD = \ | ||||
| 	$(top_builddir)/sysdeps/$(sysdeps_dir)/libgtop_sysdeps.la | ||||
| 	$(top_builddir)/lib/libgtop_server.la | ||||
|  | ||||
| BUILT_SOURCES = \ | ||||
| 	marshal.c | ||||
|  | ||||
| EXTRA_DIST = \ | ||||
| 	marshal.pl	\ | ||||
| 	libgtop-sysdeps.backend | ||||
|  | ||||
| CLEANFILES = $(BUILT_SOURCES) | ||||
|  | ||||
| marshal.c: marshal.pl $(top_builddir)/config.h $(top_srcdir)/features.def $(top_srcdir)/scripts/c_types.pl | ||||
| 	$(PERL) -I $(top_srcdir)/scripts $(srcdir)/marshal.pl < $(top_srcdir)/features.def > tmp-t | ||||
| 	mv tmp-t marshal.c | ||||
|  | ||||
| @@ -1,76 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <backend-sysdeps.h> | ||||
|  | ||||
| static int | ||||
| _open_sysdeps (glibtop_server *, glibtop_backend *, guint64, const char **); | ||||
|  | ||||
| static int | ||||
| _close_sysdeps (glibtop_server *, glibtop_backend *, void *); | ||||
|  | ||||
| extern glibtop_call_vector glibtop_backend_sysdeps_call_vector; | ||||
|  | ||||
| #ifdef LIBGTOP_USE_GMODULE | ||||
| glibtop_backend_info LibGTopBackendInfo = { | ||||
|     "glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps, | ||||
|     &glibtop_backend_sysdeps_call_vector | ||||
| }; | ||||
| #else | ||||
| glibtop_backend_info LibGTopBackendInfo_Sysdeps = { | ||||
|     "glibtop-backend-sysdeps", _open_sysdeps, _close_sysdeps, | ||||
|     &glibtop_backend_sysdeps_call_vector | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| static int | ||||
| _open_sysdeps (glibtop_server *server, glibtop_backend *backend, | ||||
| 	       guint64 features, const char **backend_args) | ||||
| { | ||||
|     glibtop_init_func_t *init_fkt; | ||||
|  | ||||
|     /* Do the initialization, but only if not already initialized. */ | ||||
|  | ||||
|     if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) { | ||||
| 	glibtop_open_s (server, "glibtop", features, 0); | ||||
|  | ||||
| 	for (init_fkt = _glibtop_init_hook_s; *init_fkt; init_fkt++) | ||||
| 	    (*init_fkt) (server); | ||||
|  | ||||
| 	server->info->sysdeps.pointer_size = sizeof (void*)*8; | ||||
| 		 | ||||
| 	server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS; | ||||
|     } | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| static int | ||||
| _close_sysdeps (glibtop_server *server, glibtop_backend *backend, | ||||
| 		void *closure) | ||||
| { | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| @@ -1,36 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_BACKEND_SYSDEPS_H__ | ||||
| #define __GLIBTOP_BACKEND_SYSDEPS_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/glibtop-backend.h> | ||||
| #include <glibtop/glibtop-backend-info.h> | ||||
|  | ||||
| #endif | ||||
| @@ -1,13 +0,0 @@ | ||||
| <?xml version="1.0"?> <!-- -*-xml-*- --> | ||||
| <!DOCTYPE libgtop:backends SYSTEM 'libgtop-backends.dtd'> | ||||
| <libgtop:Backends xmlns:libgtop="http://www.home-of-linux.org/libgtop/1.1"> | ||||
|  | ||||
|   <libgtop:Backend> | ||||
|     <libgtop:Name>glibtop-backend-sysdeps</libgtop:Name> | ||||
|     <libgtop:Location> | ||||
|       <libgtop:LibtoolName>libgtop_backend_sysdeps.la</libgtop:LibtoolName> | ||||
|       <libgtop:ShlibName>libgtop_backend_sysdeps.so</libgtop:ShlibName> | ||||
|     </libgtop:Location> | ||||
|   </libgtop:Backend> | ||||
|  | ||||
| </libgtop:Backends> | ||||
| @@ -1,195 +0,0 @@ | ||||
| #!/usr/bin/perl | ||||
|  | ||||
| require 'c_types.pl'; | ||||
|  | ||||
| $[ = 1;			# set array base to 1 | ||||
| $, = ' ';		# set output field separator | ||||
| $\ = "\n";		# set output record separator | ||||
|  | ||||
| $always_use_temp_storage = 1; | ||||
|  | ||||
| sub toupper { | ||||
|     local($_) = @_; | ||||
|     tr/a-z/A-Z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| sub tolower { | ||||
|     local($_) = @_; | ||||
|     tr/A-Z/a-z/; | ||||
|     return $_; | ||||
| } | ||||
|  | ||||
| print '/* marshal.c */'; | ||||
| print "/* This is a generated file.  Please modify `marshal.pl' */"; | ||||
| print ''; | ||||
|  | ||||
| print '#include <backend-sysdeps.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/sysdeps.h>'; | ||||
| print '#include <glibtop/union.h>'; | ||||
| print ''; | ||||
| print '#include <glibtop/call-vector.h>'; | ||||
| print ''; | ||||
|  | ||||
| $feature_count = 0; | ||||
|  | ||||
| while (<>) { | ||||
|     chop;	# strip record separator | ||||
|  | ||||
|     if (/^[^#]/) { | ||||
| 	&output($_); | ||||
|     } | ||||
| } | ||||
|  | ||||
| sub output { | ||||
|     local($line) = @_; | ||||
|     @line_fields = split(/\|/, $line, 9999); | ||||
|     $retval = $line_fields[1]; | ||||
|     $feature = $line_fields[2]; | ||||
|     $param_def = $line_fields[4]; | ||||
|  | ||||
|     $orig = $feature; | ||||
|     $feature =~ s/^@//; | ||||
|     $space = $feature; | ||||
|     $space =~ s/./ /g; | ||||
|  | ||||
|     $features{++$feature_count} = $orig; | ||||
|  | ||||
|     return if $orig =~ /^@/; | ||||
|  | ||||
|     if ($retval eq 'retval') { | ||||
|       $retval_param = '&retval'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $retval = 'int'; | ||||
|     } | ||||
|     elsif ($retval !~ /^void$/) { | ||||
|       $retval_param = 'NULL'; | ||||
|       $prefix = 'retval = '; | ||||
|       $prefix_space = '         '; | ||||
|       $call_prefix = 'retval = '; | ||||
|       $call_prefix_space = '         '; | ||||
|     } | ||||
|     else { | ||||
|       $retval_param = 'NULL'; | ||||
|       $call_prefix = ''; | ||||
|       $call_prefix_space = ''; | ||||
|       $prefix = ''; | ||||
|       $prefix_space = ''; | ||||
|     } | ||||
|  | ||||
|     if ($retval =~ /^(array|pointer)\((.*)\)$/) { | ||||
|       $retval = ($2 eq 'string') ? 'char **' : "$2 *"; | ||||
|     } | ||||
|  | ||||
|     $need_temp_storage = $always_use_temp_storage; | ||||
|     $first_param_name = ''; | ||||
|  | ||||
|     $call_param = ''; | ||||
|     $param_decl = ''; | ||||
|     $need_temp_len = 0; | ||||
|     $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]; | ||||
|  | ||||
| 	if ($first_param_name eq '') { | ||||
| 	  $first_param_name = $fields[$field]; | ||||
| 	} | ||||
|  | ||||
| 	if ($typeinfo->{$type}->[2]) { | ||||
| 	  $need_temp_storage = 1; | ||||
| 	} | ||||
|  | ||||
| 	if ($param_decl eq '') { | ||||
| 	  $param_decl = ",\n             " . $space . '    '; | ||||
| 	} | ||||
| 	else { | ||||
| 	  $param_decl = $param_decl . ', '; | ||||
| 	} | ||||
| 	$param_decl = $param_decl . $c_type . ' ' . $fields[$field]; | ||||
| 	$call_param = $call_param . ', ' . $fields[$field]; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server%s);\n", $feature, $call_param); | ||||
|     } elsif ($line_fields[3] eq 'array') { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, array%s);\n", $feature, $call_param); | ||||
|     } elsif ($line_fields[3] =~ /^array/) { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, array, buf%s);\n", $feature, $call_param); | ||||
|     } else { | ||||
|       $total_code = sprintf | ||||
| 	("\treturn glibtop_get_%s_s (server, buf%s);\n", $feature, $call_param); | ||||
|     } | ||||
|  | ||||
|     $func_decl = 'static '.$retval."\n"; | ||||
|     if ($line_fields[3] eq '') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] eq 'array') { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array%s)\n", | ||||
| 			     $feature, $param_decl); | ||||
|     } elsif ($line_fields[3] =~ /^array/) { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, glibtop_array *array, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } else { | ||||
|       $func_decl .= sprintf ("_glibtop_get_%s_c (glibtop_server *server, void *closure, %s *buf%s)\n", | ||||
| 			     $feature, 'glibtop_'.$feature, $param_decl); | ||||
|     } | ||||
|  | ||||
|     $total_code = sprintf ("%s{\n%s\n%s}\n", $func_decl, $total_code); | ||||
|  | ||||
|     $total_code = sprintf ("#if (!GLIBTOP_SUID_%s)\n\n%s\n#endif /* not GLIBTOP_SUID_%s */\n\n", | ||||
| 			   &toupper($feature), $total_code, | ||||
| 			   &toupper($feature)); | ||||
|  | ||||
|     print $total_code; | ||||
| } | ||||
|  | ||||
| $init_hook_code = ''; | ||||
| $call_vector_code = ''; | ||||
| for ($nr = 1; $nr <= $feature_count; $nr++) { | ||||
|   $feature = $features{$nr}; | ||||
|  | ||||
|   if ($feature =~ /^@/) { | ||||
|     $call_vector_code .= sprintf (qq[\tNULL,\n]); | ||||
|   } else { | ||||
|     $call_vector_code .= sprintf | ||||
|       (qq[\#if GLIBTOP_SUID_%s\n\tNULL,\n\#else\n\t_glibtop_get_%s_c,\n\#endif\n], | ||||
|        &toupper($feature), $feature); | ||||
|   } | ||||
|  | ||||
|   if (!($feature =~ /^@/)) { | ||||
|     $init_hook_code .= sprintf | ||||
|       (qq[\#if !GLIBTOP_SUID_%s\n\tglibtop_init_%s_s,\n\#endif\n], | ||||
|        &toupper($feature), $feature); | ||||
|   } | ||||
| } | ||||
| $init_hook_code .= sprintf (qq[\tNULL\n]); | ||||
|  | ||||
| chop $init_hook_code; | ||||
| chop $call_vector_code; | ||||
|  | ||||
| print 'glibtop_call_vector glibtop_backend_sysdeps_call_vector = {'; | ||||
| print $call_vector_code; | ||||
| print '};'; | ||||
| print ''; | ||||
|  | ||||
| print 'glibtop_init_func_t _glibtop_init_hook_s [] = {'; | ||||
| print $init_hook_code; | ||||
| print '};'; | ||||
| print ''; | ||||
|  | ||||
							
								
								
									
										178
									
								
								configure.in
									
									
									
									
									
								
							
							
						
						
									
										178
									
								
								configure.in
									
									
									
									
									
								
							| @@ -7,22 +7,12 @@ AM_CONFIG_HEADER(config.h) | ||||
| AC_CANONICAL_SYSTEM | ||||
|  | ||||
| LIBGTOP_MAJOR_VERSION=2 | ||||
| LIBGTOP_MINOR_VERSION=6 | ||||
| LIBGTOP_MINOR_VERSION=0 | ||||
| LIBGTOP_MICRO_VERSION=0 | ||||
| LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION | ||||
| AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION) | ||||
|  | ||||
| dnl  increment if the interface has additions, changes, removals. | ||||
| LIBGTOP_CURRENT=3 | ||||
|  | ||||
| dnl  increment any time the source changes; set to | ||||
| dnl  0 if you increment CURRENT | ||||
| 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. | ||||
| LIBGTOP_AGE=1 | ||||
| LIBGTOP_INTERFACE_AGE=0 | ||||
| LIBGTOP_BINARY_AGE=0 | ||||
|  | ||||
| # you can set this to `-snap' for instance to create | ||||
| # a `libgtop-1.x.y-snap.tar.gz' tarball. | ||||
| @@ -46,10 +36,10 @@ AC_SUBST(LIBGTOP_VERSION_SUFFIX) | ||||
|  | ||||
| # libtool versioning | ||||
| LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION | ||||
| LT_CURRENT=$LIBGTOP_CURRENT | ||||
| LT_REVISION=$LIBGTOP_REVISION | ||||
| LT_AGE=$LIBGTOP_AGE | ||||
| LT_VERSION_INFO="-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}" | ||||
| LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE` | ||||
| LT_REVISION=$LIBGTOP_INTERFACE_AGE | ||||
| LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE` | ||||
| LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}' | ||||
| AC_SUBST(LT_VERSION_INFO) | ||||
| AC_SUBST(LT_RELEASE) | ||||
| AC_SUBST(LT_CURRENT) | ||||
| @@ -80,8 +70,10 @@ AC_CHECK_TOOL(CC,gcc) | ||||
| AC_CHECK_TOOL(RANLIB,ranlib) | ||||
| AC_CHECK_TOOL(AS,as) | ||||
| AC_CHECK_TOOL(AR,ar) | ||||
| AC_CHECK_TOOL(NM,nm) | ||||
|  | ||||
| export CC CXX RANLIB LD AS AR | ||||
| NM=`which $NM` | ||||
| export CC CXX RANLIB LD AS AR NM | ||||
|  | ||||
| AC_PROG_INSTALL | ||||
| AC_PROG_LN_S | ||||
| @@ -91,11 +83,45 @@ export cross_compiling | ||||
|  | ||||
| AM_PROG_LIBTOOL | ||||
|  | ||||
| dnl Let the user enable compiler warnings | ||||
| dnl GNOME_COMPILE_WARNINGS | ||||
|  | ||||
| dnl GNOME_INIT_HOOK(gnome_found=yes) | ||||
|  | ||||
| dnl if test "x$gnome_found" != xyes; then | ||||
| dnl   if test "x$want_gnome" != xno ; then | ||||
| dnl     AC_MSG_ERROR([ | ||||
| dnl *** GNOME was not found on this system. *** | ||||
| dnl  | ||||
| dnl *** If you want to use LibGTop without GNOME, you need | ||||
| dnl *** to give configure the --without-gnome parameter. | ||||
| dnl ]) | ||||
| dnl   else | ||||
| dnl     AC_DEFINE(WITHOUT_GNOME) | ||||
| dnl   fi | ||||
| dnl   GNOME_SUPPORT_CHECKS | ||||
| dnl else | ||||
| dnl   if test "x$want_gnome" != xno ; then | ||||
| dnl     AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false) | ||||
| dnl   else | ||||
| dnl     GNOME_SUPPORT_CHECKS | ||||
| dnl   fi | ||||
| dnl fi | ||||
| AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false) | ||||
|  | ||||
| AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes) | ||||
|  | ||||
| GNOME_LIBGTOP_SYSDEPS | ||||
| GNOME_LIBGTOP_TYPES | ||||
|  | ||||
| dnl AC_ARG_WITH(libgtop-guile, | ||||
| dnl [  --with-libgtop-guile    Build the libgtop guile interface (default=no)], | ||||
| dnl [build_guile="$withval"], [build_guile=yes]) | ||||
|  | ||||
| dnl if test x$build_guile != xno ; then | ||||
| dnl  GNOME_CHECK_GUILE | ||||
| dnl fi | ||||
|  | ||||
| AC_ARG_WITH(libgtop-inodedb, | ||||
| [  --with-libgtop-inodedb  Build the inodedb stuff (default=no)], | ||||
| [build_inodedb="$withval"], [build_inodedb=no]) | ||||
| @@ -114,6 +140,20 @@ fi | ||||
|  | ||||
| AC_DEFINE(GLIBTOP_NAMES) | ||||
|  | ||||
| if test x$ac_cv_guile_found = xyes ; then | ||||
|   AC_DEFINE(GLIBTOP_GUILE) | ||||
|   AC_DEFINE(GLIBTOP_GUILE_NAMES) | ||||
|   libgtop_guile_found=yes | ||||
|   guile_examples='third' | ||||
|   guile_static_examples='third_static' | ||||
|   guile_subdirs='guile' | ||||
| else | ||||
|   libgtop_guile_found=no | ||||
|   guile_examples= | ||||
|   guile_static_examples= | ||||
|   guile_subdirs= | ||||
| fi | ||||
|  | ||||
| if test x$libgtop_smp = xyes ; then | ||||
|   smp_examples='smp' | ||||
|   smp_static_examples='smp_static' | ||||
| @@ -123,7 +163,7 @@ else | ||||
| fi | ||||
|  | ||||
| if test "x$enable_static" != xno; then | ||||
|   static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $smp_static_examples" | ||||
|   static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples" | ||||
| else | ||||
|   static_targets="" | ||||
| fi | ||||
| @@ -133,6 +173,10 @@ AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes) | ||||
|  | ||||
| AC_SUBST(static_targets) | ||||
| AC_SUBST(smp_examples) | ||||
| AC_SUBST(guile_examples) | ||||
| AC_SUBST(guile_subdirs) | ||||
|  | ||||
| AM_PROG_LIBTOOL | ||||
|  | ||||
| GLIB_REQUIRED=2.0.0 | ||||
|  | ||||
| @@ -140,13 +184,11 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED) | ||||
| AC_SUBST(GLIB_CFLAGS) | ||||
| AC_SUBST(GLIB_LIBS) | ||||
|  | ||||
| AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no]) | ||||
| AC_MSG_CHECKING(for popt.h) | ||||
| if test x$POPT = xyes ; then | ||||
|    AC_MSG_RESULT(yes) | ||||
| else | ||||
|    AC_MSG_ERROR([libgtop requires the popt development libraries]) | ||||
| fi | ||||
| dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop)) | ||||
|  | ||||
| dnl You need to uncomment the following line if you want to use | ||||
| dnl libGTop without Gnome. | ||||
| GNOME_SUPPORT_CHECKS | ||||
|  | ||||
| dnl Checks for typedefs, structures, and compiler characteristics. | ||||
| AC_C_CONST | ||||
| @@ -180,16 +222,6 @@ 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 | ||||
| AH_TEMPLATE(HAVE_VMGETINFO, [Define to 1 if you have the 'vmgetinfo' function in libperfstat]) | ||||
| AC_CHECK_LIB(perfstat, vmgetinfo, AC_DEFINE(HAVE_VMGETINFO)) | ||||
|  | ||||
| dnl Solaris | ||||
| AC_CHECK_LIB(kstat, kstat_open) | ||||
| AC_CHECK_FUNCS(getloadavg swapctl) | ||||
| @@ -250,7 +282,8 @@ AC_TYPE_SIGNAL | ||||
| AC_FUNC_STRFTIME | ||||
| AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname) | ||||
|  | ||||
| ALL_LINGUAS="am ar az be bg bn ca cs cy da de el en_CA en_GB es et fa fi fr ga gl he hi hr hu id it ja ko lt lv mk ml mn ms nl nn no pa pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi zh_CN zh_TW" | ||||
| dnl ## 'es_ES' is only needed for format numbers different of 'es' | ||||
| ALL_LINGUAS="az ca da de el es es_ES fi fr ga gl hu ja ko ms nl nn no pl pt pt_BR ru sk sl sv tr uk vi zh_CN zh_TW" | ||||
|  | ||||
| GETTEXT_PACKAGE=libgtop-2.0 | ||||
| AC_SUBST(GETTEXT_PACKAGE) | ||||
| @@ -296,6 +329,24 @@ dnl Debugging | ||||
| AC_ARG_ENABLE(debug, [  --enable-debug          turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),) | ||||
| AC_ARG_ENABLE(fatal-warnings, [  --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),) | ||||
|  | ||||
| if test "x$gnome_found" = xyes ; then | ||||
|   LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport" | ||||
|   SUPPORTINCS="$GNOME_INCLUDEDIR" | ||||
| else | ||||
|   LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la' | ||||
|   SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support' | ||||
| fi | ||||
|  | ||||
| dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS, | ||||
| dnl we include it here. | ||||
| case "$GNOME_LIBS" in | ||||
| 	'*-lgnomesupport*' )  | ||||
| 	  LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport" | ||||
|           SUPPORTINCS="$GNOME_INCLUDEDIR" ;; | ||||
| esac | ||||
| AC_SUBST(LIBSUPPORT) | ||||
| AC_SUBST(SUPPORTINCS) | ||||
|  | ||||
| dnl These definitions are expanded in make. | ||||
| LIBGTOP_LIBS='-L$(libdir)' | ||||
| LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' | ||||
| @@ -316,14 +367,25 @@ if test x$libgtop_have_sysinfo = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" | ||||
| fi | ||||
|  | ||||
| LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS" | ||||
| LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS" | ||||
|  | ||||
| LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS" | ||||
| LIBGTOP_GUILE_INCS="$LIBGTOP_INCS" | ||||
| LIBGTOP_BINDIR='$(bindir)' | ||||
| LIBGTOP_SERVER='$(bindir)/libgtop_server2' | ||||
| LIBGTOP_SERVER='$(bindir)/libgtop_server' | ||||
|  | ||||
| sysdeps_dir="$libgtop_sysdeps_dir" | ||||
| AC_SUBST(sysdeps_dir) | ||||
|  | ||||
| if test x$ac_cv_guile_found = xyes ; then | ||||
|   LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0" | ||||
|   libgtop_guile_found=yes | ||||
| else | ||||
|   libgtop_guile_found=no | ||||
| fi | ||||
|  | ||||
| AC_SUBST(libgtop_guile_found) | ||||
|  | ||||
| if test -z "$LIBGTOP_EXTRA_LIBS" ; then | ||||
|   LIBGTOP_EXTRA_LIBS="$libs_xauth" | ||||
| else | ||||
| @@ -332,29 +394,35 @@ fi | ||||
|  | ||||
| LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS" | ||||
|  | ||||
| LIBGTOP_LIBS="$LIBGTOP_LIBS" | ||||
| LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS" | ||||
| LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0" | ||||
| LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0" | ||||
|  | ||||
| LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0" | ||||
| LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0" | ||||
|  | ||||
| LIBGTOP_LIBS="$LIBGTOP_LIBS"  | ||||
| LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS" | ||||
| LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS" | ||||
| LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS" | ||||
|  | ||||
| LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS" | ||||
| LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE" | ||||
|  | ||||
| LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES" | ||||
| LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES" | ||||
| LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES" | ||||
|  | ||||
| machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir" | ||||
|  | ||||
| AC_SUBST(machine_incs) | ||||
|  | ||||
| if test "$GCC" = "yes" ; then | ||||
|         CFLAGS="\ | ||||
| 	-Wall \ | ||||
| 	-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ | ||||
| 	-Wnested-externs -Wpointer-arith \ | ||||
| 	-Wcast-align -Wsign-compare \ | ||||
| 	-fno-strict-aliasing \ | ||||
| 	$CFLAGS" | ||||
| if test x$libgtop_guile_found = xyes ; then | ||||
|   guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS " | ||||
| else | ||||
|   guile_def="" | ||||
| fi | ||||
|  | ||||
| INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $CFLAGS $X_CFLAGS "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"' | ||||
| INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"' | ||||
|  | ||||
| AC_SUBST(INCLUDES) | ||||
|  | ||||
| @@ -364,12 +432,16 @@ AC_SUBST(LIBGTOP_LIBS) | ||||
| AC_SUBST(LIBGTOP_INCS) | ||||
| AC_SUBST(LIBGTOP_NAMES_LIBS) | ||||
| AC_SUBST(LIBGTOP_NAMES_INCS) | ||||
| AC_SUBST(LIBGTOP_GUILE_LIBS) | ||||
| AC_SUBST(LIBGTOP_GUILE_INCS) | ||||
| AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS) | ||||
| AC_SUBST(LIBGTOP_GUILE_NAMES_INCS) | ||||
| AC_SUBST(LIBGTOP_BINDIR) | ||||
| AC_SUBST(LIBGTOP_SERVER) | ||||
|  | ||||
| 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' | ||||
|    server_programs='libgtop_server' | ||||
| else | ||||
|    sysdeps_suid_lib= | ||||
|    server_programs= | ||||
| @@ -387,6 +459,8 @@ include/glibtop/Makefile | ||||
| sysdeps/Makefile | ||||
| sysdeps/common/Makefile | ||||
| sysdeps/names/Makefile | ||||
| sysdeps/guile/Makefile | ||||
| sysdeps/guile/names/Makefile | ||||
| sysdeps/stub/Makefile | ||||
| sysdeps/stub_suid/Makefile | ||||
| sysdeps/sun4/Makefile | ||||
| @@ -395,12 +469,12 @@ sysdeps/linux/Makefile | ||||
| sysdeps/kernel/Makefile | ||||
| sysdeps/freebsd/Makefile | ||||
| sysdeps/solaris/Makefile | ||||
| sysdeps/aix/Makefile | ||||
| src/Makefile | ||||
| src/daemon/Makefile | ||||
| src/inodedb/Makefile | ||||
| lib/Makefile | ||||
| examples/Makefile | ||||
| doc/Makefile | ||||
| support/Makefile | ||||
| libgtop-2.0.pc | ||||
| ]) | ||||
|   | ||||
							
								
								
									
										5
									
								
								debian/libgtop2.README.Debian
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								debian/libgtop2.README.Debian
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +0,0 @@ | ||||
|  | ||||
| The Debian package of libgtop, a GNOME library. | ||||
|  | ||||
| --  | ||||
| Ian Lynagh <ian@lynagh.demon.co.uk> | ||||
							
								
								
									
										12
									
								
								debian/libgtop2.copyright
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								debian/libgtop2.copyright
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +0,0 @@ | ||||
|  | ||||
| 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
									
									
								
							
							
						
						
									
										7
									
								
								debian/libgtop2.docs
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +0,0 @@ | ||||
| RELNOTES-0.25 | ||||
| RELNOTES-1.0 | ||||
| RELNOTES-1.1.x | ||||
| NEWS | ||||
| AUTHORS | ||||
| TODO | ||||
| debian/changelog | ||||
							
								
								
									
										2
									
								
								debian/libgtop2.files.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/libgtop2.files.in
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +0,0 @@ | ||||
| @PREFIX@/lib/libgtop*-1.1.so.*.* | ||||
| @PREFIX@/lib/libgtop*-1.1.so.* | ||||
| @@ -1,15 +1,3 @@ | ||||
| 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 | ||||
|   | ||||
| @@ -18,6 +18,10 @@ auto-macros.texi: auto-macros.texi.in Makefile | ||||
| 	  -e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \ | ||||
| 	  -e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \ | ||||
| @@ -29,6 +33,7 @@ auto-macros.texi: auto-macros.texi.in Makefile | ||||
| 	  -e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \ | ||||
| 	  -e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \ | ||||
| 	  -e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \ | ||||
| 	  -e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \ | ||||
| 	  -e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \ | ||||
| 	      < $(srcdir)/auto-macros.texi.in > auto-macros.tmp | ||||
| 	echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp | ||||
|   | ||||
| @@ -1,107 +0,0 @@ | ||||
| @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. | ||||
|  | ||||
| @@ -50,7 +50,7 @@ typedef struct _glibtop_cpu     glibtop_cpu; | ||||
|  | ||||
| struct _glibtop_cpu | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         total, | ||||
|         user, | ||||
|         nice, | ||||
| @@ -139,7 +139,7 @@ typedef struct _glibtop_mem     glibtop_mem; | ||||
|  | ||||
| struct _glibtop_mem | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         total, | ||||
|         used, | ||||
|         free, | ||||
| @@ -207,7 +207,7 @@ typedef struct _glibtop_swap    glibtop_swap; | ||||
|  | ||||
| struct _glibtop_swap | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         total, | ||||
|         used, | ||||
|         free, | ||||
| @@ -266,10 +266,10 @@ typedef struct _glibtop_uptime  glibtop_uptime; | ||||
|  | ||||
| struct _glibtop_uptime | ||||
| @{ | ||||
|     guint64 flags; | ||||
|     u_int64_t flags; | ||||
|     double uptime, | ||||
|         idletime; | ||||
|     guint64 boot_time; | ||||
|     u_int64_t boot_time; | ||||
| @}; | ||||
| @end cartouche | ||||
| @end example | ||||
| @@ -318,9 +318,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg; | ||||
|  | ||||
| struct _glibtop_loadavg | ||||
| @{ | ||||
|     guint64 flags; | ||||
|     u_int64_t flags; | ||||
|     double loadavg [3]; | ||||
|     guint64 nr_running, | ||||
|     u_int64_t nr_running, | ||||
|         nr_tasks, | ||||
|         last_pid; | ||||
| @}; | ||||
| @@ -395,7 +395,7 @@ typedef struct _glibtop_proclist        glibtop_proclist; | ||||
|  | ||||
| struct _glibtop_proclist | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         number, | ||||
|         total, | ||||
|         size; | ||||
| @@ -464,8 +464,8 @@ Size of a single entry in the returned list | ||||
| (this equals @code{sizeof (unsigned)}). | ||||
| @end table | ||||
|  | ||||
| The returned list is allocated using @code{g_malloc} and must be freed | ||||
| using @code{g_free} to avoid a memory leak. | ||||
| The returned list is allocated using @code{glibtop_malloc} and must be freed | ||||
| using @code{glibtop_free} to avoid a memory leak. | ||||
|  | ||||
| @page | ||||
| @node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent | ||||
| @@ -492,7 +492,7 @@ typedef struct _glibtop_proc_state      glibtop_proc_state; | ||||
|  | ||||
| struct _glibtop_proc_state | ||||
| @{ | ||||
|     guint64 flags; | ||||
|     u_int64_t flags; | ||||
|     char cmd[40]; | ||||
| @ifset LIBGTOP-1-1 | ||||
|     unsigned state; | ||||
| @@ -618,7 +618,7 @@ typedef struct _glibtop_proc_uid        glibtop_proc_uid; | ||||
|  | ||||
| struct _glibtop_proc_uid | ||||
| @{ | ||||
|     guint64 flags; | ||||
|     u_int64_t flags; | ||||
|     int uid, | ||||
|         euid, | ||||
|         gid, | ||||
| @@ -698,7 +698,7 @@ typedef struct _glibtop_proc_mem        glibtop_proc_mem; | ||||
|  | ||||
| struct _glibtop_proc_mem | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         size, | ||||
|         vsize, | ||||
|         resident, | ||||
| @@ -813,7 +813,7 @@ typedef struct _glibtop_proc_time       glibtop_proc_time; | ||||
|  | ||||
| struct _glibtop_proc_time | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         start_time, | ||||
|         rtime, | ||||
|         utime, | ||||
| @@ -881,7 +881,7 @@ typedef struct _glibtop_proc_signal     glibtop_proc_signal; | ||||
|  | ||||
| struct _glibtop_proc_signal | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         signal [2], | ||||
|         blocked [2], | ||||
|         sigignore [2], | ||||
| @@ -902,7 +902,7 @@ Mask of caught signals | ||||
| @end table | ||||
|  | ||||
| All signal masks are interpreted as bit mask; it is an array of two | ||||
| @code{guint64}'s so we can save 128 signals there. | ||||
| @code{u_int64_t}'s so we can save 128 signals there. | ||||
|  | ||||
| @page | ||||
| @node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent | ||||
| @@ -929,8 +929,8 @@ typedef struct _glibtop_proc_kernel     glibtop_proc_kernel; | ||||
|  | ||||
| struct _glibtop_proc_kernel | ||||
| @{ | ||||
|     guint64 flags; | ||||
|     guint64 k_flags, | ||||
|     u_int64_t flags; | ||||
|     u_int64_t k_flags, | ||||
|         min_flt, | ||||
|         maj_flt, | ||||
|         cmin_flt, | ||||
| @@ -1029,7 +1029,7 @@ typedef struct _glibtop_proc_segment    glibtop_proc_segment; | ||||
|  | ||||
| struct _glibtop_proc_segment | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         text_rss, | ||||
|         shlib_rss, | ||||
|         data_rss, | ||||
| @@ -1096,7 +1096,7 @@ typedef struct _glibtop_proc_args       glibtop_proc_args; | ||||
|  | ||||
| struct _glibtop_proc_args | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         size; | ||||
| @}; | ||||
| @end cartouche | ||||
| @@ -1108,7 +1108,7 @@ Returns a string with all command line arguments of process @code{pid} | ||||
| The command line arguments in the returned string are separated by zero bytes; | ||||
| the lenght of this string is returned in the @code{size} field. | ||||
|  | ||||
| Remember to @code{g_free} the returned string to avoid a memory leak. | ||||
| Remember to @code{glibtop_free} the returned string to avoid a memory leak. | ||||
|  | ||||
| @page | ||||
| @node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent | ||||
| @@ -1135,7 +1135,7 @@ typedef struct _glibtop_proc_map        glibtop_proc_map; | ||||
|  | ||||
| struct _glibtop_proc_map | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         number, | ||||
|         total, | ||||
|         size; | ||||
| @@ -1144,7 +1144,7 @@ struct _glibtop_proc_map | ||||
| @end example | ||||
|  | ||||
| Returns a @code{glibtop_map_entry *} list (which needs to be freed with | ||||
| @code{g_free}) of memory maps of process @code{pid}. | ||||
| @code{glibtop_free}) of memory maps of process @code{pid}. | ||||
|  | ||||
| @table @code | ||||
| @item number | ||||
| @@ -1164,7 +1164,7 @@ typedef struct _glibtop_map_entry       glibtop_map_entry; | ||||
|  | ||||
| struct _glibtop_map_entry | ||||
| @{ | ||||
|     guint64 flags, start, end, offset, perm, inode, device; | ||||
|     u_int64_t flags, start, end, offset, perm, inode, device; | ||||
|     char filename [GLIBTOP_MAP_FILENAME_LEN+1]; | ||||
| @}; | ||||
| @end cartouche | ||||
| @@ -1175,13 +1175,13 @@ fields are valid: | ||||
|  | ||||
| @example | ||||
| @cartouche | ||||
| #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 | ||||
| #define GLIBTOP_MAP_ENTRY_START         1 | ||||
| #define GLIBTOP_MAP_ENTRY_END           2 | ||||
| #define GLIBTOP_MAP_ENTRY_OFFSET        3 | ||||
| #define GLIBTOP_MAP_ENTRY_PERM          4 | ||||
| #define GLIBTOP_MAP_ENTRY_INODE         5 | ||||
| #define GLIBTOP_MAP_ENTRY_DEVICE        6 | ||||
| #define GLIBTOP_MAP_ENTRY_FILENAME      7 | ||||
| @end cartouche | ||||
| @end example | ||||
|  | ||||
| @@ -1222,7 +1222,7 @@ typedef struct _glibtop_netload glibtop_netload; | ||||
|  | ||||
| struct _glibtop_netload | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         if_flags, | ||||
|         mtu, | ||||
|         subnet, | ||||
| @@ -1329,7 +1329,7 @@ typedef struct _glibtop_ppp     glibtop_ppp; | ||||
|  | ||||
| struct _glibtop_ppp | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         state, | ||||
|         bytes_in, | ||||
|         bytes_out; | ||||
| @@ -1409,7 +1409,7 @@ typedef struct _glibtop_mountlist       glibtop_mountlist; | ||||
|  | ||||
| struct _glibtop_mountlist | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         number, | ||||
|         total, | ||||
|         size; | ||||
| @@ -1418,7 +1418,7 @@ struct _glibtop_mountlist | ||||
| @end example | ||||
|  | ||||
| Returns a @code{glibtop_mountentry *} list (which needs to be freed with | ||||
| @code{g_free}) of mounted filesystems. | ||||
| @code{glibtop_free}) of mounted filesystems. | ||||
|  | ||||
| @table @code | ||||
| @item number | ||||
| @@ -1438,7 +1438,7 @@ typedef struct _glibtop_mountentry      glibtop_mountentry; | ||||
|  | ||||
| struct _glibtop_mountentry | ||||
| @{ | ||||
|     guint64 dev; | ||||
|     u_int64_t dev; | ||||
|     char devname [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
|     char mountdir [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
|     char type [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
| @@ -1488,7 +1488,7 @@ typedef struct _glibtop_fsusage         glibtop_fsusage; | ||||
|  | ||||
| struct _glibtop_fsusage | ||||
| @{ | ||||
|     guint64   flags, | ||||
|     u_int64_t   flags, | ||||
|         blocks, | ||||
|         bfree, | ||||
|         bavail, | ||||
| @@ -1639,7 +1639,7 @@ typedef struct _glibtop_sysdeps         glibtop_sysdeps; | ||||
|  | ||||
| struct _glibtop_sysdeps | ||||
| @{ | ||||
|     guint64 flags, | ||||
|     u_int64_t flags, | ||||
|         features, | ||||
|         pointer_size, | ||||
|         cpu, | ||||
|   | ||||
| @@ -1,2 +0,0 @@ | ||||
| Makefile.in | ||||
| Makefile | ||||
| @@ -1,9 +0,0 @@ | ||||
| backenddir	= @LIBGTOP_BACKEND_DIR@ | ||||
|  | ||||
| backend_DATA	= \ | ||||
| 	libgtop-backends.dtd	\ | ||||
| 	libgtop-backend-info.dtd | ||||
|  | ||||
| EXTRA_DIST	= | | ||||
| 	$(backend_DATA) | ||||
|  | ||||
| @@ -1,23 +0,0 @@ | ||||
| <!ELEMENT BackendInfo (name,description?,comments?,authors,legalnotice)> | ||||
| <!ELEMENT name (short_name,long_name?)> | ||||
| <!ELEMENT short_name (#PCDATA)> | ||||
| <!ELEMENT long_name (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT description (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT authors (author)+> | ||||
| <!ELEMENT author (author_name,author_email?)> | ||||
| <!ELEMENT author_name (#PCDATA)> | ||||
| <!ELEMENT author_email (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT legalnotice (license,copyright?)> | ||||
| <!ELEMENT license (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT copyright (holder)+> | ||||
| <!ELEMENT holder (holder_year?,holder_name,holder_email?)> | ||||
| <!ELEMENT holder_year (#PCDATA)> | ||||
| <!ELEMENT holder_name (#PCDATA)> | ||||
| <!ELEMENT holder_email (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT comments (comment)+> | ||||
| <!ELEMENT comment (#PCDATA)> | ||||
| @@ -1,11 +0,0 @@ | ||||
| <!ELEMENT Backends (Backend)+> | ||||
|  | ||||
| <!ELEMENT Backend (Name,Location)> | ||||
| <!ELEMENT Name (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT Location (LibtoolName?,ShlibName,ExtraLibs?)> | ||||
| <!ELEMENT LibtoolName (#PCDATA)> | ||||
| <!ELEMENT ShlibName (#PCDATA)> | ||||
|  | ||||
| <!ELEMENT ExtraLibs (ExtraLib)+> | ||||
| <!ELEMENT ExtraLib (LibtoolName?,ShlibName)> | ||||
| @@ -1,35 +1,3 @@ | ||||
| 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. | ||||
|   | ||||
| @@ -6,9 +6,14 @@ INCLUDES		= @INCLUDES@ | ||||
|  | ||||
| DEFS			= @DEFS@ | ||||
|  | ||||
| noinst_PROGRAMS	= 	first second\ | ||||
| # We install it in `libexec' since this will make it more easy | ||||
| # to put the examples into an extra RPM package. | ||||
|  | ||||
| libgtopdir		= $(libexecdir)/libgtop | ||||
|  | ||||
| libgtop_PROGRAMS	= first second\ | ||||
| 			  mountlist procmap netload sysdeps timings \ | ||||
| 			  @static_targets@ @smp_examples@ | ||||
| 			  @static_targets@ @guile_examples@ @smp_examples@ | ||||
|  | ||||
| EXTRA_PROGRAMS		= first_static second_static \ | ||||
| 			  mountlist_static procmap_static \ | ||||
| @@ -17,53 +22,77 @@ EXTRA_PROGRAMS		= first_static second_static \ | ||||
| 			  timings_static | ||||
|  | ||||
| first_SOURCES		= first.c | ||||
| first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| first_static_SOURCES	= $(first_SOURCES) | ||||
| first_static_LDADD	= $(first_LDADD) | ||||
| first_static_LDFLAGS	= -static | ||||
|  | ||||
| second_SOURCES		= second.c | ||||
| second_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| second_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| second_static_SOURCES	= $(second_SOURCES) | ||||
| second_static_LDADD	= $(second_LDADD) | ||||
| second_static_LDFLAGS	= -static | ||||
|  | ||||
| procmap_SOURCES		= procmap.c | ||||
| procmap_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| procmap_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
|  | ||||
|  | ||||
| procmap_static_SOURCES	= $(procmap_SOURCES) | ||||
| procmap_static_LDADD	= $(procmap_LDADD) | ||||
| procmap_static_LDFLAGS	= -static | ||||
|  | ||||
| netload_SOURCES		= netload.c | ||||
| netload_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| netload_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| netload_static_SOURCES	= $(netload_SOURCES) | ||||
| netload_static_LDADD	= $(netload_LDADD) | ||||
| netload_static_LDFLAGS	= -static | ||||
|  | ||||
| sysdeps_SOURCES		= sysdeps.c | ||||
| sysdeps_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| sysdeps_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| sysdeps_static_SOURCES	= $(sysdeps_SOURCES) | ||||
| sysdeps_static_LDADD	= $(sysdeps_LDADD) | ||||
| sysdeps_static_LDFLAGS	= -static | ||||
|  | ||||
| third_guile_names_LIBS	= $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la | ||||
| third_names_LIBS	= $(top_builddir)/sysdeps/names/libgtop_names-2.0.la | ||||
|  | ||||
| third_SOURCES		= third.c | ||||
| third_LDADD		= $(third_names_LIBS) \ | ||||
| third_LDADD		= $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \ | ||||
| 			  $(third_guile_names_LIBS) $(third_names_LIBS) \ | ||||
| 			  $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  @INTLLIBS@ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| third_static_SOURCES	= $(third_SOURCES) | ||||
| third_static_LDADD	= $(third_LDADD) | ||||
| third_static_LDFLAGS	= -static | ||||
|  | ||||
| mountlist_SOURCES	= mountlist.c | ||||
| mountlist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| mountlist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| mountlist_static_SOURCES= $(mountlist_SOURCES) | ||||
| mountlist_static_LDADD	= $(mountlist_LDADD) | ||||
| @@ -71,14 +100,20 @@ mountlist_static_LDFLAGS= -static | ||||
|  | ||||
|  | ||||
| smp_SOURCES		= smp.c | ||||
| smp_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| smp_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| smp_static_SOURCES	= $(smp_SOURCES) | ||||
| smp_static_LDADD	= $(smp_LDADD) | ||||
| smp_static_LDFLAGS	= -static | ||||
|  | ||||
| timings_SOURCES		= timings.c | ||||
| timings_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| timings_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  @LIBSUPPORT@ @INTLLIBS@ | ||||
|  | ||||
| timings_static_SOURCES	= $(timings_SOURCES) | ||||
| timings_static_LDADD	= $(timings_LDADD) | ||||
|   | ||||
| @@ -26,6 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -231,7 +232,7 @@ main (int argc, char *argv []) | ||||
| 		printf ("\n"); | ||||
| 	} | ||||
|  | ||||
| 	g_free (ptr); | ||||
| 	glibtop_free (ptr); | ||||
|  | ||||
| 	pid = getpid (); | ||||
| 	ppid = getppid (); | ||||
| @@ -345,7 +346,7 @@ main (int argc, char *argv []) | ||||
| 		(unsigned long) data.proc_args.size, | ||||
| 		args ? args : ""); | ||||
|  | ||||
| 	g_free (args); | ||||
| 	glibtop_free (args); | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| @@ -455,7 +456,7 @@ main (int argc, char *argv []) | ||||
| 		(unsigned long) data.proc_args.size, | ||||
| 		args ? args : ""); | ||||
|  | ||||
| 	g_free (args); | ||||
| 	glibtop_free (args); | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| @@ -566,7 +567,7 @@ main (int argc, char *argv []) | ||||
| 		(unsigned long) data.proc_args.size, | ||||
| 		args ? args : ""); | ||||
|  | ||||
| 	g_free (args); | ||||
| 	glibtop_free (args); | ||||
|  | ||||
| 	glibtop_close (); | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -72,7 +73,7 @@ main (int argc, char *argv []) | ||||
| 	for (c = 0; c < PROFILE_COUNT; c++) { | ||||
| 		mount_entries = glibtop_get_mountlist (&mount_list, 1); | ||||
|  | ||||
| 		g_free (mount_entries); | ||||
| 		glibtop_free (mount_entries); | ||||
| 	} | ||||
|  | ||||
| 	printf ("sbrk (0) = %p\n\n", sbrk (0)); | ||||
| @@ -88,21 +89,21 @@ main (int argc, char *argv []) | ||||
| 			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"); | ||||
| 	printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n", | ||||
| 		"", "Blocks", "Free", "Avail", "Files", "Free"); | ||||
|  | ||||
| 	for (index = 0; index < mount_list.number; index++) { | ||||
| 		glibtop_get_fsusage (&fsusage, | ||||
| 				     mount_entries [index].mountdir); | ||||
|  | ||||
| 		printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n", | ||||
| 		printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n", | ||||
| 			mount_entries [index].mountdir, | ||||
| 			fsusage.blocks, fsusage.bfree, | ||||
| 			fsusage.bavail, fsusage.files, | ||||
| 			fsusage.ffree, fsusage.block_size); | ||||
| 			fsusage.ffree); | ||||
| 	} | ||||
|  | ||||
| 	g_free (mount_entries); | ||||
| 	glibtop_free (mount_entries); | ||||
|  | ||||
| 	printf ("\nsbrk (0) = %p\n\n", sbrk (0)); | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -81,8 +82,8 @@ main (int argc, char *argv []) | ||||
| 	addr.s_addr = netload.address; | ||||
| 	subnet.s_addr = netload.subnet; | ||||
|  | ||||
| 	address_string = g_strdup (inet_ntoa (addr)); | ||||
| 	subnet_string  = g_strdup (inet_ntoa (subnet)); | ||||
| 	address_string = glibtop_strdup (inet_ntoa (addr)); | ||||
| 	subnet_string  = glibtop_strdup (inet_ntoa (subnet)); | ||||
|  | ||||
| 	printf ("Network Load (0x%08lx):\n\n" | ||||
| 		"\tInterface Flags:\t0x%08lx\n" | ||||
| @@ -115,8 +116,8 @@ main (int argc, char *argv []) | ||||
| 		(unsigned long) netload.errors_out, | ||||
| 		(unsigned long) netload.errors_total); | ||||
|  | ||||
| 	g_free (address_string); | ||||
| 	g_free (subnet_string); | ||||
| 	glibtop_free (address_string); | ||||
| 	glibtop_free (subnet_string); | ||||
|  | ||||
| 	glibtop_close (); | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -152,10 +153,10 @@ main (int argc, char *argv []) | ||||
| 		} | ||||
|  | ||||
| 		if (filename && (filename != maps [i].filename)) | ||||
| 			g_free (filename); | ||||
| 			glibtop_free (filename); | ||||
| 	} | ||||
|  | ||||
| 	g_free (maps); | ||||
| 	glibtop_free (maps); | ||||
|  | ||||
| 	glibtop_close (); | ||||
|  | ||||
|   | ||||
| @@ -22,11 +22,11 @@ | ||||
| */ | ||||
|  | ||||
| #include <locale.h> | ||||
| #include <math.h> | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/union.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
| @@ -150,7 +150,7 @@ output (pid_t pid) | ||||
| 		(unsigned long) data.proc_args.size, | ||||
| 		args ? args : ""); | ||||
|  | ||||
| 	g_free (args); | ||||
| 	glibtop_free (args); | ||||
|  | ||||
| 	printf ("\n"); | ||||
|  | ||||
| @@ -290,7 +290,7 @@ main (int argc, char *argv []) | ||||
| 		output (pid); | ||||
| 	} | ||||
|  | ||||
| 	g_free (ptr); | ||||
| 	glibtop_free (ptr); | ||||
|  | ||||
| 	exit (0); | ||||
| } | ||||
|   | ||||
| @@ -21,15 +21,11 @@ | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <locale.h> | ||||
| #include <math.h> | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/cpu.h> | ||||
|  | ||||
| #include "libgtop-i18n.h" | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| int | ||||
| main (int argc, char *argv []) | ||||
| @@ -46,8 +42,6 @@ main (int argc, char *argv []) | ||||
| 	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR); | ||||
| 	textdomain (GETTEXT_PACKAGE); | ||||
| 	 | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	glibtop_get_cpu (&cpu); | ||||
|  | ||||
| 	ncpu = glibtop_global_server->ncpu ? glibtop_global_server->ncpu : 1; | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -69,7 +69,7 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	glibtop_get_sysdeps (&sysdeps); | ||||
|  | ||||
| #define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0) | ||||
| #define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0) | ||||
|  | ||||
| 	printf ("Sysdeps (0x%08lx):\n\n" | ||||
| 		"\tfeatures:\t\t0x%08lx\n\n" | ||||
|   | ||||
| @@ -27,6 +27,7 @@ | ||||
|       | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/union.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
|   | ||||
| @@ -26,6 +26,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/xmalloc.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| @@ -186,7 +187,7 @@ main (int argc, char *argv []) | ||||
|  | ||||
| 	for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) { | ||||
| 		ptr = glibtop_get_proclist (&data.proclist, 0, 0); | ||||
| 		g_free (ptr); | ||||
| 		glibtop_free (ptr); | ||||
| 	} | ||||
|  | ||||
| 	getrusage (RUSAGE_SELF, &rusage_end); | ||||
|   | ||||
							
								
								
									
										20
									
								
								glibtop.h
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								glibtop.h
									
									
									
									
									
								
							| @@ -84,4 +84,24 @@ glibtop_init_s (glibtop **server_ptr, | ||||
| 		unsigned long features, | ||||
| 		unsigned flags); | ||||
|  | ||||
| #ifdef GLIBTOP_GUILE | ||||
|  | ||||
| /* You need to link with -lgtop_guile to get this stuff here. */ | ||||
|  | ||||
| void glibtop_boot_guile (void); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #ifdef GLIBTOP_GUILE_NAMES | ||||
|  | ||||
| /* You need to link with -lgtop_guile_names to get this stuff here. */ | ||||
|  | ||||
| void glibtop_boot_guile_names (void); | ||||
|  | ||||
| #ifndef GLIBTOP_NAMES | ||||
| #define GLIBTOP_NAMES | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,4 +1,2 @@ | ||||
| SUBDIRS		= glibtop | ||||
|  | ||||
| EXTRA_DIST	= libgtop-i18n.h | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \ | ||||
| 			  sem_limits.h uptime.h command.h mem.h proclist.h \ | ||||
| 			  proctime.h shm_limits.h version.h cpu.h msg_limits.h \ | ||||
| 			  procmem.h procuid.h swap.h write.h error.h open.h \ | ||||
| 			  procsegment.h read.h sysdeps.h global.h \ | ||||
| 			  procsegment.h read.h sysdeps.h xmalloc.h global.h \ | ||||
| 			  procsignal.h read_data.h union.h types.h gnuserv.h \ | ||||
| 			  parameter.h mountlist.h fsusage.h procmap.h signal.h \ | ||||
| 			  inodedb.h sysinfo.h ppp.h procargs.h netload.h | ||||
|   | ||||
| @@ -1,50 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_ARRAY_H__ | ||||
| #define __GLIBTOP_ARRAY_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GLIBTOP_ARRAY_NUMBER		0 | ||||
| #define GLIBTOP_ARRAY_SIZE		1 | ||||
| #define GLIBTOP_ARRAY_TOTAL		2 | ||||
|  | ||||
| #define GLIBTOP_MAX_ARRAY		3 | ||||
|  | ||||
| typedef struct _glibtop_array	glibtop_array; | ||||
|  | ||||
| struct _glibtop_array | ||||
| { | ||||
|     guint64 flags, | ||||
| 	number,		/* GLIBTOP_ARRAY_NUMBER	*/ | ||||
| 	size,		/* GLIBTOP_ARRAY_SIZE	*/ | ||||
| 	total;		/* GLIBTOP_ARRAY_TOTAL	*/ | ||||
| }; | ||||
|  | ||||
| #endif | ||||
| @@ -1,43 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| @@AUTOGEN_COMMENT@@ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_CALL_VECTOR_H__ | ||||
| #define __GLIBTOP_CALL_VECTOR_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/union.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| struct _glibtop_call_vector | ||||
| { | ||||
|     @@GLIBTOP_CALL_VECTOR@@ | ||||
| }; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,116 +0,0 @@ | ||||
| #!/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; | ||||
| @@ -26,13 +26,13 @@ | ||||
|  | ||||
| #include <glibtop.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| void glibtop_close_r (glibtop *server); | ||||
|  | ||||
| void glibtop_close_s (glibtop *server); | ||||
| void glibtop_close_p (glibtop *server); | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
| #include <glibtop/sysdeps.h> | ||||
| #include <glibtop/union.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_CMND_QUIT		0 | ||||
| #define GLIBTOP_CMND_SYSDEPS		1 | ||||
| @@ -69,8 +69,8 @@ typedef union  _glibtop_response_union	glibtop_response_union; | ||||
|  | ||||
| struct _glibtop_command | ||||
| { | ||||
| 	guint64	command; | ||||
| 	guint64	size, data_size; | ||||
| 	u_int64_t	command; | ||||
| 	u_int64_t	size, data_size; | ||||
| 	char		parameter [_GLIBTOP_PARAM_SIZE]; | ||||
| }; | ||||
|  | ||||
| @@ -83,7 +83,7 @@ union _glibtop_response_union | ||||
| struct _glibtop_response | ||||
| { | ||||
| 	int64_t offset; | ||||
| 	guint64 size, data_size; | ||||
| 	u_int64_t size, data_size; | ||||
| 	glibtop_response_union u; | ||||
| }; | ||||
|  | ||||
| @@ -97,6 +97,6 @@ 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 | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,91 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_COMPAT10_H__ | ||||
| #define __GLIBTOP_COMPAT10_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| /* glibtop_cpu */ | ||||
|  | ||||
| #define GLIBTOP_XCPU_TOTAL		GLIBTOP_CPU_XCPU_TOTAL | ||||
| #define GLIBTOP_XCPU_USER		GLIBTOP_CPU_XCPU_USER | ||||
| #define GLIBTOP_XCPU_NICE		GLIBTOP_CPU_XCPU_NICE | ||||
| #define GLIBTOP_XCPU_SYS		GLIBTOP_CPU_XCPU_SYS | ||||
| #define GLIBTOP_XCPU_IDLE		GLIBTOP_CPU_XCPU_IDLE | ||||
| #define GLIBTOP_XCPU_FLAGS		GLIBTOP_CPU_XCPU_FLAGS | ||||
|  | ||||
| /* glibtop_proclist */ | ||||
|  | ||||
| #define GLIBTOP_PROCLIST_NUMBER		GLIBTOP_ARRAY_NUMBER | ||||
| #define GLIBTOP_PROCLIST_SIZE		GLIBTOP_ARRAY_SIZE | ||||
| #define GLIBTOP_PROCLIST_TOTAL		GLIBTOP_ARRAY_TOTAL | ||||
|  | ||||
| #define GLIBTOP_MAX_PROCLIST		GLIBTOP_MAX_ARRAY | ||||
|  | ||||
| typedef struct _glibtop_array		glibtop_proclist; | ||||
|  | ||||
| /* glibtop_mountlist */ | ||||
|  | ||||
| #define GLIBTOP_MOUNTLIST_NUMBER	GLIBTOP_ARRAY_NUMBER | ||||
| #define GLIBTOP_MOUNTLIST_SIZE		GLIBTOP_ARRAY_SIZE | ||||
| #define GLIBTOP_MOUNTLIST_TOTAL		GLIBTOP_ARRAY_TOTAL | ||||
|  | ||||
| #define GLIBTOP_MAX_MOUNTLIST		GLIBTOP_MAX_ARRAY | ||||
|  | ||||
| typedef struct _glibtop_array		glibtop_mountlist; | ||||
|  | ||||
| /* glibtop_proc_args */ | ||||
|  | ||||
| #define GLIBTOP_PROC_ARGS_SIZE		0 | ||||
|  | ||||
| #define GLIBTOP_MAX_PROC_ARGS		1 | ||||
|  | ||||
| typedef struct _glibtop_array		glibtop_proc_args; | ||||
|  | ||||
| /* glibtop_proc_map */ | ||||
|  | ||||
| #define GLIBTOP_PROC_MAP_NUMBER		GLIBTOP_ARRAY_NUMBER | ||||
| #define GLIBTOP_PROC_MAP_SIZE		GLIBTOP_ARRAY_SIZE | ||||
| #define GLIBTOP_PROC_MAP_TOTAL		GLIBTOP_ARRAY_TOTAL | ||||
|  | ||||
| #define GLIBTOP_MAX_PROC_MAP		GLIBTOP_MAX_ARRAY | ||||
|  | ||||
| typedef struct _glibtop_array		glibtop_proc_map; | ||||
|  | ||||
| /* glibtop_interface_names */ | ||||
|  | ||||
| #define GLIBTOP_INTERFACE_NAMES_NUMBER	GLIBTOP_ARRAY_NUMBER | ||||
| #define GLIBTOP_INTERFACE_NAMES_SIZE	GLIBTOP_ARRAY_SIZE | ||||
| #define GLIBTOP_INTERFACE_NAMES_TOTAL	GLIBTOP_ARRAY_TOTAL | ||||
|  | ||||
| #define GLIBTOP_MAX_INTERFACE_NAMES	GLIBTOP_MAX_ARRAY | ||||
|  | ||||
| typedef struct _glibtop_array		glibtop_interface_names; | ||||
|  | ||||
| #endif | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_CPU_TOTAL	0 | ||||
| #define GLIBTOP_CPU_USER	1 | ||||
| @@ -41,9 +41,8 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_XCPU_NICE	8 | ||||
| #define GLIBTOP_XCPU_SYS	9 | ||||
| #define GLIBTOP_XCPU_IDLE	10 | ||||
| #define GLIBTOP_XCPU_FLAGS  11 | ||||
|  | ||||
| #define GLIBTOP_MAX_CPU		12 | ||||
| #define GLIBTOP_MAX_CPU		11 | ||||
|  | ||||
| /* Nobody should really be using more than 4 processors. */ | ||||
| #define GLIBTOP_NCPU		4 | ||||
| @@ -52,7 +51,7 @@ typedef struct _glibtop_cpu	glibtop_cpu; | ||||
|  | ||||
| struct _glibtop_cpu | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		total,				/* GLIBTOP_CPU_TOTAL		*/ | ||||
| 		user,				/* GLIBTOP_CPU_USER		*/ | ||||
| 		nice,				/* GLIBTOP_CPU_NICE		*/ | ||||
| @@ -63,8 +62,7 @@ struct _glibtop_cpu | ||||
| 		xcpu_user [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_USER		*/ | ||||
| 		xcpu_nice [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_NICE		*/ | ||||
| 		xcpu_sys  [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_SYS		*/ | ||||
| 		xcpu_idle [GLIBTOP_NCPU],	/* GLIBTOP_XCPU_IDLE		*/ | ||||
| 		xcpu_flags;	                /* GLIBTOP_XCPU_IDLE		*/ | ||||
| 		xcpu_idle [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IDLE		*/ | ||||
| }; | ||||
|  | ||||
| #define glibtop_get_cpu(cpu)	glibtop_get_cpu_l(glibtop_global_server, cpu) | ||||
| @@ -96,6 +94,6 @@ extern const char *glibtop_descriptions_cpu []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
|  | ||||
| #include <glibtop.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #ifndef G_GNUC_UNUSED | ||||
| #if	__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) | ||||
| @@ -131,6 +131,6 @@ glibtop_warn_io (char *format, ...) | ||||
|  | ||||
| #endif /* no __GNUC__ */ | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,95 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_ERRORS_H__ | ||||
| #define __GLIBTOP_ERRORS_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
|  | ||||
| #include <glib/gerror.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GLIBTOP_ERROR glibtop_error_quark () | ||||
|  | ||||
| GQuark glibtop_error_quark (void) G_GNUC_CONST; | ||||
|  | ||||
| typedef enum { | ||||
|     GLIBTOP_ERROR_NO_ERROR = 0, | ||||
|     GLIBTOP_ERROR_UNKNOWN, | ||||
|     GLIBTOP_ERROR_INVALID_ARGUMENT, | ||||
|     GLIBTOP_ERROR_NO_SUCH_PARAMETER, | ||||
|     GLIBTOP_ERROR_READONLY_VALUE, | ||||
|     GLIBTOP_ERROR_SIZE_MISMATCH, | ||||
|  | ||||
|     GLIBTOP_ERROR_SERVER_COMM_FAILURE, | ||||
|  | ||||
|     GLIBTOP_ERROR_NO_SUCH_PROCESS, | ||||
|  | ||||
|     GLIBTOP_ERROR_NO_KERNEL_SUPPORT, | ||||
|     GLIBTOP_ERROR_INCOMPATIBLE_KERNEL, | ||||
|  | ||||
|     GLIBTOP_ERROR_NO_SUCH_BACKEND, | ||||
|     GLIBTOP_ERROR_NOT_IMPLEMENTED, | ||||
|     GLIBTOP_ERROR_NO_BACKEND_OPENED, | ||||
|  | ||||
|     GLIBTOP_ERROR_DEMARSHAL_ERROR | ||||
| } glibtop_error; | ||||
|  | ||||
| void | ||||
| glibtop_error_vl (glibtop_client *client, glibtop_error code, | ||||
| 		  const char *format, va_list args); | ||||
|  | ||||
| void | ||||
| glibtop_error_io_vl (glibtop_client *client, glibtop_error code, | ||||
| 		     int io_errno, const char *format, va_list args); | ||||
|  | ||||
| void | ||||
| glibtop_warn_vl (glibtop_client *client, glibtop_error code, | ||||
| 		 const char *format, va_list args); | ||||
|  | ||||
| void | ||||
| glibtop_warn_io_vl (glibtop_client *client, glibtop_error code, | ||||
| 		    int io_errno, const char *format, va_list args); | ||||
|  | ||||
| void | ||||
| glibtop_error_l (glibtop_client *client, glibtop_error code, | ||||
| 		 char *format, ...); | ||||
|  | ||||
| void | ||||
| glibtop_warn_l (glibtop_client *client, glibtop_error code, | ||||
| 		char *format, ...); | ||||
|  | ||||
| void | ||||
| glibtop_error_io_l (glibtop_client *client, glibtop_error code, | ||||
| 		    char *format, ...); | ||||
|  | ||||
| void | ||||
| glibtop_warn_io_l (glibtop_client *client, glibtop_error code, | ||||
| 		   char *format, ...); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,6 +1,7 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
| @@ -26,29 +27,26 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_FSUSAGE_BLOCKS		0 | ||||
| #define GLIBTOP_FSUSAGE_BFREE		1 | ||||
| #define GLIBTOP_FSUSAGE_BAVAIL		2 | ||||
| #define GLIBTOP_FSUSAGE_FILES		3 | ||||
| #define GLIBTOP_FSUSAGE_FFREE		4 | ||||
| #define GLIBTOP_FSUSAGE_BLOCK_SIZE	5 | ||||
|  | ||||
| #define GLIBTOP_MAX_FSUSAGE		6 | ||||
|  | ||||
| #define GLIBTOP_MAX_FSUSAGE		5 | ||||
|  | ||||
| typedef struct _glibtop_fsusage		glibtop_fsusage; | ||||
|  | ||||
| struct _glibtop_fsusage | ||||
| { | ||||
| 	guint64	flags, | ||||
| 		blocks,		/* Total number of blocks. */ | ||||
| 	u_int64_t	flags, | ||||
| 		blocks,		/* Total blocks. */ | ||||
| 		bfree,		/* Free blocks available to superuser. */ | ||||
| 		bavail,		/* Free blocks available to non-superuser. */ | ||||
| 		files,		/* Total file nodes. */ | ||||
| 		ffree;		/* Free file nodes. */ | ||||
| 	gint	block_size;	/* Size of a block in bytes. */ | ||||
| }; | ||||
|  | ||||
| #define glibtop_get_fsusage(fsusage,disk)	glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk) | ||||
| @@ -69,6 +67,6 @@ extern const char *glibtop_descriptions_fsusage []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,50 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_GLIB_ARRAYS_H__ | ||||
| #define __GLIBTOP_GLIB_ARRAYS_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/array.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glib.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| GPtrArray * | ||||
| glibtop_get_proc_args_as_array_l (glibtop_client *client, pid_t pid); | ||||
|  | ||||
| GArray * | ||||
| glibtop_get_proclist_as_array_l (glibtop_client *client, int64_t which, int64_t arg); | ||||
|  | ||||
| GPtrArray * | ||||
| glibtop_get_proc_map_as_array_l (glibtop_client *client, pid_t pid); | ||||
|  | ||||
| GPtrArray * | ||||
| glibtop_get_mountlist_as_array_l (glibtop_client *client, int all_fs); | ||||
|  | ||||
| G_END_DECLS | ||||
| #endif | ||||
| @@ -1,102 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_BACKEND_INFO_H__ | ||||
| #define __GLIBTOP_BACKEND_INFO_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glibtop/glibtop-server.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_backend_info	glibtop_backend_info; | ||||
| typedef struct _glibtop_backend_entry	glibtop_backend_entry; | ||||
| typedef struct _glibtop_backend_module	glibtop_backend_module; | ||||
|  | ||||
| typedef struct _glibtop_call_vector	glibtop_call_vector; | ||||
|  | ||||
| typedef int (*glibtop_backend_open_func_t)  (glibtop_server *, glibtop_backend *, | ||||
| 					     guint64, const char **); | ||||
| typedef int (*glibtop_backend_close_func_t) (glibtop_server *, glibtop_backend *, | ||||
| 					     glibtop_closure *); | ||||
|  | ||||
| struct _glibtop_backend_info | ||||
| { | ||||
|     const char *name; | ||||
|     glibtop_backend_open_func_t open; | ||||
|     glibtop_backend_close_func_t close; | ||||
|     glibtop_call_vector *call_vector; | ||||
| }; | ||||
|  | ||||
| #ifdef _IN_LIBGTOP | ||||
|  | ||||
| #include <gmodule.h> | ||||
|  | ||||
| /* private structure */ | ||||
| struct _glibtop_backend_module | ||||
| { | ||||
|     int refcount; | ||||
|     GModule *module; | ||||
|     GSList *extra_modules; | ||||
| }; | ||||
|  | ||||
| struct _glibtop_backend_entry | ||||
| { | ||||
|     char *name; | ||||
|     char *libtool_name; | ||||
|     char *shlib_name; | ||||
|  | ||||
|     GSList *extra_libs; | ||||
|  | ||||
|     /* This is const since you must not attempt to | ||||
|      * write into gmodule loaded memory. */ | ||||
|     const glibtop_backend_info *info; | ||||
|  | ||||
|     /* private pointer */ | ||||
|     glibtop_backend_module *_priv; | ||||
| }; | ||||
|  | ||||
| #endif /* _IN_LIBGTOP */ | ||||
|  | ||||
| long | ||||
| glibtop_register_backend (glibtop_backend_entry *entry); | ||||
|  | ||||
| void | ||||
| glibtop_unregister_backend (long id); | ||||
|  | ||||
| glibtop_backend_entry * | ||||
| glibtop_backend_by_id (long id); | ||||
|  | ||||
| glibtop_backend_entry * | ||||
| glibtop_backend_by_name (const char *backend_name); | ||||
|  | ||||
| void | ||||
| glibtop_init_backends (void); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,85 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 2.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_BACKEND_H__ | ||||
| #define __GLIBTOP_BACKEND_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glib-object.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define	GLIBTOP_TYPE_BACKEND		(glibtop_backend_get_type ()) | ||||
| #define GLIBTOP_BACKEND(backend)	(G_TYPE_CHECK_INSTANCE_CAST ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend)) | ||||
| #define GLIBTOP_BACKEND_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_BACKEND, glibtop_backend_class)) | ||||
| #define GLIBTOP_IS_BACKEND(backend)	(G_TYPE_CHECK_INSTANCE_TYPE ((backend), GLIBTOP_TYPE_BACKEND)) | ||||
| #define GLIBTOP_IS_BACKEND_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_BACKEND)) | ||||
| #define	GLIBTOP_BACKEND_GET_CLASS(backend)(G_TYPE_INSTANCE_GET_CLASS ((backend), GLIBTOP_TYPE_BACKEND, glibtop_backend_class)) | ||||
|  | ||||
| #define GLIBTOP_BACKEND_TYPE(backend)	(G_TYPE_FROM_INSTANCE (backend)) | ||||
| #define GLIBTOP_BACKEND_TYPE_NAME(backend)(g_type_name (GLIBTOP_BACKEND_TYPE (backend))) | ||||
|  | ||||
| /* --- typedefs & structures --- */ | ||||
| typedef struct _glibtop_backend		glibtop_backend; | ||||
| typedef struct _glibtop_backend_class	glibtop_backend_class; | ||||
| typedef struct _glibtop_backend_private	glibtop_backend_private; | ||||
|  | ||||
| #include <glibtop/glibtop-backend-info.h> | ||||
|  | ||||
| struct	_glibtop_backend | ||||
| { | ||||
|     GObject object; | ||||
|  | ||||
|     /* <private> */ | ||||
|     glibtop_backend_private *_priv; | ||||
| }; | ||||
|  | ||||
| struct	_glibtop_backend_class | ||||
| { | ||||
|     GObjectClass parent_class;; | ||||
| }; | ||||
|  | ||||
| GType | ||||
| glibtop_backend_get_type (void); | ||||
|  | ||||
| glibtop_backend * | ||||
| glibtop_backend_get (const char *backend_name, guint64 features, | ||||
| 		     const char **backend_args, GError **error); | ||||
|  | ||||
| void | ||||
| glibtop_backend_set_closure_data (glibtop_backend *backend, glibtop_closure *closure); | ||||
|  | ||||
| glibtop_closure * | ||||
| glibtop_backend_get_closure_data (glibtop_backend *backend); | ||||
|  | ||||
| glibtop_call_vector * | ||||
| glibtop_backend_get_call_vector (glibtop_backend *backend); | ||||
|  | ||||
| glibtop_server * | ||||
| glibtop_backend_get_server (glibtop_backend *backend); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,97 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 2.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_CLIENT_H__ | ||||
| #define __GLIBTOP_CLIENT_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
|  | ||||
| #include <glib-object.h> | ||||
|  | ||||
| #include <glibtop/glibtop-backend.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define	GLIBTOP_TYPE_CLIENT		(glibtop_client_get_type ()) | ||||
| #define GLIBTOP_CLIENT(client)		(G_TYPE_CHECK_INSTANCE_CAST ((client), GLIBTOP_TYPE_CLIENT, glibtop_client)) | ||||
| #define GLIBTOP_CLIENT_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), GLIBTOP_TYPE_CLIENT, glibtop_client_class)) | ||||
| #define GLIBTOP_IS_CLIENT(client)	(G_TYPE_CHECK_INSTANCE_TYPE ((client), GLIBTOP_TYPE_CLIENT)) | ||||
| #define GLIBTOP_IS_CLIENT_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GLIBTOP_TYPE_CLIENT)) | ||||
| #define	GLIBTOP_CLIENT_GET_CLASS(client)(G_TYPE_INSTANCE_GET_CLASS ((client), GLIBTOP_TYPE_CLIENT, glibtop_client_class)) | ||||
|  | ||||
| #define GLIBTOP_CLIENT_TYPE(client)	(G_TYPE_FROM_INSTANCE (client)) | ||||
| #define GLIBTOP_CLIENT_TYPE_NAME(client)(g_type_name (GLIBTOP_CLIENT_TYPE (client))) | ||||
|  | ||||
| /* --- typedefs & structures --- */ | ||||
| typedef struct _glibtop_client		glibtop_client; | ||||
| typedef struct _glibtop_client_class	glibtop_client_class; | ||||
| typedef struct _glibtop_client_private	glibtop_client_private; | ||||
|  | ||||
| struct	_glibtop_client | ||||
| { | ||||
|     GObject object; | ||||
|  | ||||
|     /* <public> */ | ||||
|     GError *error; | ||||
|  | ||||
|     /* <private> */ | ||||
|     glibtop_client_private *_priv; | ||||
| }; | ||||
|  | ||||
| struct	_glibtop_client_class | ||||
| { | ||||
|     GObjectClass parent_class;; | ||||
|  | ||||
|     void (*error) (glibtop_client *client, GError *error); | ||||
|     void (*warning) (glibtop_client *client, GError *error); | ||||
| }; | ||||
|  | ||||
| GType | ||||
| glibtop_client_get_type (void); | ||||
|  | ||||
| glibtop_client * | ||||
| glibtop_client_new (void); | ||||
|  | ||||
| void | ||||
| glibtop_client_propagate_error (glibtop_client *client, GError *error); | ||||
|  | ||||
| void | ||||
| glibtop_client_propagate_warning (glibtop_client *client, GError *error); | ||||
|  | ||||
| void | ||||
| glibtop_client_open_backend (glibtop_client *client, const char *backend_name, | ||||
| 			     guint64 features, const char **backend_args); | ||||
|  | ||||
| void | ||||
| glibtop_client_add_backend (glibtop_client *client, | ||||
| 			    glibtop_backend *backend); | ||||
|  | ||||
| void | ||||
| glibtop_client_remove_backend (glibtop_client *client, | ||||
| 			       glibtop_backend *backend); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,75 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 2.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_SERVER_H__ | ||||
| #define __GLIBTOP_SERVER_H__ | ||||
|  | ||||
| #include <glibtop/global.h> | ||||
| #include <glibtop/sysdeps.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_server		glibtop_server; | ||||
| typedef struct _glibtop_server_info	glibtop_server_info; | ||||
|  | ||||
| typedef struct _glibtop_closure		glibtop_closure; | ||||
|  | ||||
| typedef int (*glibtop_init_func_t)	(glibtop_server *, glibtop_closure *); | ||||
|  | ||||
| extern glibtop_init_func_t		_glibtop_init_hook_s []; | ||||
| extern glibtop_init_func_t		_glibtop_init_hook_p []; | ||||
|  | ||||
| struct _glibtop_server_info | ||||
| { | ||||
|     int ncpu;			/* Number of CPUs, zero if single-processor */ | ||||
|     unsigned long features;	/* Server is required for this features */ | ||||
|     glibtop_sysdeps sysdeps;	/* Detailed feature list */ | ||||
|     glibtop_sysdeps required;	/* Required feature list */ | ||||
|     glibtop_sysdeps wanted;	/* We only want this features */ | ||||
| }; | ||||
|  | ||||
| struct	_glibtop_server | ||||
| { | ||||
|     glibtop_server_info *info; | ||||
|  | ||||
|     int refcount; | ||||
|     unsigned flags; | ||||
|     const char *name; | ||||
|  | ||||
|     void *_priv; | ||||
| }; | ||||
|  | ||||
| glibtop_server * | ||||
| glibtop_server_new (void); | ||||
|  | ||||
| void | ||||
| glibtop_server_ref (glibtop_server *server); | ||||
|  | ||||
| void | ||||
| glibtop_server_unref (glibtop_server *server); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -24,14 +24,43 @@ | ||||
| #ifndef __GLIBTOP_GLOBAL_H__ | ||||
| #define __GLIBTOP_GLOBAL_H__ | ||||
|  | ||||
| #include <glib.h> | ||||
|  | ||||
| #ifdef _IN_LIBGTOP | ||||
| #include <config.h> | ||||
| #endif | ||||
|  | ||||
| /* | ||||
|  * All declarations are enclosed in BEGIN_LIBGTOP_DECLS and | ||||
|  * END_LIBGTOP_DECLS so that C++ compilers don't mangle their names. | ||||
|  * | ||||
|  */ | ||||
|     | ||||
| #undef BEGIN_LIBGTOP_DECLS | ||||
| #undef END_LIBGTOP_DECLS | ||||
| #ifdef __cplusplus | ||||
| # define BEGIN_LIBGTOP_DECLS extern "C" { | ||||
| # define END_LIBGTOP_DECLS } | ||||
| #else | ||||
| # define BEGIN_LIBGTOP_DECLS /* empty */ | ||||
| # define END_LIBGTOP_DECLS /* empty */ | ||||
| #endif | ||||
|  | ||||
| #ifdef _IN_LIBGTOP | ||||
|  | ||||
| /* Provide macros to feature the GCC function attribute. | ||||
|  */ | ||||
| #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) | ||||
| #define G_GNUC_NORETURN				\ | ||||
|   __attribute__((noreturn)) | ||||
| #define G_GNUC_CONST				\ | ||||
|   __attribute__((const)) | ||||
| #define G_GNUC_UNUSED				\ | ||||
|   __attribute__((unused)) | ||||
| #else	/* !__GNUC__ */ | ||||
| #define G_GNUC_NORETURN | ||||
| #define G_GNUC_CONST | ||||
| #define	G_GNUC_UNUSED | ||||
| #endif	/* !__GNUC__ */ | ||||
|  | ||||
| #endif /* _IN_LIBGTOP */ | ||||
|  | ||||
| #if TIME_WITH_SYS_TIME | ||||
| @@ -45,6 +74,27 @@ | ||||
| # endif | ||||
| #endif | ||||
|  | ||||
| #ifdef NEED_GNOMESUPPORT_H | ||||
| #include <gnomesupport.h> | ||||
| #endif | ||||
|  | ||||
| #ifdef WITHOUT_GUILE | ||||
| #undef GLIBTOP_GUILE | ||||
| #undef GLIBTOP_GUILE_NAMES | ||||
| #endif | ||||
|  | ||||
| #ifdef GLIBTOP_GUILE | ||||
| #include <guile/gh.h> | ||||
| #endif | ||||
|  | ||||
| #ifdef _IN_LIBGTOP | ||||
| #if (defined HAVE_LIBINTL_H) || (defined HAVE_GETTEXT) | ||||
| #include <libintl.h> | ||||
| #else | ||||
| #include <libgettext.h> | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
|  | ||||
| @@ -74,13 +124,18 @@ | ||||
|  | ||||
| #ifdef _IN_LIBGTOP | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #ifndef _ | ||||
| #define _(String) dgettext (PACKAGE, String) | ||||
| #define N_(String) (String) | ||||
| #endif | ||||
|  | ||||
| #ifndef HAVE_STRERROR | ||||
| char *strerror (int errno); | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif /* _IN_LIBGTOP */ | ||||
|  | ||||
|   | ||||
| @@ -31,7 +31,7 @@ | ||||
|  | ||||
| #define GLIBTOP_INODEDB_ALL		7 | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| typedef struct _glibtop_inodedb		glibtop_inodedb; | ||||
|  | ||||
| @@ -39,7 +39,7 @@ typedef struct _glibtop_inodedb_key	glibtop_inodedb_key; | ||||
|  | ||||
| struct _glibtop_inodedb_key | ||||
| { | ||||
| 	guint64 device, inode; | ||||
| 	u_int64_t device, inode; | ||||
| }; | ||||
|  | ||||
| struct _glibtop_inodedb | ||||
| @@ -57,11 +57,11 @@ glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, | ||||
| 			  glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode); | ||||
| 			  u_int64_t device, u_int64_t inode); | ||||
|  | ||||
| void | ||||
| glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb); | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -1,203 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_INTERFACES_H__ | ||||
| #define __GLIBTOP_INTERFACES_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| #include <glibtop/compat_10.h> | ||||
| #include <glibtop/array.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GLIBTOP_INTERFACE_IF_FLAGS	0 | ||||
| #define GLIBTOP_INTERFACE_TRANSPORT	1 | ||||
| #define GLIBTOP_INTERFACE_TYPE		2 | ||||
| #define GLIBTOP_INTERFACE_NUMBER	3 | ||||
| #define GLIBTOP_INTERFACE_INSTANCE	4 | ||||
| #define GLIBTOP_INTERFACE_NUM_LOGICAL	5 | ||||
| #define GLIBTOP_INTERFACE_NAME		6 | ||||
|  | ||||
| #define GLIBTOP_MAX_INTERFACE		7 | ||||
|  | ||||
| #define GLIBTOP_IFADDR_TRANSPORT	0 | ||||
| #define GLIBTOP_IFADDR_ADDR_LEN		1 | ||||
| #define GLIBTOP_IFADDR_ADDRESS		2 | ||||
| #define GLIBTOP_IFADDR_SUBNET		3 | ||||
| #define GLIBTOP_IFADDR_SCOPE		4 | ||||
|  | ||||
| #define GLIBTOP_MAX_IFADDR		5 | ||||
|  | ||||
| typedef struct _glibtop_interface	glibtop_interface; | ||||
| typedef struct _glibtop_ifaddr		glibtop_ifaddr; | ||||
|  | ||||
| typedef enum _glibtop_interface_type	glibtop_interface_type; | ||||
| typedef enum _glibtop_transport		glibtop_transport; | ||||
| typedef enum _glibtop_protocol		glibtop_protocol; | ||||
|  | ||||
| typedef enum _glibtop_ipv6_scope	glibtop_ipv6_scope; | ||||
|  | ||||
| typedef enum _glibtop_strategy		glibtop_strategy; | ||||
| typedef enum _glibtop_interface_flags	glibtop_interface_flags; | ||||
|  | ||||
| enum _glibtop_protocol { | ||||
|     GLIBTOP_PROTOCOL_OTHERS	= 0, | ||||
|     GLIBTOP_PROTOCOL_ICMP	= 1 << 0, | ||||
|     GLIBTOP_PROTOCOL_TCP	= 1 << 1, | ||||
|     GLIBTOP_PROTOCOL_UDP	= 1 << 2, | ||||
|     GLIBTOP_PROTOCOL_IGMP	= 1 << 3, | ||||
|     GLIBTOP_PROTOCOL_RAW	= 1 << 4, | ||||
|     GLIBTOP_PROTOCOL_ICMP6	= 1 << 5, | ||||
|     GLIBTOP_PROTOCOL_TCP6	= 1 << 6, | ||||
|     GLIBTOP_PROTOCOL_UDP6	= 1 << 7, | ||||
|     GLIBTOP_PROTOCOL_IGMP6	= 1 << 8, | ||||
|     GLIBTOP_PROTOCOL_RAW6	= 1 << 9 | ||||
| }; | ||||
|  | ||||
| enum _glibtop_transport { | ||||
|     GLIBTOP_TRANSPORT_DEFAULT	= 0, | ||||
|     GLIBTOP_TRANSPORT_IPV4	= 1 << 0, | ||||
|     GLIBTOP_TRANSPORT_IPV6	= 1 << 1, | ||||
|     GLIBTOP_TRANSPORT_IPX	= 1 << 2, | ||||
|     GLIBTOP_TRANSPORT_X25	= 1 << 3, | ||||
|     GLIBTOP_TRANSPORT_DECNET	= 1 << 4, | ||||
|     GLIBTOP_TRANSPORT_APPLETALK	= 1 << 5, | ||||
|     GLIBTOP_TRANSPORT_NETBEUI	= 1 << 6 | ||||
| }; | ||||
|  | ||||
| #define GLIBTOP_TRANSPORT_ALL	GLIBTOP_UNLIMITED | ||||
| #define GLIBTOP_PROTOCOL_ALL	GLIBTOP_UNLIMITED | ||||
|  | ||||
| enum _glibtop_interface_type { | ||||
|     GLIBTOP_INTERFACE_ALL		= 0, | ||||
|     GLIBTOP_INTERFACE_OTHER, | ||||
|     /* Network interfaces */ | ||||
|     GLIBTOP_INTERFACE_ETHERNET		= 101, | ||||
|     GLIBTOP_INTERFACE_FDDI, | ||||
|     GLIBTOP_INTERFACE_FRAME_RELAY, | ||||
|     GLIBTOP_INTERFACE_TOKEN_RING, | ||||
|     GLIBTOP_INTERFACE_ARCNET, | ||||
|     GLIBTOP_INTERFACE_ATM, | ||||
|     /* Dummy interfaces */ | ||||
|     GLIBTOP_INTERFACE_LOOPBACK		= 501, | ||||
|     GLIBTOP_INTERFACE_DUMMY, | ||||
|     /* Dialup interfaces */ | ||||
|     GLIBTOP_INTERFACE_PARA		= 801, | ||||
|     GLIBTOP_INTERFACE_SLIP, | ||||
|     GLIBTOP_INTERFACE_PPP, | ||||
|     GLIBTOP_INTERFACE_ISDN | ||||
| }; | ||||
|  | ||||
| enum _glibtop_ipv6_scope { | ||||
|     GLIBTOP_IPV6_SCOPE_GLOBAL		= 0, | ||||
|     GLIBTOP_IPV6_SCOPE_LOOPBACK		= 1 << 1, | ||||
|     GLIBTOP_IPV6_SCOPE_LINKLOCAL	= 1 << 2, | ||||
|     GLIBTOP_IPV6_SCOPE_SITELOCAL	= 1 << 3, | ||||
|     GLIBTOP_IPV6_SCOPE_COMPATv4		= 1 << 4, | ||||
|     GLIBTOP_IPV6_SCOPE_UNKNOWN		= 1 << 5 | ||||
| }; | ||||
|  | ||||
| enum _glibtop_strategy { | ||||
|     GLIBTOP_INTERFACES_ALL		= 0, | ||||
|     GLIBTOP_INTERFACES_BEST_MATCHING, | ||||
|     GLIBTOP_INTERFACES_ONLY_THIS_ONE, | ||||
|     GLIBTOP_INTERFACES_INCLUDE_LOGICAL	= 1 << 7 | ||||
| }; | ||||
|  | ||||
| #define GLIBTOP_STRATEGY_FLAGS_MASK	(1 << 7) | ||||
|  | ||||
| enum _glibtop_interface_flags { | ||||
|     GLIBTOP_IF_FLAGS_UP = 1, | ||||
|     GLIBTOP_IF_FLAGS_BROADCAST, | ||||
|     GLIBTOP_IF_FLAGS_DEBUG, | ||||
|     GLIBTOP_IF_FLAGS_LOOPBACK, | ||||
|     GLIBTOP_IF_FLAGS_POINTOPOINT, | ||||
|     GLIBTOP_IF_FLAGS_RUNNING, | ||||
|     GLIBTOP_IF_FLAGS_NOARP, | ||||
|     GLIBTOP_IF_FLAGS_PROMISC, | ||||
|     GLIBTOP_IF_FLAGS_ALLMULTI, | ||||
|     GLIBTOP_IF_FLAGS_OACTIVE, | ||||
|     GLIBTOP_IF_FLAGS_SIMPLEX, | ||||
|     GLIBTOP_IF_FLAGS_LINK0, | ||||
|     GLIBTOP_IF_FLAGS_LINK1, | ||||
|     GLIBTOP_IF_FLAGS_LINK2, | ||||
|     GLIBTOP_IF_FLAGS_ALTPHYS, | ||||
|     GLIBTOP_IF_FLAGS_MULTICAST | ||||
| }; | ||||
|  | ||||
| struct _glibtop_ifaddr | ||||
| { | ||||
|     guint64	flags, | ||||
| 	transport;			/* GLIBTOP_IFADDR_TRANSPORT	*/ | ||||
|     u_int8_t	addr_len,		/* GLIBTOP_IFADDR_ADDR_LEN	*/ | ||||
| 	address [GLIBTOP_IFADDR_LEN];	/* GLIBTOP_IFADDR_ADDRESS	*/ | ||||
|     guint64	subnet,			/* GLIBTOP_IFADDR_SUBNET	*/ | ||||
| 	scope;				/* GLIBTOP_IFADDR_SCOPE	*/ | ||||
| }; | ||||
|  | ||||
| struct _glibtop_interface | ||||
| { | ||||
|     guint64	flags, | ||||
| 	if_flags,		/* GLIBTOP_INTERFACE_IF_FLAGS		*/ | ||||
| 	transport,		/* GLIBTOP_INTERFACE_TRANSPORT		*/ | ||||
| 	type,			/* GLIBTOP_INTERFACE_TYPE		*/ | ||||
| 	number,			/* GLIBTOP_INTERFACE_NUMBER		*/ | ||||
| 	instance,		/* GLIBTOP_INTERFACE_INSTANCE		*/ | ||||
| 	num_logical;		/* GLIBTOP_INTERFACE_NUM_LOGICAL	*/ | ||||
|     char name [GLIBTOP_INTERFACE_LEN]; | ||||
| }; | ||||
|  | ||||
| #if GLIBTOP_SUID_INTERFACE_NAMES | ||||
| #define glibtop_get_interface_names_r	glibtop_get_interface_names_p | ||||
| #else | ||||
| #define glibtop_get_interface_names_r	glibtop_get_interface_names_s | ||||
| #endif | ||||
|  | ||||
| glibtop_interface *glibtop_get_interface_names_l (glibtop_client *client, glibtop_array *array, guint64 interface, guint64 number, guint64 instance, guint64 strategy); | ||||
|  | ||||
| #if GLIBTOP_SUID_INTERFACE_NAMES | ||||
| int glibtop_init_interface_names_p (glibtop_server *server, glibtop_closure *closure); | ||||
| glibtop_interface *glibtop_get_interface_names_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, guint64 interface, guint64 number, guint64 instance, guint64 strategy); | ||||
| #else | ||||
| int glibtop_init_interface_names_s (glibtop_server *server, glibtop_closure *closure); | ||||
| glibtop_interface *glibtop_get_interface_names_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, guint64 interface, guint64 number, guint64 instance, guint64 strategy); | ||||
| #endif | ||||
|  | ||||
| #ifdef GLIBTOP_NAMES | ||||
|  | ||||
| /* You need to link with -lgtop_names to get this stuff here. */ | ||||
|  | ||||
| extern const char *glibtop_names_interface_names []; | ||||
| extern const unsigned glibtop_types_interface_names []; | ||||
| extern const char *glibtop_labels_interface_names []; | ||||
| extern const char *glibtop_descriptions_interface_names []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -1,56 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_LIMITS_H__ | ||||
| #define __GLIBTOP_LIMITS_H__ | ||||
|  | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| /* Nobody should really be using more than 64 processors. */ | ||||
| #define GLIBTOP_NCPU		64 | ||||
|  | ||||
| /* Maximum number of process groups in glibtop_proc_uid. */ | ||||
| #define GLIBTOP_MAX_GROUPS	32 | ||||
|  | ||||
| /* Maximum length of a mountpoint/device name in glibtop_mountlist. */ | ||||
| #define GLIBTOP_MOUNTENTRY_LEN	79 | ||||
|  | ||||
| /* Maximum length of a network interface name. */ | ||||
| #define GLIBTOP_INTERFACE_LEN	32 | ||||
|  | ||||
| /* Length of a network interface address in bytes. */ | ||||
| #define GLIBTOP_IFADDR_LEN	16 | ||||
|  | ||||
| /* This is ((guint64)-1) */ | ||||
| #define GLIBTOP_UNLIMITED	(~(guint64)0) | ||||
|  | ||||
| /* Maximum length of a backend name. */ | ||||
| #define GLIBTOP_BACKEND_NAME_LEN	40 | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_LOADAVG_LOADAVG		0 | ||||
| #define GLIBTOP_LOADAVG_NR_RUNNING	1 | ||||
| @@ -40,9 +40,9 @@ typedef struct _glibtop_loadavg	glibtop_loadavg; | ||||
|  | ||||
| struct _glibtop_loadavg | ||||
| { | ||||
| 	guint64 flags; | ||||
| 	u_int64_t flags; | ||||
| 	double loadavg [3];		/* GLIBTOP_LOADAVG_LOADAVG	*/ | ||||
| 	guint64 nr_running,		/* GLIBTOP_LOADAVG_NR_RUNNING	*/ | ||||
| 	u_int64_t nr_running,		/* GLIBTOP_LOADAVG_NR_RUNNING	*/ | ||||
| 		nr_tasks,		/* GLIBTOP_LOADAVG_NR_TASKS	*/ | ||||
| 		last_pid;		/* GLIBTOP_LOADAVG_LAST_PID	*/ | ||||
| }; | ||||
| @@ -76,6 +76,6 @@ extern const char *glibtop_descriptions_loadavg []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_MEM_TOTAL	0 | ||||
| #define GLIBTOP_MEM_USED	1 | ||||
| @@ -44,7 +44,7 @@ typedef struct _glibtop_mem	glibtop_mem; | ||||
|  | ||||
| struct _glibtop_mem | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		total,		/* GLIBTOP_MEM_TOTAL	*/ | ||||
| 		used,		/* GLIBTOP_MEM_USED	*/ | ||||
| 		free,		/* GLIBTOP_MEM_FREE	*/ | ||||
| @@ -84,6 +84,6 @@ extern const char *glibtop_descriptions_mem []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_MOUNTLIST_NUMBER	0 | ||||
| #define GLIBTOP_MOUNTLIST_TOTAL		1 | ||||
| @@ -41,7 +41,7 @@ typedef struct _glibtop_mountlist	glibtop_mountlist; | ||||
|  | ||||
| struct _glibtop_mountentry | ||||
| { | ||||
| 	guint64 dev; | ||||
| 	u_int64_t dev; | ||||
| 	char devname [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
| 	char mountdir [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
| 	char type [GLIBTOP_MOUNTENTRY_LEN+1]; | ||||
| @@ -49,7 +49,7 @@ struct _glibtop_mountentry | ||||
|  | ||||
| struct _glibtop_mountlist | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		number,			/* GLIBTOP_MOUNTLIST_NUMBER	*/ | ||||
| 		total,			/* GLIBTOP_MOUNTLIST_TOTAL	*/ | ||||
| 		size;			/* GLIBTOP_MOUNTLIST_SIZE	*/ | ||||
| @@ -76,6 +76,6 @@ extern const char *glibtop_descriptions_mountlist []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_IPC_MSGPOOL	0 | ||||
| #define GLIBTOP_IPC_MSGMAP	1 | ||||
| @@ -43,7 +43,7 @@ typedef struct _glibtop_msg_limits	glibtop_msg_limits; | ||||
|  | ||||
| struct _glibtop_msg_limits | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		msgpool,	/* GLIBTOP_IPC_MSGPOOL	*/ | ||||
| 		msgmap,		/* GLIBTOP_IPC_MSGMAP	*/ | ||||
| 		msgmax,		/* GLIBTOP_IPC_MSGMAX	*/ | ||||
| @@ -82,7 +82,7 @@ extern const char *glibtop_descriptions_msg_limits []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|  | ||||
|   | ||||
| @@ -1,83 +0,0 @@ | ||||
| /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_NETINFO_H__ | ||||
| #define __GLIBTOP_NETINFO_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GLIBTOP_NETINFO_IF_FLAGS	0 | ||||
| #define GLIBTOP_NETINFO_TRANSPORT	1 | ||||
| #define GLIBTOP_NETINFO_MTU		2 | ||||
| #define GLIBTOP_NETINFO_SUBNET		3 | ||||
| #define GLIBTOP_NETINFO_ADDRESS		4 | ||||
|  | ||||
| #define GLIBTOP_MAX_NETINFO		5 | ||||
|  | ||||
| typedef struct _glibtop_netinfo	glibtop_netinfo; | ||||
|  | ||||
| #include <glibtop/interfaces.h> | ||||
|  | ||||
| struct _glibtop_netinfo | ||||
| { | ||||
|     guint64	flags, | ||||
| 	if_flags,			/* GLIBTOP_NETINFO_IF_FLAGS	*/ | ||||
| 	transport,			/* GLIBTOP_NETINFO_TRANSPORT	*/ | ||||
| 	mtu;				/* GLIBTOP_NETINFO_MTU		*/ | ||||
| }; | ||||
|  | ||||
| #if GLIBTOP_SUID_NETINFO | ||||
| #define glibtop_get_netinfo_r		glibtop_get_netinfo_p | ||||
| #else | ||||
| #define glibtop_get_netinfo_r		glibtop_get_netinfo_s | ||||
| #endif | ||||
|  | ||||
| glibtop_ifaddr *glibtop_get_netinfo_l (glibtop_client *client, glibtop_array *array, glibtop_netinfo *buf, const char *interface, guint64 transport); | ||||
|  | ||||
| #if GLIBTOP_SUID_NETINFO | ||||
| int glibtop_init_netinfo_p (glibtop_server *server, glibtop_closure *closure); | ||||
| glibtop_ifaddr *glibtop_get_netinfo_p (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, guint64 transport); | ||||
| #else | ||||
| int glibtop_init_netinfo_s (glibtop_server *server, glibtop_closure *closure); | ||||
| glibtop_ifaddr *glibtop_get_netinfo_s (glibtop_server *server, glibtop_closure *closure, glibtop_array *array, glibtop_netinfo *buf, const char *interface, guint64 transport); | ||||
| #endif | ||||
|  | ||||
| #ifdef GLIBTOP_NAMES | ||||
|  | ||||
| /* You need to link with -lgtop_names to get this stuff here. */ | ||||
|  | ||||
| extern const char *glibtop_names_netinfo []; | ||||
| extern const unsigned glibtop_types_netinfo []; | ||||
| extern const char *glibtop_labels_netinfo []; | ||||
| extern const char *glibtop_descriptions_netinfo []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_NETLOAD_IF_FLAGS	0 | ||||
| #define GLIBTOP_NETLOAD_MTU		1 | ||||
| @@ -69,7 +69,7 @@ enum { | ||||
|  | ||||
| struct _glibtop_netload | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		if_flags,		/* GLIBTOP_NETLOAD_IF_FLAGS	*/ | ||||
| 		mtu,			/* GLIBTOP_NETLOAD_MTU		*/ | ||||
| 		subnet,			/* GLIBTOP_NETLOAD_SUBNET	*/ | ||||
| @@ -115,6 +115,6 @@ extern const char *glibtop_descriptions_netload []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| #include <glibtop/read.h> | ||||
| #include <glibtop/error.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define _GLIBTOP_INIT_STATE_INIT	0x10000 | ||||
| #define _GLIBTOP_INIT_STATE_OPEN	0x20000 | ||||
| @@ -68,6 +68,6 @@ glibtop_open_s (glibtop *server, const char *program_name, | ||||
| 		const unsigned long features, const unsigned flags); | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -25,7 +25,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/open.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_PARAM_METHOD		1 | ||||
| #define GLIBTOP_PARAM_FEATURES		2 | ||||
| @@ -46,6 +46,6 @@ void | ||||
| glibtop_set_parameter_l (glibtop *server, const unsigned parameter, | ||||
| 			 const void *data_ptr, size_t data_size); | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_PPP_STATE	0 | ||||
| #define GLIBTOP_PPP_BYTES_IN	1	 | ||||
| @@ -45,7 +45,7 @@ enum { | ||||
|  | ||||
| struct _glibtop_ppp | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		state,			/* GLIBTOP_PPP_STATE		*/ | ||||
| 		bytes_in,		/* GLIBTOP_PPP_BYTES_IN		*/ | ||||
| 		bytes_out;		/* GLIBTOP_PPP_BYTES_OUT	*/ | ||||
| @@ -80,6 +80,6 @@ extern const char *glibtop_descriptions_ppp []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
| BEGIN_LIBGTOP_DECLS | ||||
|  | ||||
| #define GLIBTOP_PROC_ARGS_SIZE		0 | ||||
|  | ||||
| @@ -37,7 +37,7 @@ typedef struct _glibtop_proc_args	glibtop_proc_args; | ||||
|  | ||||
| struct _glibtop_proc_args | ||||
| { | ||||
| 	guint64	flags, | ||||
| 	u_int64_t	flags, | ||||
| 		size;			/* GLIBTOP_PROC_ARGS_SIZE	*/ | ||||
| }; | ||||
|  | ||||
| @@ -78,6 +78,6 @@ extern const char *glibtop_descriptions_proc_args []; | ||||
|  | ||||
| #endif | ||||
|  | ||||
| G_END_DECLS | ||||
| END_LIBGTOP_DECLS | ||||
|  | ||||
| #endif | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user