Compare commits
	
		
			256 Commits
		
	
	
		
			LIBGTOP_2_
			...
			gnome-2-40
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					abccaf488a | ||
| 
						 | 
					8b37040b5b | ||
| 
						 | 
					8871660dac | ||
| 
						 | 
					334f1e5c4c | ||
| 
						 | 
					e88e854e57 | ||
| 
						 | 
					00140eadc8 | ||
| 
						 | 
					0c1be6e7b6 | ||
| 
						 | 
					30c771151d | ||
| 
						 | 
					77912eae1d | ||
| 
						 | 
					b71a5c1404 | ||
| 
						 | 
					8e4c9c197b | ||
| 
						 | 
					bb118fa9d6 | ||
| 
						 | 
					69f7b16421 | ||
| 
						 | 
					7c811a7826 | ||
| 
						 | 
					40144f3908 | ||
| 
						 | 
					35a0ba8e27 | ||
| 
						 | 
					ec6a87e670 | ||
| 
						 | 
					e4335d4db2 | ||
| 
						 | 
					ec662d01da | ||
| 
						 | 
					cab8791fdd | ||
| 
						 | 
					4f36c74b68 | ||
| 
						 | 
					c65cb3e46b | ||
| 
						 | 
					b450bbc67c | ||
| 
						 | 
					f80b08a865 | ||
| 
						 | 
					42b049f338 | ||
| 
						 | 
					b31bce292b | ||
| 
						 | 
					32a02dfcdb | ||
| 
						 | 
					286db6d137 | ||
| 
						 | 
					aa4b2dc5ee | ||
| 
						 | 
					d61659c143 | ||
| 
						 | 
					9308027409 | ||
| 
						 | 
					487e584a18 | ||
| 
						 | 
					e9775e1a40 | ||
| 
						 | 
					b50c07af1d | ||
| 
						 | 
					68509e60d1 | ||
| 
						 | 
					f7ff106859 | ||
| 
						 | 
					ad8e73957c | ||
| 
						 | 
					8a8c00f4fe | ||
| 
						 | 
					d30928e8d4 | ||
| 
						 | 
					0c23240d5b | ||
| 
						 | 
					947156e5d0 | ||
| 
						 | 
					6d194c11d2 | ||
| 
						 | 
					73b86f8744 | ||
| 
						 | 
					7dcc6c51d6 | ||
| 
						 | 
					f5939dc69e | ||
| 
						 | 
					0203aa18aa | ||
| 
						 | 
					f38d9c6523 | ||
| 
						 | 
					9b966f6f1a | ||
| 
						 | 
					cb4721b27d | ||
| 
						 | 
					ed9248f04f | ||
| 
						 | 
					609b8c7e1a | ||
| 
						 | 
					72b6e2bad4 | ||
| 
						 | 
					7a84a9260d | ||
| 
						 | 
					74b92b5389 | ||
| 
						 | 
					25f5de7d90 | ||
| 
						 | 
					80a9763a7e | ||
| 
						 | 
					e54dd89d5e | ||
| 
						 | 
					d3df61ddbf | ||
| 
						 | 
					44d46a18b3 | ||
| 
						 | 
					2f08841044 | ||
| 
						 | 
					de6e0c1c90 | ||
| 
						 | 
					ba61b54eb3 | ||
| 
						 | 
					0a00b3522a | ||
| 
						 | 
					43740ddab7 | ||
| 
						 | 
					063de1a712 | ||
| 
						 | 
					779386cb15 | ||
| 
						 | 
					2e2215c5b6 | ||
| 
						 | 
					ec8d59ab48 | ||
| 
						 | 
					5880e04fcc | ||
| 
						 | 
					1bf16bfffd | ||
| 
						 | 
					6f04d33af2 | ||
| 
						 | 
					c22e7de346 | ||
| 
						 | 
					e611d16997 | ||
| 
						 | 
					aae804c3dc | ||
| 
						 | 
					ce020a63ba | ||
| 
						 | 
					526d2e5a2f | ||
| 
						 | 
					ab6f7b39d3 | ||
| 
						 | 
					e73e7691d1 | ||
| 
						 | 
					5c8593ec19 | ||
| 
						 | 
					3403ef72b1 | ||
| 
						 | 
					2f7e2438aa | ||
| 
						 | 
					88ecae1d00 | ||
| 
						 | 
					89a73e2746 | ||
| 
						 | 
					c29d7de9a0 | ||
| 
						 | 
					07abbd2dfe | ||
| 
						 | 
					afec9bbf58 | ||
| 
						 | 
					b7a684fbbc | ||
| 
						 | 
					b589a4fcf0 | ||
| 
						 | 
					1defc74f07 | ||
| 
						 | 
					35bf89632a | ||
| 
						 | 
					4285abe72b | ||
| 
						 | 
					dff7c5588e | ||
| 
						 | 
					1a103bf142 | ||
| 
						 | 
					3ff313dd03 | ||
| 
						 | 
					01a56e2e30 | ||
| 
						 | 
					7afc81f99d | ||
| 
						 | 
					b0ab056e99 | ||
| 
						 | 
					d2bc9b4331 | ||
| 
						 | 
					70e00a0262 | ||
| 
						 | 
					f99bb61446 | ||
| 
						 | 
					a0166d2844 | ||
| 
						 | 
					5f39f4f8f9 | ||
| 
						 | 
					e5e303d497 | ||
| 
						 | 
					235ffb4cb6 | ||
| 
						 | 
					59d9780eae | ||
| 
						 | 
					305701c637 | ||
| 
						 | 
					b68b2ec65e | ||
| 
						 | 
					1a8d18a17f | ||
| 
						 | 
					04d39eca02 | ||
| 
						 | 
					36110deac8 | ||
| 
						 | 
					72f10ecfe6 | ||
| 
						 | 
					1a8f092264 | ||
| 
						 | 
					5522fae242 | ||
| 
						 | 
					870dd5afa6 | ||
| 
						 | 
					94968b4406 | ||
| 
						 | 
					819bfe56ee | ||
| 
						 | 
					de408a6bba | ||
| 
						 | 
					05cb14dbb2 | ||
| 
						 | 
					7e3e4b6860 | ||
| 
						 | 
					02070b7170 | ||
| 
						 | 
					fcfacf3213 | ||
| 
						 | 
					7925f83b57 | ||
| 
						 | 
					68104bdde1 | ||
| 
						 | 
					ac2aef0f47 | ||
| 
						 | 
					9764518807 | ||
| 
						 | 
					13f08cf164 | ||
| 
						 | 
					c8a4c3d2a1 | ||
| 
						 | 
					52c35c1b81 | ||
| 
						 | 
					e528a7280b | ||
| 
						 | 
					99ff3d4dff | ||
| 
						 | 
					f865e95e20 | ||
| 
						 | 
					eec96d8ae8 | ||
| 
						 | 
					d10a584e40 | ||
| 
						 | 
					a55eee5863 | ||
| 
						 | 
					7437509412 | ||
| 
						 | 
					c9e73e52ac | ||
| 
						 | 
					4c455ac8a0 | ||
| 
						 | 
					56f03d0987 | ||
| 
						 | 
					a3b502ec3f | ||
| 
						 | 
					b74d6abf19 | ||
| 
						 | 
					ca42f1f3af | ||
| 
						 | 
					106ee901bb | ||
| 
						 | 
					0642c2d610 | ||
| 
						 | 
					42e860e5ad | ||
| 
						 | 
					8f2f236404 | ||
| 
						 | 
					4e0d819264 | ||
| 
						 | 
					5c6879baab | ||
| 
						 | 
					a0e97885c1 | ||
| 
						 | 
					d817bee619 | ||
| 
						 | 
					58d50d3546 | ||
| 
						 | 
					d3a247a60f | ||
| 
						 | 
					45c8452140 | ||
| 
						 | 
					72b4aed8f1 | ||
| 
						 | 
					0e8f911410 | ||
| 
						 | 
					db8ad19eef | ||
| 
						 | 
					d30fbb22e0 | ||
| 
						 | 
					6762719e43 | ||
| 
						 | 
					ad7dc16d89 | ||
| 
						 | 
					f2e57d9fec | ||
| 
						 | 
					1481823085 | ||
| 
						 | 
					4e57a6222d | ||
| 
						 | 
					cf531d3faf | ||
| 
						 | 
					b447260691 | ||
| 
						 | 
					1dbe133a24 | ||
| 
						 | 
					5ee8d4cb58 | ||
| 
						 | 
					3bd720ad81 | ||
| 
						 | 
					6acebf416d | ||
| 
						 | 
					51fd022bdd | ||
| 
						 | 
					6239438dce | ||
| 
						 | 
					0099cbb6b4 | ||
| 
						 | 
					cd5649f326 | ||
| 
						 | 
					d8a5e2162d | ||
| 
						 | 
					185396d674 | ||
| 
						 | 
					90f0e40395 | ||
| 
						 | 
					172f0a50ba | ||
| 
						 | 
					887092a05d | ||
| 
						 | 
					b2a2f6b5c2 | ||
| 
						 | 
					6bdb9a76eb | ||
| 
						 | 
					fd29dae933 | ||
| 
						 | 
					65c5ca842f | ||
| 
						 | 
					edd08e6fd6 | ||
| 
						 | 
					82ff91b74c | ||
| 
						 | 
					ca6cabe41d | ||
| 
						 | 
					4fb241097f | ||
| 
						 | 
					214c3635da | ||
| 
						 | 
					fba67da65d | ||
| 
						 | 
					119049b8c0 | ||
| 
						 | 
					1908c00d32 | ||
| 
						 | 
					70640d297e | ||
| 
						 | 
					c33623c097 | ||
| 
						 | 
					6fe3b94f13 | ||
| 
						 | 
					f1a01a543c | ||
| 
						 | 
					758862e272 | ||
| 
						 | 
					6941e7e22f | ||
| 
						 | 
					ee2ac6d563 | ||
| 
						 | 
					4c0632ccbd | ||
| 
						 | 
					71c7d65b1d | ||
| 
						 | 
					94aa63f796 | ||
| 
						 | 
					931a8364ff | ||
| 
						 | 
					598764c171 | ||
| 
						 | 
					aa7f9df00e | ||
| 
						 | 
					4c4466292e | ||
| 
						 | 
					fcc1d9d957 | ||
| 
						 | 
					0580b2fb2c | ||
| 
						 | 
					a206cfc728 | ||
| 
						 | 
					58ca70eaee | ||
| 
						 | 
					421419fdbf | ||
| 
						 | 
					ebb7f9d5e2 | ||
| 
						 | 
					1f3b08e6dc | ||
| 
						 | 
					a870dfc8f2 | ||
| 
						 | 
					e0244ad3fc | ||
| 
						 | 
					1156794b33 | ||
| 
						 | 
					874771ec1c | ||
| 
						 | 
					16f262985d | ||
| 
						 | 
					0a94dc7992 | ||
| 
						 | 
					50b5dea402 | ||
| 
						 | 
					f4b23ef0c6 | ||
| 
						 | 
					1f41349a7e | ||
| 
						 | 
					548f104f35 | ||
| 
						 | 
					4808aac8ef | ||
| 
						 | 
					f04ce61b80 | ||
| 
						 | 
					c7f7e5a1c6 | ||
| 
						 | 
					e2348c24a0 | ||
| 
						 | 
					f76b37be1b | ||
| 
						 | 
					b2fee3e111 | ||
| 
						 | 
					7b2416a8d1 | ||
| 
						 | 
					d006da7e54 | ||
| 
						 | 
					a93dc2526d | ||
| 
						 | 
					a3a16707b5 | ||
| 
						 | 
					fd53595189 | ||
| 
						 | 
					0057bbbc47 | ||
| 
						 | 
					e6d776ee61 | ||
| 
						 | 
					c68e077909 | ||
| 
						 | 
					72e46fc6b4 | ||
| 
						 | 
					2ea8a156f3 | ||
| 
						 | 
					40e1a86d52 | ||
| 
						 | 
					a101d6b27a | ||
| 
						 | 
					9770db12d2 | ||
| 
						 | 
					a61052dc59 | ||
| 
						 | 
					8985e7e239 | ||
| 
						 | 
					1c1449306b | ||
| 
						 | 
					3f8f65386e | ||
| 
						 | 
					30d29e624b | ||
| 
						 | 
					bea8b6790a | ||
| 
						 | 
					5e6c25d29d | ||
| 
						 | 
					b7e1219e0a | ||
| 
						 | 
					057dcf77d6 | ||
| 
						 | 
					b7edd1542e | ||
| 
						 | 
					7326f8816d | ||
| 
						 | 
					ed1b3f5834 | ||
| 
						 | 
					7a3414d002 | ||
| 
						 | 
					564506bb0d | ||
| 
						 | 
					9e0843064d | ||
| 
						 | 
					d8d8aac9d3 | ||
| 
						 | 
					9a887feed2 | ||
| 
						 | 
					81dfeb526c | 
							
								
								
									
										115
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										115
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,80 +1,66 @@
 | 
			
		||||
sysdeps/Makefile
 | 
			
		||||
sysdeps/Makefile.in
 | 
			
		||||
sysdeps/*/Makefile
 | 
			
		||||
sysdeps/*/Makefile.in
 | 
			
		||||
sysdeps/*/.deps
 | 
			
		||||
sysdeps/*/.libs
 | 
			
		||||
sysdeps/*/*.o
 | 
			
		||||
sysdeps/*/*.lo
 | 
			
		||||
sysdeps/*/*.la
 | 
			
		||||
src/*/Makefile
 | 
			
		||||
src/*/Makefile.in
 | 
			
		||||
src/*/.deps
 | 
			
		||||
src/Makefile
 | 
			
		||||
src/Makefile.in
 | 
			
		||||
stamp-h1
 | 
			
		||||
po/*.gmo
 | 
			
		||||
po/stamp-it
 | 
			
		||||
po/POTFILES
 | 
			
		||||
po/Makefile.in.in
 | 
			
		||||
po/Makefile.in
 | 
			
		||||
po/Makefile
 | 
			
		||||
missing
 | 
			
		||||
misc/Makefile
 | 
			
		||||
misc/Makefile.in
 | 
			
		||||
m4/
 | 
			
		||||
ltmain.sh
 | 
			
		||||
libtool
 | 
			
		||||
libgtopconfig.h
 | 
			
		||||
libgtop.spec
 | 
			
		||||
libgtop-2.0.pc
 | 
			
		||||
lib/Makefile
 | 
			
		||||
lib/Makefile.in
 | 
			
		||||
lib/.deps
 | 
			
		||||
lib/.libs
 | 
			
		||||
lib/*.o
 | 
			
		||||
lib/*.lo
 | 
			
		||||
lib/*.la
 | 
			
		||||
lib/lib.c
 | 
			
		||||
lib/GTop-2.0.gir
 | 
			
		||||
lib/GTop-2.0.typelib
 | 
			
		||||
*.a
 | 
			
		||||
*.bak
 | 
			
		||||
*.core
 | 
			
		||||
*.diff
 | 
			
		||||
*.gmo
 | 
			
		||||
*.header
 | 
			
		||||
*.in
 | 
			
		||||
*.la
 | 
			
		||||
*.lo
 | 
			
		||||
*.new
 | 
			
		||||
*.o
 | 
			
		||||
*.old
 | 
			
		||||
*.out
 | 
			
		||||
*.patch
 | 
			
		||||
*.pot
 | 
			
		||||
*.s
 | 
			
		||||
*.sed
 | 
			
		||||
*.sin
 | 
			
		||||
*.stamp
 | 
			
		||||
*.swp
 | 
			
		||||
*~
 | 
			
		||||
.deps
 | 
			
		||||
.libs
 | 
			
		||||
ABOUT-NLS
 | 
			
		||||
INSTALL
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
Makevars.template
 | 
			
		||||
Rules-quot
 | 
			
		||||
\#*\#
 | 
			
		||||
aclocal.m4
 | 
			
		||||
autom4te.cache/
 | 
			
		||||
compile
 | 
			
		||||
config.guess
 | 
			
		||||
config.h
 | 
			
		||||
config.h.in
 | 
			
		||||
config.log
 | 
			
		||||
config.status
 | 
			
		||||
config.sub
 | 
			
		||||
configure
 | 
			
		||||
depcomp
 | 
			
		||||
doc/Makefile
 | 
			
		||||
doc/Makefile.in
 | 
			
		||||
doc/libgtop2.info
 | 
			
		||||
doc/mdate-sh
 | 
			
		||||
doc/reference/Makefile
 | 
			
		||||
doc/reference/Makefile.in
 | 
			
		||||
doc/reference/html/
 | 
			
		||||
doc/reference/libgtop-decl-list.txt
 | 
			
		||||
doc/reference/libgtop-decl.txt
 | 
			
		||||
doc/reference/libgtop-undeclared.txt
 | 
			
		||||
doc/reference/libgtop-undocumented.txt
 | 
			
		||||
doc/reference/libgtop-unused.txt
 | 
			
		||||
doc/reference/libgtop.args
 | 
			
		||||
doc/reference/libgtop.hierarchy
 | 
			
		||||
doc/reference/libgtop.interfaces
 | 
			
		||||
doc/reference/libgtop.prerequisites
 | 
			
		||||
doc/reference/libgtop.signals
 | 
			
		||||
doc/reference/tmpl/
 | 
			
		||||
doc/reference/version.xml
 | 
			
		||||
doc/reference/xml/
 | 
			
		||||
doc/stamp-vti
 | 
			
		||||
doc/texinfo.tex
 | 
			
		||||
doc/version.texi
 | 
			
		||||
examples/.deps/
 | 
			
		||||
examples/.libs/
 | 
			
		||||
examples/*.o
 | 
			
		||||
examples/Makefile
 | 
			
		||||
examples/Makefile.in
 | 
			
		||||
examples/affinity
 | 
			
		||||
examples/df
 | 
			
		||||
examples/diskio
 | 
			
		||||
examples/first
 | 
			
		||||
examples/mem
 | 
			
		||||
examples/free
 | 
			
		||||
examples/mountlist
 | 
			
		||||
examples/netlist
 | 
			
		||||
examples/netload
 | 
			
		||||
@@ -89,12 +75,21 @@ examples/sysdeps
 | 
			
		||||
examples/timings
 | 
			
		||||
examples/wd
 | 
			
		||||
gtk-doc.make
 | 
			
		||||
include/Makefile
 | 
			
		||||
include/Makefile.in
 | 
			
		||||
include/glibtop/Makefile
 | 
			
		||||
include/glibtop/Makefile.in
 | 
			
		||||
install-sh
 | 
			
		||||
intltool-extract.in
 | 
			
		||||
intltool-merge.in
 | 
			
		||||
intltool-update.in
 | 
			
		||||
 | 
			
		||||
lib/GTop-2.0.gir
 | 
			
		||||
lib/GTop-2.0.typelib
 | 
			
		||||
lib/lib.c
 | 
			
		||||
libgtop-2.0.pc
 | 
			
		||||
libgtop.spec
 | 
			
		||||
libgtopconfig.h
 | 
			
		||||
libtool
 | 
			
		||||
ltmain.sh
 | 
			
		||||
m4/
 | 
			
		||||
missing
 | 
			
		||||
po/POTFILES
 | 
			
		||||
po/stamp-it
 | 
			
		||||
src/daemon/libgtop_daemon2
 | 
			
		||||
src/daemon/libgtop_server2
 | 
			
		||||
stamp-h1
 | 
			
		||||
stamp-po
 | 
			
		||||
tmp-*
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								AUTHORS
									
									
									
									
									
								
							@@ -1,3 +1,4 @@
 | 
			
		||||
Martin Baulig (martin@home-of-linux.org)
 | 
			
		||||
Drazen Kacar (dave@srce.hr)
 | 
			
		||||
Benoît Dejean (tazforever@dlfp.org)
 | 
			
		||||
Benoît Dejean (bdejean@gmail.com)
 | 
			
		||||
Robert Roth (robert.roth.off@gmail.com)
 | 
			
		||||
 
 | 
			
		||||
@@ -15,17 +15,9 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
 | 
			
		||||
	 features.def libgtopconfig.h.in \
 | 
			
		||||
	libgtop-sysdeps.m4 README \
 | 
			
		||||
	 libgtop-2.0.pc.in acinclude.m4 \
 | 
			
		||||
	intltool-extract.in \
 | 
			
		||||
	intltool-merge.in \
 | 
			
		||||
	libgtop.doap \
 | 
			
		||||
	intltool-update.in \
 | 
			
		||||
	m4/introspection.m4
 | 
			
		||||
 | 
			
		||||
DISTCLEANFILES = \
 | 
			
		||||
	intltool-extract \
 | 
			
		||||
	intltool-merge \
 | 
			
		||||
	intltool-update
 | 
			
		||||
 | 
			
		||||
dist-hook:
 | 
			
		||||
	cp libgtop.spec $(distdir)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										185
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										185
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,188 @@
 | 
			
		||||
11 March 2019: Overview of changes in 2.40.0
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Fixed array and transfer annotations for documentation
 | 
			
		||||
 | 
			
		||||
18 February 2019: Overview of changes in 2.39.91
 | 
			
		||||
 | 
			
		||||
* Replace deprecated gnome-common with autoreconf
 | 
			
		||||
 | 
			
		||||
04 February 2019: Overview of changes in 2.39.90
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
* FreeBSD:
 | 
			
		||||
  - added support for laundry memory
 | 
			
		||||
  - added support for ZFS ARC
 | 
			
		||||
* Fixed compile warnings
 | 
			
		||||
* Fix build on FreeBSD and darwin
 | 
			
		||||
* Linux:
 | 
			
		||||
  - get procmap doesn't need suid
 | 
			
		||||
 | 
			
		||||
11 September 2017: Overview of changes in 2.38.0
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
 | 
			
		||||
04 September 2017: Overview of changes in 2.37.92
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Code cleanup
 | 
			
		||||
 | 
			
		||||
07 August 2017: Overview of changes in 2.37.90
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Added reserved fields to the sysdeps struct
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Fixed build failure in FreeBSD 11
 | 
			
		||||
 | 
			
		||||
22 May 2017: Overview of changes in 2.37.2
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Added support for per-process io monitoring
 | 
			
		||||
  * Linux
 | 
			
		||||
  * FreeBSD
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Added nullpointer check
 | 
			
		||||
* Use unicode in translatable strings
 | 
			
		||||
 | 
			
		||||
20 March 2017: Overview of changes in 2.36.0
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Version bumped
 | 
			
		||||
 | 
			
		||||
13 March 2017: Overview of changes in 2.35.92
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Better output format for arrays
 | 
			
		||||
 | 
			
		||||
13 February 2017: Overview of changes in 2.35.90
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Linux:
 | 
			
		||||
  - Use dynamically allocated cpu buffer
 | 
			
		||||
  - Do not cache getpagesize()
 | 
			
		||||
  - Use faster g_ascii_isspace in tokenization
 | 
			
		||||
  - Ignore paragraphs not describing a CPU/core
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Added more gettext options
 | 
			
		||||
 | 
			
		||||
16 January 2017: Overview of changes in 2.34.2
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Linux:
 | 
			
		||||
  - fill last_processor member
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Added more gettext options
 | 
			
		||||
 | 
			
		||||
20 August 2016: Overview of changes in 2.34.1
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* FreeBSD:
 | 
			
		||||
  - rewrite netload to use official APIs
 | 
			
		||||
  - mark wireless interfaces as such
 | 
			
		||||
 | 
			
		||||
* All
 | 
			
		||||
  - rename --with-libgtop-examples to --with-examples
 | 
			
		||||
  - use gettext instead of intltool/glib-gettext
 | 
			
		||||
  - added Language headers to the translations
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Special thanks to Gleb Smirnoff, Antoine Brodin, Koop Mast and Ting-Wei Lan for
 | 
			
		||||
the FreeBSD fixes, to Javier Jardón for the gettext migration and to Piotr Drąg
 | 
			
		||||
for adding the Language headers.
 | 
			
		||||
 | 
			
		||||
22 March 2016: Overview of changes in 2.34.0
 | 
			
		||||
================================================
 | 
			
		||||
 | 
			
		||||
* Stable release
 | 
			
		||||
 | 
			
		||||
29 February 2016: Overview of changes in 2.33.91
 | 
			
		||||
 | 
			
		||||
* Updated translations
 | 
			
		||||
* Fix building on must-libc
 | 
			
		||||
 | 
			
		||||
18 January 2016: Overview of changes in 2.33.4
 | 
			
		||||
 | 
			
		||||
* On OpenBSD only PID 1 is special
 | 
			
		||||
* Call setlocale in main
 | 
			
		||||
 | 
			
		||||
14 December: Overview of changes in 2.33.3
 | 
			
		||||
 | 
			
		||||
* Fixed borken compilation on OpenBSD 
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
21 September 2015: Overview of changes in 2.32.0
 | 
			
		||||
 | 
			
		||||
* Stable release
 | 
			
		||||
 | 
			
		||||
14 September 2015: Overview of changes in 2.31.91
 | 
			
		||||
================================================
 | 
			
		||||
* Darwin:
 | 
			
		||||
  - Fixed build.
 | 
			
		||||
 | 
			
		||||
* All
 | 
			
		||||
  - GI docs fixes
 | 
			
		||||
  - include fixes
 | 
			
		||||
  - Updated translations
 | 
			
		||||
 | 
			
		||||
16 August 2015: Overview of changes in 2.31.90
 | 
			
		||||
=============================================
 | 
			
		||||
* ABI changes:
 | 
			
		||||
  - ABI was inconsistent on platforms like FreeBSD which make use of
 | 
			
		||||
    glibtop_machine. The ABI was actually different between the
 | 
			
		||||
    library and the server. Fixed this by simply always defining
 | 
			
		||||
    glibtop_machine in glibtop struct.
 | 
			
		||||
  - Add Pss and Swap members in glibtop_proc_mem.
 | 
			
		||||
  - This is the second ABI breakage in since 2.28 (the first one was
 | 
			
		||||
    bumping NCPU), there were no release for 2.30.
 | 
			
		||||
 | 
			
		||||
* FreeBSD:
 | 
			
		||||
  - proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE.
 | 
			
		||||
  - Remove extraneous glibtop_init() calls.
 | 
			
		||||
 | 
			
		||||
* Linux:
 | 
			
		||||
  - proc_mem: implement Pss and Swap.
 | 
			
		||||
  - Remove extraneous glibtop_init() calls.
 | 
			
		||||
 | 
			
		||||
* All:
 | 
			
		||||
  - Propagate the change that machine in struct glibtop is now a
 | 
			
		||||
    pointer. Hope that change doesn't break build on other platforms,
 | 
			
		||||
    I can only test Linux and FreeBSD.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
5 August 2015: Overview of changes in 2.31.4
 | 
			
		||||
=============================================
 | 
			
		||||
* 71 commits !
 | 
			
		||||
* Implement a proper --enable-debug mode.
 | 
			
		||||
* FreeBSD:
 | 
			
		||||
	- procstate: set process name for kernel (pid=0)
 | 
			
		||||
	- procmap: get dev/inode for ZFS (no filename yet)
 | 
			
		||||
	- mem: rework memory usage to something more meaningful
 | 
			
		||||
	- proclist: don't report threads
 | 
			
		||||
	- proctime: fix CPU times
 | 
			
		||||
* Linux:
 | 
			
		||||
	- mem: use MemAvailable when available
 | 
			
		||||
	- mem: match `free`, report Slab as Cached.
 | 
			
		||||
	- support for x.y versionsmemory to match `free`
 | 
			
		||||
* Fix a lot of GI tags: it now works without crashing.
 | 
			
		||||
* Server and daemon binaries are now dynamically linked against their libgtop.
 | 
			
		||||
* Update a lot of examples/.
 | 
			
		||||
* Clean up some very old code.
 | 
			
		||||
* Updated translations.
 | 
			
		||||
 | 
			
		||||
Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD.
 | 
			
		||||
 | 
			
		||||
22 June 2015: Overview of changes in 2.31.3
 | 
			
		||||
=============================================
 | 
			
		||||
* Numerous OpenBSD backend fixes.
 | 
			
		||||
* Fixed FreeBSD build issues.
 | 
			
		||||
* Implemented procaffinity support for NetBSD.
 | 
			
		||||
* Updated translations
 | 
			
		||||
 | 
			
		||||
19 August 2013: Overview of changes in 2.28.5
 | 
			
		||||
=============================================
 | 
			
		||||
* Fix numerous bugs in the OpenBSD backend.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								autogen.sh
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								autogen.sh
									
									
									
									
									
								
							@@ -1,22 +1,40 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# Run this to generate all the initial makefiles, etc.
 | 
			
		||||
test -n "$srcdir" || srcdir=$(dirname "$0")
 | 
			
		||||
test -n "$srcdir" || srcdir=.
 | 
			
		||||
 | 
			
		||||
srcdir=`dirname $0`
 | 
			
		||||
test -z "$srcdir" && srcdir=.
 | 
			
		||||
olddir=$(pwd)
 | 
			
		||||
 | 
			
		||||
PKG_NAME="Gnome Top Library"
 | 
			
		||||
cd $srcdir
 | 
			
		||||
 | 
			
		||||
(test -f $srcdir/configure.in \
 | 
			
		||||
  && test -f $srcdir/copyright.txt \
 | 
			
		||||
  && test -d $srcdir/sysdeps) || {
 | 
			
		||||
    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
 | 
			
		||||
    echo " top-level gnome directory"
 | 
			
		||||
    exit 1
 | 
			
		||||
(test -f configure.ac) || {
 | 
			
		||||
        echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
 | 
			
		||||
        exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
which gnome-autogen.sh || {
 | 
			
		||||
    echo "You need to install gnome-common from the GNOME CVS"
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
REQUIRED_AUTOMAKE_VERSION=1.9
 | 
			
		||||
. gnome-autogen.sh
 | 
			
		||||
# shellcheck disable=SC2016
 | 
			
		||||
PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
 | 
			
		||||
 | 
			
		||||
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
 | 
			
		||||
        echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
 | 
			
		||||
        echo "*** If you wish to pass any to it, please specify them on the" >&2
 | 
			
		||||
        echo "*** '$0' command line." >&2
 | 
			
		||||
        echo "" >&2
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
aclocal --install || exit 1
 | 
			
		||||
gtkdocize --copy || exit 1
 | 
			
		||||
autoreconf --verbose --force --install || exit 1
 | 
			
		||||
 | 
			
		||||
cd "$olddir"
 | 
			
		||||
if [ "$NOCONFIGURE" = "" ]; then
 | 
			
		||||
        $srcdir/configure "$@" || exit 1
 | 
			
		||||
 | 
			
		||||
        if [ "$1" = "--help" ]; then
 | 
			
		||||
                exit 0
 | 
			
		||||
        else
 | 
			
		||||
                echo "Now type 'make' to compile $PKG_NAME" || exit 1
 | 
			
		||||
        fi
 | 
			
		||||
else
 | 
			
		||||
        echo "Skipping configure process."
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -3,16 +3,16 @@ dnl Configure script for the Gnome library
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
m4_define([libgtop_major_version], [2])
 | 
			
		||||
m4_define([libgtop_minor_version], [28])
 | 
			
		||||
m4_define([libgtop_micro_version], [6])
 | 
			
		||||
m4_define([libgtop_minor_version], [40])
 | 
			
		||||
m4_define([libgtop_micro_version], [0])
 | 
			
		||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
 | 
			
		||||
 | 
			
		||||
dnl  increment if the interface has additions, changes, removals.
 | 
			
		||||
m4_define([libgtop_current], [10])
 | 
			
		||||
m4_define([libgtop_current], [11])
 | 
			
		||||
 | 
			
		||||
dnl  increment any time the source changes; set to
 | 
			
		||||
dnl  0 if you increment CURRENT
 | 
			
		||||
m4_define([libgtop_revision], [0])
 | 
			
		||||
m4_define([libgtop_revision], [1])
 | 
			
		||||
 | 
			
		||||
dnl  increment if any interfaces have been added; set to 0
 | 
			
		||||
dnl  if any interfaces have been removed. removal has
 | 
			
		||||
@@ -34,6 +34,7 @@ AC_CONFIG_HEADERS(config.h)
 | 
			
		||||
AC_CANONICAL_HOST
 | 
			
		||||
 | 
			
		||||
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
 | 
			
		||||
AM_SILENT_RULES([yes])
 | 
			
		||||
AC_CONFIG_MACRO_DIR([m4])
 | 
			
		||||
GOBJECT_INTROSPECTION_CHECK([0.6.7])
 | 
			
		||||
 | 
			
		||||
@@ -91,8 +92,9 @@ GNOME_LIBGTOP_SYSDEPS
 | 
			
		||||
GNOME_LIBGTOP_TYPES
 | 
			
		||||
 | 
			
		||||
GLIB_REQUIRED=2.6.0
 | 
			
		||||
GOBJECT_REQUIRED=2.26.0
 | 
			
		||||
 | 
			
		||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
 | 
			
		||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GOBJECT_REQUIRED)
 | 
			
		||||
AC_SUBST(GLIB_CFLAGS)
 | 
			
		||||
AC_SUBST(GLIB_LIBS)
 | 
			
		||||
 | 
			
		||||
@@ -213,16 +215,14 @@ AC_TYPE_SIGNAL
 | 
			
		||||
AC_FUNC_STRFTIME
 | 
			
		||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
 | 
			
		||||
 | 
			
		||||
IT_PROG_INTLTOOL([0.35.0])
 | 
			
		||||
AM_GNU_GETTEXT_VERSION([0.19.4])
 | 
			
		||||
AM_GNU_GETTEXT([external])
 | 
			
		||||
 | 
			
		||||
GETTEXT_PACKAGE=libgtop-2.0
 | 
			
		||||
AC_SUBST(GETTEXT_PACKAGE)
 | 
			
		||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
 | 
			
		||||
                   [Define to the gettext package used by the library])
 | 
			
		||||
 | 
			
		||||
AM_GLIB_GNU_GETTEXT
 | 
			
		||||
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
 | 
			
		||||
 | 
			
		||||
AC_PATH_XTRA
 | 
			
		||||
 | 
			
		||||
dnl For Solaris
 | 
			
		||||
@@ -261,7 +261,8 @@ dnl Debugging
 | 
			
		||||
AC_ARG_ENABLE(debug,
 | 
			
		||||
              AS_HELP_STRING([--enable-debug],
 | 
			
		||||
                             [Turn on debugging @<:@default=no@:>@]),
 | 
			
		||||
              AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
 | 
			
		||||
              AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),
 | 
			
		||||
              AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging]))
 | 
			
		||||
AC_ARG_ENABLE(fatal-warnings,
 | 
			
		||||
              AS_HELP_STRING([--enable-fatal-warnings],
 | 
			
		||||
                             [Make all warnings fatal @<:@debug=no@:>@]),
 | 
			
		||||
@@ -272,14 +273,6 @@ dnl These definitions are expanded in make.
 | 
			
		||||
LIBGTOP_LIBS='-L$(libdir)'
 | 
			
		||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
 | 
			
		||||
 | 
			
		||||
if test x$libgtop_use_machine_h = xyes ; then
 | 
			
		||||
  LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test x$libgtop_smp = xyes ; then
 | 
			
		||||
  LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test x$libgtop_have_sysinfo = xyes ; then
 | 
			
		||||
  LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
 | 
			
		||||
fi
 | 
			
		||||
@@ -308,24 +301,17 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
 | 
			
		||||
 | 
			
		||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
 | 
			
		||||
 | 
			
		||||
LIBGTOP_LIBS="$LIBGTOP_LIBS" 
 | 
			
		||||
 | 
			
		||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
 | 
			
		||||
 | 
			
		||||
AC_SUBST(machine_incs)
 | 
			
		||||
 | 
			
		||||
if test "$GCC" = "yes" ; then
 | 
			
		||||
        CFLAGS="\
 | 
			
		||||
	-Winline \
 | 
			
		||||
	-Wall \
 | 
			
		||||
	-std=gnu89 \
 | 
			
		||||
	-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
 | 
			
		||||
	-Wnested-externs -Wpointer-arith \
 | 
			
		||||
	-Wcast-align -Wsign-compare \
 | 
			
		||||
	$CFLAGS"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
 | 
			
		||||
AM_CPPFLAGS="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
 | 
			
		||||
 | 
			
		||||
# Add various defines to the config.h file ...
 | 
			
		||||
AH_VERBATIM([_GNU_SOURCE],
 | 
			
		||||
@@ -344,7 +330,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
 | 
			
		||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
 | 
			
		||||
                   [The path to the libgtop server])
 | 
			
		||||
 | 
			
		||||
AC_SUBST(INCLUDES)
 | 
			
		||||
AC_SUBST(AM_CPPFLAGS)
 | 
			
		||||
 | 
			
		||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
 | 
			
		||||
AC_SUBST(GLIB_LIBS)
 | 
			
		||||
@@ -16,7 +16,7 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								debian/rules.in
									
									
									
									
										vendored
									
									
								
							@@ -10,7 +10,7 @@
 | 
			
		||||
i=$(shell pwd)/debian/tmp
 | 
			
		||||
b=$(shell pwd)/debian/build
 | 
			
		||||
 | 
			
		||||
configure: configure.in
 | 
			
		||||
configure: configure.ac
 | 
			
		||||
	@echo "--- Making configure script and configuring"
 | 
			
		||||
	chmod +x autogen.sh
 | 
			
		||||
	./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
 | 
			
		||||
 
 | 
			
		||||
@@ -46,9 +46,9 @@ HTML_IMAGES=
 | 
			
		||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
 | 
			
		||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
 | 
			
		||||
# signals and properties.
 | 
			
		||||
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 | 
			
		||||
# e.g. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
 | 
			
		||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
 | 
			
		||||
INCLUDES=
 | 
			
		||||
AM_CPPFLAGS=
 | 
			
		||||
GTKDOC_LIBS=
 | 
			
		||||
 | 
			
		||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
 | 
			
		||||
 
 | 
			
		||||
@@ -36,8 +36,8 @@
 | 
			
		||||
      Documentation License</citetitle> from the Free Software
 | 
			
		||||
      Foundation by visiting <ulink type="http"
 | 
			
		||||
      url="http://www.fsf.org">their Web site</ulink> or by writing
 | 
			
		||||
      to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
      Boston, MA 02111-1307, USA.</para>
 | 
			
		||||
      to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
      Boston, MA 02110-1301, USA.</para>
 | 
			
		||||
 | 
			
		||||
      <para>Many of the names used by companies to distinguish their
 | 
			
		||||
      products and services are claimed as trademarks. Where those
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,17 @@
 | 
			
		||||
## Process this file with automake to produce Makefile.in
 | 
			
		||||
 | 
			
		||||
AM_CPPFLAGS = \
 | 
			
		||||
	-I$(top_srcdir) \
 | 
			
		||||
	-I$(top_srcdir)/include \
 | 
			
		||||
	-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \
 | 
			
		||||
	-DGTOPLOCALEDIR=\"$(localedir)\" \
 | 
			
		||||
	$(GLIB_CFLAGS)
 | 
			
		||||
 | 
			
		||||
AM_LDFLAGS			= $(LIBGTOP_EXTRA_LIBS)
 | 
			
		||||
 | 
			
		||||
noinst_PROGRAMS	= 	first second pprint procargs df netlist \
 | 
			
		||||
			  mountlist procmap netload sysdeps timings \
 | 
			
		||||
			  openfiles smp proclist mem wd affinity
 | 
			
		||||
			  openfiles smp proclist free wd affinity diskio
 | 
			
		||||
 | 
			
		||||
first_SOURCES		= first.c
 | 
			
		||||
first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
@@ -36,6 +43,7 @@ pprint_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
procargs_SOURCES	  = procargs.c
 | 
			
		||||
procargs_LDADD		  = $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
df_SOURCES	  = df.c
 | 
			
		||||
df_LDADD		  = $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
@@ -51,8 +59,11 @@ proclist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
wd_SOURCES	= wd.c
 | 
			
		||||
wd_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
mem_SOURCE	= mem.c
 | 
			
		||||
mem_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
free_SOURCE	= mem.c
 | 
			
		||||
free_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
affinity_SOURCES	= affinity.c
 | 
			
		||||
affinity_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
diskio_SOURCES	  = diskio.c
 | 
			
		||||
diskio_LDADD	  = $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 
 | 
			
		||||
@@ -13,19 +13,36 @@ static void print_fsusage(const char *mountpoint)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_fsusage buf;
 | 
			
		||||
 | 
			
		||||
  enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
 | 
			
		||||
  char **a = g_new0(char*, MAX);
 | 
			
		||||
 | 
			
		||||
  glibtop_get_fsusage(&buf, mountpoint);
 | 
			
		||||
 | 
			
		||||
  printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
 | 
			
		||||
	 mountpoint,
 | 
			
		||||
	 buf.blocks * buf.block_size >> 20,
 | 
			
		||||
	 (buf.blocks - buf.bavail) * buf.block_size >> 20,
 | 
			
		||||
	 buf.bavail * buf.block_size >> 20,
 | 
			
		||||
	 (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
 | 
			
		||||
	 buf.read,
 | 
			
		||||
	 buf.write
 | 
			
		||||
	 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define I(X) a[(X)]
 | 
			
		||||
  I(SIZE)  = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
  I(USED)  = g_format_size_full((buf.blocks - buf.bavail)  * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
  I(FREE)  = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
  I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
  I(READ)  = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
  I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
 | 
			
		||||
 | 
			
		||||
  printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
 | 
			
		||||
    (unsigned)buf.flags,
 | 
			
		||||
    I(SIZE),
 | 
			
		||||
    I(USED),
 | 
			
		||||
    I(FREE),
 | 
			
		||||
    I(AVAIL),
 | 
			
		||||
    (buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
 | 
			
		||||
    I(READ),
 | 
			
		||||
    I(WRITE),
 | 
			
		||||
    (unsigned long)buf.files,
 | 
			
		||||
    (unsigned long)buf.ffree,
 | 
			
		||||
    mountpoint
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  g_strfreev(a);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
@@ -33,8 +50,8 @@ int main(int argc, char **argv)
 | 
			
		||||
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  printf("%-30s %10s %10s %10s %5s %10s %10s\n",
 | 
			
		||||
	 "Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
 | 
			
		||||
  printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
 | 
			
		||||
	 "(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
 | 
			
		||||
 | 
			
		||||
  if (argc > 1) {
 | 
			
		||||
    while (*++argv)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								examples/diskio.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								examples/diskio.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#  include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procio.h>
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
static void show_diskio(pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_io io;
 | 
			
		||||
 | 
			
		||||
  glibtop_get_proc_io (&io, pid);
 | 
			
		||||
 | 
			
		||||
  printf("<%ld>\t", (long)pid);
 | 
			
		||||
 | 
			
		||||
  printf("flags: %08lx disk_rchar : %lu, disk_wchar : %lu, disk_read_bytes : %lu, disk_write_bytes : %lu\n", (unsigned long)io.flags, io.disk_rchar, io.disk_wchar, io.disk_rbytes, io.disk_wbytes);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  while(*++argv)
 | 
			
		||||
    {
 | 
			
		||||
      pid_t pid = strtol(*argv, NULL, 10);
 | 
			
		||||
      show_diskio(pid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								examples/free.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								examples/free.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
#include <glibtop/swap.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
static unsigned mb(guint64 n)
 | 
			
		||||
{
 | 
			
		||||
        return n >> 20;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
        glibtop_mem mem;
 | 
			
		||||
        glibtop_swap swap;
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
        glibtop_get_mem(&mem);
 | 
			
		||||
        glibtop_get_swap(&swap);
 | 
			
		||||
 | 
			
		||||
        printf("              total        used        free      shared  buff/cache   available\n");
 | 
			
		||||
 | 
			
		||||
        printf("%-7s %11u %11u %11u %11u %11u %11u\n",
 | 
			
		||||
               "Mem:",
 | 
			
		||||
                mb(mem.total),
 | 
			
		||||
                mb(mem.used - mem.buffer - mem.cached),
 | 
			
		||||
                mb(mem.free),
 | 
			
		||||
                mb(mem.shared),
 | 
			
		||||
                mb(mem.buffer + mem.cached),
 | 
			
		||||
                mb(mem.total - mem.user));
 | 
			
		||||
 | 
			
		||||
        printf("%-7s %11u %11u %11u\n",
 | 
			
		||||
               "Swap:",
 | 
			
		||||
                mb(swap.total),
 | 
			
		||||
                mb(swap.used),
 | 
			
		||||
                mb(swap.free));
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_mem buf;
 | 
			
		||||
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	g_print("%lx\n", glibtop_global_server->features);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_mem(&buf);
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -99,7 +99,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		glibtop_get_fsusage (&fsusage,
 | 
			
		||||
				     mount_entries [index].mountdir);
 | 
			
		||||
 | 
			
		||||
		printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
 | 
			
		||||
		printf ("%-16s %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9d\n",
 | 
			
		||||
			mount_entries [index].mountdir,
 | 
			
		||||
			fsusage.blocks, fsusage.bfree,
 | 
			
		||||
			fsusage.bavail, fsusage.files,
 | 
			
		||||
 
 | 
			
		||||
@@ -14,8 +14,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -51,7 +51,7 @@ static char* hwaddress_format_for_display(glibtop_netload *buf)
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < sizeof buf->hwaddress; ++i)
 | 
			
		||||
		g_string_append_printf(repr, "%02X:",
 | 
			
		||||
				       (unsigned) ((char*)buf->hwaddress)[i]);
 | 
			
		||||
				       ((unsigned char*)buf->hwaddress)[i]);
 | 
			
		||||
 | 
			
		||||
	repr->str [ repr->len - 1] = ' ';
 | 
			
		||||
	str = g_string_free(repr, FALSE);
 | 
			
		||||
@@ -118,22 +118,22 @@ main (int argc, char *argv [])
 | 
			
		||||
		"\tAddress:\t\t0x%08x - %s\n"
 | 
			
		||||
		"\tSubnet:\t\t\t0x%08x - %s\n\n"
 | 
			
		||||
		"\tMTU:\t\t\t%d\n"
 | 
			
		||||
		"\tCollisions:\t\t%llu\n\n"
 | 
			
		||||
		"\tPackets In:\t\t%llu\n"
 | 
			
		||||
		"\tPackets Out:\t\t%llu\n"
 | 
			
		||||
		"\tPackets Total:\t\t%llu\n\n"
 | 
			
		||||
		"\tBytes In:\t\t%llu\n"
 | 
			
		||||
		"\tBytes Out:\t\t%llu\n"
 | 
			
		||||
		"\tBytes Total:\t\t%llu\n\n"
 | 
			
		||||
		"\tErrors In:\t\t%llu\n"
 | 
			
		||||
		"\tErrors Out:\t\t%llu\n"
 | 
			
		||||
		"\tErrors Total:\t\t%llu\n\n"
 | 
			
		||||
		"\tCollisions:\t\t%" G_GUINT64_FORMAT "\n\n"
 | 
			
		||||
		"\tPackets In:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tPackets Out:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tPackets Total:\t\t%" G_GUINT64_FORMAT "\n\n"
 | 
			
		||||
		"\tBytes In:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tBytes Out:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tBytes Total:\t\t%" G_GUINT64_FORMAT "\n\n"
 | 
			
		||||
		"\tErrors In:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tErrors Out:\t\t%" G_GUINT64_FORMAT "\n"
 | 
			
		||||
		"\tErrors Total:\t\t%" G_GUINT64_FORMAT "\n\n"
 | 
			
		||||
		"\tAddress6:\t\t%s\n"
 | 
			
		||||
		"\tPrefix6:\t\t%s\n"
 | 
			
		||||
		"\tScope6:\t\t\t%#03x\n\n"
 | 
			
		||||
		"\tHarware Address:\t%s\n\n",
 | 
			
		||||
		netload.flags,
 | 
			
		||||
		netload.if_flags,
 | 
			
		||||
		(unsigned long long)netload.flags,
 | 
			
		||||
		(unsigned long long)netload.if_flags,
 | 
			
		||||
		(guint32) netload.address, address_string,
 | 
			
		||||
		(guint32) netload.subnet,  subnet_string,
 | 
			
		||||
		netload.mtu,
 | 
			
		||||
 
 | 
			
		||||
@@ -18,27 +18,42 @@
 | 
			
		||||
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
 | 
			
		||||
(unsigned long) sizeof buf)
 | 
			
		||||
 | 
			
		||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
 | 
			
		||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = %" FORMAT "\n", \
 | 
			
		||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
 | 
			
		||||
 | 
			
		||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
 | 
			
		||||
size_t i; \
 | 
			
		||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
 | 
			
		||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
 | 
			
		||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
 | 
			
		||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
 | 
			
		||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
 | 
			
		||||
} while(0)
 | 
			
		||||
#define PPRINT_GUINT64(DATA) PPRINT(DATA, G_GUINT64_FORMAT)
 | 
			
		||||
 | 
			
		||||
#define PPRINT_FLAGS(DATA) printf("\t%4lu B %3lu " "flags" " = " "%#llx" "\n", \
 | 
			
		||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), (unsigned long long)buf.DATA)
 | 
			
		||||
 | 
			
		||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do {				\
 | 
			
		||||
    size_t i;								\
 | 
			
		||||
    printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ",			\
 | 
			
		||||
	   (unsigned long) sizeof buf.ARRAY,				\
 | 
			
		||||
	   (unsigned long) buf_offsetof(ARRAY),				\
 | 
			
		||||
	   (unsigned long) G_N_ELEMENTS(buf.ARRAY));			\
 | 
			
		||||
    for (i = 0; i < (SIZE); ++i) {					\
 | 
			
		||||
      if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) {	\
 | 
			
		||||
	do { i++; } while (i < SIZE && !buf.ARRAY[i]);			\
 | 
			
		||||
	printf("..., ");						\
 | 
			
		||||
      } else {								\
 | 
			
		||||
	printf(".%zd = %" FORMAT ", ", i, buf.ARRAY[i]);			\
 | 
			
		||||
      }									\
 | 
			
		||||
    }									\
 | 
			
		||||
    printf("}\n");							\
 | 
			
		||||
  } while(0)
 | 
			
		||||
 | 
			
		||||
#define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \
 | 
			
		||||
size_t i; \
 | 
			
		||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
 | 
			
		||||
(unsigned long) sizeof buf->ARRAY, 0,\
 | 
			
		||||
printf("\t%4lu B " #ARRAY "[%lu/%lu] = { \n", \
 | 
			
		||||
(unsigned long) sizeof buf->ARRAY, (unsigned long)(SIZE),	\
 | 
			
		||||
(unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
 | 
			
		||||
for(i = 0; i < SIZE; ++i) { \
 | 
			
		||||
printf ("[ ");\
 | 
			
		||||
PPRINT_HASHTABLE(buf->ARRAY[i].values); \
 | 
			
		||||
printf ("]\n");\
 | 
			
		||||
  if (buf->ARRAY[i].values) {			\
 | 
			
		||||
    printf ("\t[ ");				\
 | 
			
		||||
    PPRINT_HASHTABLE(buf->ARRAY[i].values);	\
 | 
			
		||||
    printf ("]\n");				\
 | 
			
		||||
  }						\
 | 
			
		||||
} \
 | 
			
		||||
printf("} "); \
 | 
			
		||||
} while(0)
 | 
			
		||||
@@ -60,9 +75,9 @@ static void pprint_get_sysinfo(void)
 | 
			
		||||
  buf = glibtop_get_sysinfo();
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_sysinfo);
 | 
			
		||||
  //PPRINT(flags, "%#llx");
 | 
			
		||||
  //PPRINT(ncpu, "%llu");
 | 
			
		||||
  PPRINT_ENTRY_ARRAY(cpuinfo, 4);
 | 
			
		||||
  //PPRINT_FLAGS(flags);
 | 
			
		||||
  // PPRINT_GUINT64(ncpu);
 | 
			
		||||
  PPRINT_ENTRY_ARRAY(cpuinfo, buf->ncpu);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -73,25 +88,25 @@ static void pprint_get_cpu(void)
 | 
			
		||||
  glibtop_get_cpu(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_cpu);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(total, "%llu");
 | 
			
		||||
  PPRINT(user, "%llu");
 | 
			
		||||
  PPRINT(nice, "%llu");
 | 
			
		||||
  PPRINT(sys, "%llu");
 | 
			
		||||
  PPRINT(idle, "%llu");
 | 
			
		||||
  PPRINT(iowait, "%llu");
 | 
			
		||||
  PPRINT(irq, "%llu");
 | 
			
		||||
  PPRINT(softirq, "%llu");
 | 
			
		||||
  PPRINT(frequency, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
 | 
			
		||||
  PPRINT(xcpu_flags, "%llx");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(total);
 | 
			
		||||
  PPRINT_GUINT64(user);
 | 
			
		||||
  PPRINT_GUINT64(nice);
 | 
			
		||||
  PPRINT_GUINT64(sys);
 | 
			
		||||
  PPRINT_GUINT64(idle);
 | 
			
		||||
  PPRINT_GUINT64(iowait);
 | 
			
		||||
  PPRINT_GUINT64(irq);
 | 
			
		||||
  PPRINT_GUINT64(softirq);
 | 
			
		||||
  PPRINT_GUINT64(frequency);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
 | 
			
		||||
  PPRINT_FLAGS(xcpu_flags);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -105,15 +120,15 @@ static void pprint_get_fsusage(const char *mountpoint)
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_fsusage);
 | 
			
		||||
  printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(blocks, "%llu");
 | 
			
		||||
  PPRINT(bfree, "%llu");
 | 
			
		||||
  PPRINT(bavail, "%llu");
 | 
			
		||||
  PPRINT(files, "%llu");
 | 
			
		||||
  PPRINT(ffree, "%llu");
 | 
			
		||||
  PPRINT(block_size, "%u");
 | 
			
		||||
  PPRINT(read, "%llu");
 | 
			
		||||
  PPRINT(write, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(blocks);
 | 
			
		||||
  PPRINT_GUINT64(bfree);
 | 
			
		||||
  PPRINT_GUINT64(bavail);
 | 
			
		||||
  PPRINT_GUINT64(files);
 | 
			
		||||
  PPRINT_GUINT64(ffree);
 | 
			
		||||
  PPRINT(block_size, "u");
 | 
			
		||||
  PPRINT_GUINT64(read);
 | 
			
		||||
  PPRINT_GUINT64(write);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -126,11 +141,11 @@ static void pprint_get_loadavg(void)
 | 
			
		||||
  glibtop_get_loadavg(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_loadavg);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT_ARRAY(loadavg, 3, "%f");
 | 
			
		||||
  PPRINT(nr_running, "%llu");
 | 
			
		||||
  PPRINT(nr_tasks, "%llu");
 | 
			
		||||
  PPRINT(last_pid, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_ARRAY(loadavg, 3, "f");
 | 
			
		||||
  PPRINT_GUINT64(nr_running);
 | 
			
		||||
  PPRINT_GUINT64(nr_tasks);
 | 
			
		||||
  PPRINT_GUINT64(last_pid);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -143,15 +158,15 @@ static void pprint_get_mem(void)
 | 
			
		||||
  glibtop_get_mem(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_mem);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(total, "%llu");
 | 
			
		||||
  PPRINT(used, "%llu");
 | 
			
		||||
  PPRINT(free, "%llu");
 | 
			
		||||
  PPRINT(shared, "%llu");
 | 
			
		||||
  PPRINT(buffer, "%llu");
 | 
			
		||||
  PPRINT(cached, "%llu");
 | 
			
		||||
  PPRINT(user, "%llu");
 | 
			
		||||
  PPRINT(locked, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(total);
 | 
			
		||||
  PPRINT_GUINT64(used);
 | 
			
		||||
  PPRINT_GUINT64(free);
 | 
			
		||||
  PPRINT_GUINT64(shared);
 | 
			
		||||
  PPRINT_GUINT64(buffer);
 | 
			
		||||
  PPRINT_GUINT64(cached);
 | 
			
		||||
  PPRINT_GUINT64(user);
 | 
			
		||||
  PPRINT_GUINT64(locked);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -167,12 +182,12 @@ static void pprint_get_mountlist(gboolean allfs)
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_mountlist);
 | 
			
		||||
  printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(number, "%llu");
 | 
			
		||||
  PPRINT(total, "%llu");
 | 
			
		||||
  PPRINT(size, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(number);
 | 
			
		||||
  PPRINT_GUINT64(total);
 | 
			
		||||
  PPRINT_GUINT64(size);
 | 
			
		||||
 | 
			
		||||
  printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
 | 
			
		||||
  printf("\t%4" G_GUINT64_FORMAT " B entries[%" G_GUINT64_FORMAT "] = \n\t\t{\n", buf.total, buf.number);
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
    {
 | 
			
		||||
@@ -180,7 +195,7 @@ static void pprint_get_mountlist(gboolean allfs)
 | 
			
		||||
	     " .devname = \"%s\","
 | 
			
		||||
	     " .mountir = \"%s\","
 | 
			
		||||
	     " .type = \"%s\" }\n",
 | 
			
		||||
	     (unsigned long) i, entries[i].dev,
 | 
			
		||||
	     (unsigned long) i, (unsigned long long)entries[i].dev,
 | 
			
		||||
	     entries[i].devname,
 | 
			
		||||
	     entries[i].mountdir,
 | 
			
		||||
	     entries[i].type);
 | 
			
		||||
@@ -201,14 +216,14 @@ static void pprint_get_msg_limits(void)
 | 
			
		||||
  glibtop_get_msg_limits(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_msg_limits);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(msgpool, "%llu");
 | 
			
		||||
  PPRINT(msgmap, "%llu");
 | 
			
		||||
  PPRINT(msgmax, "%llu");
 | 
			
		||||
  PPRINT(msgmnb, "%llu");
 | 
			
		||||
  PPRINT(msgmni, "%llu");
 | 
			
		||||
  PPRINT(msgssz, "%llu");
 | 
			
		||||
  PPRINT(msgtql, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(msgpool);
 | 
			
		||||
  PPRINT_GUINT64(msgmap);
 | 
			
		||||
  PPRINT_GUINT64(msgmax);
 | 
			
		||||
  PPRINT_GUINT64(msgmnb);
 | 
			
		||||
  PPRINT_GUINT64(msgmni);
 | 
			
		||||
  PPRINT_GUINT64(msgssz);
 | 
			
		||||
  PPRINT_GUINT64(msgtql);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -222,7 +237,7 @@ static void pprint_get_netload(const char *iface)
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_netload);
 | 
			
		||||
  printf("glibtop_get_netload (iface = \"%s\")\n", iface);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -256,12 +271,12 @@ static void pprint_get_swap(void)
 | 
			
		||||
  glibtop_get_swap(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_swap);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(total, "%llu");
 | 
			
		||||
  PPRINT(used, "%llu");
 | 
			
		||||
  PPRINT(free, "%llu");
 | 
			
		||||
  PPRINT(pagein, "%llu");
 | 
			
		||||
  PPRINT(pageout, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(total);
 | 
			
		||||
  PPRINT_GUINT64(used);
 | 
			
		||||
  PPRINT_GUINT64(free);
 | 
			
		||||
  PPRINT_GUINT64(pagein);
 | 
			
		||||
  PPRINT_GUINT64(pageout);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -274,10 +289,10 @@ static void pprint_get_uptime(void)
 | 
			
		||||
  glibtop_get_uptime(&buf);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_uptime);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(uptime, "%f");
 | 
			
		||||
  PPRINT(idletime, "%f");
 | 
			
		||||
  PPRINT(boot_time, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT(uptime, "f");
 | 
			
		||||
  PPRINT(idletime, "f");
 | 
			
		||||
  PPRINT_GUINT64(boot_time);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -291,12 +306,12 @@ static void pprint_get_proc_kernel(pid_t pid)
 | 
			
		||||
  glibtop_get_proc_kernel(&buf, pid);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_proc_kernel);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(k_flags, "%llu");
 | 
			
		||||
  PPRINT(min_flt, "%llu");
 | 
			
		||||
  PPRINT(maj_flt, "%llu");
 | 
			
		||||
  PPRINT(cmin_flt, "%llu");
 | 
			
		||||
  PPRINT(cmaj_flt, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(k_flags);
 | 
			
		||||
  PPRINT_GUINT64(min_flt);
 | 
			
		||||
  PPRINT_GUINT64(maj_flt);
 | 
			
		||||
  PPRINT_GUINT64(cmin_flt);
 | 
			
		||||
  PPRINT_GUINT64(cmaj_flt);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -308,17 +323,39 @@ static void pprint_get_proc_mem(pid_t pid)
 | 
			
		||||
  glibtop_get_proc_mem(&buf, pid);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_proc_mem);
 | 
			
		||||
  PPRINT(flags, "%#llx");
 | 
			
		||||
  PPRINT(size, "%llu");
 | 
			
		||||
  PPRINT(vsize, "%llu");
 | 
			
		||||
  PPRINT(resident, "%llu");
 | 
			
		||||
  PPRINT(share, "%llu");
 | 
			
		||||
  PPRINT(rss, "%llu");
 | 
			
		||||
  PPRINT(rss_rlim, "%llu");
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT_GUINT64(size);
 | 
			
		||||
  PPRINT_GUINT64(vsize);
 | 
			
		||||
  PPRINT_GUINT64(resident);
 | 
			
		||||
  PPRINT_GUINT64(share);
 | 
			
		||||
  PPRINT_GUINT64(rss);
 | 
			
		||||
  PPRINT_GUINT64(rss_rlim);
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void pprint_get_proc_affinity(pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
  glibtop_proc_affinity buf;
 | 
			
		||||
  guint32 i;
 | 
			
		||||
  guint16* cpus;
 | 
			
		||||
 | 
			
		||||
  cpus = glibtop_get_proc_affinity(&buf, pid);
 | 
			
		||||
 | 
			
		||||
  HEADER_PPRINT(glibtop_get_proc_affinity);
 | 
			
		||||
  PPRINT_FLAGS(flags);
 | 
			
		||||
  PPRINT(number, "u");
 | 
			
		||||
  PPRINT(all, "d");
 | 
			
		||||
 | 
			
		||||
  printf("\taffinity=");
 | 
			
		||||
  for (i = 0; i < buf.number; i++) {
 | 
			
		||||
    printf("%d, ", cpus[i]);
 | 
			
		||||
  }
 | 
			
		||||
  putchar('\n');
 | 
			
		||||
 | 
			
		||||
  FOOTER_PPRINT();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
@@ -351,6 +388,7 @@ int main()
 | 
			
		||||
 | 
			
		||||
  pprint_get_proc_kernel(getpid());
 | 
			
		||||
  pprint_get_proc_mem(getpid());
 | 
			
		||||
  pprint_get_proc_affinity(getpid());
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,8 @@
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/proclist.h>
 | 
			
		||||
#include <glibtop/procstate.h>
 | 
			
		||||
#include <glibtop/proctime.h>
 | 
			
		||||
#include <glibtop/procuid.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
 | 
			
		||||
@@ -17,14 +20,28 @@ static void print_pids(guint64 which, guint64 arg)
 | 
			
		||||
 | 
			
		||||
	pids = glibtop_get_proclist(&buf, which, arg);
 | 
			
		||||
 | 
			
		||||
	printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
 | 
			
		||||
	       which, arg, (unsigned long)buf.number);
 | 
			
		||||
	for (i = 0; i < buf.number; ++i) {
 | 
			
		||||
		glibtop_proc_time ptime;
 | 
			
		||||
		glibtop_proc_uid puid;
 | 
			
		||||
		glibtop_proc_state pstate;
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < buf.number; ++i)
 | 
			
		||||
		printf("%u ", pids[i]);
 | 
			
		||||
		pid_t p = pids[i];
 | 
			
		||||
 | 
			
		||||
	putchar('\n');
 | 
			
		||||
	putchar('\n');
 | 
			
		||||
		glibtop_get_proc_time(&ptime, p);
 | 
			
		||||
		glibtop_get_proc_uid(&puid, p);
 | 
			
		||||
		glibtop_get_proc_state(&pstate, p);
 | 
			
		||||
 | 
			
		||||
		/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */
 | 
			
		||||
		printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n",
 | 
			
		||||
		       puid.uid,
 | 
			
		||||
		       p,
 | 
			
		||||
		       (double)ptime.rtime / ptime.frequency,
 | 
			
		||||
		       (double)ptime.utime / ptime.frequency,
 | 
			
		||||
		       (double)ptime.stime / ptime.frequency,
 | 
			
		||||
		       (unsigned long)ptime.start_time,
 | 
			
		||||
		       pstate.cmd,
 | 
			
		||||
		       (long)ptime.flags);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	g_free(pids);
 | 
			
		||||
}
 | 
			
		||||
@@ -34,7 +51,6 @@ int main()
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init();
 | 
			
		||||
 | 
			
		||||
	print_pids(GLIBTOP_KERN_PROC_ALL, 0);
 | 
			
		||||
	print_pids(GLIBTOP_KERN_PROC_UID, getuid());
 | 
			
		||||
 | 
			
		||||
	glibtop_close();
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -39,10 +39,36 @@
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
#include <sys/mman.h>
 | 
			
		||||
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
try_mmap(const char *path)
 | 
			
		||||
{
 | 
			
		||||
	struct stat buf;
 | 
			
		||||
	int fd;
 | 
			
		||||
 | 
			
		||||
	if ((fd = open(path, O_RDONLY)) < 0)
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	if (fstat(fd, &buf) < 0)
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	if (mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0) == MAP_FAILED)
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	close(fd);
 | 
			
		||||
 | 
			
		||||
	return;
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
	fprintf(stderr, "Failed to test mmap with '%s'\n", path);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
@@ -78,8 +104,18 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
 | 
			
		||||
		g_error ("Usage: %s pid", argv [0]);
 | 
			
		||||
	if (argc == 1) {
 | 
			
		||||
		pid = getpid();
 | 
			
		||||
	}
 | 
			
		||||
	else if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
 | 
			
		||||
		g_error ("Usage: %s [pid]", argv [0]);
 | 
			
		||||
 | 
			
		||||
	if (pid == getpid()) {
 | 
			
		||||
		/* let's map something for a try */
 | 
			
		||||
		try_mmap("/etc/passwd");
 | 
			
		||||
		try_mmap("/etc/resolv.conf");
 | 
			
		||||
		try_mmap(argv[0]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
 | 
			
		||||
 | 
			
		||||
@@ -87,6 +123,7 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < procmap.number; i++) {
 | 
			
		||||
		const char *filename = NULL;
 | 
			
		||||
		char * format;
 | 
			
		||||
		unsigned device, device_major, device_minor;
 | 
			
		||||
		char perm [5];
 | 
			
		||||
 | 
			
		||||
@@ -103,47 +140,32 @@ main (int argc, char *argv [])
 | 
			
		||||
		device_minor = (device & 255);
 | 
			
		||||
		device_major = ((device >> 8) & 255);
 | 
			
		||||
 | 
			
		||||
		if (sizeof (void*) == 8)
 | 
			
		||||
			format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - "
 | 
			
		||||
				 "%02x:%02x % 8lu - %.*s";
 | 
			
		||||
		else
 | 
			
		||||
			format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - "
 | 
			
		||||
				 "%02x:%02x % 8lu - %.*s";
 | 
			
		||||
 | 
			
		||||
		fprintf (stderr, format,
 | 
			
		||||
			 (unsigned long) maps [i].start,
 | 
			
		||||
			 (unsigned long) maps [i].end,
 | 
			
		||||
			 (unsigned long) maps [i].offset,
 | 
			
		||||
			 (unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)),
 | 
			
		||||
			 device_major, device_minor,
 | 
			
		||||
			 (unsigned long) maps [i].inode,
 | 
			
		||||
			 sizeof perm, perm);
 | 
			
		||||
 | 
			
		||||
		if (filename) {
 | 
			
		||||
			char *format;
 | 
			
		||||
 | 
			
		||||
			if (sizeof (void*) == 8)
 | 
			
		||||
				format = "%016lx-%016lx %016lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %5.5s - %s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %5.5s - %s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm, filename);
 | 
			
		||||
		} else {
 | 
			
		||||
			char * format;
 | 
			
		||||
 | 
			
		||||
			if (sizeof (void*) == 8)
 | 
			
		||||
				format = "%016lx-%016lx %016lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
			else
 | 
			
		||||
				format = "%08lx-%08lx %08lx - "
 | 
			
		||||
					 "%02x:%02x %08lu - %4s\n";
 | 
			
		||||
 | 
			
		||||
			fprintf (stderr, format,
 | 
			
		||||
				 (unsigned long) maps [i].start,
 | 
			
		||||
				 (unsigned long) maps [i].end,
 | 
			
		||||
				 (unsigned long) maps [i].offset,
 | 
			
		||||
				 device_major, device_minor,
 | 
			
		||||
				 (unsigned long) maps [i].inode,
 | 
			
		||||
				 perm);
 | 
			
		||||
			fprintf(stderr, " - %s", filename);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		fputc('\n', stderr);
 | 
			
		||||
 | 
			
		||||
		g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
 | 
			
		||||
			"shared_clean:%lluKib shared_dirty:%lluKiB "
 | 
			
		||||
			"private_clean:%lluKiB private_dirty: %lluKiB\n",
 | 
			
		||||
			maps[i].flags,
 | 
			
		||||
		g_print("smaps flags:%#llx size:%" G_GUINT64_FORMAT "KiB rss:%" G_GUINT64_FORMAT "KiB "
 | 
			
		||||
			"shared_clean:%" G_GUINT64_FORMAT "Kib shared_dirty:%" G_GUINT64_FORMAT "KiB "
 | 
			
		||||
			"private_clean:%" G_GUINT64_FORMAT "KiB private_dirty: %" G_GUINT64_FORMAT "KiB\n",
 | 
			
		||||
			(unsigned long long)maps[i].flags,
 | 
			
		||||
			maps[i].size >> 10,
 | 
			
		||||
			maps[i].rss >> 10,
 | 
			
		||||
			maps[i].shared_clean >> 10,
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -42,14 +42,12 @@ output (pid_t pid)
 | 
			
		||||
	char *args;
 | 
			
		||||
	unsigned i;
 | 
			
		||||
 | 
			
		||||
#if HAVE_LIBGTOP_SMP
 | 
			
		||||
	unsigned long total;
 | 
			
		||||
	double p_total, p_utime, p_stime;
 | 
			
		||||
	double b_total, b_utime, b_stime;
 | 
			
		||||
	double s_total, s_utime, s_stime;
 | 
			
		||||
	double my_utime, my_stime;
 | 
			
		||||
	unsigned int ncpu;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
@@ -158,7 +156,6 @@ output (pid_t pid)
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
#if HAVE_LIBGTOP_SMP
 | 
			
		||||
	ncpu = glibtop_global_server->ncpu;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
@@ -231,7 +228,6 @@ output (pid_t pid)
 | 
			
		||||
		s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -92,9 +92,10 @@ main (int argc, char *argv [])
 | 
			
		||||
		"\tproc_time:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_signal:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_kernel:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_segment:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tproc_segment:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_args:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_map:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tproc_map:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tproc_io:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tmountlist:\t%d\t0x%08lx\n"
 | 
			
		||||
		"\tfsusage:\t%d\t0x%08lx\n\n"
 | 
			
		||||
		"\tnetload:\t%d\t0x%08lx\n"
 | 
			
		||||
@@ -137,6 +138,8 @@ main (int argc, char *argv [])
 | 
			
		||||
		(unsigned long) sysdeps.proc_args,
 | 
			
		||||
		FEATURE_CHECK(PROC_MAP),
 | 
			
		||||
		(unsigned long) sysdeps.proc_map,
 | 
			
		||||
		FEATURE_CHECK(PROC_IO),
 | 
			
		||||
		(unsigned long) sysdeps.proc_io,
 | 
			
		||||
		FEATURE_CHECK(MOUNTLIST),
 | 
			
		||||
		(unsigned long) sysdeps.mountlist,
 | 
			
		||||
		FEATURE_CHECK(FSUSAGE),
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
@@ -69,6 +69,21 @@
 | 
			
		||||
		}							\
 | 
			
		||||
	} while (0)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void display_self_times(void)
 | 
			
		||||
{
 | 
			
		||||
	printf("-- Overview using `ps` --------------------"
 | 
			
		||||
	       "---------------\n");
 | 
			
		||||
	printf("-- this client is %8u ----------------"
 | 
			
		||||
	       "---------------\n", (unsigned)getpid());
 | 
			
		||||
	printf("-- this server is %8u ----------------"
 | 
			
		||||
	       "---------------\n", (unsigned)glibtop_global_server->pid);
 | 
			
		||||
	system("ps xjf | egrep 'timings|libgtop_server'");
 | 
			
		||||
	printf("-------------------------------------------"
 | 
			
		||||
	       "---------------\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
@@ -85,13 +100,16 @@ main (int argc, char *argv [])
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (GETTEXT_PACKAGE);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	display_self_times();
 | 
			
		||||
 | 
			
		||||
	printf ("%-12s (%-10s): %7s - %9s - %9s\n",
 | 
			
		||||
		"Feature", "Flags", "Count", "utime", "stime");
 | 
			
		||||
	printf ("-------------------------------------------"
 | 
			
		||||
		"---------------\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &total_start);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
@@ -394,6 +412,26 @@ main (int argc, char *argv [])
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < PROFILE_COUNT; c++)
 | 
			
		||||
		glibtop_get_proc_io (&data.proc_io, pid);
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
 | 
			
		||||
			  &elapsed_utime);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
 | 
			
		||||
			  &elapsed_stime);
 | 
			
		||||
 | 
			
		||||
	printf ("Proc_Io  (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
 | 
			
		||||
		(unsigned long) data.proc_io.flags, PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &total_end);
 | 
			
		||||
 | 
			
		||||
	libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
 | 
			
		||||
@@ -411,6 +449,8 @@ main (int argc, char *argv [])
 | 
			
		||||
	printf ("All timings are in clock ticks "
 | 
			
		||||
		"(1000000 ticks per second).\n\n");
 | 
			
		||||
 | 
			
		||||
	display_self_times();
 | 
			
		||||
 | 
			
		||||
	glibtop_close ();
 | 
			
		||||
 | 
			
		||||
	exit (0);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										53
									
								
								features.def
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								features.def
									
									
									
									
									
								
							@@ -1,27 +1,28 @@
 | 
			
		||||
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
 | 
			
		||||
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
 | 
			
		||||
void|swap|ulong(total,used,free,pagein,pageout)
 | 
			
		||||
void|uptime|double(uptime,idletime)
 | 
			
		||||
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
 | 
			
		||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
 | 
			
		||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
 | 
			
		||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
 | 
			
		||||
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
 | 
			
		||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
 | 
			
		||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
 | 
			
		||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
 | 
			
		||||
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
 | 
			
		||||
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
 | 
			
		||||
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
 | 
			
		||||
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
 | 
			
		||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
 | 
			
		||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
 | 
			
		||||
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
 | 
			
		||||
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
 | 
			
		||||
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
 | 
			
		||||
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
 | 
			
		||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
 | 
			
		||||
char **|netlist|unsigned(number)
 | 
			
		||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
 | 
			
		||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
 | 
			
		||||
void|cpu
 | 
			
		||||
void|mem
 | 
			
		||||
void|swap
 | 
			
		||||
void|uptime
 | 
			
		||||
void|loadavg
 | 
			
		||||
void|shm_limits
 | 
			
		||||
void|msg_limits
 | 
			
		||||
void|sem_limits
 | 
			
		||||
pid_t*|proclist|long(which,arg)
 | 
			
		||||
void|proc_state|pid_t(pid)
 | 
			
		||||
void|proc_uid|pid_t(pid)
 | 
			
		||||
void|proc_mem|pid_t(pid)
 | 
			
		||||
void|proc_time|pid_t(pid)
 | 
			
		||||
void|proc_signal|pid_t(pid)
 | 
			
		||||
void|proc_kernel|pid_t(pid)
 | 
			
		||||
void|proc_segment|pid_t(pid)
 | 
			
		||||
char *|proc_args|pid_t(pid):unsigned(max_len)
 | 
			
		||||
glibtop_map_entry *|proc_map|pid_t(pid)
 | 
			
		||||
glibtop_open_files_entry *|proc_open_files|pid_t(pid)
 | 
			
		||||
glibtop_mountentry *|@mountlist|int(all_fs)
 | 
			
		||||
void|@fsusage|string|mount_dir
 | 
			
		||||
void|netload|string|interface
 | 
			
		||||
void|ppp|ushort(device)
 | 
			
		||||
char **|netlist
 | 
			
		||||
char **|proc_wd|pid_t(pid)
 | 
			
		||||
guint16*|proc_affinity|pid_t(pid)
 | 
			
		||||
void|proc_io|pid_t(pid)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										76
									
								
								glibtop.h
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								glibtop.h
									
									
									
									
									
								
							@@ -15,18 +15,24 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_H__
 | 
			
		||||
#define __GLIBTOP_H__
 | 
			
		||||
 | 
			
		||||
/* for pid_t, uid_t, gid_t */
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <glib-object.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop		glibtop;
 | 
			
		||||
typedef struct _glibtop_machine	glibtop_machine;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *  LIBGTOP_CHECK_VERSION
 | 
			
		||||
@@ -54,10 +60,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
 | 
			
		||||
 | 
			
		||||
#include <glibtop_server.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
#include <glibtop_machine.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
 | 
			
		||||
#define GLIBTOP_MOUNTENTRY_LEN	79
 | 
			
		||||
#endif
 | 
			
		||||
@@ -68,34 +70,6 @@ LIBGTOP_MICRO_VERSION >= (micro)))
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
 | 
			
		||||
struct _glibtop
 | 
			
		||||
{
 | 
			
		||||
	unsigned flags;
 | 
			
		||||
	unsigned method;		/* Server Method */
 | 
			
		||||
	unsigned error_method;		/* Error Method */
 | 
			
		||||
	glibtop_machine machine;	/* Machine dependent data */
 | 
			
		||||
	int input [2];			/* Pipe client <- server */
 | 
			
		||||
	int output [2];			/* Pipe client -> server */
 | 
			
		||||
	int socket;			/* Accepted connection of a socket */
 | 
			
		||||
	int ncpu;			/* Number of CPUs, zero if single-processor */
 | 
			
		||||
	int real_ncpu;			/* Real number of CPUs. Only ncpu are monitored */
 | 
			
		||||
	unsigned long os_version_code;	/* Version code of the operating system */
 | 
			
		||||
	const char *name;		/* Program name for error messages */
 | 
			
		||||
	const char *server_command;	/* Command used to invoke server */
 | 
			
		||||
	const char *server_host;	/* Host the server should run on */
 | 
			
		||||
	const char *server_user;	/* Name of the user on the target host */
 | 
			
		||||
	const char *server_rsh;		/* Command used to connect to the target host */
 | 
			
		||||
	unsigned long features;		/* Server is required for this features */
 | 
			
		||||
	unsigned long server_port;	/* Port on which daemon is listening */
 | 
			
		||||
	glibtop_sysdeps sysdeps;	/* Detailed feature list */
 | 
			
		||||
	glibtop_sysdeps required;	/* Required feature list */
 | 
			
		||||
	pid_t pid;			/* PID of the server */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#else /* !HAVE_GLIBTOP_MACHINE_H */
 | 
			
		||||
 | 
			
		||||
struct _glibtop
 | 
			
		||||
{
 | 
			
		||||
	unsigned flags;
 | 
			
		||||
@@ -117,27 +91,57 @@ struct _glibtop
 | 
			
		||||
	glibtop_sysdeps sysdeps;	/* Detailed feature list */
 | 
			
		||||
	glibtop_sysdeps required;	/* Required feature list */
 | 
			
		||||
	pid_t pid;			/* PID of the server */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* HAVE_GLIBTOP_MACHINE_H */
 | 
			
		||||
	uid_t uid;
 | 
			
		||||
	uid_t euid;
 | 
			
		||||
	gid_t gid;
 | 
			
		||||
	gid_t egid;
 | 
			
		||||
 | 
			
		||||
	glibtop_machine *machine;	/* Machine dependent data */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern glibtop *glibtop_global_server;
 | 
			
		||||
 | 
			
		||||
extern const unsigned long glibtop_server_features;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_init:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer none):
 | 
			
		||||
 */
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init (void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_init_r:
 | 
			
		||||
 * @server_ptr: (out):
 | 
			
		||||
 * @features:
 | 
			
		||||
 * @flags:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer none):
 | 
			
		||||
 */
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init_r (glibtop **server_ptr,
 | 
			
		||||
		unsigned long features,
 | 
			
		||||
		unsigned flags);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_init_s:
 | 
			
		||||
 * @server_ptr: (out):
 | 
			
		||||
 * @features:
 | 
			
		||||
 * @flags:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer none):
 | 
			
		||||
 */
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init_s (glibtop **server_ptr,
 | 
			
		||||
		unsigned long features,
 | 
			
		||||
		unsigned flags);
 | 
			
		||||
 | 
			
		||||
GType     glibtop_get_type (void) G_GNUC_CONST;
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -2,13 +2,16 @@ glibtopdir		= $(includedir)/libgtop-2.0/glibtop
 | 
			
		||||
 | 
			
		||||
glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \
 | 
			
		||||
			  sem_limits.h uptime.h command.h mem.h proclist.h \
 | 
			
		||||
			  proctime.h shm_limits.h version.h cpu.h msg_limits.h \
 | 
			
		||||
			  proctime.h shm_limits.h cpu.h msg_limits.h \
 | 
			
		||||
			  procmem.h procuid.h swap.h \
 | 
			
		||||
			  procsegment.h sysdeps.h global.h \
 | 
			
		||||
			  procsignal.h union.h gnuserv.h \
 | 
			
		||||
			  parameter.h mountlist.h fsusage.h procmap.h signal.h \
 | 
			
		||||
			  sysinfo.h ppp.h procargs.h netload.h \
 | 
			
		||||
			  procwd.h procaffinity.h \
 | 
			
		||||
              procio.h \
 | 
			
		||||
			  netlist.h procopenfiles.h open.h
 | 
			
		||||
 | 
			
		||||
noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h
 | 
			
		||||
noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h machine.h \
 | 
			
		||||
			  version.h
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,8 +19,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_CALL_VECTOR_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_CLOSE_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_COMMAND_H__
 | 
			
		||||
@@ -59,8 +59,9 @@ G_BEGIN_DECLS
 | 
			
		||||
#define GLIBTOP_CMND_PROC_OPEN_FILES	25
 | 
			
		||||
#define GLIBTOP_CMND_PROC_WD		26
 | 
			
		||||
#define GLIBTOP_CMND_PROC_AFFINITY	27
 | 
			
		||||
#define GLIBTOP_CMND_PROC_IO	28
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_CMND		28
 | 
			
		||||
#define GLIBTOP_MAX_CMND		29
 | 
			
		||||
 | 
			
		||||
#define _GLIBTOP_PARAM_SIZE		16
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_CPU_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -46,6 +46,18 @@ void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
 | 
			
		||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
 | 
			
		||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
 | 
			
		||||
 | 
			
		||||
/* FIXME: C99 */
 | 
			
		||||
#define glibtop_debug_r(server, fmt, ...)				\
 | 
			
		||||
	G_STMT_START {							\
 | 
			
		||||
	if (LIBGTOP_ENABLE_DEBUG)					\
 | 
			
		||||
		glibtop_debug_r_real(server, "%s:%d %s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
 | 
			
		||||
	} G_STMT_END
 | 
			
		||||
 | 
			
		||||
#define glibtop_debug(...) glibtop_debug_r(glibtop_global_server, __VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
void glibtop_debug_vr (glibtop *server, const char *format, va_list args);
 | 
			
		||||
void glibtop_debug_r_real (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -14,8 +14,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_FSUSAGE_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_GLOBAL_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_LOADAVG_H__
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								include/glibtop/machine.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								include/glibtop/machine.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
#ifndef GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
 | 
			
		||||
#define GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <glibtop_machine.h>
 | 
			
		||||
 | 
			
		||||
/* private */
 | 
			
		||||
static inline void
 | 
			
		||||
glibtop_machine_new(glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	server->machine = g_new0(glibtop_machine, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* private */
 | 
			
		||||
static inline void
 | 
			
		||||
glibtop_machine_delete(glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	g_free(server->machine);
 | 
			
		||||
	server->machine = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 */
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MEM_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MOUNTLIST_H__
 | 
			
		||||
@@ -53,6 +53,38 @@ struct _glibtop_mountlist
 | 
			
		||||
	guint64 size;			/* GLIBTOP_MOUNTLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_mountlist:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @all_fs:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_mountlist_r:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @all_fs:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_mountlist_s:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @all_fs:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_mountlist_l:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @all_fs:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
glibtop_mountentry *
 | 
			
		||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
 | 
			
		||||
@@ -64,6 +96,8 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
glibtop_mountentry *
 | 
			
		||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
 | 
			
		||||
 | 
			
		||||
GType     glibtop_mountlist_get_type (void) G_GNUC_CONST;
 | 
			
		||||
GType     glibtop_mountentry_get_type (void) G_GNUC_CONST;
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_NETLIST_H__
 | 
			
		||||
@@ -31,12 +31,23 @@ G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_netlist	glibtop_netlist;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_netlist:
 | 
			
		||||
 * @number: Number of entries in the returned list.
 | 
			
		||||
 */
 | 
			
		||||
struct _glibtop_netlist
 | 
			
		||||
{
 | 
			
		||||
	guint64 flags;
 | 
			
		||||
	guint32 number;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_netlist:
 | 
			
		||||
 * @buf: a #glibtop_netlist
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of network
 | 
			
		||||
 *          interface names.
 | 
			
		||||
 */
 | 
			
		||||
char** glibtop_get_netlist(glibtop_netlist *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLIST
 | 
			
		||||
@@ -45,13 +56,39 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
 | 
			
		||||
#define glibtop_get_netlist_r		glibtop_get_netlist_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_netlist_l:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_netlist
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of network
 | 
			
		||||
 *          interface names.
 | 
			
		||||
 */
 | 
			
		||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_NETLIST
 | 
			
		||||
void _glibtop_init_netlist_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_netlist_p:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_netlist
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of network
 | 
			
		||||
 *          interface names.
 | 
			
		||||
 */
 | 
			
		||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
#else
 | 
			
		||||
void _glibtop_init_netlist_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_netlist_s:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_netlist
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of network
 | 
			
		||||
 *          interface names.
 | 
			
		||||
 */
 | 
			
		||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_NETLOAD_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_OPEN_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PARAMETER_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PPP_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
 | 
			
		||||
@@ -29,6 +29,7 @@ typedef struct _glibtop_proc_affinity	glibtop_proc_affinity;
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_AFFINITY_NUMBER	0
 | 
			
		||||
#define GLIBTOP_PROC_AFFINITY_ALL	1
 | 
			
		||||
#define GLIBTOP_MAX_PROC_AFFINITY	2
 | 
			
		||||
 | 
			
		||||
struct _glibtop_proc_affinity
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_ARGS_H__
 | 
			
		||||
@@ -79,6 +79,15 @@ char **
 | 
			
		||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
 | 
			
		||||
			 pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_argv:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @pid:
 | 
			
		||||
 * @max_len:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
char **
 | 
			
		||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										91
									
								
								include/glibtop/procio.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								include/glibtop/procio.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,91 @@
 | 
			
		||||
/* Copyright (C) 2017 Robert Roth
 | 
			
		||||
   This file is part of LibGTop.
 | 
			
		||||
 | 
			
		||||
   Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCIO_H__
 | 
			
		||||
#define __GLIBTOP_PROCIO_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_IO_DISK_RCHAR	0
 | 
			
		||||
#define GLIBTOP_PROC_IO_DISK_WCHAR	1
 | 
			
		||||
#define GLIBTOP_PROC_IO_DISK_RBYTES	2
 | 
			
		||||
#define GLIBTOP_PROC_IO_DISK_WBYTES	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_PROC_IO		3
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_proc_io	glibtop_proc_io;
 | 
			
		||||
 | 
			
		||||
/* Time section */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_proc_io:
 | 
			
		||||
 * @disk_rchar: The number of bytes which this task has caused to be read from storage. This
 | 
			
		||||
 * is simply the sum of bytes which this process passed to read() and pread(), also including tty IO,
 | 
			
		||||
 * and it is unaffected by whether or not actual physical disk IO was required.
 | 
			
		||||
 * @disk_wchar: The number of bytes which this task has caused, or shall cause to be written
 | 
			
		||||
 * to disk. Similar caveats apply here as with rchar.
 | 
			
		||||
 * @disk_rbytes: Attempt to count the number of bytes which this process really did cause to
 | 
			
		||||
 * be fetched from the storage layer. Done at the submit_bio() level, so it is
 | 
			
		||||
 * accurate for block-backed filesystems.
 | 
			
		||||
 * @disk_wbytes: Attempt to count the number of bytes which this process caused to be sent to
 | 
			
		||||
 * the storage layer. This is done at page-dirtying time.
 | 
			
		||||
 *
 | 
			
		||||
 * Process disk io data filled by glibtop_get_proc_io().
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
struct _glibtop_proc_io
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags;
 | 
			
		||||
	guint64 disk_rchar;
 | 
			
		||||
	guint64 disk_wchar;
 | 
			
		||||
	guint64 disk_rbytes;
 | 
			
		||||
	guint64 disk_wbytes;
 | 
			
		||||
 | 
			
		||||
    /* reserved for future extensions, e.g. per-process netio */
 | 
			
		||||
    guint64 reserved[10];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_io (glibtop_proc_io *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_IO
 | 
			
		||||
#define glibtop_get_proc_io_r	glibtop_get_proc_io_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_io_r	glibtop_get_proc_io_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void glibtop_get_proc_io_l (glibtop *server, glibtop_proc_io *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_IO
 | 
			
		||||
void _glibtop_init_proc_io_p (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_io_p (glibtop *server, glibtop_proc_io *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
void _glibtop_init_proc_io_s (glibtop *server);
 | 
			
		||||
void glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCKERNEL_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCLIST_H__
 | 
			
		||||
@@ -127,6 +127,15 @@ struct _glibtop_proclist
 | 
			
		||||
	guint64 size;			/* GLIBTOP_PROCLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proclist:
 | 
			
		||||
 * @buf: a #glibtop_proclist
 | 
			
		||||
 * @which: a #GLIBTOP_* constant specifying process type
 | 
			
		||||
 * @arg: an argument specific for the process type
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of process
 | 
			
		||||
 *     ids
 | 
			
		||||
 */
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
 | 
			
		||||
 | 
			
		||||
@@ -136,6 +145,16 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
 | 
			
		||||
#define glibtop_get_proclist_r		glibtop_get_proclist_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proclist_l:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_proclist
 | 
			
		||||
 * @which: a #GLIBTOP_* constant specifying process type
 | 
			
		||||
 * @arg: an argument specific for the process type
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of process
 | 
			
		||||
 *     ids
 | 
			
		||||
 */
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
@@ -143,12 +162,32 @@ glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
void _glibtop_init_proclist_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proclist_p:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_proclist
 | 
			
		||||
 * @which: a #GLIBTOP_* constant specifying process type
 | 
			
		||||
 * @arg: an argument specific for the process type
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of process
 | 
			
		||||
 *     ids
 | 
			
		||||
 */
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
#else
 | 
			
		||||
void _glibtop_init_proclist_s (glibtop *server);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proclist_s:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_proclist
 | 
			
		||||
 * @which: a #GLIBTOP_* constant specifying process type
 | 
			
		||||
 * @arg: an argument specific for the process type
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (array zero-terminated=1) (transfer full): an array of process
 | 
			
		||||
 *     ids
 | 
			
		||||
 */
 | 
			
		||||
pid_t*
 | 
			
		||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
 | 
			
		||||
			gint64 which, gint64 arg);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_MAP_H__
 | 
			
		||||
@@ -48,8 +48,10 @@ G_BEGIN_DECLS
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY		10
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN		11
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY		12
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_PSS			13
 | 
			
		||||
#define GLIBTOP_MAP_ENTRY_SWAP			14
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_MAP_ENTRY		13
 | 
			
		||||
#define GLIBTOP_MAX_MAP_ENTRY		15
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAP_FILENAME_LEN	215
 | 
			
		||||
 | 
			
		||||
@@ -78,6 +80,8 @@ struct _glibtop_map_entry
 | 
			
		||||
	guint64 shared_dirty;
 | 
			
		||||
	guint64 private_clean; 
 | 
			
		||||
	guint64 private_dirty;
 | 
			
		||||
	guint64 pss;
 | 
			
		||||
	guint64 swap;
 | 
			
		||||
	char filename [GLIBTOP_MAP_FILENAME_LEN+1];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -88,10 +92,46 @@ struct _glibtop_proc_map
 | 
			
		||||
	guint64 total;			/* GLIBTOP_PROC_MAP_TOTAL	*/
 | 
			
		||||
	guint64 size;			/* GLIBTOP_PROC_MAP_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_map:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_map_l:
 | 
			
		||||
 * @server:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_map_p:
 | 
			
		||||
 * @server:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_map_s:
 | 
			
		||||
 * @server:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MAP
 | 
			
		||||
#define glibtop_get_proc_map_r		glibtop_get_proc_map_p
 | 
			
		||||
#else
 | 
			
		||||
@@ -113,6 +153,8 @@ glibtop_map_entry *
 | 
			
		||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
GType     glibtop_map_entry_get_type (void) G_GNUC_CONST;
 | 
			
		||||
GType     glibtop_proc_map_get_type (void) G_GNUC_CONST;
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCMEM_H__
 | 
			
		||||
@@ -53,6 +53,12 @@ struct _glibtop_proc_mem
 | 
			
		||||
				 * of the process; usually 2,147,483,647 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_mem:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MEM
 | 
			
		||||
 
 | 
			
		||||
@@ -18,8 +18,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
 | 
			
		||||
@@ -94,21 +94,49 @@ struct _glibtop_proc_open_files
 | 
			
		||||
	guint64 size;			/* GLIBTOP_PROC_OPEN_FILES_SIZE   */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_open_files:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_FILE
 | 
			
		||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
 | 
			
		||||
#define glibtop_get_proc_open_files_r		glibtop_get_proc_open_files_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_open_files_r		glibtop_get_proc_open_files_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_open_files_l:
 | 
			
		||||
 * @server:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_FILE
 | 
			
		||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
 | 
			
		||||
void _glibtop_init_proc_open_files_p (glibtop *server);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_open_files_p:
 | 
			
		||||
 * @server:
 | 
			
		||||
 * @buf: (out):
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full) (array zero-terminated=1):
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
#else
 | 
			
		||||
@@ -118,6 +146,9 @@ glibtop_open_files_entry *
 | 
			
		||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
GType     glibtop_open_files_entry_get_type (void) G_GNUC_CONST;
 | 
			
		||||
GType     glibtop_proc_open_files_get_type (void) G_GNUC_CONST;
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCSTATE_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCTIME_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCUID_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_PROCWD_H__
 | 
			
		||||
@@ -30,7 +30,7 @@ typedef struct _glibtop_proc_wd	glibtop_proc_wd;
 | 
			
		||||
#define GLIBTOP_PROC_WD_NUMBER	0
 | 
			
		||||
#define GLIBTOP_PROC_WD_ROOT	1
 | 
			
		||||
#define GLIBTOP_PROC_WD_EXE	2
 | 
			
		||||
#define GLIBTOP_PROC_WD_MAX	3
 | 
			
		||||
#define GLIBTOP_MAX_PROC_WD	3
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
 | 
			
		||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
 | 
			
		||||
@@ -44,6 +44,13 @@ struct _glibtop_proc_wd
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_proc_wd:
 | 
			
		||||
 * @buf:
 | 
			
		||||
 * @pid:
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: (transfer full):
 | 
			
		||||
 */
 | 
			
		||||
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_READ_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_READ_DATA_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
 | 
			
		||||
@@ -37,6 +37,9 @@ G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_shm_limits	glibtop_shm_limits;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_shm_limits:
 | 
			
		||||
 */
 | 
			
		||||
struct _glibtop_shm_limits
 | 
			
		||||
{
 | 
			
		||||
	guint64	flags;
 | 
			
		||||
@@ -47,6 +50,10 @@ struct _glibtop_shm_limits
 | 
			
		||||
	guint64 shmall;		/* GLIBTOP_IPC_SHMALL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_shm_limits:
 | 
			
		||||
 * @buf: a #glibtop_shm_limits
 | 
			
		||||
 */
 | 
			
		||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
@@ -55,13 +62,28 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
 | 
			
		||||
#define glibtop_get_shm_limits_r	glibtop_get_shm_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_shm_limits_l:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_shm_limits
 | 
			
		||||
 */
 | 
			
		||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
void _glibtop_init_shm_limits_p (glibtop *server);
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_shm_limits_p:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_shm_limits
 | 
			
		||||
 */
 | 
			
		||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
 | 
			
		||||
#else
 | 
			
		||||
void _glibtop_init_shm_limits_s (glibtop *server);
 | 
			
		||||
/**
 | 
			
		||||
 * glibtop_get_shm_limits_s:
 | 
			
		||||
 * @server: a #glibtop server
 | 
			
		||||
 * @buf: a #glibtop_shm_limits
 | 
			
		||||
 */
 | 
			
		||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SIGNAL_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SWAP_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SYSDEPS_H__
 | 
			
		||||
@@ -53,8 +53,12 @@ G_BEGIN_DECLS
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES	24
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_WD		25
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY	26
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_IO	27
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		27
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		28
 | 
			
		||||
 | 
			
		||||
/* The 'features' args to glibtop_init_* is an unsigned long */
 | 
			
		||||
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_SYSDEPS_ALL		((1 << GLIBTOP_MAX_SYSDEPS) - 1)
 | 
			
		||||
 | 
			
		||||
@@ -90,6 +94,15 @@ struct _glibtop_sysdeps
 | 
			
		||||
	guint64 ppp;			/* glibtop_ppp		*/
 | 
			
		||||
	guint64	proc_wd;		/* glibtop_proc_wd	*/
 | 
			
		||||
	guint64	proc_affinity;		/* glibtop_proc_affinity */
 | 
			
		||||
	guint64	proc_io;		/* glibtop_proc_io */
 | 
			
		||||
	guint64	reserved0;
 | 
			
		||||
	guint64	reserved1;
 | 
			
		||||
	guint64	reserved2;
 | 
			
		||||
	guint64	reserved3;
 | 
			
		||||
	guint64	reserved4;
 | 
			
		||||
	guint64	reserved5;
 | 
			
		||||
	guint64	reserved6;
 | 
			
		||||
	guint64	reserved7;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SYSINFO_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_UNION_H__
 | 
			
		||||
@@ -44,6 +44,7 @@
 | 
			
		||||
#include <glibtop/procopenfiles.h>
 | 
			
		||||
#include <glibtop/procwd.h>
 | 
			
		||||
#include <glibtop/procaffinity.h>
 | 
			
		||||
#include <glibtop/procio.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/mountlist.h>
 | 
			
		||||
#include <glibtop/fsusage.h>
 | 
			
		||||
@@ -84,6 +85,7 @@ union _glibtop_union
 | 
			
		||||
	glibtop_proc_open_files proc_open_files;
 | 
			
		||||
	glibtop_proc_wd		proc_wd;
 | 
			
		||||
	glibtop_proc_affinity	proc_affinity;
 | 
			
		||||
	glibtop_proc_io	proc_io;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_UPTIME_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_VERSION_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_WRITE_H__
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
 | 
			
		||||
INCLUDES			= @INCLUDES@
 | 
			
		||||
AM_CPPFLAGS			= @AM_CPPFLAGS@
 | 
			
		||||
 | 
			
		||||
lib_LTLIBRARIES			= libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
libgtop_2_0_la_SOURCES		= init.c open.c close.c command.c read.c \
 | 
			
		||||
				  read_data.c write.c lib.c parameter.c \
 | 
			
		||||
				  sysdeps.c
 | 
			
		||||
				  sysdeps.c boxed.c
 | 
			
		||||
 | 
			
		||||
libgtop_2_0_la_LDFLAGS		= $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined
 | 
			
		||||
libgtop_2_0_la_LIBADD		= $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
 | 
			
		||||
@@ -22,25 +22,25 @@ CLEANFILES			= lib.c
 | 
			
		||||
 | 
			
		||||
-include $(INTROSPECTION_MAKEFILE)
 | 
			
		||||
INTROSPECTION_GIRS =
 | 
			
		||||
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed
 | 
			
		||||
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
 | 
			
		||||
INTROSPECTION_COMPILER_ARGS =
 | 
			
		||||
 | 
			
		||||
if HAVE_INTROSPECTION
 | 
			
		||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h \
 | 
			
		||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \
 | 
			
		||||
			../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \
 | 
			
		||||
			../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \
 | 
			
		||||
			../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/version.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \
 | 
			
		||||
			../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \
 | 
			
		||||
			../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \
 | 
			
		||||
			../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \
 | 
			
		||||
			../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
 | 
			
		||||
			../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \
 | 
			
		||||
			../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \
 | 
			
		||||
			../include/glibtop/procwd.h ../include/glibtop/procaffinity.h \
 | 
			
		||||
			../include/glibtop/procwd.h ../include/glibtop/procaffinity.h ../include/glibtop/procio.h \
 | 
			
		||||
			../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
 | 
			
		||||
 | 
			
		||||
GTop-2.0.gir: libgtop-2.0.la
 | 
			
		||||
GTop_2_0_gir_INCLUDES = GObject-2.0
 | 
			
		||||
GTop_2_0_gir_CFLAGS = $(INCLUDES)
 | 
			
		||||
GTop_2_0_gir_AM_CPPFLAGS = GObject-2.0
 | 
			
		||||
GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
 | 
			
		||||
GTop_2_0_gir_LIBS = libgtop-2.0.la
 | 
			
		||||
GTop_2_0_gir_FILES = $(introspection_sources)
 | 
			
		||||
INTROSPECTION_GIRS += GTop-2.0.gir
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								lib/boxed.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								lib/boxed.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
/* Copyright (C) 2011 Red Hat
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Jasper St. Pierre <jstpierre@mecheye.net>, November 2011
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mountlist.h>
 | 
			
		||||
#include <glibtop/procmap.h>
 | 
			
		||||
#include <glibtop/procopenfiles.h>
 | 
			
		||||
 | 
			
		||||
#define DEFINE_BOXED(type)                              \
 | 
			
		||||
    static type *                                       \
 | 
			
		||||
    type##_copy (type *p)                               \
 | 
			
		||||
    {                                                   \
 | 
			
		||||
        type *n = g_new (type, 1);                      \
 | 
			
		||||
        memcpy (n, p, sizeof (type));                   \
 | 
			
		||||
        return n;                                       \
 | 
			
		||||
    }                                                   \
 | 
			
		||||
                                                        \
 | 
			
		||||
    G_DEFINE_BOXED_TYPE (type,                          \
 | 
			
		||||
                         type,                          \
 | 
			
		||||
                         type##_copy,                   \
 | 
			
		||||
                         g_free)
 | 
			
		||||
 | 
			
		||||
DEFINE_BOXED (glibtop);
 | 
			
		||||
DEFINE_BOXED (glibtop_map_entry);
 | 
			
		||||
DEFINE_BOXED (glibtop_proc_map);
 | 
			
		||||
DEFINE_BOXED (glibtop_open_files_entry);
 | 
			
		||||
DEFINE_BOXED (glibtop_proc_open_files);
 | 
			
		||||
DEFINE_BOXED (glibtop_mountentry);
 | 
			
		||||
DEFINE_BOXED (glibtop_mountlist);
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -15,11 +15,12 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <glibtop/error.h>
 | 
			
		||||
#include <glibtop/read.h>
 | 
			
		||||
#include <glibtop/write.h>
 | 
			
		||||
#include <glibtop/read_data.h>
 | 
			
		||||
@@ -35,6 +36,44 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
 | 
			
		||||
	g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND);
 | 
			
		||||
 | 
			
		||||
	switch (command) {
 | 
			
		||||
#define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_QUIT);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_SYSDEPS);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_CPU);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_MEM);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_SWAP);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_UPTIME);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_LOADAVG);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROCLIST);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_STATE);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_UID);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_MEM);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_TIME);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_ARGS);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_MAP);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_MOUNTLIST);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_FSUSAGE);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_NETLOAD);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PPP);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_NETLIST);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_WD);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY);
 | 
			
		||||
	  CHECK_CMND(GLIBTOP_CMND_PROC_IO);
 | 
			
		||||
	default:
 | 
			
		||||
	  glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break;
 | 
			
		||||
	}
 | 
			
		||||
#undef CHECK_CMND
 | 
			
		||||
 | 
			
		||||
	cmnd.command = command;
 | 
			
		||||
 | 
			
		||||
	/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
 | 
			
		||||
@@ -52,10 +91,8 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
 | 
			
		||||
 | 
			
		||||
	glibtop_read_l (server, sizeof (glibtop_response), &response);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "RESPONSE: %lu - %d\n",
 | 
			
		||||
	glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu",
 | 
			
		||||
		 response.offset, response.data_size);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (recv_buf)
 | 
			
		||||
		memcpy (recv_buf, ((char *) &response) + response.offset,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								lib/init.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								lib/init.c
									
									
									
									
									
								
							@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -26,12 +26,14 @@
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/parameter.h>
 | 
			
		||||
#include <glibtop/init_hooks.h>
 | 
			
		||||
#include <glibtop/machine.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef DEFAULT_PORT
 | 
			
		||||
#define DEFAULT_PORT 42800
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static glibtop _glibtop_global_server = { 0 };
 | 
			
		||||
static glibtop _glibtop_global_server;
 | 
			
		||||
glibtop *glibtop_global_server = &_glibtop_global_server;
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
@@ -141,7 +143,7 @@ _init_server (glibtop *server, const unsigned features)
 | 
			
		||||
 | 
			
		||||
		/* Open pipe to server. */
 | 
			
		||||
		server->method = GLIBTOP_METHOD_PIPE;
 | 
			
		||||
 | 
			
		||||
		server->server_command = g_strdup(LIBGTOP_SERVER);
 | 
			
		||||
	} else {
 | 
			
		||||
 | 
			
		||||
		glibtop_error_r (server, "Unknown server method '%s'",
 | 
			
		||||
@@ -173,6 +175,9 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
 | 
			
		||||
	/* Do the initialization, but only if not already initialized. */
 | 
			
		||||
 | 
			
		||||
	if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
 | 
			
		||||
 | 
			
		||||
		glibtop_machine_new (server);
 | 
			
		||||
 | 
			
		||||
		if (flags & GLIBTOP_FEATURES_EXCEPT)
 | 
			
		||||
			features = ~features & GLIBTOP_SYSDEPS_ALL;
 | 
			
		||||
 | 
			
		||||
@@ -209,7 +214,7 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
 | 
			
		||||
	/* Open server, but only if not already opened. */
 | 
			
		||||
 | 
			
		||||
	if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
 | 
			
		||||
		glibtop_open_l (glibtop_global_server, "glibtop",
 | 
			
		||||
		glibtop_open_l (server, "glibtop",
 | 
			
		||||
				features, flags);
 | 
			
		||||
 | 
			
		||||
	return server;
 | 
			
		||||
@@ -221,6 +226,8 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
 | 
			
		||||
	glibtop *server;
 | 
			
		||||
	const _glibtop_init_func_t *init_fkt;
 | 
			
		||||
 | 
			
		||||
	glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
 | 
			
		||||
 | 
			
		||||
	if (server_ptr == NULL)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										70
									
								
								lib/lib.pl
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								lib/lib.pl
									
									
									
									
									
								
							@@ -1,21 +1,8 @@
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
 | 
			
		||||
$[ = 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 $_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print '/* lib.c */';
 | 
			
		||||
print "/* This is a generated file.  Please modify `lib.pl' */";
 | 
			
		||||
print '';
 | 
			
		||||
@@ -86,9 +73,9 @@ while (<>) {
 | 
			
		||||
sub output {
 | 
			
		||||
    local($line) = @_;
 | 
			
		||||
    @line_fields = split(/\|/, $line, 9999);
 | 
			
		||||
    $retval = $line_fields[1];
 | 
			
		||||
    $feature = $line_fields[2];
 | 
			
		||||
    $param_def = $line_fields[4];
 | 
			
		||||
    $retval = $line_fields[0];
 | 
			
		||||
    $feature = $line_fields[1];
 | 
			
		||||
    $param_def = $line_fields[2];
 | 
			
		||||
 | 
			
		||||
    $orig = $feature;
 | 
			
		||||
    $feature =~ s/^@//;
 | 
			
		||||
@@ -106,16 +93,16 @@ sub output {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($param_def eq 'string') {
 | 
			
		||||
	$call_param = ', ' . $line_fields[5];
 | 
			
		||||
	$call_param = ', ' . $line_fields[3];
 | 
			
		||||
	$param_buf = '';
 | 
			
		||||
	$buf_set = '';
 | 
			
		||||
	$param_decl = ",\n            " . $space . '    const char *' .
 | 
			
		||||
 | 
			
		||||
	  $line_fields[5];
 | 
			
		||||
	$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';';
 | 
			
		||||
	  $line_fields[3];
 | 
			
		||||
	$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[3] . ';';
 | 
			
		||||
	$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
 | 
			
		||||
 | 
			
		||||
	  $line_fields[5] . ') + 1;';
 | 
			
		||||
	  $line_fields[3] . ') + 1;';
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
	$call_param = '';
 | 
			
		||||
@@ -126,9 +113,9 @@ sub output {
 | 
			
		||||
	$buf_set = '';
 | 
			
		||||
	$nr_params = (@params = split(/:/, $param_def, 9999));
 | 
			
		||||
	if ($nr_params) {
 | 
			
		||||
	    $param_buf = "\n\tstruct {\n";
 | 
			
		||||
	    $param_buf = "\t\tstruct {\n";
 | 
			
		||||
	}
 | 
			
		||||
	for ($param = 1; $param <= $nr_params; $param++) {
 | 
			
		||||
	for ($param = 0; $param < $nr_params; $param++) {
 | 
			
		||||
	    $list = $params[$param];
 | 
			
		||||
	    $type = $params[$param];
 | 
			
		||||
	    $type =~ s/\(.*//;
 | 
			
		||||
@@ -137,13 +124,13 @@ sub output {
 | 
			
		||||
	    $count = (@fields = split(/,/, $list, 9999));
 | 
			
		||||
 | 
			
		||||
	    if ($count > 0) {
 | 
			
		||||
		for ($field = 1; $field <= $count; $field++) {
 | 
			
		||||
		    $param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n";
 | 
			
		||||
		    $buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
 | 
			
		||||
		for ($field = 0; $field < $count; $field++) {
 | 
			
		||||
		    $param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
 | 
			
		||||
		    $buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
 | 
			
		||||
		}
 | 
			
		||||
	    }
 | 
			
		||||
 | 
			
		||||
	    for ($field = 1; $field <= $count; $field++) {
 | 
			
		||||
	    for ($field = 0; $field < $count; $field++) {
 | 
			
		||||
		if ($param_decl eq '') {
 | 
			
		||||
		    $param_decl = ",\n            " . $space . '    ';
 | 
			
		||||
		}
 | 
			
		||||
@@ -155,19 +142,19 @@ sub output {
 | 
			
		||||
		  $fields[$field];
 | 
			
		||||
		$call_param = $call_param . ', ' . $fields[$field];
 | 
			
		||||
		if ($send_ptr eq '') {
 | 
			
		||||
		    $send_ptr = "\n\tconst void *send_ptr = ¶m_buf;";
 | 
			
		||||
		    $send_ptr = "\t\tconst void *send_ptr = ¶m_buf;";
 | 
			
		||||
		}
 | 
			
		||||
	    }
 | 
			
		||||
	}
 | 
			
		||||
	if ($nr_params) {
 | 
			
		||||
	    $param_buf .= "\t} param_buf;";
 | 
			
		||||
	    $send_size  = "\n\tconst size_t send_size = sizeof param_buf;";
 | 
			
		||||
	    $param_buf .= "\t\t} param_buf;\n";
 | 
			
		||||
	    $send_size  = "\t\tconst size_t send_size = sizeof param_buf;";
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
	    $send_size = "\n\tconst size_t send_size = 0;";
 | 
			
		||||
	    $send_size = "\t\tconst size_t send_size = 0;";
 | 
			
		||||
	}
 | 
			
		||||
	if ($send_ptr eq '') {
 | 
			
		||||
	    $send_ptr = "\n\tconst void *send_ptr = NULL;";
 | 
			
		||||
	    $send_ptr = "\t\tconst void *send_ptr = NULL;";
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -175,17 +162,15 @@ sub output {
 | 
			
		||||
 | 
			
		||||
      $feature . ' *buf' . $param_decl . ')';
 | 
			
		||||
 | 
			
		||||
    print "{" . $param_buf;
 | 
			
		||||
    print "{";
 | 
			
		||||
 | 
			
		||||
    print $send_ptr . '' . $send_size;
 | 
			
		||||
    if ($retval !~ /^void$/) {
 | 
			
		||||
	print "\t" . $retval . ' retval = (' . $retval . ') 0;';
 | 
			
		||||
    }
 | 
			
		||||
    print $buf_set;
 | 
			
		||||
 | 
			
		||||
    print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
 | 
			
		||||
 | 
			
		||||
      &toupper($feature) . '), 0);';
 | 
			
		||||
      uc($feature) . '), 0);';
 | 
			
		||||
 | 
			
		||||
    print '';
 | 
			
		||||
    print "\t/* If neccessary, we ask the server for the requested";
 | 
			
		||||
@@ -195,12 +180,21 @@ sub output {
 | 
			
		||||
    print "\tif ((server->flags & _GLIBTOP_INIT_STATE_SERVER) &&";
 | 
			
		||||
    print "\t    (server->features & (1 << GLIBTOP_SYSDEPS_" .
 | 
			
		||||
 | 
			
		||||
      &toupper($feature) . ')))';
 | 
			
		||||
      uc($feature) . ')))';
 | 
			
		||||
    print "\t{";
 | 
			
		||||
 | 
			
		||||
    if ($param_buf) {
 | 
			
		||||
        print $param_buf;
 | 
			
		||||
        print $buf_set;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    print $send_ptr;
 | 
			
		||||
    print $send_size;
 | 
			
		||||
    print '';
 | 
			
		||||
 | 
			
		||||
    print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
 | 
			
		||||
 | 
			
		||||
      &toupper($feature) . ',';
 | 
			
		||||
      uc($feature) . ',';
 | 
			
		||||
    print "\t\t\t\t" . $prefix_space . 'send_size, send_ptr,';
 | 
			
		||||
    print "\t\t\t\t" . $prefix_space . 'sizeof (glibtop_' . $feature .
 | 
			
		||||
 | 
			
		||||
@@ -209,7 +203,7 @@ sub output {
 | 
			
		||||
    print "\t} else {";
 | 
			
		||||
 | 
			
		||||
    if ($orig !~ /^@/) {
 | 
			
		||||
	print '#if (!GLIBTOP_SUID_' . &toupper($feature) . ')';
 | 
			
		||||
	print '#if (!GLIBTOP_SUID_' . uc($feature) . ')';
 | 
			
		||||
    }
 | 
			
		||||
    print "\t\t" . $prefix . 'glibtop_get_' . $feature . '_s (server, buf' .
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,8 @@ glibtop_get_shm_limits
 | 
			
		||||
glibtop_get_shm_limits_l
 | 
			
		||||
glibtop_get_proc_affinity
 | 
			
		||||
glibtop_get_proc_affinity_l
 | 
			
		||||
glibtop_get_proc_io
 | 
			
		||||
glibtop_get_proc_io_l
 | 
			
		||||
glibtop_get_swap
 | 
			
		||||
glibtop_get_swap_l
 | 
			
		||||
glibtop_get_sysdeps
 | 
			
		||||
@@ -68,3 +70,10 @@ glibtop_open_l
 | 
			
		||||
glibtop_server_features
 | 
			
		||||
glibtop_set_parameter_l
 | 
			
		||||
glibtop_sys_siglist
 | 
			
		||||
glibtop_mountlist_get_type
 | 
			
		||||
glibtop_mountentry_get_type
 | 
			
		||||
glibtop_open_files_entry_get_type
 | 
			
		||||
glibtop_proc_open_files_get_type
 | 
			
		||||
glibtop_map_entry_get_type
 | 
			
		||||
glibtop_proc_map_get_type
 | 
			
		||||
glibtop_get_type
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								lib/open.c
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								lib/open.c
									
									
									
									
									
								
							@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -47,56 +47,44 @@ glibtop_open_l (glibtop *server, const char *program_name,
 | 
			
		||||
 | 
			
		||||
	server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "SIZEOF: %u - %u - %u - %u - %u - %u\n",
 | 
			
		||||
	glibtop_debug ("SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
 | 
			
		||||
		 sizeof (glibtop_command), sizeof (glibtop_response),
 | 
			
		||||
		 sizeof (glibtop_mountentry), sizeof (glibtop_union),
 | 
			
		||||
		 sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	switch (server->method) {
 | 
			
		||||
	case GLIBTOP_METHOD_DIRECT:
 | 
			
		||||
		server->features = 0;
 | 
			
		||||
		break;
 | 
			
		||||
	case GLIBTOP_METHOD_INET:
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Connecting to '%s' port %ld.\n",
 | 
			
		||||
		glibtop_debug ("Connecting to '%s' port %ld.",
 | 
			
		||||
			 server->server_host, server->server_port);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		connect_type = glibtop_make_connection
 | 
			
		||||
			(server->server_host, server->server_port,
 | 
			
		||||
			 &server->socket);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Connect Type is %d.\n", connect_type);
 | 
			
		||||
#endif
 | 
			
		||||
		glibtop_debug ("Connect Type is %d.", connect_type);
 | 
			
		||||
 | 
			
		||||
		server->flags |= _GLIBTOP_INIT_STATE_SERVER;
 | 
			
		||||
 | 
			
		||||
		server->features = -1;
 | 
			
		||||
		break;
 | 
			
		||||
	case GLIBTOP_METHOD_UNIX:
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Connecting to Unix Domain Socket.\n");
 | 
			
		||||
#endif
 | 
			
		||||
		glibtop_debug ("Connecting to Unix Domain Socket.");
 | 
			
		||||
 | 
			
		||||
		connect_type = glibtop_make_connection
 | 
			
		||||
			("unix", 0, &server->socket);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Connect Type is %d.\n", connect_type);
 | 
			
		||||
#endif
 | 
			
		||||
		glibtop_debug ("Connect Type is %d.", connect_type);
 | 
			
		||||
 | 
			
		||||
		server->flags |= _GLIBTOP_INIT_STATE_SERVER;
 | 
			
		||||
 | 
			
		||||
		server->features = -1;
 | 
			
		||||
		break;
 | 
			
		||||
	case GLIBTOP_METHOD_PIPE:
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Opening pipe to server (%s).\n",
 | 
			
		||||
			 LIBGTOP_SERVER);
 | 
			
		||||
#endif
 | 
			
		||||
		glibtop_debug ("Opening pipe to server (%s).",
 | 
			
		||||
			 server->server_command);
 | 
			
		||||
 | 
			
		||||
		if (pipe (server->input) || pipe (server->output))
 | 
			
		||||
			glibtop_error_io_r (server, "cannot make a pipe");
 | 
			
		||||
@@ -110,9 +98,9 @@ glibtop_open_l (glibtop *server, const char *program_name,
 | 
			
		||||
			close (server->input [0]); close (server->output [1]);
 | 
			
		||||
			dup2 (server->input [1], 1);
 | 
			
		||||
			dup2 (server->output [0], 0);
 | 
			
		||||
			execl (LIBGTOP_SERVER, "libgtop-server", NULL);
 | 
			
		||||
			execl (server->server_command, "libgtop-server", NULL);
 | 
			
		||||
			glibtop_error_io_r (server, "execl (%s)",
 | 
			
		||||
					    LIBGTOP_SERVER);
 | 
			
		||||
					    server->server_command);
 | 
			
		||||
			_exit (2);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -165,18 +153,14 @@ glibtop_open_l (glibtop *server, const char *program_name,
 | 
			
		||||
 | 
			
		||||
		memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Server features are %lu.\n",
 | 
			
		||||
		glibtop_debug ("Server features are %#0lx.",
 | 
			
		||||
			 server->features);
 | 
			
		||||
#endif
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* In any case, we call the open functions of our own sysdeps
 | 
			
		||||
	 * directory. */
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "Calling sysdeps open function.\n");
 | 
			
		||||
#endif
 | 
			
		||||
	glibtop_debug ("Calling sysdeps open function.");
 | 
			
		||||
 | 
			
		||||
	glibtop_init_s (&server, features, flags);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -33,9 +33,7 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
 | 
			
		||||
	int fd;
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
 | 
			
		||||
#endif
 | 
			
		||||
	glibtop_debug("LIBRARY: really reading %d bytes.", (int)size);
 | 
			
		||||
 | 
			
		||||
	fd = server->socket ? server->socket : server->input[0];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -36,10 +36,8 @@ glibtop_read_data_l (glibtop *server)
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "LIBRARY: reading %lu data bytes.\n",
 | 
			
		||||
	glibtop_debug ("LIBRARY: reading %lu data bytes.",
 | 
			
		||||
		 (unsigned long) sizeof (size_t));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (server->socket) {
 | 
			
		||||
		ret = recv (server->socket, &size, sizeof (size_t), 0);
 | 
			
		||||
@@ -50,10 +48,8 @@ glibtop_read_data_l (glibtop *server)
 | 
			
		||||
	if (ret < 0)
 | 
			
		||||
		glibtop_error_io_r (server, _("read data size"));
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "LIBRARY: really reading %lu data bytes (ret = %d).\n",
 | 
			
		||||
	glibtop_debug ("LIBRARY: really reading %lu data bytes (ret = %d).",
 | 
			
		||||
		 (unsigned long) size, ret);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if (!size) return NULL;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,104 +0,0 @@
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
 | 
			
		||||
die "Usage: $0 features.def structures.def" unless $#ARGV == 2;
 | 
			
		||||
 | 
			
		||||
$[ = 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 $_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$structures{$structure_count++} = 'glibtop';
 | 
			
		||||
 | 
			
		||||
open FEATURESDEF, $ARGV[1] or
 | 
			
		||||
  die "open ($ARGV[1]): $!";
 | 
			
		||||
 | 
			
		||||
while (<FEATURESDEF>) {
 | 
			
		||||
  chop;				# strip record separator
 | 
			
		||||
  
 | 
			
		||||
  if (/^[^\#]/) {
 | 
			
		||||
    &parse_features_def ($_);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
close FEATURESDEF;
 | 
			
		||||
 | 
			
		||||
open STRUCTDEF, $ARGV[2] or
 | 
			
		||||
  die "open ($ARGV[2]): $!";
 | 
			
		||||
 | 
			
		||||
while (<STRUCTDEF>) {
 | 
			
		||||
  chop;				# strip record separator
 | 
			
		||||
  
 | 
			
		||||
  if (/^[^\#]/) {
 | 
			
		||||
    &parse_structure_def ($_);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
close STRUCTDEF;
 | 
			
		||||
 | 
			
		||||
$init_structures_code = sprintf
 | 
			
		||||
  (qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_GLIBTOP] = scm_make_structure_type\n\t\t("glibtop", sizeof (glibtop));\n]);
 | 
			
		||||
 | 
			
		||||
for ($nr = 0; $nr < $structure_count; $nr++) {
 | 
			
		||||
  $structure = $structures{$nr};
 | 
			
		||||
 | 
			
		||||
  $init_structures_code .= sprintf
 | 
			
		||||
    (qq[\tscm_glibtop_structure_tags [GLIBTOP_STRUCTURE_%s] = scm_make_structure_type\n\t\t("%s", sizeof (%s));\n],
 | 
			
		||||
     toupper($structure), $structure, $structure);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print qq[/* structures.h */];
 | 
			
		||||
print qq[/* This is a generated file.  Please modify \`guile.pl\' */];
 | 
			
		||||
print '';
 | 
			
		||||
print qq[\#ifndef __GLIBTOP_STRUCTURES_H__];
 | 
			
		||||
print qq[\#define __GLIBTOP_STRUCTURES_H__];
 | 
			
		||||
print '';
 | 
			
		||||
print qq[\#include <glibtop.h>];
 | 
			
		||||
print '';
 | 
			
		||||
print qq[G_BEGIN_DECLS];
 | 
			
		||||
print '';
 | 
			
		||||
 | 
			
		||||
for ($nr = 0; $nr < $structure_count; $nr++) {
 | 
			
		||||
  $structure = $structures{$nr};
 | 
			
		||||
 | 
			
		||||
  printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_STRUCTURE_'.&toupper($structure), $nr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print '';
 | 
			
		||||
printf (qq[\#define %-40s\t%d\n], 'GLIBTOP_MAX_STRUCTURES', $structure_count);
 | 
			
		||||
print '';
 | 
			
		||||
print qq[G_END_DECLS];
 | 
			
		||||
print '';
 | 
			
		||||
print qq[\#endif /* __GLIBTOP_STRUCTURES_H__ */];
 | 
			
		||||
 | 
			
		||||
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];
 | 
			
		||||
  
 | 
			
		||||
  $feature =~ s/^@//;
 | 
			
		||||
  $features{$feature} = $feature;
 | 
			
		||||
 | 
			
		||||
  $structures{$structure_count++} = 'glibtop_'.$feature;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub parse_structure_def {
 | 
			
		||||
  local($line) = @_;
 | 
			
		||||
  @line_fields = split(/\|/, $line, 9999);
 | 
			
		||||
  $name = $line_fields[1];
 | 
			
		||||
 | 
			
		||||
  $structures{$structure_count++} = $name;
 | 
			
		||||
}
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -44,11 +44,13 @@ GLIBTOP_SUID_PROC_KERNEL +
 | 
			
		||||
GLIBTOP_SUID_PROC_SEGMENT +
 | 
			
		||||
GLIBTOP_SUID_PROC_ARGS +
 | 
			
		||||
GLIBTOP_SUID_PROC_MAP +
 | 
			
		||||
GLIBTOP_SUID_PROC_OPEN_FILES +
 | 
			
		||||
GLIBTOP_SUID_NETLOAD +
 | 
			
		||||
GLIBTOP_SUID_NETLIST +
 | 
			
		||||
GLIBTOP_SUID_PROC_WD +
 | 
			
		||||
GLIBTOP_SUID_PROC_AFFINITY +
 | 
			
		||||
GLIBTOP_SUID_PPP;
 | 
			
		||||
GLIBTOP_SUID_PPP +
 | 
			
		||||
GLIBTOP_SUID_PROC_IO;
 | 
			
		||||
 | 
			
		||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
 | 
			
		||||
#if !GLIBTOP_SUID_CPU
 | 
			
		||||
@@ -119,6 +121,12 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
 | 
			
		||||
#endif
 | 
			
		||||
#if !GLIBTOP_SUID_PPP
 | 
			
		||||
	_glibtop_init_ppp_s,
 | 
			
		||||
#endif
 | 
			
		||||
#if !GLIBTOP_SUID_PROC_IO
 | 
			
		||||
	_glibtop_init_proc_io_s,
 | 
			
		||||
#endif
 | 
			
		||||
#if !GLIBTOP_SUID_PROC_OPEN_FILES
 | 
			
		||||
	_glibtop_init_proc_open_files_s,
 | 
			
		||||
#endif
 | 
			
		||||
	NULL
 | 
			
		||||
};
 | 
			
		||||
@@ -192,6 +200,12 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
 | 
			
		||||
#endif
 | 
			
		||||
#if GLIBTOP_SUID_PPP
 | 
			
		||||
	_glibtop_init_ppp_p,
 | 
			
		||||
#endif
 | 
			
		||||
#if GLIBTOP_SUID_PROC_IO
 | 
			
		||||
	_glibtop_init_proc_io_p,
 | 
			
		||||
#endif
 | 
			
		||||
#if GLIBTOP_SUID_PROC_OPEN_FILES
 | 
			
		||||
	_glibtop_init_proc_open_files_p,
 | 
			
		||||
#endif
 | 
			
		||||
	NULL
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
   Boston, MA 02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
@@ -37,9 +37,7 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
 | 
			
		||||
 | 
			
		||||
	if (size == 0) return;
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
 | 
			
		||||
#endif
 | 
			
		||||
	glibtop_debug("LIBRARY: really writing %d bytes.", (int)size);
 | 
			
		||||
 | 
			
		||||
	fd = server->socket ? server->socket : server->output[1];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,20 +4,16 @@ dnl
 | 
			
		||||
dnl It defines the following variables:
 | 
			
		||||
dnl
 | 
			
		||||
dnl * 'libgtop_sysdeps_dir'    - sysdeps dir for libgtop.
 | 
			
		||||
dnl * 'libgtop_use_machine_h'  - some of system dependend parts of libgtop provide
 | 
			
		||||
dnl                              their own header file. In this case we need to
 | 
			
		||||
dnl                              define 'HAVE_GLIBTOP_MACHINE_H'.
 | 
			
		||||
dnl * 'libgtop_need_server'    - is the server really needed? Defines 'NEED_LIBGTOP'
 | 
			
		||||
dnl                              if true; defines conditional 'NEED_LIBGTOP'.
 | 
			
		||||
dnl * 'libgtop_need_server'    - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
 | 
			
		||||
dnl                              if true; defines conditional 'LIBGTOP_NEED_SERVER'.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
 | 
			
		||||
	AC_SUBST(libgtop_sysdeps_dir)
 | 
			
		||||
	AC_SUBST(libgtop_use_machine_h)
 | 
			
		||||
	AC_SUBST(libgtop_need_server)
 | 
			
		||||
 | 
			
		||||
	AC_ARG_WITH(libgtop-examples,
 | 
			
		||||
	AC_ARG_WITH(examples,
 | 
			
		||||
	AS_HELP_STRING([--with-examples],
 | 
			
		||||
	[Build the libgtop examples @<:@default=yes@:>@]),[
 | 
			
		||||
	build_examples="$withval"], [build_examples=yes])
 | 
			
		||||
@@ -31,53 +27,24 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
 | 
			
		||||
	AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
 | 
			
		||||
 | 
			
		||||
	AC_ARG_WITH(libgtop-smp,
 | 
			
		||||
	AS_HELP_STRING([--with-libgtop-smp],
 | 
			
		||||
	[Enable SMP support @<:@default-auto@:>@]),[
 | 
			
		||||
	libgtop_smp="$withval"],[libgtop_smp=auto])
 | 
			
		||||
 | 
			
		||||
	if test $libgtop_smp = auto ; then
 | 
			
		||||
	  AC_MSG_CHECKING(whether to enable SMP support)
 | 
			
		||||
	  case "$host_os" in
 | 
			
		||||
	  linux*)
 | 
			
		||||
	    libgtop_smp=yes
 | 
			
		||||
	    ;;
 | 
			
		||||
	  aix*)
 | 
			
		||||
	    libgtop_smp=yes
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    libgtop_smp=no
 | 
			
		||||
	    ;;
 | 
			
		||||
	  esac
 | 
			
		||||
	  AC_MSG_RESULT($libgtop_smp)
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if test $libgtop_smp = yes ; then
 | 
			
		||||
	  AC_DEFINE(HAVE_LIBGTOP_SMP, 1, [Define if libgtop supports SMP])
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
 | 
			
		||||
 | 
			
		||||
	AC_MSG_CHECKING(for libgtop sysdeps directory)
 | 
			
		||||
 | 
			
		||||
	case "$host_os" in
 | 
			
		||||
	linux*)
 | 
			
		||||
	  libgtop_sysdeps_dir=linux
 | 
			
		||||
	  libgtop_use_machine_h=no
 | 
			
		||||
	  libgtop_have_sysinfo=yes
 | 
			
		||||
	  libgtop_need_server=no
 | 
			
		||||
	  libgtop_need_server=yes
 | 
			
		||||
	  libgtop_sysdeps_private_mountlist=yes
 | 
			
		||||
	  libgtop_sysdeps_private_fsusage=yes
 | 
			
		||||
	  libgtop_postinstall='chown root $(bindir)/libgtop_server2 && chmod 4755 $(bindir)/libgtop_server2'
 | 
			
		||||
	  ;;
 | 
			
		||||
	netbsd*|bsdi*)
 | 
			
		||||
	  libgtop_sysdeps_dir=bsd
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  libgtop_need_server=yes
 | 
			
		||||
	  libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
 | 
			
		||||
	  ;;
 | 
			
		||||
	openbsd*)
 | 
			
		||||
	  libgtop_sysdeps_dir=openbsd
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  libgtop_need_server=yes
 | 
			
		||||
	  libgtop_sysdeps_private_mountlist=yes
 | 
			
		||||
	  libgtop_sysdeps_private_fsusage=yes
 | 
			
		||||
@@ -85,7 +52,6 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	  ;;
 | 
			
		||||
	freebsd*|kfreebsd*)
 | 
			
		||||
	  libgtop_sysdeps_dir=freebsd
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  libgtop_need_server=yes
 | 
			
		||||
	  libgtop_sysdeps_private_mountlist=yes
 | 
			
		||||
	  libgtop_sysdeps_private_fsusage=yes
 | 
			
		||||
@@ -93,27 +59,23 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	  ;;
 | 
			
		||||
	solaris*)
 | 
			
		||||
	  libgtop_sysdeps_dir=solaris
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  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'
 | 
			
		||||
	  ;;
 | 
			
		||||
	darwin*)
 | 
			
		||||
	  libgtop_sysdeps_dir=darwin
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  libgtop_need_server=yes
 | 
			
		||||
	  libgtop_have_sysinfo=yes
 | 
			
		||||
	  libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
 | 
			
		||||
	  ;;
 | 
			
		||||
	cygwin*)
 | 
			
		||||
	  libgtop_sysdeps_dir=cygwin
 | 
			
		||||
	  libgtop_use_machine_h=no
 | 
			
		||||
	  libgtop_need_server=no
 | 
			
		||||
	  libgtop_have_sysinfo=yes
 | 
			
		||||
	  libgtop_sysdeps_private_mountlist=yes
 | 
			
		||||
@@ -125,23 +87,19 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	      #Please note that this port is obsolete and not working at
 | 
			
		||||
	      #all. It is only useful for people who want to fix it ... :-)
 | 
			
		||||
	      libgtop_sysdeps_dir=sun4
 | 
			
		||||
	      libgtop_use_machine_h=yes
 | 
			
		||||
	      libgtop_need_server=yes
 | 
			
		||||
	      ;;
 | 
			
		||||
	    osf*)
 | 
			
		||||
	      libgtop_sysdeps_dir=osf1
 | 
			
		||||
	      libgtop_use_machine_h=yes
 | 
			
		||||
	      libgtop_need_server=yes
 | 
			
		||||
	      ;;
 | 
			
		||||
	    *)
 | 
			
		||||
	      libgtop_sysdeps_dir=stub
 | 
			
		||||
	      libgtop_use_machine_h=no
 | 
			
		||||
	      libgtop_need_server=no
 | 
			
		||||
	      ;;
 | 
			
		||||
	    esac
 | 
			
		||||
	  else
 | 
			
		||||
	    libgtop_sysdeps_dir=stub
 | 
			
		||||
	    libgtop_use_machine_h=no
 | 
			
		||||
	    libgtop_need_server=no
 | 
			
		||||
	  fi
 | 
			
		||||
	  ;;
 | 
			
		||||
@@ -304,22 +262,14 @@ main (void)
 | 
			
		||||
	  ;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
 | 
			
		||||
	AC_MSG_RESULT($libgtop_use_machine_h)
 | 
			
		||||
 | 
			
		||||
	AC_MSG_CHECKING(whether we need libgtop)
 | 
			
		||||
	AC_MSG_RESULT($libgtop_need_server)
 | 
			
		||||
 | 
			
		||||
	if test x$libgtop_need_server = xyes ; then
 | 
			
		||||
	  AC_DEFINE(NEED_LIBGTOP, 1, [Define if libgtop is required])
 | 
			
		||||
	  AC_DEFINE(LIBGTOP_NEED_SERVER, 1, [Define if libgtop server is required])
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if test x$libgtop_use_machine_h = xyes ; then
 | 
			
		||||
	  AC_DEFINE(HAVE_GLIBTOP_MACHINE_H, 1,
 | 
			
		||||
                    [Define if machine.h in libgtop sysdeps dir])
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
 | 
			
		||||
	AM_CONDITIONAL(LIBGTOP_NEED_SERVER, test x$libgtop_need_server = xyes)
 | 
			
		||||
	AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
 | 
			
		||||
	AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
 | 
			
		||||
])
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,8 @@
 | 
			
		||||
  <shortdesc xml:lang="en">LibGTop2</shortdesc>
 | 
			
		||||
  <download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
 | 
			
		||||
  <bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
 | 
			
		||||
  <category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
 | 
			
		||||
  <category rdf:resource="http://api.gnome.org/doap-extensions#core" />
 | 
			
		||||
  <programming-language>C</programming-language>
 | 
			
		||||
 | 
			
		||||
  <maintainer>
 | 
			
		||||
    <foaf:Person>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								ltconfig
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								ltconfig
									
									
									
									
									
								
							@@ -16,7 +16,7 @@
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
			
		||||
#
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
@@ -2756,7 +2756,7 @@ case "$ltmain" in
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
			
		||||
#
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										78
									
								
								po/Makevars
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								po/Makevars
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
# Makefile variables for PO directory in any package using GNU gettext.
 | 
			
		||||
 | 
			
		||||
# Usually the message domain is the same as the package name.
 | 
			
		||||
DOMAIN = $(PACKAGE)
 | 
			
		||||
 | 
			
		||||
# These two variables depend on the location of this directory.
 | 
			
		||||
subdir = po
 | 
			
		||||
top_builddir = ..
 | 
			
		||||
 | 
			
		||||
# These options get passed to xgettext.
 | 
			
		||||
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
 | 
			
		||||
 | 
			
		||||
# This is the copyright holder that gets inserted into the header of the
 | 
			
		||||
# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
 | 
			
		||||
# package.  (Note that the msgstr strings, extracted from the package's
 | 
			
		||||
# sources, belong to the copyright holder of the package.)  Translators are
 | 
			
		||||
# expected to transfer the copyright for their translations to this person
 | 
			
		||||
# or entity, or to disclaim their copyright.  The empty string stands for
 | 
			
		||||
# the public domain; in this case the translators are expected to disclaim
 | 
			
		||||
# their copyright.
 | 
			
		||||
COPYRIGHT_HOLDER = libgtop authors
 | 
			
		||||
 | 
			
		||||
# This tells whether or not to prepend "GNU " prefix to the package
 | 
			
		||||
# name that gets inserted into the header of the $(DOMAIN).pot file.
 | 
			
		||||
# Possible values are "yes", "no", or empty.  If it is empty, try to
 | 
			
		||||
# detect it automatically by scanning the files in $(top_srcdir) for
 | 
			
		||||
# "GNU packagename" string.
 | 
			
		||||
PACKAGE_GNU = no
 | 
			
		||||
 | 
			
		||||
# This is the email address or URL to which the translators shall report
 | 
			
		||||
# bugs in the untranslated strings:
 | 
			
		||||
# - Strings which are not entire sentences, see the maintainer guidelines
 | 
			
		||||
#   in the GNU gettext documentation, section 'Preparing Strings'.
 | 
			
		||||
# - Strings which use unclear terms or require additional context to be
 | 
			
		||||
#   understood.
 | 
			
		||||
# - Strings which make invalid assumptions about notation of date, time or
 | 
			
		||||
#   money.
 | 
			
		||||
# - Pluralisation problems.
 | 
			
		||||
# - Incorrect English spelling.
 | 
			
		||||
# - Incorrect formatting.
 | 
			
		||||
# It can be your email address, or a mailing list address where translators
 | 
			
		||||
# can write to without being subscribed, or the URL of a web page through
 | 
			
		||||
# which the translators can contact you.
 | 
			
		||||
MSGID_BUGS_ADDRESS = https://gitlab.gnome.org/GNOME/libgtop/issues
 | 
			
		||||
 | 
			
		||||
# This is the list of locale categories, beyond LC_MESSAGES, for which the
 | 
			
		||||
# message catalogs shall be used.  It is usually empty.
 | 
			
		||||
EXTRA_LOCALE_CATEGORIES =
 | 
			
		||||
 | 
			
		||||
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
 | 
			
		||||
# context.  Possible values are "yes" and "no".  Set this to yes if the
 | 
			
		||||
# package uses functions taking also a message context, like pgettext(), or
 | 
			
		||||
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
 | 
			
		||||
USE_MSGCTXT = yes
 | 
			
		||||
 | 
			
		||||
# These options get passed to msgmerge.
 | 
			
		||||
# Useful options are in particular:
 | 
			
		||||
#   --previous            to keep previous msgids of translated messages,
 | 
			
		||||
#   --quiet               to reduce the verbosity.
 | 
			
		||||
MSGMERGE_OPTIONS =
 | 
			
		||||
 | 
			
		||||
# These options get passed to msginit.
 | 
			
		||||
# If you want to disable line wrapping when writing PO files, add
 | 
			
		||||
# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
 | 
			
		||||
# MSGINIT_OPTIONS.
 | 
			
		||||
MSGINIT_OPTIONS =
 | 
			
		||||
 | 
			
		||||
# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
 | 
			
		||||
# has changed.  Possible values are "yes" and "no".  Set this to no if
 | 
			
		||||
# the POT file is checked in the repository and the version control
 | 
			
		||||
# program ignores timestamps.
 | 
			
		||||
PO_DEPENDS_ON_POT = no
 | 
			
		||||
 | 
			
		||||
# This tells whether or not to forcibly update $(DOMAIN).pot and
 | 
			
		||||
# regenerate PO files on "make dist".  Possible values are "yes" and
 | 
			
		||||
# "no".  Set this to no if the POT file and PO files are maintained
 | 
			
		||||
# externally.
 | 
			
		||||
DIST_DEPENDS_ON_UPDATE_PO = no
 | 
			
		||||
							
								
								
									
										1
									
								
								po/am.po
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								po/am.po
									
									
									
									
									
								
							@@ -12,6 +12,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2003-01-16 08:39+EDT\n"
 | 
			
		||||
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
 | 
			
		||||
"Language-Team: Amharic <locales@geez.org>\n"
 | 
			
		||||
"Language: am\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								po/ar.po
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								po/ar.po
									
									
									
									
									
								
							@@ -15,6 +15,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2008-07-28 19:26+0300\n"
 | 
			
		||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
 | 
			
		||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
 | 
			
		||||
"Language: ar\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								po/as.po
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								po/as.po
									
									
									
									
									
								
							@@ -12,6 +12,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2011-08-17 16:13+0530\n"
 | 
			
		||||
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
 | 
			
		||||
"Language-Team: as_IN <kde-i18n-doc@kde.org>\n"
 | 
			
		||||
"Language: as\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2010-01-06 18:12+0100\n"
 | 
			
		||||
"Last-Translator: astur <malditoastur@gmail.com>\n"
 | 
			
		||||
"Language-Team: Asturian <alministradores@softastur.org>\n"
 | 
			
		||||
"Language: ast\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								po/az.po
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								po/az.po
									
									
									
									
									
								
							@@ -12,6 +12,7 @@ msgstr ""
 | 
			
		||||
"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
 | 
			
		||||
"Language-Team: Azerbaijani Turkish <translation-team-az@lists.sourceforge."
 | 
			
		||||
"net>\n"
 | 
			
		||||
"Language: az\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										100
									
								
								po/be.po
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								po/be.po
									
									
									
									
									
								
							@@ -1,14 +1,16 @@
 | 
			
		||||
# Vital Khilko <dojlid@mova.org>, 2003.
 | 
			
		||||
# Ales Nyakhaychyk <nab@mail.by>, 2004.
 | 
			
		||||
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
 | 
			
		||||
# Yuras Shumovich <shumovichy@gmail.com>, 2017.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop.master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2011-07-24 19:42+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2011-07-24 19:41+0300\n"
 | 
			
		||||
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
 | 
			
		||||
"product=libgtop&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-04-07 11:26+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2017-09-01 19:01+0300\n"
 | 
			
		||||
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
 | 
			
		||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
 | 
			
		||||
"Language: be\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -16,9 +18,9 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 | 
			
		||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 | 
			
		||||
"X-Generator: KBabel 1.0.2\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.11\n"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#: lib/read.c:49
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
@@ -26,11 +28,11 @@ msgstr[0] "прачытаны %d байт"
 | 
			
		||||
msgstr[1] "прачытана %d байты"
 | 
			
		||||
msgstr[2] "прачытана %d байтаў"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
#: lib/read_data.c:49
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "прачытаны памер даных"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#: lib/read_data.c:66
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
@@ -38,7 +40,7 @@ msgstr[0] "прачытаны %lu байт даных"
 | 
			
		||||
msgstr[1] "прачытана %lu байты даных"
 | 
			
		||||
msgstr[2] "прачытана %lu байтаў даных"
 | 
			
		||||
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#: lib/write.c:49
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
@@ -46,148 +48,150 @@ msgstr[0] "запісаны %d байт"
 | 
			
		||||
msgstr[1] "запісана %d байты"
 | 
			
		||||
msgstr[2] "запісана %d байтаў"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:455
 | 
			
		||||
#: src/daemon/gnuserv.c:456
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Уключыць адладачны код"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:457
 | 
			
		||||
#: src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Уключыць падрабязны вывад"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:459
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Don’t fork into background"
 | 
			
		||||
msgstr "Не адгаліноўваць фонавы працэс"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:461
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Запушчаны з дапамогай inetd"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:495
 | 
			
		||||
#: src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid ""
 | 
			
		||||
"Run “%s --help” to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help\".\n"
 | 
			
		||||
"Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help"
 | 
			
		||||
"\".\n"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "Абрыў сувязі (HUP)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "Перарыў (INT)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Выхад (QUIT)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Забароненая інструкцыя (ILL)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "Захоп трасіроўкі (TRAP)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Перарванне (ABRT)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "Памылка (EMT)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "Выключэнне float (FPE)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Забойства (KILL)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "Памылка магістралі (BUS)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "Парушэнне сегментацыі (SEGV)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "Хібны аргумент сістэмнага выкліку (SYS)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Зламаны канал (PIPE)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "Таймер (ALRM)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Знішчэнне (TERM)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "Тэрміновыя даныя на сокеце (URG)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "Прыпыненне (STOP)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "Прыпыненне з клавіятуры (TSTP)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "Працяг працы (CONT)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "Змена стану нашчадка (CHLD)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "Фонавае чытанне з tty (TTIN)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "Фонавы запіс у tty (TTOU)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "Магчымасць уводу/вываду (IO)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "Абмежаванне працэсара (XCPU)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "Абмежаванне памеру файла (XFSZ)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "Віртуальны таймер (VTALRM)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Таймер прафілявання (PROF)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "Змена памераў акна (WINCH)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Запыт інфармацыі (INFO)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "Карыстальніцкі сігнал 1 (USR1)"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "Карыстальніцкі сігнал 2 (USR2)"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								po/bg.po
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								po/bg.po
									
									
									
									
									
								
							@@ -1,17 +1,18 @@
 | 
			
		||||
# Bulgarian translation for libgtop po-file
 | 
			
		||||
# Copyright (C) 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 2002, 2004, 2005, 2007, 2017 Free Software Foundation, Inc.
 | 
			
		||||
# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2002.
 | 
			
		||||
# Yanko Kaneti <yaneti@declera.com>, 2002.
 | 
			
		||||
# Rostislav Raykov <zbrox@i-space.org>, 2004.
 | 
			
		||||
# Vladimir Petkov <kaladan@gmail.com>, 2005.
 | 
			
		||||
# Alexander Shopov <ash@kambanaria.org>, 2007.
 | 
			
		||||
# Alexander Shopov <ash@kambanaria.org>, 2007, 2017.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop master\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2012-04-01 18:21+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2012-04-01 18:20+0300\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
 | 
			
		||||
"product=libgtop&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2017-09-02 09:32+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2017-08-25 11:00+0200\n"
 | 
			
		||||
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 | 
			
		||||
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
 | 
			
		||||
"Language: bg\n"
 | 
			
		||||
@@ -20,50 +21,50 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#: ../lib/read.c:49
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "прочетен %d байт"
 | 
			
		||||
msgstr[1] "прочетени %d байта"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
#: ../lib/read_data.c:49
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "прочетен е размерът на данните"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#: ../lib/read_data.c:66
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "прочетен %lu байт данни"
 | 
			
		||||
msgstr[1] "прочетени %lu байта данни"
 | 
			
		||||
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#: ../lib/write.c:49
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "записан %d байт"
 | 
			
		||||
msgstr[1] "записани %d байта"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:455
 | 
			
		||||
#: ../src/daemon/gnuserv.c:456
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Включване на изчистване на грешките"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:457
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Включване на подробен изход"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:459
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Не се поражда процес във фонов режим"
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Don’t fork into background"
 | 
			
		||||
msgstr "Да не се поражда процес във фонов режим"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:461
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Извикан от inetd"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:495
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run “%s --help” to see a full list of available command line options.\n"
 | 
			
		||||
msgstr "Изпълнете „%s --help“ за пълния списък от опции за командата.\n"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								po/bn.po
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								po/bn.po
									
									
									
									
									
								
							@@ -15,6 +15,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2010-01-21 16:02+0600\n"
 | 
			
		||||
"Last-Translator: Israt Jahan <israt@ankur.org.bd>\n"
 | 
			
		||||
"Language-Team: Bengali <ankur-bd-l10n@googlegroups.com>\n"
 | 
			
		||||
"Language: bn\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ msgstr ""
 | 
			
		||||
"PO-Revision-Date: 2007-08-10 14:47+0530\n"
 | 
			
		||||
"Last-Translator: Runa Bhattacharjee <runabh@gmail.com>\n"
 | 
			
		||||
"Language-Team: Bengali INDIA\n"
 | 
			
		||||
"Language: bn_IN\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										144
									
								
								po/bs.po
									
									
									
									
									
								
							
							
						
						
									
										144
									
								
								po/bs.po
									
									
									
									
									
								
							@@ -1,25 +1,22 @@
 | 
			
		||||
# translation of libgtop.HEAD.po to Bosnian
 | 
			
		||||
# This file is distributed under the same license as the libgtop package.
 | 
			
		||||
# Copyright (C) 2004 Free Software Foundation, Inc.
 | 
			
		||||
# Vedran Ljubovic <vljubovic@smartnet.ba>, 2004.
 | 
			
		||||
# Kemal Šanjta <gomez@lugzdk.ba>, 2004.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop.HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2004-09-05 16:54+0200\n"
 | 
			
		||||
"Last-Translator: Kemal Šanjta <gomez@lugzdk.ba>\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
 | 
			
		||||
"product=libgtop&keywords=I18N+L10N&component=general\n"
 | 
			
		||||
"POT-Creation-Date: 2015-02-26 22:47+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2013-01-30 21:42+0000\n"
 | 
			
		||||
"Last-Translator: Samir Ribić <Unknown>\n"
 | 
			
		||||
"Language-Team: Bosnian <lokal@linux.org.ba>\n"
 | 
			
		||||
"Language: bs\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 | 
			
		||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 | 
			
		||||
"X-Generator: KBabel 1.3\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 | 
			
		||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"X-Launchpad-Export-Date: 2014-10-23 07:17+0000\n"
 | 
			
		||||
"X-Generator: Launchpad (build 17203)\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
@@ -27,188 +24,169 @@ msgstr[0] "čitaj %d bajt"
 | 
			
		||||
msgstr[1] "čitaj %d bajta"
 | 
			
		||||
msgstr[2] "čitaj %d bajtova"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "veličina pročitanih podataka"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "čitaj %d bajt"
 | 
			
		||||
msgstr[1] "čitaj %d bajta"
 | 
			
		||||
msgstr[2] "čitaj %d bajtova"
 | 
			
		||||
msgstr[0] "pročitaj %lu bajt podataka"
 | 
			
		||||
msgstr[1] "pročitaj %lu bajta podataka"
 | 
			
		||||
msgstr[2] "pročitano %lu bajtova podataka"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "piši %d bajt"
 | 
			
		||||
msgstr[1] "piši %d bajta"
 | 
			
		||||
msgstr[2] "piši %d bajtova"
 | 
			
		||||
msgstr[0] "upisan %d bajt"
 | 
			
		||||
msgstr[1] "upisana %d bajta"
 | 
			
		||||
msgstr[2] "upisano %d bajtova"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:455
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Uključi debugging"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "DEBUG"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:457
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Uključi rječiti izlaz"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:459
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Ne fork-uj u pozadinu"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:461
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Pozvan iz inetd"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:495
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Greška u opciji %s: %s.\n"
 | 
			
		||||
"Pokrenite '%s --help' da vidite punu listu dostupnih opcija na komandnoj "
 | 
			
		||||
"liniji.\n"
 | 
			
		||||
"Pokrenite „%s --help“ da biste vidjeli cijelu listu dostupnih opcija "
 | 
			
		||||
"komandne linije.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "Prekidanje veze"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "Prekid"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Izađi"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Nedopuštena instrukcija"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "Prati trap"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Odustani"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "EMT greška"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "Floating-point exception"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Ubij"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "Sabirnička greška"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "Povreda segmenta"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "Neispravan argument za sistemski poziv"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Prekinut kanal"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "Alarm"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Završavanje"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "Hitno stanje na socketu"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "Zaustavi"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "Zaustavljanje tastature"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "Nastavi"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "Status djeteta je promijenjen"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "Pozadinsko čitanje iz tty-a"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "Pozadinsko pisanje na tty"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "U/I je sada moguć"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "CPU granica iskorištena"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "Prekoračeno ograničenje veličine spisa"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "Virtualni alarmni sat"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Profiliranje sata alarma"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "Promjena veličine prozora"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Zahtjev za informacijom"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "Korisnički definisan signal 1"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "Korisnički definisan signal 2"
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user