Compare commits
	
		
			9 Commits
		
	
	
		
			table_0_02
			...
			stable_aft
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					321f5180f7 | ||
| 
						 | 
					d9874dca81 | ||
| 
						 | 
					0d744987ff | ||
| 
						 | 
					e6b544af80 | ||
| 
						 | 
					266d62bc3c | ||
| 
						 | 
					4c3fb58e3e | ||
| 
						 | 
					223f986205 | ||
| 
						 | 
					ec0d751472 | ||
| 
						 | 
					005eaa8e95 | 
							
								
								
									
										184
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										184
									
								
								ChangeLog
									
									
									
									
									
								
							@@ -1,101 +1,10 @@
 | 
			
		||||
1998-06-14  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* acconfig.h (HAVE_LINUX_TABLE): New tag.
 | 
			
		||||
 | 
			
		||||
	* lib/lib.awk: New file.
 | 
			
		||||
	Creates `lib.c' depending upon `features.def'.
 | 
			
		||||
 | 
			
		||||
	* lib/<feature>.c: Removed.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/guile.awk: New file.
 | 
			
		||||
	Creates `guile.c' depending upon `features.def'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/*.c: Removed.
 | 
			
		||||
 | 
			
		||||
1998-06-13  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* features.def: List of features for `guile-names.awk'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/names/guile-names.awk: New file.
 | 
			
		||||
	Creates `guile-names.c' depending upon `features.def'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/names/*.c: Removed.
 | 
			
		||||
 | 
			
		||||
	* kernel: New directory. Contains some kernel code to
 | 
			
		||||
	implement a new system call table () to fetch information
 | 
			
		||||
	directly from the Linux kernel.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/kernel: New directory. Uses the table () function
 | 
			
		||||
	from the `kernel' directory to fetch things directly from
 | 
			
		||||
	the Linux kernel.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/Makefile.am (DIST_SUBDIRS): Added `kernel'.
 | 
			
		||||
 | 
			
		||||
	* configure.in: Removed `build_CC' again.
 | 
			
		||||
 | 
			
		||||
1998-06-12  Martin Baulig  <baulig@taurus.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/sysdeps.h (glibtop_types_sysdeps):
 | 
			
		||||
	Forgot to change declaration on Jun 6.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/names/sysdeps.c (glibtop_types_sysdeps):
 | 
			
		||||
	Using numeric constants from `types.h' instead of string
 | 
			
		||||
	constants; forgot to change this on Jun 6. Added information
 | 
			
		||||
	about new `features' field of `_glibtop_sysdeps'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/names/*.c (glibtop_guile_types_*):
 | 
			
		||||
	Using `gh_ulong2scm' instead of `gh_str02scm'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/proclist.c: Replaced call to
 | 
			
		||||
	`gh_append2 ()' with `gh_append ()'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/guile/names/*.c: dito.
 | 
			
		||||
 | 
			
		||||
1998-06-08  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* support: Added again.
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (SUBDIRS): Added `support' again.
 | 
			
		||||
 | 
			
		||||
	* configure.in: First, we check for gnome. If it is not
 | 
			
		||||
	found, we run GNOME_SUPPORT_CHECKS; otherwise use
 | 
			
		||||
	`$GNOME_LIBDIR -lgnomesupport'.
 | 
			
		||||
 | 
			
		||||
1998-06-07  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* examples/ChangeLog: New file.
 | 
			
		||||
	
 | 
			
		||||
	* macros/gnome-libgtop-sysdeps.m4: Include
 | 
			
		||||
	`glibtop_machine.h' for Linux.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/glibtop_machine.h: New file.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/*.c: Performance optimizations. We now use
 | 
			
		||||
	`open' and `read' instead of `fopen' and `fscanf'.
 | 
			
		||||
	
 | 
			
		||||
	* *.[ch]: Using single underscore instead of two underscores
 | 
			
		||||
	for function prefixes (regexp: ``s,__([rspl])\b,_$1,g'') to
 | 
			
		||||
	avoid ambiguity with mangled C++ names.
 | 
			
		||||
	
 | 
			
		||||
1998-06-06  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* sysdeps/osf1/glibtop_server.h: New file.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/osf1/*.c: renamed all functions implementing
 | 
			
		||||
	features that don't need to be suid to '__s'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/names/procdata.c: Removed that file.
 | 
			
		||||
	
 | 
			
		||||
	* include/glibtop/*.h (glibtop_types_*): Changed declaration.
 | 
			
		||||
	
 | 
			
		||||
	* glibtop.h: Added `#include <types.h>'.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/types.h: New file - numeric constants
 | 
			
		||||
	for `glibtop_types_<feature>'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/names/*.c (glibtop_types_*): Using numeric
 | 
			
		||||
	constants from `types.h' instead of string constants.
 | 
			
		||||
 | 
			
		||||
1998-06-05  Martin Baulig  <baulig@taurus.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* support: removed that directory.
 | 
			
		||||
@@ -127,99 +36,6 @@
 | 
			
		||||
 | 
			
		||||
	* src/server/main.c: #include <locale.h>
 | 
			
		||||
 | 
			
		||||
1998-06-02  Martin Baulig  <baulig@merkur.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* lib/open.c (glibtop_open): renamed to `glibtop_open__l'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/linux/open.c (glibtop_open): renamed to
 | 
			
		||||
	`glibtop_open__r'.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/open.h (GLIBTOP_OPEN_NO_OVERRIDE):
 | 
			
		||||
	tells `glibtop_open' to use the default server and not
 | 
			
		||||
	to check the environment variables.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/sysdeps.h (_glibtop_sysdeps):
 | 
			
		||||
	renamed 'dummy' member to 'features'.
 | 
			
		||||
 | 
			
		||||
	* src/proxy/*: new directory - proxy server.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/command.h (GLIBTOP_CMND_SYSDEPS):
 | 
			
		||||
	added definition here.
 | 
			
		||||
 | 
			
		||||
	* src/server/main.c (GLIBTOP_CMND_SYSDEPS): new
 | 
			
		||||
	command to get glibtop_server_features.
 | 
			
		||||
 | 
			
		||||
1998-06-01  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* NEWS: added more detailed description of today's and
 | 
			
		||||
	yesterday's changes.
 | 
			
		||||
	
 | 
			
		||||
	* include/glibtop/*.h: to use the ChangeLog entry from May 28:
 | 
			
		||||
	'__l' is a function defined in the client part;
 | 
			
		||||
	'__s' is a function defined in the sysdeps part and
 | 
			
		||||
	'__p' is a function that needs special priviledges.
 | 
			
		||||
	'__r' is mapped either on '__p' or on '__s'.
 | 
			
		||||
	the function without suffix is mapped on '__l'.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/common/sysdeps.c: now using '__r' functions,
 | 
			
		||||
	they are #defined either as the '__p' or the '__s' ones.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
 | 
			
		||||
	it now takes two additional arguments.
 | 
			
		||||
 | 
			
		||||
	* examples/{first.c, second.c}: now using 'glibtop_init'
 | 
			
		||||
	instead of 'glibtop_init__r'.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/sysdeps.h: added 'dummy' member so
 | 
			
		||||
	'GLIBTOP_SYSDEPS_<feature>' now start with 1.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
 | 
			
		||||
	as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
 | 
			
		||||
	either as the '__p' or the '__s' function.
 | 
			
		||||
 | 
			
		||||
	* lib/*.c: removed #if's - we now decide at runtime
 | 
			
		||||
	whether to use the server or to call the appropriate
 | 
			
		||||
	function for the sysdeps directory.
 | 
			
		||||
 | 
			
		||||
1998-05-28  Martin Baulig  <baulig@merkur.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* src/server/main.c: we now use the '__p' functions,
 | 
			
		||||
	but only if the appropriate 'GLIBTOP_SUID_<feature>'
 | 
			
		||||
	has a non-zero value.
 | 
			
		||||
	
 | 
			
		||||
	* configure.in (@machine_incs@): always use 
 | 
			
		||||
	`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
 | 
			
		||||
	longer conditional.
 | 
			
		||||
 | 
			
		||||
	* examples/Makefile.am: removed the '_linux' examples.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/*.c: renamed all functions implementing
 | 
			
		||||
	features to '__s'.
 | 
			
		||||
	
 | 
			
		||||
	* lib/*.c: renamed all functions implementing features
 | 
			
		||||
	to '__l'; we only emit code for those functions if the
 | 
			
		||||
 	corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
 | 
			
		||||
	
 | 
			
		||||
	* include/glibtop/*.h: added some new function suffixes:
 | 
			
		||||
	'__l' is a function defined in the client part;
 | 
			
		||||
	'__s' is a function defined in the sysdeps part and
 | 
			
		||||
	'__p' is a function that needs special priviledges.
 | 
			
		||||
	'__r' is mapped either on '__l' or on '__s'.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/glibtop_server.h: New file -
 | 
			
		||||
	defines system dependent constants 'GLIBTOP_SUID_<feature>'
 | 
			
		||||
	being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
 | 
			
		||||
 	whether or not this feature requires using the server.
 | 
			
		||||
 | 
			
		||||
	* lib/sysdeps.c: removed that file; it is no longer
 | 
			
		||||
	needed.
 | 
			
		||||
 | 
			
		||||
1998-05-25  Martin Baulig  <baulig@merkur.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* src/server/main.c: Fixed `broken pipe' error when server
 | 
			
		||||
	is running SUID; accidentally uses setreuid () instead of
 | 
			
		||||
	setregid ().
 | 
			
		||||
 | 
			
		||||
1998-05-24  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* sysdeps/sun4/{open.c, mem.c, glibtop_machine.h}: added
 | 
			
		||||
 
 | 
			
		||||
@@ -4,9 +4,9 @@ if GLIBTOP_EXAMPLES
 | 
			
		||||
examples_SUBDIRS	= examples
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
built_SUBDIRS = include sysdeps lib src
 | 
			
		||||
built_SUBDIRS = include sysdeps src lib
 | 
			
		||||
 | 
			
		||||
SUBDIRS = po intl support macros $(built_SUBDIRS) $(examples_SUBDIRS)
 | 
			
		||||
SUBDIRS = po intl macros $(built_SUBDIRS) $(examples_SUBDIRS)
 | 
			
		||||
 | 
			
		||||
DIST_SUBDIRS = po intl macros include sysdeps src lib examples
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,116 +1,5 @@
 | 
			
		||||
$Id$
 | 
			
		||||
 | 
			
		||||
Jun/01/1998
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
	* We have some new ``suffix rules'':
 | 
			
		||||
 | 
			
		||||
	  '__l' is a function defined in the client part;
 | 
			
		||||
	  '__s' is a function defined in the sysdeps part and
 | 
			
		||||
	  '__p' is a function that needs special priviledges.
 | 
			
		||||
	  '__r' is mapped either on '__p' or on '__s'.
 | 
			
		||||
	  the function without suffix is mapped on '__l'.
 | 
			
		||||
 | 
			
		||||
	* We now decide at runtime whether or not using the server
 | 
			
		||||
	is required for a particular function. All user programs
 | 
			
		||||
	now call the '__l' function defined in '-lgtop' (in the lib
 | 
			
		||||
	subdir). These functions either use 'glibtop_call__l' to
 | 
			
		||||
	call the server or call the '__r' function.
 | 
			
		||||
 | 
			
		||||
	* A function in the sysdeps directory now has the '__s' suffix
 | 
			
		||||
	if it do not need any priviledges (and thus can be called directly
 | 
			
		||||
	from client code) and the '__p' suffix otherwise (when it has to
 | 
			
		||||
	be called from the server).
 | 
			
		||||
 | 
			
		||||
	* If you call one of these functions:
 | 
			
		||||
 | 
			
		||||
	  -> use the '__p' suffix to be sure to get the SUID-safe one
 | 
			
		||||
	     (used in the server).
 | 
			
		||||
	  -> use the '__s' suffix to be sure to get a function that
 | 
			
		||||
	     doesn't need any priviledges.
 | 
			
		||||
	  -> use the '__r' suffix otherwise (it is mapped either on the
 | 
			
		||||
	     '__p' or on the '__s' one).
 | 
			
		||||
 | 
			
		||||
	Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
 | 
			
		||||
	conditional, otherwise you'll get undefined symbols !
 | 
			
		||||
 | 
			
		||||
	* The server is now started from 'glibtop_init__r', but only when
 | 
			
		||||
	it's really needed; for instance on DEC OSF/1 you only need it
 | 
			
		||||
	for the proc* features - if you program only fetches the CPU usage,
 | 
			
		||||
	now server will be started.
 | 
			
		||||
 | 
			
		||||
	* Sorry, at the moment everything is a little bit unstable, I'm doing
 | 
			
		||||
	heavy changes. I've just some great ideas which still need some work:
 | 
			
		||||
 | 
			
		||||
	  -> I want to have a SUID server that only implements those features
 | 
			
		||||
	     that need to be SUID; everything else uses the sysdeps code directly.
 | 
			
		||||
 | 
			
		||||
	  -> If a program only uses stuff that do not need the server, the
 | 
			
		||||
	     server will not be started at all.
 | 
			
		||||
 | 
			
		||||
	  -> I'm working on some kind of proxy server that can be used on a remote
 | 
			
		||||
	     host; in feature one can then use the MDI stuff from ghex in gtop to
 | 
			
		||||
	     have notebook pages displaying processes from different hosts.
 | 
			
		||||
 | 
			
		||||
	* Well it is as much unstable that it only works under Linux at the moment.
 | 
			
		||||
 | 
			
		||||
1998-06-01  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* sysdeps/common/sysdeps.c: now using '__r' functions,
 | 
			
		||||
	they are #defined either as the '__p' or the '__s' ones.
 | 
			
		||||
 | 
			
		||||
	* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
 | 
			
		||||
	it now takes two additional arguments.
 | 
			
		||||
 | 
			
		||||
	* examples/{first.c, second.c}: now using 'glibtop_init'
 | 
			
		||||
	instead of 'glibtop_init__r'.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/sysdeps.h: added 'dummy' member so
 | 
			
		||||
	'GLIBTOP_SYSDEPS_<feature>' now start with 1.
 | 
			
		||||
 | 
			
		||||
	* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
 | 
			
		||||
	as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
 | 
			
		||||
	either as the '__p' or the '__s' function.
 | 
			
		||||
 | 
			
		||||
	* lib/*.c: removed #if's - we now decide at runtime
 | 
			
		||||
	whether to use the server or to call the appropriate
 | 
			
		||||
	function for the sysdeps directory.
 | 
			
		||||
 | 
			
		||||
1998-05-28  Martin Baulig  <baulig@merkur.uni-trier.de>
 | 
			
		||||
 | 
			
		||||
	* src/server/main.c: we now use the '__p' functions,
 | 
			
		||||
	but only if the appropriate 'GLIBTOP_SUID_<feature>'
 | 
			
		||||
	has a non-zero value.
 | 
			
		||||
	
 | 
			
		||||
	* configure.in (@machine_incs@): always use 
 | 
			
		||||
	`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
 | 
			
		||||
	longer conditional.
 | 
			
		||||
 | 
			
		||||
	* examples/Makefile.am: removed the '_linux' examples.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/*.c: renamed all functions implementing
 | 
			
		||||
	features to '__s'.
 | 
			
		||||
	
 | 
			
		||||
	* lib/*.c: renamed all functions implementing features
 | 
			
		||||
	to '__l'; we only emit code for those functions if the
 | 
			
		||||
 	corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
 | 
			
		||||
	
 | 
			
		||||
	* include/glibtop/*.h: added some new function suffixes:
 | 
			
		||||
	'__l' is a function defined in the client part;
 | 
			
		||||
	'__s' is a function defined in the sysdeps part and
 | 
			
		||||
	'__p' is a function that needs special priviledges.
 | 
			
		||||
	'__r' is mapped either on '__l' or on '__s'.
 | 
			
		||||
	
 | 
			
		||||
	* sysdeps/linux/glibtop_server.h: New file -
 | 
			
		||||
	defines system dependent constants 'GLIBTOP_SUID_<feature>'
 | 
			
		||||
	being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
 | 
			
		||||
 	whether or not this feature requires using the server.
 | 
			
		||||
 | 
			
		||||
	* lib/sysdeps.c: removed that file; it is no longer
 | 
			
		||||
	needed.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
May/21/1998
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,5 +33,3 @@
 | 
			
		||||
#undef GLIBTOP_EXAMPLES
 | 
			
		||||
 | 
			
		||||
#undef NEED_LIBGTOP
 | 
			
		||||
 | 
			
		||||
#undef HAVE_LINUX_TABLE
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								configure.in
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								configure.in
									
									
									
									
									
								
							@@ -4,17 +4,19 @@ dnl
 | 
			
		||||
 | 
			
		||||
AC_INIT(copyright.txt)
 | 
			
		||||
AM_CONFIG_HEADER(config.h)
 | 
			
		||||
AC_CANONICAL_SYSTEM
 | 
			
		||||
 | 
			
		||||
AM_INIT_AUTOMAKE(libgtop, 0.01)
 | 
			
		||||
 | 
			
		||||
AM_MAINTAINER_MODE
 | 
			
		||||
 | 
			
		||||
AM_ACLOCAL_INCLUDE(macros)
 | 
			
		||||
 | 
			
		||||
AC_ISC_POSIX
 | 
			
		||||
AC_PROG_CC
 | 
			
		||||
AC_STDC_HEADERS
 | 
			
		||||
AC_ARG_PROGRAM
 | 
			
		||||
AC_CANONICAL_HOST
 | 
			
		||||
 | 
			
		||||
AC_CHECK_TOOL(CC,gcc)
 | 
			
		||||
AC_CHECK_TOOL(CXX,g++)
 | 
			
		||||
AC_CHECK_TOOL(RANLIB,ranlib)
 | 
			
		||||
AC_CHECK_TOOL(LD,ld)
 | 
			
		||||
AC_CHECK_TOOL(AS,as)
 | 
			
		||||
AC_CHECK_TOOL(AR,ar)
 | 
			
		||||
AC_CHECK_TOOL(NM,nm)
 | 
			
		||||
@@ -22,25 +24,8 @@ AC_CHECK_TOOL(NM,nm)
 | 
			
		||||
NM=`which $NM`
 | 
			
		||||
export CC CXX RANLIB LD AS AR NM
 | 
			
		||||
 | 
			
		||||
AC_PROG_INSTALL
 | 
			
		||||
AC_PROG_LN_S
 | 
			
		||||
AC_PROG_MAKE_SET
 | 
			
		||||
 | 
			
		||||
export cross_compiling
 | 
			
		||||
 | 
			
		||||
AM_PROG_LIBTOOL
 | 
			
		||||
 | 
			
		||||
AM_INIT_AUTOMAKE(libgtop, 0.01)
 | 
			
		||||
 | 
			
		||||
dnl If you want to use libgtop without gnome, comment the following line out.
 | 
			
		||||
GNOME_INIT_HOOK(gnome_found=yes)
 | 
			
		||||
 | 
			
		||||
if test "x$gnome_found" != xyes; then
 | 
			
		||||
  GNOME_SUPPORT_CHECKS
 | 
			
		||||
else
 | 
			
		||||
  AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
 | 
			
		||||
  AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
 | 
			
		||||
fi
 | 
			
		||||
GNOME_INIT
 | 
			
		||||
 | 
			
		||||
AC_LC_SYSDEPS
 | 
			
		||||
 | 
			
		||||
@@ -50,7 +35,7 @@ if test x$libgtop_want_guile = xyes ; then
 | 
			
		||||
    if test x$libgtop_want_names = xyes ; then
 | 
			
		||||
      AC_DEFINE(GLIBTOP_GUILE_NAMES)
 | 
			
		||||
    fi
 | 
			
		||||
    guile_examples='third third_static'
 | 
			
		||||
    guile_examples='third third_static third_linux'
 | 
			
		||||
    guile_subdirs='guile'
 | 
			
		||||
  else
 | 
			
		||||
    guile_examples=
 | 
			
		||||
@@ -64,6 +49,18 @@ fi
 | 
			
		||||
AC_SUBST(guile_examples)
 | 
			
		||||
AC_SUBST(guile_subdirs)
 | 
			
		||||
 | 
			
		||||
AC_ISC_POSIX
 | 
			
		||||
AC_PROG_CXX
 | 
			
		||||
AC_PROG_CC
 | 
			
		||||
AC_PROG_CPP
 | 
			
		||||
AC_STDC_HEADERS
 | 
			
		||||
AC_ARG_PROGRAM
 | 
			
		||||
AM_PROG_LEX
 | 
			
		||||
AC_PROG_INSTALL
 | 
			
		||||
AC_PROG_LN_S
 | 
			
		||||
AC_PROG_MAKE_SET
 | 
			
		||||
 | 
			
		||||
export cross_compiling
 | 
			
		||||
AM_PROG_LIBTOOL
 | 
			
		||||
 | 
			
		||||
dnl You need to uncomment the following line if you want to use libgtop without Gnome.
 | 
			
		||||
@@ -97,7 +94,7 @@ AC_TYPE_SIGNAL
 | 
			
		||||
AC_FUNC_STRFTIME
 | 
			
		||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
 | 
			
		||||
 | 
			
		||||
ALL_LINGUAS="fr"
 | 
			
		||||
ALL_LINGUAS=""
 | 
			
		||||
AM_GNU_GETTEXT
 | 
			
		||||
 | 
			
		||||
CFLAGS="$CFLAGS -D_IN_LIBGTOP"
 | 
			
		||||
@@ -177,7 +174,9 @@ if test "x$ac_cv_guile_found" = "xyes" ; then
 | 
			
		||||
  LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
machine_incs='-I$(top_srcdir)/sysdeps/@sysdeps_dir@'
 | 
			
		||||
if test "x$libgtop_use_machine_h" = "xyes" ; then
 | 
			
		||||
  machine_incs='-I$(top_srcdir)/sysdeps/@sysdeps_dir@'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_SUBST(machine_incs)
 | 
			
		||||
 | 
			
		||||
@@ -188,18 +187,6 @@ AC_SUBST(LIBGTOP_GUILE_INCS)
 | 
			
		||||
AC_SUBST(LIBGTOP_BINDIR)
 | 
			
		||||
AC_SUBST(LIBGTOP_SERVER)
 | 
			
		||||
 | 
			
		||||
LIBSUPPORT=
 | 
			
		||||
SUPPORTINCS=
 | 
			
		||||
if test "$need_gnome_support" = yes; then
 | 
			
		||||
   if test "x$gnome_found" = xyes ; then
 | 
			
		||||
     LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
 | 
			
		||||
     SUPPORTINCS="$GNOME_INCLUDEDIR"
 | 
			
		||||
   else
 | 
			
		||||
     LIBSUPPORT='$(top_builddir)/support/libgnomesupport.la'
 | 
			
		||||
     SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
 | 
			
		||||
   fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_OUTPUT([
 | 
			
		||||
Makefile
 | 
			
		||||
po/Makefile.in
 | 
			
		||||
@@ -215,11 +202,8 @@ sysdeps/stub/Makefile
 | 
			
		||||
sysdeps/sun4/Makefile
 | 
			
		||||
sysdeps/osf1/Makefile
 | 
			
		||||
sysdeps/linux/Makefile
 | 
			
		||||
sysdeps/kernel/Makefile
 | 
			
		||||
src/Makefile
 | 
			
		||||
src/server/Makefile
 | 
			
		||||
src/proxy/Makefile
 | 
			
		||||
lib/Makefile
 | 
			
		||||
examples/Makefile
 | 
			
		||||
support/Makefile
 | 
			
		||||
macros/Makefile],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
1998-06-12  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* test.scm: New file.
 | 
			
		||||
	
 | 
			
		||||
1998-06-07  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* Makefile.am (CFLAGS): Disable optimize.
 | 
			
		||||
	
 | 
			
		||||
	* first.c (PROFILE_COUNT): Number of times each function
 | 
			
		||||
	should be called. Defaults to 1; to profile the code, you
 | 
			
		||||
	can increase this when compiling.
 | 
			
		||||
@@ -6,35 +6,46 @@ INCLUDES		= -I$(top_builddir) -I$(top_srcdir) @machine_incs@ \
 | 
			
		||||
			  -I$(top_srcdir)/include -I$(top_srcdir)/intl @GUILE_INCS@ \
 | 
			
		||||
			  -DGTOPLOCALEDIR=\"$(datadir)/locale\" -D_GNU_SOURCE
 | 
			
		||||
 | 
			
		||||
CFLAGS			= -Wall -W @CFLAGS@ -O0
 | 
			
		||||
CFLAGS			= -Wall -W @CFLAGS@
 | 
			
		||||
 | 
			
		||||
DEFS			= @DEFS@
 | 
			
		||||
 | 
			
		||||
bin_PROGRAMS		= first first_static second second_static \
 | 
			
		||||
bin_PROGRAMS		= first first_static first_linux \
 | 
			
		||||
			  second second_static second_linux \
 | 
			
		||||
			  @guile_examples@
 | 
			
		||||
 | 
			
		||||
EXTRA_PROGRAMS		= third third_static
 | 
			
		||||
EXTRA_PROGRAMS		= third third_static third_linux
 | 
			
		||||
 | 
			
		||||
first_SOURCES		= first.c
 | 
			
		||||
first_LDADD		= $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/lib/libgtop.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
 | 
			
		||||
first_static_SOURCES	= $(first_SOURCES)
 | 
			
		||||
first_static_LDADD	= $(first_LDADD)
 | 
			
		||||
first_static_LDFLAGS	= -static
 | 
			
		||||
 | 
			
		||||
first_linux_SOURCES	= $(first_SOURCES)
 | 
			
		||||
first_linux_LDADD	= $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
first_linux_LDFLAGS	= -static
 | 
			
		||||
 | 
			
		||||
second_SOURCES		= second.c
 | 
			
		||||
second_LDADD		= $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/lib/libgtop.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
 | 
			
		||||
second_static_SOURCES	= $(second_SOURCES)
 | 
			
		||||
second_static_LDADD	= $(second_LDADD)
 | 
			
		||||
second_static_LDFLAGS	= -static
 | 
			
		||||
 | 
			
		||||
second_linux_SOURCES	= $(second_SOURCES)
 | 
			
		||||
second_linux_LDADD	= $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
second_linux_LDFLAGS	= -static
 | 
			
		||||
 | 
			
		||||
if GLIBTOP_NAMES
 | 
			
		||||
third_guile_names_LIBS	= $(top_builddir)/sysdeps/guile/names/libgtop_guile_names.la
 | 
			
		||||
third_names_LIBS	= $(top_builddir)/sysdeps/names/libgtop_names.la
 | 
			
		||||
@@ -43,11 +54,18 @@ endif
 | 
			
		||||
third_SOURCES		= third.c
 | 
			
		||||
third_LDADD		= $(top_builddir)/sysdeps/guile/libgtop_guile.la \
 | 
			
		||||
			  $(third_guile_names_LIBS) $(third_names_LIBS) \
 | 
			
		||||
			  $(top_builddir)/lib/libgtop.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  $(top_builddir)/lib/libgtop.la \
 | 
			
		||||
			  @GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
 | 
			
		||||
third_static_SOURCES	= $(third_SOURCES)
 | 
			
		||||
third_static_LDADD	= $(third_LDADD)
 | 
			
		||||
third_static_LDFLAGS	= -static
 | 
			
		||||
 | 
			
		||||
third_linux_SOURCES	= $(third_SOURCES)
 | 
			
		||||
third_linux_LDADD	= $(top_builddir)/sysdeps/guile/libgtop_guile.la \
 | 
			
		||||
			  $(third_guile_names_LIBS) $(third_names_LIBS) \
 | 
			
		||||
			  $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
			  @GUILE_LIBS@ @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
third_linux_LDFLAGS	= -static
 | 
			
		||||
 
 | 
			
		||||
@@ -29,70 +29,57 @@
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT
 | 
			
		||||
#define PROFILE_COUNT	1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned c, count, i, *ptr;
 | 
			
		||||
	unsigned i, *ptr;
 | 
			
		||||
	pid_t pid, ppid;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (PACKAGE);
 | 
			
		||||
	
 | 
			
		||||
	glibtop_init ();
 | 
			
		||||
	glibtop_init__r (&glibtop_global_server);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
	  	glibtop_get_cpu (&data.cpu);
 | 
			
		||||
	glibtop_get_cpu (&data.cpu);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "CPU          (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		 data.cpu.flags, data.cpu.total, data.cpu.user, data.cpu.nice,
 | 
			
		||||
		 data.cpu.sys, data.cpu.idle, data.cpu.frequency);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_mem (&data.mem);
 | 
			
		||||
	glibtop_get_mem (&data.mem);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Memory       (0x%08lx): %lu, %lu, %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		 data.mem.flags, data.mem.total, data.mem.used, data.mem.free,
 | 
			
		||||
		 data.mem.shared, data.mem.buffer, data.mem.cached,
 | 
			
		||||
		 data.mem.user, data.mem.locked);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_swap (&data.swap);
 | 
			
		||||
	glibtop_get_swap (&data.swap);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Swap         (0x%08lx): %lu, %lu, %lu\n", data.swap.flags,
 | 
			
		||||
		 data.swap.total, data.swap.used, data.swap.free);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_uptime (&data.uptime);
 | 
			
		||||
	glibtop_get_uptime (&data.uptime);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Uptime       (0x%08lx): %f, %f\n", data.uptime.flags,
 | 
			
		||||
		 data.uptime.uptime, data.uptime.idletime);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_loadavg (&data.loadavg);
 | 
			
		||||
	glibtop_get_loadavg (&data.loadavg);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Loadavg      (0x%08lx): %f, %f, %f\n", data.loadavg.flags,
 | 
			
		||||
		 data.loadavg.loadavg [0], data.loadavg.loadavg [1],
 | 
			
		||||
		 data.loadavg.loadavg [2]);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_shm_limits (&data.shm_limits);
 | 
			
		||||
	glibtop_get_shm_limits (&data.shm_limits);
 | 
			
		||||
	
 | 
			
		||||
	fprintf (stderr, "Shm Limits   (0x%08lx): %ld, %ld, %ld, %ld, %ld\n",
 | 
			
		||||
		 data.shm_limits.flags, data.shm_limits.shmmax,
 | 
			
		||||
		 data.shm_limits.shmmin, data.shm_limits.shmmni,
 | 
			
		||||
		 data.shm_limits.shmseg, data.shm_limits.shmall);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_msg_limits (&data.msg_limits);
 | 
			
		||||
	glibtop_get_msg_limits (&data.msg_limits);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Msg Limits   (0x%08lx): %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
 | 
			
		||||
		 data.msg_limits.flags, data.msg_limits.msgpool,
 | 
			
		||||
@@ -100,8 +87,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.msg_limits.msgmnb, data.msg_limits.msgmni,
 | 
			
		||||
		 data.msg_limits.msgssz, data.msg_limits.msgtql);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_sem_limits (&data.sem_limits);
 | 
			
		||||
	glibtop_get_sem_limits (&data.sem_limits);
 | 
			
		||||
	
 | 
			
		||||
	fprintf (stderr, "Sem Limits   (0x%08lx): "
 | 
			
		||||
		 "%ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld, %ld\n",
 | 
			
		||||
@@ -148,16 +134,14 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, pid);
 | 
			
		||||
	glibtop_get_proc_state (&data.proc_state, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_State   PID  %5u (0x%08lx): '%s', %c, %u, %u\n",
 | 
			
		||||
		 pid, data.proc_state.flags, data.proc_state.cmd,
 | 
			
		||||
		 data.proc_state.state, data.proc_state.uid,
 | 
			
		||||
		 data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, pid);
 | 
			
		||||
	glibtop_get_proc_uid (&data.proc_uid, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Uid     PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d %d %d %d %d %d %d %d %d\n",
 | 
			
		||||
@@ -169,8 +153,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_uid.tpgid, data.proc_uid.priority,
 | 
			
		||||
		 data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, pid);
 | 
			
		||||
	glibtop_get_proc_mem (&data.proc_mem, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Mem     PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld\n", pid, data.proc_mem.flags,
 | 
			
		||||
@@ -178,8 +161,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_mem.resident, data.proc_mem.share,
 | 
			
		||||
		 data.proc_mem.rss, data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Time    PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld %ld\n", pid, data.proc_time.flags,
 | 
			
		||||
@@ -188,16 +170,14 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_time.cstime, data.proc_time.timeout,
 | 
			
		||||
		 data.proc_time.it_real_value);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, pid);
 | 
			
		||||
	glibtop_get_proc_signal (&data.proc_signal, pid);
 | 
			
		||||
	
 | 
			
		||||
	fprintf (stderr, "Proc_Signal  PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d\n", pid, data.proc_signal.flags,
 | 
			
		||||
		 data.proc_signal.signal, data.proc_signal.blocked,
 | 
			
		||||
		 data.proc_signal.sigignore, data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, pid);
 | 
			
		||||
	glibtop_get_proc_kernel (&data.proc_kernel, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Kernel  PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%lu %lu %lu %lu %lu %lu %lu %lu\n", pid,
 | 
			
		||||
@@ -207,8 +187,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
 | 
			
		||||
		 data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
	glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Segment PID  %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %lu %lu %lu\n", pid, data.proc_segment.flags,
 | 
			
		||||
@@ -219,16 +198,14 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, ppid);
 | 
			
		||||
	glibtop_get_proc_state (&data.proc_state, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_State   PPID %5u (0x%08lx): '%s', %c, %u, %u\n",
 | 
			
		||||
		 ppid, data.proc_state.flags, data.proc_state.cmd,
 | 
			
		||||
		 data.proc_state.state, data.proc_state.uid,
 | 
			
		||||
		 data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, ppid);
 | 
			
		||||
	glibtop_get_proc_uid (&data.proc_uid, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Uid     PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d %d %d %d %d %d %d %d %d\n",
 | 
			
		||||
@@ -240,8 +217,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_uid.tpgid, data.proc_uid.priority,
 | 
			
		||||
		 data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, ppid);
 | 
			
		||||
	glibtop_get_proc_mem (&data.proc_mem, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Mem     PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld\n", ppid, data.proc_mem.flags,
 | 
			
		||||
@@ -249,8 +225,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_mem.resident, data.proc_mem.share,
 | 
			
		||||
		 data.proc_mem.rss, data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, ppid);
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Time    PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld %ld\n", ppid, data.proc_time.flags,
 | 
			
		||||
@@ -259,16 +234,14 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_time.cstime, data.proc_time.timeout,
 | 
			
		||||
		 data.proc_time.it_real_value);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, ppid);
 | 
			
		||||
	glibtop_get_proc_signal (&data.proc_signal, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Signal  PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d\n", ppid, data.proc_signal.flags,
 | 
			
		||||
		 data.proc_signal.signal, data.proc_signal.blocked,
 | 
			
		||||
		 data.proc_signal.sigignore, data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, ppid);
 | 
			
		||||
	glibtop_get_proc_kernel (&data.proc_kernel, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Kernel  PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%lu %lu %lu %lu %lu %lu %lu %lu\n", ppid,
 | 
			
		||||
@@ -278,8 +251,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
 | 
			
		||||
		 data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, ppid);
 | 
			
		||||
	glibtop_get_proc_segment (&data.proc_segment, ppid);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Segment PPID %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %lu %lu %lu\n", ppid, data.proc_segment.flags,
 | 
			
		||||
@@ -290,16 +262,14 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "\n");
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_state (&data.proc_state, 1);
 | 
			
		||||
	glibtop_get_proc_state (&data.proc_state, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_State   INIT %5u (0x%08lx): '%s', %c, %u, %u\n",
 | 
			
		||||
		 1, data.proc_state.flags, data.proc_state.cmd,
 | 
			
		||||
		 data.proc_state.state, data.proc_state.uid,
 | 
			
		||||
		 data.proc_state.gid);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_uid (&data.proc_uid, 1);
 | 
			
		||||
	glibtop_get_proc_uid (&data.proc_uid, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Uid     INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d %d %d %d %d %d %d %d %d\n",
 | 
			
		||||
@@ -311,8 +281,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_uid.tpgid, data.proc_uid.priority,
 | 
			
		||||
		 data.proc_uid.nice);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_mem (&data.proc_mem, 1);
 | 
			
		||||
	glibtop_get_proc_mem (&data.proc_mem, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Mem     INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld\n", 1, data.proc_mem.flags,
 | 
			
		||||
@@ -320,8 +289,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_mem.resident, data.proc_mem.share,
 | 
			
		||||
		 data.proc_mem.rss, data.proc_mem.rss_rlim);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_time (&data.proc_time, 1);
 | 
			
		||||
	glibtop_get_proc_time (&data.proc_time, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Time    INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %ld %ld %ld\n", 1, data.proc_time.flags,
 | 
			
		||||
@@ -330,16 +298,14 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_time.cstime, data.proc_time.timeout,
 | 
			
		||||
		 data.proc_time.it_real_value);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_signal (&data.proc_signal, 1);
 | 
			
		||||
	glibtop_get_proc_signal (&data.proc_signal, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Signal  INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%d %d %d %d\n", 1, data.proc_signal.flags,
 | 
			
		||||
		 data.proc_signal.signal, data.proc_signal.blocked,
 | 
			
		||||
		 data.proc_signal.sigignore, data.proc_signal.sigcatch);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_kernel (&data.proc_kernel, 1);
 | 
			
		||||
	glibtop_get_proc_kernel (&data.proc_kernel, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Kernel  INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%lu %lu %lu %lu %lu %lu %lu %lu\n", 1,
 | 
			
		||||
@@ -349,8 +315,7 @@ main (int argc, char *argv [])
 | 
			
		||||
		 data.proc_kernel.kstk_esp, data.proc_kernel.kstk_eip,
 | 
			
		||||
		 data.proc_kernel.wchan);
 | 
			
		||||
 | 
			
		||||
	for (c = 0; c < count; c++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, 1);
 | 
			
		||||
	glibtop_get_proc_segment (&data.proc_segment, 1);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Proc_Segment INIT %5u (0x%08lx): "
 | 
			
		||||
		 "%ld %ld %ld %ld %lu %lu %lu\n", 1, data.proc_segment.flags,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ main (int argc, char *argv [])
 | 
			
		||||
	bindtextdomain (PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (PACKAGE);
 | 
			
		||||
	
 | 
			
		||||
	glibtop_init ();
 | 
			
		||||
	glibtop_init__r (&glibtop_global_server);
 | 
			
		||||
 | 
			
		||||
	glibtop_get_sysdeps (&sysdeps);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,80 +0,0 @@
 | 
			
		||||
(display (glibtop-names-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-labels-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-sysdeps)) (newline)
 | 
			
		||||
(display (glibtop-types-sysdeps)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-names-cpu)) (newline)
 | 
			
		||||
(display (glibtop-names-mem)) (newline)
 | 
			
		||||
(display (glibtop-names-swap)) (newline)
 | 
			
		||||
(display (glibtop-names-uptime)) (newline)
 | 
			
		||||
(display (glibtop-names-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-names-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-names-proclist)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-names-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-labels-cpu)) (newline)
 | 
			
		||||
(display (glibtop-labels-mem)) (newline)
 | 
			
		||||
(display (glibtop-labels-swap)) (newline)
 | 
			
		||||
(display (glibtop-labels-uptime)) (newline)
 | 
			
		||||
(display (glibtop-labels-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-labels-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-labels-proclist)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-labels-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-descriptions-cpu)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-mem)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-swap)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-uptime)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proclist)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-descriptions-proc_segment)) (newline)
 | 
			
		||||
 | 
			
		||||
(newline)
 | 
			
		||||
 | 
			
		||||
(display (glibtop-types-cpu)) (newline)
 | 
			
		||||
(display (glibtop-types-mem)) (newline)
 | 
			
		||||
(display (glibtop-types-swap)) (newline)
 | 
			
		||||
(display (glibtop-types-uptime)) (newline)
 | 
			
		||||
(display (glibtop-types-loadavg)) (newline)
 | 
			
		||||
(display (glibtop-types-shm_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-msg_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-sem_limits)) (newline)
 | 
			
		||||
(display (glibtop-types-proclist)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_state)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_uid)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_mem)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_time)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_signal)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_kernel)) (newline)
 | 
			
		||||
(display (glibtop-types-proc_segment)) (newline)
 | 
			
		||||
							
								
								
									
										16
									
								
								features.def
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								features.def
									
									
									
									
									
								
							@@ -1,16 +0,0 @@
 | 
			
		||||
cpu		ulong(total,user,nice,sys,idle,frequency)
 | 
			
		||||
mem		ulong(total,used,free,shared,buffer,cached,user,locked)
 | 
			
		||||
swap		ulong(total,used,free)
 | 
			
		||||
uptime		double(uptime,idletime)
 | 
			
		||||
loadavg		double(loadavg[0],loadavg[1],loadavg[2])
 | 
			
		||||
shm_limits	ulong(shmmax,shmmin,shmmni,shmseg,shmall)
 | 
			
		||||
msg_limits	ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
 | 
			
		||||
sem_limits	ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
 | 
			
		||||
proclist	ulong(number,size,total)
 | 
			
		||||
proc_state	str(cmd):char(state):ulong(uid,gid)
 | 
			
		||||
proc_uid	long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)
 | 
			
		||||
proc_mem	long(size,vsize,resident,share,rss,rss_rlim)
 | 
			
		||||
proc_time	long(start_time,utime,stime,cutime,cstime,timeout,it_real_value)
 | 
			
		||||
proc_signal	long(signal,blocked,sigignore,sigcatch)
 | 
			
		||||
proc_kernel	ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,wchan)
 | 
			
		||||
proc_segment	long(trs,lrs,drs,dt):ulong(start_code,end_code,start_stack)
 | 
			
		||||
							
								
								
									
										16
									
								
								glibtop.h
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								glibtop.h
									
									
									
									
									
								
							@@ -24,9 +24,6 @@
 | 
			
		||||
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop_server.h>
 | 
			
		||||
#include <glibtop/types.h>
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GLIBTOP_MACHINE_H
 | 
			
		||||
#include <glibtop_machine.h>
 | 
			
		||||
#endif
 | 
			
		||||
@@ -43,23 +40,14 @@ struct _glibtop
 | 
			
		||||
	int output [2];			/* Pipe client -> server */
 | 
			
		||||
	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 */
 | 
			
		||||
	pid_t pid;			/* PID of the server */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
extern glibtop *glibtop_global_server;
 | 
			
		||||
 | 
			
		||||
extern const unsigned long glibtop_server_features;
 | 
			
		||||
#define glibtop_init()	glibtop_init__r(&glibtop_global_server);
 | 
			
		||||
 | 
			
		||||
#define glibtop_init()	glibtop_init_r(&glibtop_global_server, 0, 0);
 | 
			
		||||
 | 
			
		||||
#define glibtop_close()	glibtop_close_r(&glibtop_global_server);
 | 
			
		||||
 | 
			
		||||
extern glibtop *glibtop_init_r __P((glibtop **, const unsigned long, const unsigned));
 | 
			
		||||
extern glibtop *glibtop_init__r __P((glibtop **));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
extern void glibtop_close_r __P((glibtop *));
 | 
			
		||||
extern void glibtop_close __P((glibtop *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,6 @@ __BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_QUIT		0
 | 
			
		||||
#define GLIBTOP_CMND_SYSDEPS		1
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_CMND_CPU		2
 | 
			
		||||
#define GLIBTOP_CMND_MEM		3
 | 
			
		||||
#define GLIBTOP_CMND_SWAP		4
 | 
			
		||||
@@ -59,10 +58,9 @@ struct _glibtop_command
 | 
			
		||||
  size_t	size;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_call(p1, p2, p3, p4)	glibtop_call_r(glibtop_global_server, p1, p2, p3, p4)
 | 
			
		||||
#define glibtop_call(p1, p2, p3, p4)	glibtop_call__r(glibtop_global_server, p1, p2, p3, p4)
 | 
			
		||||
 | 
			
		||||
extern void *glibtop_call_l __P((glibtop *, unsigned, size_t, void *, size_t, void *));
 | 
			
		||||
extern void *glibtop_call_s __P((glibtop *, unsigned, size_t, void *, size_t, void *));
 | 
			
		||||
extern void *glibtop_call__r __P((glibtop *, unsigned, size_t, void *, size_t, void *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -49,21 +49,9 @@ struct _glibtop_cpu
 | 
			
		||||
		frequency;	/* GLIBTOP_CPU_FREQUENCY	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_cpu(cpu)	glibtop_get_cpu_l(glibtop_global_server, cpu)
 | 
			
		||||
#define glibtop_get_cpu(cpu)	glibtop_get_cpu__r(glibtop_global_server, cpu)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_CPU
 | 
			
		||||
#define glibtop_get_cpu_r	glibtop_get_cpu_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_cpu_r	glibtop_get_cpu_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_cpu_l __P((glibtop *, glibtop_cpu *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_CPU
 | 
			
		||||
extern void glibtop_get_cpu_p __P((glibtop *, glibtop_cpu *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_cpu_s __P((glibtop *, glibtop_cpu *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_cpu__r __P((glibtop *, glibtop_cpu *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -89,7 +77,7 @@ extern SCM glibtop_guile_descriptions_cpu __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_cpu [];
 | 
			
		||||
extern const unsigned glibtop_types_cpu [];
 | 
			
		||||
extern const char *glibtop_types_cpu [];
 | 
			
		||||
extern const char *glibtop_labels_cpu [];
 | 
			
		||||
extern const char *glibtop_descriptions_cpu [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,9 +26,9 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_error(p1, args...)	glibtop_error_r(glibtop_global_server , p1 , ## args)
 | 
			
		||||
#define glibtop_error(p1, args...)	glibtop_error__r(glibtop_global_server , p1 , ## args)
 | 
			
		||||
 | 
			
		||||
extern void glibtop_error_r __P((glibtop *, char *, ...));
 | 
			
		||||
extern void glibtop_error__r __P((glibtop *, char *, ...));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,21 +39,9 @@ struct _glibtop_loadavg
 | 
			
		||||
	double loadavg [3];		/* GLIBTOP_LOADAVG_LOADAVG	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_loadavg(loadavg)	glibtop_get_loadavg_l(glibtop_global_server, loadavg)
 | 
			
		||||
#define glibtop_get_loadavg(loadavg)	glibtop_get_loadavg__r(glibtop_global_server, loadavg)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_LOADAVG
 | 
			
		||||
#define glibtop_get_loadavg_r		glibtop_get_loadavg_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_loadavg_r		glibtop_get_loadavg_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_loadavg_l __P((glibtop *, glibtop_loadavg *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_LOADAVG
 | 
			
		||||
extern void glibtop_get_loadavg_p __P((glibtop *, glibtop_loadavg *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_loadavg_s __P((glibtop *, glibtop_loadavg *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_loadavg__r __P((glibtop *, glibtop_loadavg *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -79,7 +67,7 @@ extern SCM glibtop_guile_descriptions_loadavg __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_loadavg [];
 | 
			
		||||
extern const unsigned glibtop_types_loadavg [];
 | 
			
		||||
extern const char *glibtop_types_loadavg [];
 | 
			
		||||
extern const char *glibtop_labels_loadavg [];
 | 
			
		||||
extern const char *glibtop_descriptions_loadavg [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -53,21 +53,9 @@ struct _glibtop_mem
 | 
			
		||||
		locked;		/* GLIBTOP_MEM_LOCKED	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_mem(mem)	glibtop_get_mem_l(glibtop_global_server, mem)
 | 
			
		||||
#define glibtop_get_mem(mem)	glibtop_get_mem__r(glibtop_global_server, mem)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MEM
 | 
			
		||||
#define glibtop_get_mem_r		glibtop_get_mem_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_mem_r		glibtop_get_mem_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_mem_l __P((glibtop *, glibtop_mem *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MEM
 | 
			
		||||
extern void glibtop_get_mem_p __P((glibtop *, glibtop_mem *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_mem_s __P((glibtop *, glibtop_mem *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_mem__r __P((glibtop *, glibtop_mem *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -93,7 +81,7 @@ extern SCM glibtop_guile_descriptions_mem __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_mem [];
 | 
			
		||||
extern const unsigned glibtop_types_mem [];
 | 
			
		||||
extern const char *glibtop_types_mem [];
 | 
			
		||||
extern const char *glibtop_labels_mem [];
 | 
			
		||||
extern const char *glibtop_descriptions_mem [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -51,21 +51,9 @@ struct _glibtop_msg_limits
 | 
			
		||||
		msgtql;		/* GLIBTOP_IPC_MSGTQL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_msg_limits(msg)	glibtop_get_msg_limits_l(glibtop_global_server, msg)
 | 
			
		||||
#define glibtop_get_msg_limits(msg)	glibtop_get_msg_limits__r(glibtop_global_server, msg)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MSG_LIMITS
 | 
			
		||||
#define glibtop_get_msg_limits_r	glibtop_get_msg_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_msg_limits_r	glibtop_get_msg_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_msg_limits_l __P((glibtop *, glibtop_msg_limits *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_MSG_LIMITS
 | 
			
		||||
extern void glibtop_get_msg_limits_p __P((glibtop *, glibtop_msg_limits *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_msg_limits_s __P((glibtop *, glibtop_msg_limits *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_msg_limits__r __P((glibtop *, glibtop_msg_limits *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -91,7 +79,7 @@ extern SCM glibtop_guile_descriptions_msg_limits __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_msg_limits [];
 | 
			
		||||
extern const unsigned glibtop_types_msg_limits [];
 | 
			
		||||
extern const char *glibtop_types_msg_limits [];
 | 
			
		||||
extern const char *glibtop_labels_msg_limits [];
 | 
			
		||||
extern const char *glibtop_descriptions_msg_limits [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,11 +26,7 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_OPEN_NO_OVERRIDE	1
 | 
			
		||||
 | 
			
		||||
extern void glibtop_open_l __P((glibtop *, const char *, const unsigned long, const unsigned));
 | 
			
		||||
 | 
			
		||||
extern void glibtop_open_r __P((glibtop *, const char *, const unsigned long, const unsigned));
 | 
			
		||||
extern void glibtop_open __P((glibtop *, const char *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -60,21 +60,9 @@ struct _glibtop_proc_kernel
 | 
			
		||||
				 * proc is sleeping in */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_kernel(p1, p2)	glibtop_get_proc_kernel_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_kernel(p1, p2)	glibtop_get_proc_kernel__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_KERNEL
 | 
			
		||||
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_kernel_l __P((glibtop *, glibtop_proc_kernel *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_KERNEL
 | 
			
		||||
extern void glibtop_get_proc_kernel_p __P((glibtop *, glibtop_proc_kernel *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_kernel_s __P((glibtop *, glibtop_proc_kernel *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_kernel__r __P((glibtop *, glibtop_proc_kernel *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -99,8 +87,8 @@ extern SCM glibtop_guile_descriptions_proc_kernel __P((void));
 | 
			
		||||
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_types_proc_kernel [];
 | 
			
		||||
extern const char *glibtop_names_proc_kernel [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_kernel [];
 | 
			
		||||
extern const char *glibtop_labels_proc_kernel [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_kernel [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -43,21 +43,9 @@ struct _glibtop_proclist
 | 
			
		||||
		size;			/* GLIBTOP_PROCLIST_SIZE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proclist(proclist)	glibtop_get_proclist_l(glibtop_global_server, proclist)
 | 
			
		||||
#define glibtop_get_proclist(proclist)	glibtop_get_proclist__r(glibtop_global_server, proclist)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
#define glibtop_get_proclist_r		glibtop_get_proclist_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proclist_r		glibtop_get_proclist_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern unsigned *glibtop_get_proclist_l __P((glibtop *, glibtop_proclist *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
extern unsigned *glibtop_get_proclist_p __P((glibtop *, glibtop_proclist *));
 | 
			
		||||
#else
 | 
			
		||||
extern unsigned *glibtop_get_proclist_s __P((glibtop *, glibtop_proclist *));
 | 
			
		||||
#endif
 | 
			
		||||
extern unsigned *glibtop_get_proclist__r __P((glibtop *, glibtop_proclist *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -83,7 +71,7 @@ extern SCM glibtop_guile_descriptions_proclist __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proclist [];
 | 
			
		||||
extern const unsigned glibtop_types_proclist [];
 | 
			
		||||
extern const char *glibtop_types_proclist [];
 | 
			
		||||
extern const char *glibtop_labels_proclist [];
 | 
			
		||||
extern const char *glibtop_descriptions_proclist [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -53,21 +53,9 @@ struct _glibtop_proc_mem
 | 
			
		||||
				 * of the process; usually 2,147,483,647 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_mem(p1, p2)	glibtop_get_proc_mem_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_mem(p1, p2)	glibtop_get_proc_mem__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MEM
 | 
			
		||||
#define glibtop_get_proc_mem_r		glibtop_get_proc_mem_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_mem_r		glibtop_get_proc_mem_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_mem_l __P((glibtop *, glibtop_proc_mem *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MEM
 | 
			
		||||
extern void glibtop_get_proc_mem_p __P((glibtop *, glibtop_proc_mem *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_mem_s __P((glibtop *, glibtop_proc_mem *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_mem__r __P((glibtop *, glibtop_proc_mem *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -93,7 +81,7 @@ extern SCM glibtop_guile_descriptions_proc_mem __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proc_mem [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_mem [];
 | 
			
		||||
extern const char *glibtop_types_proc_mem [];
 | 
			
		||||
extern const char *glibtop_labels_proc_mem [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_mem [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,21 +54,9 @@ struct _glibtop_proc_segment
 | 
			
		||||
		start_stack;	/* address of the bottom of stack segment */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_segment(p1, p2)	glibtop_get_proc_segment_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_segment(p1, p2)	glibtop_get_proc_segment__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SEGMENT
 | 
			
		||||
#define glibtop_get_proc_segment_r	glibtop_get_proc_segment_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_segment_r	glibtop_get_proc_segment_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_segment_l __P((glibtop *, glibtop_proc_segment *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SEGMENT
 | 
			
		||||
extern void glibtop_get_proc_segment_p __P((glibtop *, glibtop_proc_segment *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_segment_s __P((glibtop *, glibtop_proc_segment *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_segment__r __P((glibtop *, glibtop_proc_segment *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -93,8 +81,8 @@ extern SCM glibtop_guile_descriptions_proc_segment __P((void));
 | 
			
		||||
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_types_proc_segment [];
 | 
			
		||||
extern const char *glibtop_names_proc_segment [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_segment [];
 | 
			
		||||
extern const char *glibtop_labels_proc_segment [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_segment [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,21 +47,9 @@ struct _glibtop_proc_signal
 | 
			
		||||
		sigcatch;	/* mask of caught  signals */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_signal(p1, p2)	glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_signal(p1, p2)	glibtop_get_proc_signal__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SIGNAL
 | 
			
		||||
#define glibtop_get_proc_signal_r	glibtop_get_proc_signal_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_signal_r	glibtop_get_proc_signal_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_signal_l __P((glibtop *, glibtop_proc_signal *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SIGNAL
 | 
			
		||||
extern void glibtop_get_proc_signal_p __P((glibtop *, glibtop_proc_signal *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_signal_s __P((glibtop *, glibtop_proc_signal *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_signal__r __P((glibtop *, glibtop_proc_signal *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -87,7 +75,7 @@ extern SCM glibtop_guile_descriptions_proc_signal __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proc_signal [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_signal [];
 | 
			
		||||
extern const char *glibtop_types_proc_signal [];
 | 
			
		||||
extern const char *glibtop_labels_proc_signal [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_signal [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,21 +54,9 @@ struct _glibtop_proc_state
 | 
			
		||||
		gid;		/* GID of process */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_state(p1, p2)	glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_state(p1, p2)	glibtop_get_proc_state__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_STATE
 | 
			
		||||
#define glibtop_get_proc_state_r	glibtop_get_proc_state_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_state_r	glibtop_get_proc_state_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_state_l __P((glibtop *, glibtop_proc_state *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_STATE
 | 
			
		||||
extern void glibtop_get_proc_state_p __P((glibtop *, glibtop_proc_state *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_state_s __P((glibtop *, glibtop_proc_state *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_state__r __P((glibtop *, glibtop_proc_state *, pid_t));
 | 
			
		||||
     
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -94,7 +82,7 @@ extern SCM glibtop_guile_descriptions_proc_state __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proc_state [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_state [];
 | 
			
		||||
extern const char *glibtop_types_proc_state [];
 | 
			
		||||
extern const char *glibtop_labels_proc_state [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_state [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -59,21 +59,9 @@ struct _glibtop_proc_time
 | 
			
		||||
				 * due to an interval timer. */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_time(p1, p2)	glibtop_get_proc_time_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_time(p1, p2)	glibtop_get_proc_time__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_TIME
 | 
			
		||||
#define glibtop_get_proc_time_r	glibtop_get_proc_time_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_time_r	glibtop_get_proc_time_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_time_l __P((glibtop *, glibtop_proc_time *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_TIME
 | 
			
		||||
extern void glibtop_get_proc_time_p __P((glibtop *, glibtop_proc_time *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_time_s __P((glibtop *, glibtop_proc_time *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_time__r __P((glibtop *, glibtop_proc_time *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -99,7 +87,7 @@ extern SCM glibtop_guile_descriptions_proc_time __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proc_time [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_time [];
 | 
			
		||||
extern const char *glibtop_types_proc_time [];
 | 
			
		||||
extern const char *glibtop_labels_proc_time [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_time [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -63,21 +63,9 @@ struct _glibtop_proc_uid
 | 
			
		||||
		nice;		/* standard unix nice level of process */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_proc_uid(p1, p2)	glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_get_proc_uid(p1, p2)	glibtop_get_proc_uid__r(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_UID
 | 
			
		||||
#define glibtop_get_proc_uid_r		glibtop_get_proc_uid_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_proc_uid_r		glibtop_get_proc_uid_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_proc_uid_l __P((glibtop *, glibtop_proc_uid *, pid_t));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_PROC_UID
 | 
			
		||||
extern void glibtop_get_proc_uid_p __P((glibtop *, glibtop_proc_uid *, pid_t));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_proc_uid_s __P((glibtop *, glibtop_proc_uid *, pid_t));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_proc_uid__r __P((glibtop *, glibtop_proc_uid *, pid_t));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -103,7 +91,7 @@ extern SCM glibtop_guile_descriptions_proc_uid __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_proc_uid [];
 | 
			
		||||
extern const unsigned glibtop_types_proc_uid [];
 | 
			
		||||
extern const char *glibtop_types_proc_uid [];
 | 
			
		||||
extern const char *glibtop_labels_proc_uid [];
 | 
			
		||||
extern const char *glibtop_descriptions_proc_uid [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -29,8 +29,7 @@ __BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_read(p1, p2)	glibtop_read(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
extern void glibtop_read_l __P((glibtop *, size_t, void *));
 | 
			
		||||
extern void glibtop_read_s __P((glibtop *, size_t, void *));
 | 
			
		||||
extern void glibtop_read__r __P((glibtop *, size_t, void *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -27,10 +27,9 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_read_data()	glibtop_read_data_r(glibtop_global_server)
 | 
			
		||||
#define glibtop_read_data()	glibtop_read_data__r(glibtop_global_server)
 | 
			
		||||
 | 
			
		||||
extern void *glibtop_read_data_l __P((glibtop *));
 | 
			
		||||
extern void *glibtop_read_data_s __P((glibtop *));
 | 
			
		||||
extern void *glibtop_read_data__r __P((glibtop *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -57,21 +57,9 @@ struct _glibtop_sem_limits
 | 
			
		||||
		semaem;		/* GLIBTOP_IPC_SEMAEM	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_sem_limits(sem)	glibtop_get_sem_limits_l(glibtop_global_server, sem)
 | 
			
		||||
#define glibtop_get_sem_limits(sem)	glibtop_get_sem_limits__r(glibtop_global_server, sem)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SEM_LIMITS
 | 
			
		||||
#define glibtop_get_sem_limits_r	glibtop_get_sem_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_sem_limits_r	glibtop_get_sem_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_sem_limits_l __P((glibtop *, glibtop_sem_limits *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SEM_LIMITS
 | 
			
		||||
extern void glibtop_get_sem_limits_p __P((glibtop *, glibtop_sem_limits *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_sem_limits_s __P((glibtop *, glibtop_sem_limits *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_sem_limits__r __P((glibtop *, glibtop_sem_limits *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -97,7 +85,7 @@ extern SCM glibtop_guile_descriptions_sem_limits __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_sem_limits [];
 | 
			
		||||
extern const unsigned glibtop_types_sem_limits [];
 | 
			
		||||
extern const char *glibtop_types_sem_limits [];
 | 
			
		||||
extern const char *glibtop_labels_sem_limits [];
 | 
			
		||||
extern const char *glibtop_descriptions_sem_limits [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,21 +47,9 @@ struct _glibtop_shm_limits
 | 
			
		||||
		shmall;		/* GLIBTOP_IPC_SHMALL	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_shm_limits(shm)	glibtop_get_shm_limits_l(glibtop_global_server, shm)
 | 
			
		||||
#define glibtop_get_shm_limits(shm)	glibtop_get_shm_limits__r(glibtop_global_server, shm)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
#define glibtop_get_shm_limits_r	glibtop_get_shm_limits_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_shm_limits_r	glibtop_get_shm_limits_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_shm_limits_l __P((glibtop *, glibtop_shm_limits *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
extern void glibtop_get_shm_limits_p __P((glibtop *, glibtop_shm_limits *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_shm_limits_s __P((glibtop *, glibtop_shm_limits *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_shm_limits__r __P((glibtop *, glibtop_shm_limits *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -87,7 +75,7 @@ extern SCM glibtop_guile_descriptions_shm_limits __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_shm_limits [];
 | 
			
		||||
extern const unsigned glibtop_types_shm_limits [];
 | 
			
		||||
extern const char *glibtop_types_shm_limits [];
 | 
			
		||||
extern const char *glibtop_labels_shm_limits [];
 | 
			
		||||
extern const char *glibtop_descriptions_shm_limits [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -43,21 +43,9 @@ struct _glibtop_swap
 | 
			
		||||
		free;		/* GLIBTOP_SWAP_FREE	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_swap(swap)	glibtop_get_swap_l(glibtop_global_server, swap)
 | 
			
		||||
#define glibtop_get_swap(swap)	glibtop_get_swap__r(glibtop_global_server, swap)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SWAP
 | 
			
		||||
#define glibtop_get_swap_r		glibtop_get_swap_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_swap_r		glibtop_get_swap_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_swap_l __P((glibtop *, glibtop_swap *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_SWAP
 | 
			
		||||
extern void glibtop_get_swap_p __P((glibtop *, glibtop_swap *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_swap_s __P((glibtop *, glibtop_swap *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_swap__r __P((glibtop *, glibtop_swap *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -83,7 +71,7 @@ extern SCM glibtop_guile_descriptions_swap __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_swap [];
 | 
			
		||||
extern const unsigned glibtop_types_swap [];
 | 
			
		||||
extern const char *glibtop_types_swap [];
 | 
			
		||||
extern const char *glibtop_labels_swap [];
 | 
			
		||||
extern const char *glibtop_descriptions_swap [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -27,34 +27,30 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_SYSDEPS_FEATURES	0
 | 
			
		||||
#define GLIBTOP_SYSDEPS_CPU		1
 | 
			
		||||
#define GLIBTOP_SYSDEPS_MEM		2
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SWAP		3
 | 
			
		||||
#define GLIBTOP_SYSDEPS_UPTIME		4
 | 
			
		||||
#define GLIBTOP_SYSDEPS_LOADAVG		5
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SHM_LIMITS	6
 | 
			
		||||
#define GLIBTOP_SYSDEPS_MSG_LIMITS	7
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SEM_LIMITS	8
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROCLIST	9
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_STATE	10
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_UID	11
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_MEM	12
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_TIME	13
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_SIGNAL	14
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_KERNEL	15
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_SEGMENT	16
 | 
			
		||||
#define GLIBTOP_SYSDEPS_CPU		0
 | 
			
		||||
#define GLIBTOP_SYSDEPS_MEM		1
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SWAP		2
 | 
			
		||||
#define GLIBTOP_SYSDEPS_UPTIME		3
 | 
			
		||||
#define GLIBTOP_SYSDEPS_LOADAVG		4
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SHM_LIMITS	5
 | 
			
		||||
#define GLIBTOP_SYSDEPS_MSG_LIMITS	6
 | 
			
		||||
#define GLIBTOP_SYSDEPS_SEM_LIMITS	7
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROCLIST	8
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_STATE	9
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_UID	10
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_MEM	11
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_TIME	12
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_SIGNAL	13
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_KERNEL	14
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_SEGMENT	15
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		17
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_SYSDEPS_ALL		((1 << GLIBTOP_MAX_SYSDEPS) - 1)
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		16
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_sysdeps	glibtop_sysdeps;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_sysdeps
 | 
			
		||||
{
 | 
			
		||||
	unsigned long	flags,
 | 
			
		||||
		features,		/* server features	*/
 | 
			
		||||
		cpu,			/* glibtop_cpu		*/
 | 
			
		||||
		mem,			/* glibtop_mem		*/
 | 
			
		||||
		swap,			/* glibtop_swap		*/
 | 
			
		||||
@@ -73,9 +69,9 @@ struct _glibtop_sysdeps
 | 
			
		||||
		proc_segment;		/* glibtop_proc_segment	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_sysdeps(sysdeps)	glibtop_get_sysdeps_r(glibtop_global_server,sysdeps)
 | 
			
		||||
#define glibtop_get_sysdeps(sysdeps)	glibtop_get_sysdeps__r(glibtop_global_server,sysdeps)
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_sysdeps_r __P((glibtop *, glibtop_sysdeps *));
 | 
			
		||||
extern void glibtop_get_sysdeps__r __P((glibtop *, glibtop_sysdeps *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -101,7 +97,7 @@ extern SCM glibtop_guile_descriptions_sysdeps __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_sysdeps [];
 | 
			
		||||
extern const unsigned glibtop_types_sysdeps [];
 | 
			
		||||
extern const char *glibtop_types_sysdeps [];
 | 
			
		||||
extern const char *glibtop_labels_sysdeps [];
 | 
			
		||||
extern const char *glibtop_descriptions_sysdeps [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,21 +41,9 @@ struct _glibtop_uptime
 | 
			
		||||
		idletime;	/* GLIBTOP_UPTIME_IDLETIME	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define glibtop_get_uptime(uptime)	glibtop_get_uptime_l(glibtop_global_server, uptime)
 | 
			
		||||
#define glibtop_get_uptime(uptime)	glibtop_get_uptime__r(glibtop_global_server, uptime)
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_UPTIME
 | 
			
		||||
#define glibtop_get_uptime_r		glibtop_get_uptime_p
 | 
			
		||||
#else
 | 
			
		||||
#define glibtop_get_uptime_r		glibtop_get_uptime_s
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern void glibtop_get_uptime_l __P((glibtop *, glibtop_uptime *));
 | 
			
		||||
 | 
			
		||||
#if GLIBTOP_SUID_UPTIME
 | 
			
		||||
extern void glibtop_get_uptime_p __P((glibtop *, glibtop_uptime *));
 | 
			
		||||
#else
 | 
			
		||||
extern void glibtop_get_uptime_s __P((glibtop *, glibtop_uptime *));
 | 
			
		||||
#endif
 | 
			
		||||
extern void glibtop_get_uptime__r __P((glibtop *, glibtop_uptime *));
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_GUILE
 | 
			
		||||
 | 
			
		||||
@@ -81,7 +69,7 @@ extern SCM glibtop_guile_descriptions_uptime __P((void));
 | 
			
		||||
/* You need to link with -lgtop_names to get this stuff here. */
 | 
			
		||||
 | 
			
		||||
extern const char *glibtop_names_uptime [];
 | 
			
		||||
extern const unsigned glibtop_types_uptime [];
 | 
			
		||||
extern const char *glibtop_types_uptime [];
 | 
			
		||||
extern const char *glibtop_labels_uptime [];
 | 
			
		||||
extern const char *glibtop_descriptions_uptime [];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -29,8 +29,7 @@ __BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_write(p1, p2)	glibtop_write(glibtop_global_server, p1, p2)
 | 
			
		||||
 | 
			
		||||
extern void glibtop_write_l __P((glibtop *, size_t, void *));
 | 
			
		||||
extern void glibtop_write_s __P((glibtop *, size_t, void *));
 | 
			
		||||
extern void glibtop_write__r __P((glibtop *, size_t, void *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -27,15 +27,15 @@
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
#define glibtop_malloc(p1)	glibtop_malloc_r(glibtop_global_server, p1)
 | 
			
		||||
#define glibtop_calloc(p1, p2)	glibtop_calloc_r(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_realloc(p1, p2)	glibtop_realloc_r(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_free(p1)	glibtop_free_r(glibtop_global_server, p1)
 | 
			
		||||
#define glibtop_malloc(p1)	glibtop_malloc__r(glibtop_global_server, p1)
 | 
			
		||||
#define glibtop_calloc(p1, p2)	glibtop_calloc__r(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_realloc(p1, p2)	glibtop_realloc__r(glibtop_global_server, p1, p2)
 | 
			
		||||
#define glibtop_free(p1)	glibtop_free__r(glibtop_global_server, p1)
 | 
			
		||||
 | 
			
		||||
extern void *glibtop_malloc_r	__P((glibtop *, size_t));
 | 
			
		||||
extern void *glibtop_calloc_r	__P((glibtop *, size_t, size_t));
 | 
			
		||||
extern void *glibtop_realloc_r	__P((glibtop *, void *, size_t));
 | 
			
		||||
extern void glibtop_free_r	__P((glibtop *, void *));
 | 
			
		||||
extern void *glibtop_malloc__r	__P((glibtop *, size_t));
 | 
			
		||||
extern void *glibtop_calloc__r	__P((glibtop *, size_t, size_t));
 | 
			
		||||
extern void *glibtop_realloc__r	__P((glibtop *, void *, size_t));
 | 
			
		||||
extern void glibtop_free__r	__P((glibtop *, void *));
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# Makefile for the linux system information tables.
 | 
			
		||||
#
 | 
			
		||||
# Note! Dependencies are done automagically by 'make dep', which also
 | 
			
		||||
# removes any old dependencies. DON'T put your own dependencies here
 | 
			
		||||
# unless it's something special (ie not a .c file).
 | 
			
		||||
#
 | 
			
		||||
# Note 2! The CFLAGS definition is now in the main makefile...
 | 
			
		||||
 | 
			
		||||
O_TARGET := table.o
 | 
			
		||||
O_OBJS   := main.o
 | 
			
		||||
 | 
			
		||||
include $(TOPDIR)/Rules.make
 | 
			
		||||
							
								
								
									
										423
									
								
								kernel/main.c
									
									
									
									
									
								
							
							
						
						
									
										423
									
								
								kernel/main.c
									
									
									
									
									
								
							@@ -1,423 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * linux/table/table_impl.c
 | 
			
		||||
 * Copyright (C) 1998 Martin Baulig
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <linux/types.h>
 | 
			
		||||
#include <linux/errno.h>
 | 
			
		||||
#include <linux/sched.h>
 | 
			
		||||
#include <linux/kernel.h>
 | 
			
		||||
#include <linux/kernel_stat.h>
 | 
			
		||||
#include <linux/tty.h>
 | 
			
		||||
#include <linux/user.h>
 | 
			
		||||
#include <linux/a.out.h>
 | 
			
		||||
#include <linux/string.h>
 | 
			
		||||
#include <linux/mman.h>
 | 
			
		||||
#include <linux/proc_fs.h>
 | 
			
		||||
#include <linux/ioport.h>
 | 
			
		||||
#include <linux/config.h>
 | 
			
		||||
#include <linux/mm.h>
 | 
			
		||||
#include <linux/pagemap.h>
 | 
			
		||||
#include <linux/swap.h>
 | 
			
		||||
 | 
			
		||||
#include <asm/segment.h>
 | 
			
		||||
#include <asm/pgtable.h>
 | 
			
		||||
#include <asm/io.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/table.h>
 | 
			
		||||
 | 
			
		||||
#include "version.h"
 | 
			
		||||
 | 
			
		||||
#if defined(__i386__)
 | 
			
		||||
# define KSTK_EIP(tsk)	(((unsigned long *)tsk->kernel_stack_page)[1019])
 | 
			
		||||
# define KSTK_ESP(tsk)	(((unsigned long *)tsk->kernel_stack_page)[1022])
 | 
			
		||||
#elif defined(__alpha__)
 | 
			
		||||
  /*
 | 
			
		||||
   * See arch/alpha/kernel/ptrace.c for details.
 | 
			
		||||
   */
 | 
			
		||||
# define PT_REG(reg)		(PAGE_SIZE - sizeof(struct pt_regs)	\
 | 
			
		||||
				 + (long)&((struct pt_regs *)0)->reg)
 | 
			
		||||
# define KSTK_EIP(tsk)	(*(unsigned long *)(tsk->kernel_stack_page + PT_REG(pc)))
 | 
			
		||||
# define KSTK_ESP(tsk)	((tsk) == current ? rdusp() : (tsk)->tss.usp)
 | 
			
		||||
#elif defined(__sparc__)
 | 
			
		||||
# define PT_REG(reg)            (PAGE_SIZE - sizeof(struct pt_regs)     \
 | 
			
		||||
                                 + (long)&((struct pt_regs *)0)->reg)
 | 
			
		||||
# define KSTK_EIP(tsk)  (*(unsigned long *)(tsk->kernel_stack_page + PT_REG(pc)))
 | 
			
		||||
# define KSTK_ESP(tsk)  (*(unsigned long *)(tsk->kernel_stack_page + PT_REG(u_regs[UREG_FP])))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static struct task_struct *
 | 
			
		||||
get_task (pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	struct task_struct ** p;
 | 
			
		||||
	
 | 
			
		||||
	p = task;
 | 
			
		||||
	while (++p < task+NR_TASKS) {
 | 
			
		||||
		if (*p && (*p)->pid == pid)
 | 
			
		||||
			return *p;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void statm_pte_range(pmd_t * pmd, unsigned long address, unsigned long size,
 | 
			
		||||
	int * pages, int * shared, int * dirty, int * total)
 | 
			
		||||
{
 | 
			
		||||
	pte_t * pte;
 | 
			
		||||
	unsigned long end;
 | 
			
		||||
 | 
			
		||||
	if (pmd_none(*pmd))
 | 
			
		||||
		return;
 | 
			
		||||
	if (pmd_bad(*pmd)) {
 | 
			
		||||
		printk("statm_pte_range: bad pmd (%08lx)\n", pmd_val(*pmd));
 | 
			
		||||
		pmd_clear(pmd);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	pte = pte_offset(pmd, address);
 | 
			
		||||
	address &= ~PMD_MASK;
 | 
			
		||||
	end = address + size;
 | 
			
		||||
	if (end > PMD_SIZE)
 | 
			
		||||
		end = PMD_SIZE;
 | 
			
		||||
	do {
 | 
			
		||||
		pte_t page = *pte;
 | 
			
		||||
 | 
			
		||||
		address += PAGE_SIZE;
 | 
			
		||||
		pte++;
 | 
			
		||||
		if (pte_none(page))
 | 
			
		||||
			continue;
 | 
			
		||||
		++*total;
 | 
			
		||||
		if (!pte_present(page))
 | 
			
		||||
			continue;
 | 
			
		||||
		++*pages;
 | 
			
		||||
		if (pte_dirty(page))
 | 
			
		||||
			++*dirty;
 | 
			
		||||
		if (pte_page(page) >= high_memory)
 | 
			
		||||
			continue;
 | 
			
		||||
		if (mem_map[MAP_NR(pte_page(page))].count > 1)
 | 
			
		||||
			++*shared;
 | 
			
		||||
	} while (address < end);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void statm_pmd_range(pgd_t * pgd, unsigned long address, unsigned long size,
 | 
			
		||||
	int * pages, int * shared, int * dirty, int * total)
 | 
			
		||||
{
 | 
			
		||||
	pmd_t * pmd;
 | 
			
		||||
	unsigned long end;
 | 
			
		||||
 | 
			
		||||
	if (pgd_none(*pgd))
 | 
			
		||||
		return;
 | 
			
		||||
	if (pgd_bad(*pgd)) {
 | 
			
		||||
		printk("statm_pmd_range: bad pgd (%08lx)\n", pgd_val(*pgd));
 | 
			
		||||
		pgd_clear(pgd);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	pmd = pmd_offset(pgd, address);
 | 
			
		||||
	address &= ~PGDIR_MASK;
 | 
			
		||||
	end = address + size;
 | 
			
		||||
	if (end > PGDIR_SIZE)
 | 
			
		||||
		end = PGDIR_SIZE;
 | 
			
		||||
	do {
 | 
			
		||||
		statm_pte_range(pmd, address, end - address, pages, shared, dirty, total);
 | 
			
		||||
		address = (address + PMD_SIZE) & PMD_MASK;
 | 
			
		||||
		pmd++;
 | 
			
		||||
	} while (address < end);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void statm_pgd_range(pgd_t * pgd, unsigned long address, unsigned long end,
 | 
			
		||||
	int * pages, int * shared, int * dirty, int * total)
 | 
			
		||||
{
 | 
			
		||||
	while (address < end) {
 | 
			
		||||
		statm_pmd_range(pgd, address, end - address, pages, shared, dirty, total);
 | 
			
		||||
		address = (address + PGDIR_SIZE) & PGDIR_MASK;
 | 
			
		||||
		pgd++;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static unsigned long
 | 
			
		||||
get_wchan (struct task_struct *p)
 | 
			
		||||
{
 | 
			
		||||
	if (!p || p == current || p->state == TASK_RUNNING)
 | 
			
		||||
		return 0;
 | 
			
		||||
#if defined(__i386__)
 | 
			
		||||
	{
 | 
			
		||||
		unsigned long ebp, eip;
 | 
			
		||||
		unsigned long stack_page;
 | 
			
		||||
		int count = 0;
 | 
			
		||||
 | 
			
		||||
		stack_page = p->kernel_stack_page;
 | 
			
		||||
		if (!stack_page)
 | 
			
		||||
			return 0;
 | 
			
		||||
		ebp = p->tss.ebp;
 | 
			
		||||
		do {
 | 
			
		||||
			if (ebp < stack_page || ebp >= 4092+stack_page)
 | 
			
		||||
				return 0;
 | 
			
		||||
			eip = *(unsigned long *) (ebp+4);
 | 
			
		||||
			if (eip < (unsigned long) interruptible_sleep_on
 | 
			
		||||
			    || eip >= (unsigned long) add_timer)
 | 
			
		||||
				return eip;
 | 
			
		||||
			ebp = *(unsigned long *) ebp;
 | 
			
		||||
		} while (count++ < 16);
 | 
			
		||||
	}
 | 
			
		||||
#elif defined(__alpha__)
 | 
			
		||||
	/*
 | 
			
		||||
	 * This one depends on the frame size of schedule().  Do a
 | 
			
		||||
	 * "disass schedule" in gdb to find the frame size.  Also, the
 | 
			
		||||
	 * code assumes that sleep_on() follows immediately after
 | 
			
		||||
	 * interruptible_sleep_on() and that add_timer() follows
 | 
			
		||||
	 * immediately after interruptible_sleep().  Ugly, isn't it?
 | 
			
		||||
	 * Maybe adding a wchan field to task_struct would be better,
 | 
			
		||||
	 * after all...
 | 
			
		||||
	 */
 | 
			
		||||
	{
 | 
			
		||||
		unsigned long schedule_frame;
 | 
			
		||||
		unsigned long pc;
 | 
			
		||||
		
 | 
			
		||||
		pc = thread_saved_pc(&p->tss);
 | 
			
		||||
		if (pc >= (unsigned long) interruptible_sleep_on && pc < (unsigned long) add_timer) {
 | 
			
		||||
			schedule_frame = ((unsigned long *)p->tss.ksp)[6];
 | 
			
		||||
			return ((unsigned long *)schedule_frame)[12];
 | 
			
		||||
		}
 | 
			
		||||
		return pc;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asmlinkage int
 | 
			
		||||
sys_table (int type, union table *buf, const void *param)
 | 
			
		||||
{
 | 
			
		||||
	union table tbl;
 | 
			
		||||
	struct sysinfo i;
 | 
			
		||||
	struct task_struct *tsk = NULL;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	int err;
 | 
			
		||||
 | 
			
		||||
	if (type == TABLE_VERSION)
 | 
			
		||||
		return _TABLE_VERSION;
 | 
			
		||||
 | 
			
		||||
	if (!buf)
 | 
			
		||||
		return -EFAULT;
 | 
			
		||||
 | 
			
		||||
	memset (&tbl, 0, sizeof (union table));
 | 
			
		||||
 | 
			
		||||
	/* For TABLE_PROC_*, read pid and get task_struct */
 | 
			
		||||
 | 
			
		||||
	switch (type) {
 | 
			
		||||
	case TABLE_PROC_UID:
 | 
			
		||||
	case TABLE_PROC_MEM:
 | 
			
		||||
	case TABLE_PROC_SEGMENT:
 | 
			
		||||
	case TABLE_PROC_TIME:
 | 
			
		||||
	case TABLE_PROC_STATE:
 | 
			
		||||
	case TABLE_PROC_SIGNAL:
 | 
			
		||||
	case TABLE_PROC_KERNEL:
 | 
			
		||||
	  err = verify_area (VERIFY_READ, param, sizeof (pid_t));
 | 
			
		||||
		if (err)
 | 
			
		||||
			return err;
 | 
			
		||||
		memcpy_fromfs (&pid, param, sizeof (pid_t));
 | 
			
		||||
 | 
			
		||||
		tsk = get_task (pid);
 | 
			
		||||
		if (tsk == NULL)
 | 
			
		||||
			return -ESRCH;
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Main function dispatcher */
 | 
			
		||||
 | 
			
		||||
	switch (type) {
 | 
			
		||||
	case TABLE_CPU:
 | 
			
		||||
		tbl.cpu.total = jiffies;    
 | 
			
		||||
		tbl.cpu.user  = kstat.cpu_user;
 | 
			
		||||
		tbl.cpu.nice  = kstat.cpu_nice;
 | 
			
		||||
		tbl.cpu.sys   = kstat.cpu_system;
 | 
			
		||||
		tbl.cpu.idle  = tbl.cpu.total - (tbl.cpu.user + tbl.cpu.nice + tbl.cpu.sys);
 | 
			
		||||
		tbl.cpu.frequency = HZ;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_MEM:
 | 
			
		||||
		si_meminfo (&i);
 | 
			
		||||
		tbl.mem.total  = i.totalram;
 | 
			
		||||
		tbl.mem.used   = i.totalram - i.freeram;
 | 
			
		||||
		tbl.mem.free   = i.freeram;
 | 
			
		||||
		tbl.mem.shared = i.sharedram;
 | 
			
		||||
		tbl.mem.buffer = i.bufferram;
 | 
			
		||||
		tbl.mem.cached = page_cache_size << PAGE_SHIFT;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_SWAP:
 | 
			
		||||
		si_swapinfo (&i);
 | 
			
		||||
		tbl.swap.total = i.totalswap;
 | 
			
		||||
		tbl.swap.used  = i.totalswap - i.freeswap;
 | 
			
		||||
		tbl.swap.free  = i.freeswap;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_LOADAVG:
 | 
			
		||||
		tbl.loadavg.loadavg [0] = (double) avenrun [0] / (1 << FSHIFT);
 | 
			
		||||
		tbl.loadavg.loadavg [1] = (double) avenrun [1] / (1 << FSHIFT);
 | 
			
		||||
		tbl.loadavg.loadavg [2] = (double) avenrun [2] / (1 << FSHIFT);
 | 
			
		||||
		tbl.loadavg.nr_running = nr_running;
 | 
			
		||||
		tbl.loadavg.nr_tasks = nr_tasks;
 | 
			
		||||
		tbl.loadavg.last_pid = last_pid;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_UPTIME:
 | 
			
		||||
		tbl.uptime.uptime = jiffies;
 | 
			
		||||
		tbl.uptime.idle   = task[0]->utime + task[0]->stime;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_STATE:
 | 
			
		||||
		tbl.proc_state.state = tsk->state;
 | 
			
		||||
		tbl.proc_state.flags = tsk->flags;
 | 
			
		||||
		memcpy (tbl.proc_state.comm, tsk->comm, sizeof (tbl.proc_state.comm));
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_UID:
 | 
			
		||||
		tbl.proc_uid.uid = tsk->uid;
 | 
			
		||||
		tbl.proc_uid.euid = tsk->euid;
 | 
			
		||||
		tbl.proc_uid.suid = tsk->suid;
 | 
			
		||||
		tbl.proc_uid.fsuid = tsk->fsuid;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_uid.gid = tsk->gid;
 | 
			
		||||
		tbl.proc_uid.egid = tsk->egid;
 | 
			
		||||
		tbl.proc_uid.sgid = tsk->sgid;
 | 
			
		||||
		tbl.proc_uid.fsgid = tsk->fsgid;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_uid.pid = tsk->pid;
 | 
			
		||||
		tbl.proc_uid.pgrp = tsk->pgrp;
 | 
			
		||||
		tbl.proc_uid.ppid = tsk->p_pptr->pid;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_uid.session = tsk->session;
 | 
			
		||||
	        tbl.proc_uid.tty = tsk->tty ? kdev_t_to_nr (tsk->tty->device) : 0;
 | 
			
		||||
		tbl.proc_uid.tpgid = tsk->tty ? tsk->tty->pgrp : -1;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_uid.priority = tsk->priority;
 | 
			
		||||
		tbl.proc_uid.counter = tsk->counter;
 | 
			
		||||
		tbl.proc_uid.def_priority = DEF_PRIORITY;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_SIGNAL:
 | 
			
		||||
		tbl.proc_signal.signal = tsk->signal;
 | 
			
		||||
		tbl.proc_signal.blocked = tsk->blocked;
 | 
			
		||||
 | 
			
		||||
		if (tsk->sig) {
 | 
			
		||||
			struct sigaction * action = tsk->sig->action;
 | 
			
		||||
			unsigned long sig_ign = 0, sig_caught = 0;
 | 
			
		||||
			unsigned long bit = 1;
 | 
			
		||||
			int i;
 | 
			
		||||
			
 | 
			
		||||
			for (i = 0; i < 32; i++) {
 | 
			
		||||
				switch((unsigned long) action->sa_handler) {
 | 
			
		||||
				case 0:
 | 
			
		||||
					break;
 | 
			
		||||
				case 1:
 | 
			
		||||
					sig_ign |= bit;
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					sig_caught |= bit;
 | 
			
		||||
				}
 | 
			
		||||
				bit <<= 1;
 | 
			
		||||
				action++;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			tbl.proc_signal.ignored = sig_ign;
 | 
			
		||||
			tbl.proc_signal.caught  = sig_caught;
 | 
			
		||||
		} else {
 | 
			
		||||
			tbl.proc_signal.ignored = 0;
 | 
			
		||||
			tbl.proc_signal.caught  = 0;
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_MEM:
 | 
			
		||||
		if (tsk->mm && tsk->mm != &init_mm) {
 | 
			
		||||
			tbl.proc_mem.context = tsk->mm->context;
 | 
			
		||||
			tbl.proc_mem.start_code = tsk->mm->start_code;
 | 
			
		||||
			tbl.proc_mem.end_code = tsk->mm->end_code;
 | 
			
		||||
			tbl.proc_mem.start_data = tsk->mm-> start_data;
 | 
			
		||||
			tbl.proc_mem.end_data = tsk->mm->end_data;
 | 
			
		||||
			tbl.proc_mem.start_brk = tsk->mm->start_brk;
 | 
			
		||||
			tbl.proc_mem.brk = tsk->mm->brk;
 | 
			
		||||
			tbl.proc_mem.start_stack = tsk->mm->start_stack;
 | 
			
		||||
			tbl.proc_mem.start_mmap = tsk->mm->start_mmap;
 | 
			
		||||
			tbl.proc_mem.arg_start = tsk->mm->arg_start;
 | 
			
		||||
			tbl.proc_mem.arg_end = tsk->mm->arg_end;
 | 
			
		||||
			tbl.proc_mem.env_start = tsk->mm->env_start;
 | 
			
		||||
			tbl.proc_mem.env_end = tsk->mm->env_end;
 | 
			
		||||
			tbl.proc_mem.rss = tsk->mm->rss;
 | 
			
		||||
			tbl.proc_mem.total_vm = tsk->mm->total_vm;
 | 
			
		||||
			tbl.proc_mem.locked_vm = tsk->mm->locked_vm;
 | 
			
		||||
		}
 | 
			
		||||
		tbl.proc_mem.rlim = tsk->rlim ? tsk->rlim[RLIMIT_RSS].rlim_cur : 0;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_SEGMENT:
 | 
			
		||||
		if (tsk->mm && tsk->mm != &init_mm) {
 | 
			
		||||
			unsigned long vsize = 0;
 | 
			
		||||
			int size = 0, resident = 0, share = 0;
 | 
			
		||||
			int trs = 0, lrs = 0, drs = 0, dt = 0;
 | 
			
		||||
			struct vm_area_struct * vma = tsk->mm->mmap;
 | 
			
		||||
 | 
			
		||||
			while (vma) {
 | 
			
		||||
				pgd_t *pgd = pgd_offset(tsk->mm, vma->vm_start);
 | 
			
		||||
				int pages = 0, shared = 0, dirty = 0, total = 0;
 | 
			
		||||
				
 | 
			
		||||
				vsize += vma->vm_end - vma->vm_start;
 | 
			
		||||
 | 
			
		||||
				statm_pgd_range (pgd, vma->vm_start, vma->vm_end,
 | 
			
		||||
						 &pages, &shared, &dirty, &total);
 | 
			
		||||
				resident += pages;
 | 
			
		||||
				share += shared;
 | 
			
		||||
				dt += dirty;
 | 
			
		||||
				size += total;
 | 
			
		||||
				if (vma->vm_flags & VM_EXECUTABLE)
 | 
			
		||||
					trs += pages;	/* text */
 | 
			
		||||
				else if (vma->vm_flags & VM_GROWSDOWN)
 | 
			
		||||
					drs += pages;	/* stack */
 | 
			
		||||
				else if (vma->vm_end > 0x60000000)
 | 
			
		||||
					lrs += pages;	/* library */
 | 
			
		||||
				else
 | 
			
		||||
					drs += pages;
 | 
			
		||||
				vma = vma->vm_next;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			tbl.proc_segment.vsize = vsize;
 | 
			
		||||
			tbl.proc_segment.size = size;
 | 
			
		||||
			tbl.proc_segment.resident = resident;
 | 
			
		||||
			tbl.proc_segment.shared = share;
 | 
			
		||||
			tbl.proc_segment.trs = trs;
 | 
			
		||||
			tbl.proc_segment.lrs = lrs;
 | 
			
		||||
			tbl.proc_segment.dt = dt;
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_TIME:
 | 
			
		||||
		tbl.proc_time.utime = tsk->utime;
 | 
			
		||||
		tbl.proc_time.stime = tsk->stime;
 | 
			
		||||
		tbl.proc_time.cutime = tsk->cutime;
 | 
			
		||||
		tbl.proc_time.cstime = tsk->cstime;
 | 
			
		||||
 | 
			
		||||
		tbl.proc_time.start_time = tsk->start_time;
 | 
			
		||||
		tbl.proc_time.timeout = tsk->timeout;
 | 
			
		||||
		tbl.proc_time.policy = tsk->policy;
 | 
			
		||||
		tbl.proc_time.rt_priority = tsk->rt_priority;
 | 
			
		||||
 | 
			
		||||
		tbl.proc_time.it_real_value = tsk->it_real_value;
 | 
			
		||||
		tbl.proc_time.it_prof_value = tsk->it_prof_value;
 | 
			
		||||
		tbl.proc_time.it_virt_value = tsk->it_virt_value;
 | 
			
		||||
		tbl.proc_time.it_real_incr = tsk->it_real_incr;
 | 
			
		||||
		tbl.proc_time.it_prof_incr = tsk->it_prof_incr;
 | 
			
		||||
		tbl.proc_time.it_virt_incr = tsk->it_virt_incr;
 | 
			
		||||
		break;
 | 
			
		||||
	case TABLE_PROC_KERNEL:
 | 
			
		||||
		tbl.proc_kernel.min_flt = tsk->min_flt;
 | 
			
		||||
		tbl.proc_kernel.cmin_flt = tsk->cmin_flt;
 | 
			
		||||
		tbl.proc_kernel.maj_flt = tsk->maj_flt;
 | 
			
		||||
		tbl.proc_kernel.cmaj_flt = tsk->cmaj_flt;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_kernel.kesp = tsk->kernel_stack_page ? KSTK_EIP(tsk) : 0;
 | 
			
		||||
		tbl.proc_kernel.keip = tsk->kernel_stack_page ? KSTK_ESP(tsk) : 0;
 | 
			
		||||
		
 | 
			
		||||
		tbl.proc_kernel.nswap = tsk->nswap;
 | 
			
		||||
		tbl.proc_kernel.cnswap = tsk->cnswap;
 | 
			
		||||
 | 
			
		||||
		tbl.proc_kernel.wchan = get_wchan (tsk);
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		return -EINVAL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = verify_area (VERIFY_WRITE, buf, sizeof (struct table));
 | 
			
		||||
	if (err)
 | 
			
		||||
		return err;
 | 
			
		||||
 | 
			
		||||
	memcpy_tofs (buf, &tbl, sizeof (union table));
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										154
									
								
								kernel/table.h
									
									
									
									
									
								
							
							
						
						
									
										154
									
								
								kernel/table.h
									
									
									
									
									
								
							@@ -1,154 +0,0 @@
 | 
			
		||||
#ifndef _LINUX_TABLE_H
 | 
			
		||||
#define _LINUX_TABLE_H
 | 
			
		||||
 | 
			
		||||
#ifdef _KERNEL
 | 
			
		||||
#include <linux/types.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define TABLE_VERSION		0
 | 
			
		||||
#define TABLE_CPU		1
 | 
			
		||||
#define TABLE_MEM		2
 | 
			
		||||
#define TABLE_SWAP		3
 | 
			
		||||
#define TABLE_LOADAVG		4
 | 
			
		||||
#define TABLE_UPTIME		5
 | 
			
		||||
#define TABLE_PROC_UID		6
 | 
			
		||||
#define TABLE_PROC_MEM		7
 | 
			
		||||
#define TABLE_PROC_SEGMENT	8
 | 
			
		||||
#define TABLE_PROC_TIME		9
 | 
			
		||||
#define TABLE_PROC_STATE	10
 | 
			
		||||
#define TABLE_PROC_SIGNAL	11
 | 
			
		||||
#define TABLE_PROC_KERNEL	12
 | 
			
		||||
 | 
			
		||||
/* CPU Usage (in jiffies = 1/100th seconds) */
 | 
			
		||||
 | 
			
		||||
struct table_cpu
 | 
			
		||||
{
 | 
			
		||||
	unsigned long total;		/* Total CPU Time		*/
 | 
			
		||||
	unsigned long user;		/* CPU Time in User Mode	*/
 | 
			
		||||
	unsigned long nice;		/* CPU Time in User Mode (nice)	*/
 | 
			
		||||
	unsigned long sys;		/* CPU Time in System Mode	*/
 | 
			
		||||
	unsigned long idle;		/* CPU Time in the Idle Task	*/
 | 
			
		||||
	unsigned long frequency;	/* Tick frequency		*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Memory Usage (in bytes) */
 | 
			
		||||
 | 
			
		||||
struct table_mem
 | 
			
		||||
{
 | 
			
		||||
	unsigned long total;		/* Total physical memory	*/
 | 
			
		||||
	unsigned long used;		/* Used memory size		*/
 | 
			
		||||
	unsigned long free;		/* Free memory size		*/
 | 
			
		||||
	unsigned long shared;		/* Shared memory size		*/
 | 
			
		||||
	unsigned long buffer;		/* Size of buffers		*/
 | 
			
		||||
	unsigned long cached;		/* Size of cached memory       	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Swap Space (in bytes) */
 | 
			
		||||
 | 
			
		||||
struct table_swap
 | 
			
		||||
{
 | 
			
		||||
	unsigned long total;		/* Total swap space		*/
 | 
			
		||||
	unsigned long used;		/* Used swap space		*/
 | 
			
		||||
	unsigned long free;		/* Free swap space		*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Load average */
 | 
			
		||||
 | 
			
		||||
struct table_loadavg
 | 
			
		||||
{
 | 
			
		||||
	double loadavg [3];
 | 
			
		||||
	unsigned nr_running;
 | 
			
		||||
	unsigned nr_tasks;
 | 
			
		||||
	unsigned last_pid;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Uptime */
 | 
			
		||||
 | 
			
		||||
struct table_uptime
 | 
			
		||||
{
 | 
			
		||||
	unsigned long uptime;
 | 
			
		||||
	unsigned long idle;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Information about processes. */
 | 
			
		||||
 | 
			
		||||
struct table_proc_state
 | 
			
		||||
{
 | 
			
		||||
	long state;
 | 
			
		||||
	unsigned long flags;
 | 
			
		||||
	char comm[16];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_uid
 | 
			
		||||
{
 | 
			
		||||
	int uid, euid, suid, fsuid;
 | 
			
		||||
	int gid, egid, sgid, fsgid;
 | 
			
		||||
	int pid, pgrp, ppid;
 | 
			
		||||
	int session;
 | 
			
		||||
	unsigned int tty;
 | 
			
		||||
	int tpgid;
 | 
			
		||||
	long priority;
 | 
			
		||||
	long counter;
 | 
			
		||||
	long def_priority;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_mem
 | 
			
		||||
{
 | 
			
		||||
	unsigned long context;
 | 
			
		||||
	unsigned long start_code, end_code, start_data, end_data;
 | 
			
		||||
	unsigned long start_brk, brk, start_stack, start_mmap;
 | 
			
		||||
	unsigned long arg_start, arg_end, env_start, env_end;
 | 
			
		||||
	unsigned long rss, rlim, total_vm, locked_vm;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_segment
 | 
			
		||||
{
 | 
			
		||||
	unsigned long vsize;
 | 
			
		||||
	int size, resident, shared;
 | 
			
		||||
	int trs, lrs, drs, dt;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_time
 | 
			
		||||
{
 | 
			
		||||
	long utime, stime, cutime, cstime, start_time;
 | 
			
		||||
	unsigned long timeout, policy, rt_priority;
 | 
			
		||||
	unsigned long it_real_value, it_prof_value, it_virt_value;
 | 
			
		||||
	unsigned long it_real_incr, it_prof_incr, it_virt_incr;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_signal
 | 
			
		||||
{
 | 
			
		||||
	unsigned long signal;
 | 
			
		||||
	unsigned long blocked;	/* bitmap of masked signals */
 | 
			
		||||
	unsigned long ignored;  /* mask of ignored signals */
 | 
			
		||||
	unsigned long caught;   /* mask of caught signals */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct table_proc_kernel
 | 
			
		||||
{
 | 
			
		||||
	unsigned long keip, kesp, wchan;
 | 
			
		||||
	unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
 | 
			
		||||
	unsigned long nswap, cnswap;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Union */
 | 
			
		||||
 | 
			
		||||
union table
 | 
			
		||||
{
 | 
			
		||||
	struct table_cpu cpu;
 | 
			
		||||
	struct table_mem mem;
 | 
			
		||||
	struct table_swap swap;
 | 
			
		||||
	struct table_loadavg loadavg;
 | 
			
		||||
	struct table_uptime uptime;
 | 
			
		||||
	struct table_proc_uid proc_uid;
 | 
			
		||||
	struct table_proc_mem proc_mem;
 | 
			
		||||
	struct table_proc_segment proc_segment;
 | 
			
		||||
	struct table_proc_time proc_time;
 | 
			
		||||
	struct table_proc_state proc_state;	
 | 
			
		||||
	struct table_proc_signal proc_signal;
 | 
			
		||||
	struct table_proc_kernel proc_kernel;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* _LINUX_IPC_H */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1,85 +0,0 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <linux/unistd.h>
 | 
			
		||||
#include <linux/table.h>
 | 
			
		||||
 | 
			
		||||
#include <syscall.h>
 | 
			
		||||
 | 
			
		||||
static inline _syscall3 (int, table, int, type, union table *, tbl, const void *, param);
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main (void)
 | 
			
		||||
{
 | 
			
		||||
	union table tbl;
 | 
			
		||||
	unsigned count;
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	ret = table (TABLE_VERSION, NULL, NULL);
 | 
			
		||||
 | 
			
		||||
	if (ret == -1) {
 | 
			
		||||
		fprintf (stderr, "table(%u): %s\n", TABLE_VERSION, sys_errlist [errno]);
 | 
			
		||||
		exit (-errno);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Table (%u) = %u\n", TABLE_VERSION, ret);
 | 
			
		||||
 | 
			
		||||
	for (count = 0; count < 5; count++) {
 | 
			
		||||
		ret = table (TABLE_CPU, &tbl, NULL);
 | 
			
		||||
 | 
			
		||||
		if (ret == -1) {
 | 
			
		||||
			fprintf (stderr, "table(%u): %s\n", TABLE_CPU, sys_errlist [errno]);
 | 
			
		||||
			exit (-errno);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		fprintf (stderr, "Table (%u) = %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
			 TABLE_CPU, tbl.cpu.total, tbl.cpu.user, tbl.cpu.nice,
 | 
			
		||||
			 tbl.cpu.sys, tbl.cpu.idle, tbl.cpu.frequency);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ret = table (TABLE_MEM, &tbl, NULL);
 | 
			
		||||
 | 
			
		||||
	if (ret == -1) {
 | 
			
		||||
		fprintf (stderr, "table(%u): %s\n", TABLE_MEM, sys_errlist [errno]);
 | 
			
		||||
		exit (-errno);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Table (%u) = %lu, %lu, %lu, %lu, %lu, %lu\n",
 | 
			
		||||
		 TABLE_MEM, tbl.mem.total, tbl.mem.used, tbl.mem.free,
 | 
			
		||||
		 tbl.mem.shared, tbl.mem.buffer, tbl.mem.cached);
 | 
			
		||||
 | 
			
		||||
	ret = table (TABLE_SWAP, &tbl, NULL);
 | 
			
		||||
 | 
			
		||||
	if (ret == -1) {
 | 
			
		||||
		fprintf (stderr, "table(%u): %s\n", TABLE_SWAP, sys_errlist [errno]);
 | 
			
		||||
		exit (-errno);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Table (%u) = %lu, %lu, %lu\n",
 | 
			
		||||
		 TABLE_SWAP, tbl.swap.total, tbl.swap.used, tbl.swap.free);
 | 
			
		||||
	
 | 
			
		||||
	ret = table (TABLE_LOADAVG, &tbl, NULL);
 | 
			
		||||
 | 
			
		||||
	if (ret == -1) {
 | 
			
		||||
		fprintf (stderr, "table(%u): %s\n", TABLE_LOADAVG, sys_errlist [errno]);
 | 
			
		||||
		exit (-errno);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Table (%u) = (%lu, %lu, %lu) - %u, %u, %u\n",
 | 
			
		||||
		 TABLE_LOADAVG, tbl.loadavg.loadavg [0], tbl.loadavg.loadavg [1],
 | 
			
		||||
		 tbl.loadavg.loadavg [2], tbl.loadavg.nr_running,
 | 
			
		||||
		 tbl.loadavg.nr_tasks, tbl.loadavg.last_pid);
 | 
			
		||||
	
 | 
			
		||||
	ret = table (TABLE_UPTIME, &tbl, NULL);
 | 
			
		||||
 | 
			
		||||
	if (ret == -1) {
 | 
			
		||||
		fprintf (stderr, "table(%u): %s\n", TABLE_UPTIME, sys_errlist [errno]);
 | 
			
		||||
		exit (-errno);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Table (%u) = %lu, %lu\n",
 | 
			
		||||
		 TABLE_UPTIME, tbl.uptime.uptime, tbl.uptime.idle);
 | 
			
		||||
	
 | 
			
		||||
	exit (0);
 | 
			
		||||
}
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
#define _TABLE_VERSION	1
 | 
			
		||||
@@ -32,4 +32,3 @@ sysinfo.lo
 | 
			
		||||
uptime.lo
 | 
			
		||||
write.lo
 | 
			
		||||
xmalloc.lo
 | 
			
		||||
lib.c
 | 
			
		||||
 
 | 
			
		||||
@@ -8,14 +8,10 @@ CFLAGS				= -Wall -W @CFLAGS@ -DGTOP_SERVER=\""@LIBGTOP_SERVER@"\"
 | 
			
		||||
 | 
			
		||||
lib_LTLIBRARIES			= libgtop.la
 | 
			
		||||
 | 
			
		||||
libgtop_la_SOURCES		= init.c open.c close.c command.c read.c read_data.c write.c lib.c
 | 
			
		||||
libgtop_la_SOURCES		= init.c open.c close.c read.c read_data.c \
 | 
			
		||||
				  write.c command.c cpu.c mem.c swap.c uptime.c \
 | 
			
		||||
				  loadavg.c shm_limits.c msg_limits.c \
 | 
			
		||||
				  sem_limits.c proclist.c procstate.c procuid.c \
 | 
			
		||||
				  proctime.c procmem.c procsignal.c prockernel.c \
 | 
			
		||||
				  procsegment.c
 | 
			
		||||
 | 
			
		||||
BUILT_SOURCES			= lib.c
 | 
			
		||||
 | 
			
		||||
lib.c: lib.awk $(top_builddir)/config.h $(top_builddir)/features.def
 | 
			
		||||
	$(AWK) -f $(srcdir)/lib.awk < $(top_builddir)/features.def > lib-t
 | 
			
		||||
	mv lib-t lib.c
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST			= lib.awk
 | 
			
		||||
 | 
			
		||||
CLEANFILES			= lib.c
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@
 | 
			
		||||
/* Closes pipe to gtop server. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_close_r (glibtop *server)
 | 
			
		||||
glibtop_close (glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	kill (server->pid, SIGKILL);
 | 
			
		||||
	close (server->input [0]);
 | 
			
		||||
 
 | 
			
		||||
@@ -27,28 +27,28 @@
 | 
			
		||||
#include <glibtop/xmalloc.h>
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_call_l (glibtop *server, unsigned command, size_t send_size, void *send_buf,
 | 
			
		||||
glibtop_call__r (glibtop *server, unsigned command, size_t send_size, void *send_buf,
 | 
			
		||||
		 size_t recv_size, void *recv_buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_command *cmnd;
 | 
			
		||||
	void *ptr;
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
 | 
			
		||||
	cmnd = glibtop_calloc_r (server, 1, sizeof (glibtop_command));
 | 
			
		||||
	cmnd = glibtop_calloc__r (server, 1, sizeof (glibtop_command));
 | 
			
		||||
	
 | 
			
		||||
	memcpy (&cmnd->server, server, sizeof (glibtop));
 | 
			
		||||
	
 | 
			
		||||
	cmnd->command = command;
 | 
			
		||||
	cmnd->size = send_size;
 | 
			
		||||
	
 | 
			
		||||
	glibtop_write_l (server, sizeof (glibtop_command), cmnd);
 | 
			
		||||
	glibtop_write_l (server, send_size, send_buf);
 | 
			
		||||
	glibtop_read_l  (server, recv_size, recv_buf);
 | 
			
		||||
	glibtop_write__r (server, sizeof (glibtop_command), cmnd);
 | 
			
		||||
	glibtop_write__r (server, send_size, send_buf);
 | 
			
		||||
	glibtop_read__r  (server, recv_size, recv_buf);
 | 
			
		||||
	
 | 
			
		||||
	ptr = glibtop_read_data_l (server);
 | 
			
		||||
	ptr = glibtop_read_data__r (server);
 | 
			
		||||
	
 | 
			
		||||
	glibtop_free_r (server, cmnd);
 | 
			
		||||
	glibtop_free__r (server, cmnd);
 | 
			
		||||
	
 | 
			
		||||
	return ptr;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,13 +19,14 @@
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/version.h>
 | 
			
		||||
#include <glibtop/cpu.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides information about cpu usage. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_version (void)
 | 
			
		||||
glibtop_get_cpu__r (glibtop *server, glibtop_cpu *buf)
 | 
			
		||||
{
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
	
 | 
			
		||||
	sprintf (buffer, "%s server %s ready.\n", PACKAGE, VERSION);
 | 
			
		||||
	glibtop_output (strlen (buffer), buffer);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_CPU, 0, NULL, sizeof (glibtop_cpu), buf);
 | 
			
		||||
}
 | 
			
		||||
@@ -26,16 +26,14 @@ static glibtop	_glibtop_global_server;
 | 
			
		||||
glibtop		*glibtop_global_server = NULL;
 | 
			
		||||
 | 
			
		||||
glibtop *
 | 
			
		||||
glibtop_init_r (glibtop **server, const unsigned long features,
 | 
			
		||||
		 const unsigned flags)
 | 
			
		||||
glibtop_init__r (glibtop **server)
 | 
			
		||||
{
 | 
			
		||||
	if (*server != NULL)
 | 
			
		||||
		return *server;
 | 
			
		||||
 | 
			
		||||
	if (glibtop_global_server == NULL) {
 | 
			
		||||
		glibtop_global_server = &_glibtop_global_server;
 | 
			
		||||
		glibtop_open_l (glibtop_global_server, "glibtop",
 | 
			
		||||
				 features, flags);
 | 
			
		||||
		glibtop_open (glibtop_global_server, "glibtop");
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return *server = glibtop_global_server;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								lib/lib.awk
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								lib/lib.awk
									
									
									
									
									
								
							@@ -1,52 +0,0 @@
 | 
			
		||||
BEGIN {
 | 
			
		||||
  print "/* lib.c */";
 | 
			
		||||
  print "/* This is a generated file.  Please modify `lib.awk' */";
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
  print "#include <glibtop.h>";
 | 
			
		||||
  print "#include <glibtop/sysdeps.h>";
 | 
			
		||||
  print "#include <glibtop/command.h>";
 | 
			
		||||
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function output(feature) {
 | 
			
		||||
  if (feature ~ /^proclist$/) {
 | 
			
		||||
    print "unsigned *";
 | 
			
		||||
    prefix = "return ";
 | 
			
		||||
  } else {
 | 
			
		||||
    prefix = "";
 | 
			
		||||
    print "void";
 | 
			
		||||
  }
 | 
			
		||||
  if (feature ~ /^proc_/) {
 | 
			
		||||
    param = ", pid_t pid";
 | 
			
		||||
  } else {
 | 
			
		||||
    param = "";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  print "glibtop_get_"feature"_l (glibtop *server, glibtop_"feature" *buf"param")";
 | 
			
		||||
  print "{";
 | 
			
		||||
  print "\tglibtop_init_r (&server, GLIBTOP_SYSDEPS_"toupper(feature)", 0);";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tif (server->features & GLIBTOP_SYSDEPS_"toupper(feature)") {";
 | 
			
		||||
 | 
			
		||||
  if (feature ~ /^proc_/) {
 | 
			
		||||
    print "\t\t"prefix"glibtop_call_l (server, GLIBTOP_CMND_"toupper(feature)", sizeof (pid_t),";
 | 
			
		||||
    print "\t\t\t\t&pid, sizeof (glibtop_"feature"), buf);";
 | 
			
		||||
    print "\t} else {";
 | 
			
		||||
    print "\t\t"prefix"glibtop_get_"feature"_r (server, buf, pid);";
 | 
			
		||||
  } else {
 | 
			
		||||
    print "\t\t"prefix"glibtop_call_l (server, GLIBTOP_CMND_"toupper(feature)", 0, NULL,";
 | 
			
		||||
    print "\t\t\t  sizeof (glibtop_"feature"), buf);";
 | 
			
		||||
    print "\t} else {";
 | 
			
		||||
    print "\t\t"prefix"glibtop_get_"feature"_r (server, buf);";
 | 
			
		||||
  }
 | 
			
		||||
  print "\t}";
 | 
			
		||||
  print "}";
 | 
			
		||||
  print "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/^(\w+)/	{ output($1) }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -19,18 +19,15 @@
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_TYPES_H__
 | 
			
		||||
#define __GLIBTOP_TYPES_H__
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <glibtop/loadavg.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
/* Provides load averange. */
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_TYPE_LONG	1
 | 
			
		||||
#define GLIBTOP_TYPE_ULONG	2
 | 
			
		||||
#define GLIBTOP_TYPE_DOUBLE	3
 | 
			
		||||
#define GLIBTOP_TYPE_INT	4
 | 
			
		||||
#define GLIBTOP_TYPE_CHAR	5
 | 
			
		||||
#define GLIBTOP_TYPE_STRING	6
 | 
			
		||||
 | 
			
		||||
__END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_loadavg__r (glibtop *server, glibtop_loadavg *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_LOADAVG, 0, NULL, sizeof (glibtop_loadavg), buf);
 | 
			
		||||
}
 | 
			
		||||
@@ -19,13 +19,14 @@
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/output.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides information about memory usage. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_output (size_t size, const void *buf)
 | 
			
		||||
glibtop_get_mem__r (glibtop *server, glibtop_mem *buf)
 | 
			
		||||
{
 | 
			
		||||
	if (write (1, &size, sizeof (size_t)) < 0)
 | 
			
		||||
		_exit (2);
 | 
			
		||||
	if (write (1, buf, size) < 0)
 | 
			
		||||
		_exit (2);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_MEM, 0, NULL, sizeof (glibtop_mem), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								lib/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/msg_limits.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides information about sysv ipc limits. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_msg_limits__r (glibtop *server, glibtop_msg_limits *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_MSG_LIMITS, 0, NULL, sizeof (glibtop_msg_limits), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										108
									
								
								lib/open.c
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								lib/open.c
									
									
									
									
									
								
							@@ -19,138 +19,42 @@
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
#include <glibtop/xmalloc.h>
 | 
			
		||||
 | 
			
		||||
/* Opens pipe to gtop server. Returns 0 on success and -1 on error. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_open_l (glibtop *server, const char *program_name,
 | 
			
		||||
		 const unsigned long features, const unsigned flags)
 | 
			
		||||
glibtop_open (glibtop *server, const char *program_name)
 | 
			
		||||
{
 | 
			
		||||
	char	version [BUFSIZ], buffer [BUFSIZ];
 | 
			
		||||
	char	*server_command, *server_rsh, *temp;
 | 
			
		||||
	char	*server_host, *server_user;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
 | 
			
		||||
	memset (server, 0, sizeof (glibtop));
 | 
			
		||||
 | 
			
		||||
	server->name = program_name;
 | 
			
		||||
 | 
			
		||||
	/* Is the user allowed to override the server ? */
 | 
			
		||||
 | 
			
		||||
	if ((flags & GLIBTOP_OPEN_NO_OVERRIDE) == 0) {
 | 
			
		||||
 | 
			
		||||
		/* Try to get data from environment. */
 | 
			
		||||
		
 | 
			
		||||
		temp = getenv ("LIBGTOP_SERVER") ?
 | 
			
		||||
			getenv ("LIBGTOP_SERVER") : GTOP_SERVER;
 | 
			
		||||
		
 | 
			
		||||
		server_command = glibtop_malloc_r (server, strlen (temp) + 1);
 | 
			
		||||
		
 | 
			
		||||
		strcpy (server_command, temp);
 | 
			
		||||
		
 | 
			
		||||
		temp = getenv ("LIBGTOP_RSH") ?
 | 
			
		||||
			getenv ("LIBGTOP_RSH") : "rsh";
 | 
			
		||||
		
 | 
			
		||||
		server_rsh = glibtop_malloc_r (server, strlen (temp) + 1);
 | 
			
		||||
		
 | 
			
		||||
		strcpy (server_rsh, temp);
 | 
			
		||||
		
 | 
			
		||||
		/* Extract host and user information. */
 | 
			
		||||
		
 | 
			
		||||
		temp = strstr (server_command, ":");
 | 
			
		||||
		
 | 
			
		||||
		if (temp) {
 | 
			
		||||
			*temp = 0;
 | 
			
		||||
			server_host = server_command;
 | 
			
		||||
			server_command = temp+1;
 | 
			
		||||
			
 | 
			
		||||
			temp = strstr (server_host, "@");
 | 
			
		||||
			
 | 
			
		||||
			if (temp) {
 | 
			
		||||
				*temp = 0;
 | 
			
		||||
				server_user = server_host;
 | 
			
		||||
				server_host = temp+1;
 | 
			
		||||
			} else {
 | 
			
		||||
				server_user = NULL;
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			server_host = NULL;
 | 
			
		||||
			server_user = NULL;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		/* Store everything in `server'. */
 | 
			
		||||
		
 | 
			
		||||
		server->server_command = server_command;
 | 
			
		||||
		server->server_host = server_host;
 | 
			
		||||
		server->server_user = server_user;
 | 
			
		||||
		server->server_rsh = server_rsh;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/* Get server features. */
 | 
			
		||||
	
 | 
			
		||||
	if (server->server_host == NULL) {
 | 
			
		||||
		server->features = glibtop_server_features;
 | 
			
		||||
		
 | 
			
		||||
		if (server->features == 0)
 | 
			
		||||
			return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Fork and exec server. */
 | 
			
		||||
 | 
			
		||||
	if (pipe (server->input) || pipe (server->output))
 | 
			
		||||
		glibtop_error_r (server, _("cannot make a pipe: %s\n"),
 | 
			
		||||
				  strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("cannot make a pipe: %s\n"), strerror (errno));
 | 
			
		||||
 | 
			
		||||
	server->pid  = fork ();
 | 
			
		||||
 | 
			
		||||
	if (server->pid < 0) {
 | 
			
		||||
		glibtop_error_r (server, _("%s: fork failed: %s\n"),
 | 
			
		||||
				  strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("%s: fork failed: %s\n"), strerror (errno));
 | 
			
		||||
	} else if (server->pid == 0) {
 | 
			
		||||
		close (0); close (1); /* close (2); */
 | 
			
		||||
		close (server->input [0]); close (server->output [1]);
 | 
			
		||||
		dup2 (server->input [1], 1); /* dup2 (server->input [1], 2); */
 | 
			
		||||
		dup2 (server->output [0], 0);
 | 
			
		||||
 | 
			
		||||
		if (server_host) {
 | 
			
		||||
			if (server_user) {
 | 
			
		||||
				execl (server->server_rsh, "-l",
 | 
			
		||||
				       server->server_user, server->server_host,
 | 
			
		||||
				       server->server_command, NULL);
 | 
			
		||||
			} else {
 | 
			
		||||
				execl (server->server_rsh,
 | 
			
		||||
				       server->server_host, server_command, NULL);
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			execl (server->server_command, NULL);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		execl (GTOP_SERVER, NULL);
 | 
			
		||||
		_exit (2);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "PID: %d\n", server->pid);
 | 
			
		||||
 | 
			
		||||
	close (server->input [1]);
 | 
			
		||||
	close (server->output [0]);
 | 
			
		||||
 | 
			
		||||
	sprintf (version, "%s server %s ready.\n", PACKAGE, VERSION);
 | 
			
		||||
 | 
			
		||||
	glibtop_read_l (server, strlen (version), buffer);
 | 
			
		||||
	glibtop_read__r (server, strlen (version), buffer);
 | 
			
		||||
 | 
			
		||||
	if (memcmp (version, buffer, strlen (version)))
 | 
			
		||||
		glibtop_error_r (server, _("server version is not %s"), VERSION);
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Calling GLITOP_CMND_SYSDEPS ...\n");
 | 
			
		||||
 | 
			
		||||
	glibtop_call_l (server, GLIBTOP_CMND_SYSDEPS, 0, NULL,
 | 
			
		||||
			 sizeof (glibtop_sysdeps), &sysdeps);
 | 
			
		||||
 | 
			
		||||
	server->features = sysdeps.features;
 | 
			
		||||
 | 
			
		||||
	fprintf (stderr, "Features: %lu\n", server->features);
 | 
			
		||||
		glibtop_error__r (server, _("server version is not %s"), VERSION);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/prockernel.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/prockernel.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/prockernel.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_kernel__r (glibtop *server, glibtop_proc_kernel *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_KERNEL, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_kernel), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								lib/proclist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/proclist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/proclist.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Fetch list of currently running processes. */
 | 
			
		||||
 | 
			
		||||
unsigned *
 | 
			
		||||
glibtop_get_proclist__r (glibtop *server, glibtop_proclist *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	return glibtop_call__r (server, GLIBTOP_CMND_PROCLIST, 0, NULL, sizeof (glibtop_proclist), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/procmem.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/procmem.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procmem.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_mem__r (glibtop *server, glibtop_proc_mem *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_MEM, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_mem), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/procsegment.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/procsegment.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procsegment.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_segment__r (glibtop *server, glibtop_proc_segment *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_SEGMENT, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_segment), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/procsignal.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/procsignal.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procsignal.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_signal__r (glibtop *server, glibtop_proc_signal *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_SIGNAL, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_signal), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/procstate.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/procstate.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procstate.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_state__r (glibtop *server, glibtop_proc_state *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_STATE, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_state), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/proctime.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/proctime.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/proctime.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_time__r (glibtop *server, glibtop_proc_time *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_TIME, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_time), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								lib/procuid.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								lib/procuid.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/procuid.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_proc_uid__r (glibtop *server, glibtop_proc_uid *buf,
 | 
			
		||||
			   pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_PROC_UID, sizeof (pid_t),
 | 
			
		||||
			 &pid, sizeof (glibtop_proc_uid), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								lib/read.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								lib/read.c
									
									
									
									
									
								
							@@ -24,18 +24,18 @@
 | 
			
		||||
/* Reads some data from server. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_read_l (glibtop *server, size_t size, void *buf)
 | 
			
		||||
glibtop_read__r (glibtop *server, size_t size, void *buf)
 | 
			
		||||
{
 | 
			
		||||
	size_t	ssize;
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	
 | 
			
		||||
	if (read (server->input [0], &ssize, sizeof (size_t)) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("read size: %s"), strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("read size: %s"), strerror (errno));
 | 
			
		||||
	
 | 
			
		||||
	if (size != ssize)
 | 
			
		||||
		glibtop_error_r (server, _("got %d bytes but requested %d"), ssize, size);
 | 
			
		||||
		glibtop_error__r (server, _("got %d bytes but requested %d"), ssize, size);
 | 
			
		||||
	
 | 
			
		||||
	if (read (server->input [0], buf, size) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("read %d bytes: %s"), size, strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("read %d bytes: %s"), size, strerror (errno));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -25,24 +25,24 @@
 | 
			
		||||
/* Reads some data from server. */
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_read_data_l (glibtop *server)
 | 
			
		||||
glibtop_read_data__r (glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	size_t	size;
 | 
			
		||||
	void *ptr;
 | 
			
		||||
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
 | 
			
		||||
	if (read (server->input [0], &size, sizeof (size_t)) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("read data size: %s"),
 | 
			
		||||
				  strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("read data size: %s"), strerror (errno));
 | 
			
		||||
 | 
			
		||||
	if (!size) return NULL;	
 | 
			
		||||
 | 
			
		||||
	ptr = glibtop_malloc_r (server, size);
 | 
			
		||||
	fprintf (stderr, "Server has %d bytes of data.\n", size);
 | 
			
		||||
	
 | 
			
		||||
	ptr = glibtop_malloc__r (server, size);
 | 
			
		||||
	
 | 
			
		||||
	if (read (server->input [0], ptr, size) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("read data %d bytes: %s"),
 | 
			
		||||
				  size, strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("read data %d bytes: %s"), size, strerror (errno));
 | 
			
		||||
 | 
			
		||||
	return ptr;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								lib/sem_limits.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/sem_limits.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/sem_limits.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides information about sysv ipc limits. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_sem_limits__r (glibtop *server, glibtop_sem_limits *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_SEM_LIMITS, 0, NULL, sizeof (glibtop_sem_limits), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								lib/shm_limits.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								lib/shm_limits.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/shm_limits.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides information about sysv ipc limits. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_shm_limits__r (glibtop *server, glibtop_shm_limits *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_SHM_LIMITS, 0, NULL, sizeof (glibtop_shm_limits), buf);
 | 
			
		||||
}
 | 
			
		||||
@@ -19,10 +19,14 @@
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/close.h>
 | 
			
		||||
#include <glibtop/swap.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Closes pipe to gtop server. */
 | 
			
		||||
/* Provides information about swap usage. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_close_l (glibtop *server)
 | 
			
		||||
{ }
 | 
			
		||||
glibtop_get_swap__r (glibtop *server, glibtop_swap *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_SWAP, 0, NULL, sizeof (glibtop_swap), buf);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										33
									
								
								lib/uptime.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								lib/uptime.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <glibtop/uptime.h>
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
 | 
			
		||||
/* Provides uptime and idle time. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_uptime__r (glibtop *server, glibtop_uptime *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
	glibtop_call__r (server, GLIBTOP_CMND_UPTIME, 0, NULL, sizeof (glibtop_uptime), buf);
 | 
			
		||||
}
 | 
			
		||||
@@ -24,15 +24,15 @@
 | 
			
		||||
/* Writes some data to server. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_write_l (glibtop *server, size_t size, void *buf)
 | 
			
		||||
glibtop_write__r (glibtop *server, size_t size, void *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_init_r (&server, 0, 0);
 | 
			
		||||
	glibtop_init__r (&server);
 | 
			
		||||
 | 
			
		||||
	if (write (server->output [1], &size, sizeof (size_t)) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("write size: %s"), strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("write size: %s"), strerror (errno));
 | 
			
		||||
 | 
			
		||||
	if (!size) return;
 | 
			
		||||
	
 | 
			
		||||
	if (write (server->output [1], buf, size) < 0)
 | 
			
		||||
		glibtop_error_r (server, _("write %d bytes: %s"), size, strerror (errno));
 | 
			
		||||
		glibtop_error__r (server, _("write %d bytes: %s"), size, strerror (errno));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										70
									
								
								libgtop.spec
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								libgtop.spec
									
									
									
									
									
								
							@@ -3,32 +3,39 @@
 | 
			
		||||
%define rel      SNAP
 | 
			
		||||
%define prefix   /usr
 | 
			
		||||
 | 
			
		||||
Summary: libgtop library
 | 
			
		||||
Summary: GNOME Top Library
 | 
			
		||||
Name: libgtop
 | 
			
		||||
Version: %ver
 | 
			
		||||
Release: %rel
 | 
			
		||||
Copyright: LGPL
 | 
			
		||||
Group: X11/Libraries
 | 
			
		||||
Group: X11/gnome
 | 
			
		||||
Source: ftp://ftp.gnome.org/pub/libgtop-%{ver}.tar.gz
 | 
			
		||||
BuildRoot: /tmp/libgtop-root
 | 
			
		||||
Packager: Michael Fulbright <msf@redhat.com>
 | 
			
		||||
URL: http://www.gnome.org
 | 
			
		||||
Prereq: /sbin/install-info
 | 
			
		||||
Obsoletes: gnome
 | 
			
		||||
Packager: Marc Ewing <marc@redhat.com>
 | 
			
		||||
URL: http://www.gnome.org/
 | 
			
		||||
Docdir: %{prefix}/doc
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
Library that fetches information about the running system such as cpu
 | 
			
		||||
and memory usage, active processes etc. On Linux systems, these information
 | 
			
		||||
are taken directly from the /proc filesystem. For other systems such as
 | 
			
		||||
Solaris, where such programs need to be suid root (or only setgid kmem/mem
 | 
			
		||||
on some systems), it provides a suid/setgid server that fetches those
 | 
			
		||||
information and a client-side library that talks to this server.
 | 
			
		||||
 | 
			
		||||
A library that fetches 
 | 
			
		||||
information about the running system such as cpu and memory usage,
 | 
			
		||||
active processes etc. On Linux systems, these information are taken
 | 
			
		||||
directly from the /proc filesystem. 
 | 
			
		||||
Main idea was to have the same interface for all operating systems,
 | 
			
		||||
thus all system dependent details are hidden in the implementation
 | 
			
		||||
of that server.
 | 
			
		||||
 | 
			
		||||
%package devel
 | 
			
		||||
Summary: Libraries, includes, etc to use libgtop in GNOME applications
 | 
			
		||||
Group: X11/gnome
 | 
			
		||||
Requires: libgtop
 | 
			
		||||
Obsoletes: gnome
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
 | 
			
		||||
* Tue Jun  2 1998 Michael Fulbright <msf@redhat.com>
 | 
			
		||||
 | 
			
		||||
- first version of the RPM
 | 
			
		||||
%description devel
 | 
			
		||||
Libraries, include files, etc you need to use libgtop in GNOME applications.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
%setup
 | 
			
		||||
@@ -36,9 +43,9 @@ directly from the /proc filesystem.
 | 
			
		||||
%build
 | 
			
		||||
# Needed for snapshot releases.
 | 
			
		||||
if [ ! -f configure ]; then
 | 
			
		||||
  CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --disable-libgtop-examples
 | 
			
		||||
  CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix
 | 
			
		||||
else
 | 
			
		||||
  CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --disable-libgtop-examples
 | 
			
		||||
  CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$SMP" != "" ]; then
 | 
			
		||||
@@ -53,29 +60,30 @@ rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
make prefix=$RPM_BUILD_ROOT%{prefix} install
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# msf - remove these as they are really supposed to come from gnome-libs
 | 
			
		||||
#
 | 
			
		||||
rm -f $RPM_BUILD_ROOT/%{prefix}/lib/libgnomesupport.a
 | 
			
		||||
rm -f $RPM_BUILD_ROOT/%{prefix}/lib/libgnomesupport.la
 | 
			
		||||
rm -f $RPM_BUILD_ROOT/%{prefix}/lib/libgnomesupport.so.0
 | 
			
		||||
rm -f $RPM_BUILD_ROOT/%{prefix}/lib/libgnomesupport.so.0.0.0
 | 
			
		||||
 | 
			
		||||
rm -fr $RPM_BUILD_ROOT/%{prefix}/include/libgtop
 | 
			
		||||
 | 
			
		||||
%clean
 | 
			
		||||
#rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
 | 
			
		||||
%post -p /sbin/ldconfig
 | 
			
		||||
%post 
 | 
			
		||||
if ! grep %{prefix}/lib /etc/ld.so.conf > /dev/null ; then
 | 
			
		||||
  echo "%{prefix}/lib" >> /etc/ld.so.conf
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
/sbin/ldconfig
 | 
			
		||||
 | 
			
		||||
%postun -p /sbin/ldconfig
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%defattr(-, root, root)
 | 
			
		||||
 | 
			
		||||
%doc ANNOUNCE AUTHORS ChangeLog NEWS README README.LATEST copyright.txt doc
 | 
			
		||||
%{prefix}/bin/*
 | 
			
		||||
%doc AUTHORS COPYING ChangeLog NEWS README
 | 
			
		||||
%{prefix}/lib/lib*.so.*
 | 
			
		||||
%{prefix}/lib/libgtopConf.sh
 | 
			
		||||
%{prefix}/bin/*
 | 
			
		||||
 | 
			
		||||
%files devel
 | 
			
		||||
%defattr(-, root, root)
 | 
			
		||||
 | 
			
		||||
%{prefix}/lib/lib*.so
 | 
			
		||||
%{prefix}/lib/*a
 | 
			
		||||
%{prefix}/lib/*.sh
 | 
			
		||||
%{prefix}/lib/libgtop
 | 
			
		||||
%{prefix}/include/*
 | 
			
		||||
 
 | 
			
		||||
@@ -2,5 +2,4 @@ Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
POTFILES
 | 
			
		||||
cat-id-tbl.c
 | 
			
		||||
fr.gmo
 | 
			
		||||
libgtop.pot
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,3 @@
 | 
			
		||||
Sun, 31 May 1998 22:38:59 +0200  Vincent Renardias  <vincent@waw.com>
 | 
			
		||||
 | 
			
		||||
	* fr.po: new file - ChangeLog isn't empty anymore _(;
 | 
			
		||||
 | 
			
		||||
1998-05-21  Martin Baulig  <martin@home-of-linux.org>
 | 
			
		||||
 | 
			
		||||
	* ChangeLog: new file - currently empty
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,17 @@
 | 
			
		||||
lib/close.c
 | 
			
		||||
lib/command.c
 | 
			
		||||
lib/cpu.c
 | 
			
		||||
lib/mem.c
 | 
			
		||||
lib/open.c
 | 
			
		||||
lib/read.c
 | 
			
		||||
lib/swap.c
 | 
			
		||||
lib/write.c
 | 
			
		||||
lib/uptime.c
 | 
			
		||||
lib/loadavg.c
 | 
			
		||||
lib/shm_limits.c
 | 
			
		||||
lib/msg_limits.c
 | 
			
		||||
lib/sem_limits.c
 | 
			
		||||
lib/proclist.c
 | 
			
		||||
lib/read_data.c
 | 
			
		||||
acconfig.h
 | 
			
		||||
glibtop.h
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										402
									
								
								po/fr.po
									
									
									
									
									
								
							
							
						
						
									
										402
									
								
								po/fr.po
									
									
									
									
									
								
							@@ -1,402 +0,0 @@
 | 
			
		||||
# libgtop fr.po
 | 
			
		||||
# Copyright (C) 1998 Free Software Foundation, Inc.
 | 
			
		||||
# Vincent Renardias <vincent@waw.com>, 1998.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop VERSION\n"
 | 
			
		||||
"POT-Creation-Date: 1998-05-31 22:31+0200\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: Vincent Renardias <vincent@waw.com>\n"
 | 
			
		||||
"Language-Team: Vincent Renardias <vincent@waw.com>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=iso-8859-1\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
 | 
			
		||||
#: lib/open.c:36
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "cannot make a pipe: %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/open.c:41
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "%s: fork failed: %s\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/open.c:59
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "server version is not %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:34
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read size: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:37
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "got %d bytes but requested %d"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:40
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d bytes: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:32
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "write size: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:37
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "write %d bytes: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:36
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read data size: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:46
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read data %d bytes: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/common/xmalloc.c:32
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "malloc %d bytes: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/common/xmalloc.c:44
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "calloc %d block (%d bytes each): %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/common/xmalloc.c:56
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "realloc %d bytes: %s"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:42 sysdeps/names/sysdeps.c:62
 | 
			
		||||
msgid "CPU Usage"
 | 
			
		||||
msgstr "Utilisation CPU"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:43 sysdeps/names/sysdeps.c:63
 | 
			
		||||
msgid "Memory Usage"
 | 
			
		||||
msgstr "Utilisation M<>moire"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:44 sysdeps/names/sysdeps.c:64
 | 
			
		||||
msgid "Swap Usage"
 | 
			
		||||
msgstr "Utilisation du Swap"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:45 sysdeps/names/sysdeps.c:65
 | 
			
		||||
msgid "System Uptime"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:46 sysdeps/names/sysdeps.c:66
 | 
			
		||||
msgid "Load Averange"
 | 
			
		||||
msgstr "Charge moyenne"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:47 sysdeps/names/sysdeps.c:67
 | 
			
		||||
msgid "Shared Memory Limits"
 | 
			
		||||
msgstr "Limites de la m<>moire partag<61>e"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:48 sysdeps/names/sysdeps.c:68
 | 
			
		||||
msgid "Message Queue Limits"
 | 
			
		||||
msgstr "Limites de la queue de messages"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:49 sysdeps/names/sysdeps.c:69
 | 
			
		||||
msgid "Semaphore Set Limits"
 | 
			
		||||
msgstr "Limites de l'ensemble de s<>maphores"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:50 sysdeps/names/sysdeps.c:70
 | 
			
		||||
msgid "List of running Processes"
 | 
			
		||||
msgstr "Liste des taches en cours d'<27>x<EFBFBD>cution"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:51 sysdeps/names/sysdeps.c:71
 | 
			
		||||
msgid "Process Status information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:52 sysdeps/names/sysdeps.c:72
 | 
			
		||||
msgid "Process UID and TTY information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:53 sysdeps/names/sysdeps.c:73
 | 
			
		||||
msgid "Process Memory information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:54 sysdeps/names/sysdeps.c:74
 | 
			
		||||
msgid "Process Time information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:55 sysdeps/names/sysdeps.c:75
 | 
			
		||||
msgid "Process Signal information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:56 sysdeps/names/sysdeps.c:76
 | 
			
		||||
msgid "Process Kernel Data information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sysdeps.c:57 sysdeps/names/sysdeps.c:77
 | 
			
		||||
msgid "Process Segment information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:37
 | 
			
		||||
msgid "Total CPU Time"
 | 
			
		||||
msgstr "Temps CPU Total"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:38
 | 
			
		||||
msgid "CPU Time in User Mode"
 | 
			
		||||
msgstr "Temps CPU en mode utilisateur"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:39
 | 
			
		||||
msgid "CPU Time in User Mode (nice)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:40
 | 
			
		||||
msgid "CPU Time in System Mode"
 | 
			
		||||
msgstr "Temps CPU en mode syst<73>me"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:41
 | 
			
		||||
msgid "CPU Time in the Idle Task"
 | 
			
		||||
msgstr "Temps CPU pour la tache inactive"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:42
 | 
			
		||||
msgid "Tick Frequency"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:47
 | 
			
		||||
msgid "The number of jiffies (1/100ths of a second) since system boot"
 | 
			
		||||
msgstr "Nombre de jiffies (1/100e de seconde) depuis le boot du syst<73>me"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:49
 | 
			
		||||
msgid ""
 | 
			
		||||
"The number of jiffies (1/100ths of a second) that the system spent in user "
 | 
			
		||||
"mode"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:51
 | 
			
		||||
msgid ""
 | 
			
		||||
"The number of jiffies (1/100ths of a second) that the system spent in user "
 | 
			
		||||
"mode with low priority (nice)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:53
 | 
			
		||||
msgid ""
 | 
			
		||||
"The number of jiffies (1/100ths of a second) that the system spent in system "
 | 
			
		||||
"mode"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:55
 | 
			
		||||
msgid ""
 | 
			
		||||
"The number of jiffies (1/100ths of a second) that the system spend in the "
 | 
			
		||||
"idle task"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/cpu.c:57
 | 
			
		||||
msgid ""
 | 
			
		||||
"All of the above values are in jiffies (1/100ths of a second) unless "
 | 
			
		||||
"otherwise stated in this field (i.e. 'frequency != 100')"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/loadavg.c:36
 | 
			
		||||
msgid "Load Average"
 | 
			
		||||
msgstr "Charge Moyenne"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/loadavg.c:41
 | 
			
		||||
msgid "Number of jobs running simultaneously averaged over 1, 5 and 15 minutes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:39
 | 
			
		||||
msgid "Total Memory"
 | 
			
		||||
msgstr "M<>moire Totale"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:40
 | 
			
		||||
msgid "Used Memory"
 | 
			
		||||
msgstr "M<>moire Utilis<69>e"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:41
 | 
			
		||||
msgid "Free Memory"
 | 
			
		||||
msgstr "M<>moire Libre"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:42
 | 
			
		||||
msgid "Shared Memory"
 | 
			
		||||
msgstr "M<>moire Partag<61>e"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:43
 | 
			
		||||
msgid "Buffers"
 | 
			
		||||
msgstr "Tampons"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:44
 | 
			
		||||
msgid "Cached"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:45
 | 
			
		||||
msgid "User"
 | 
			
		||||
msgstr "Utilisateur"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:46
 | 
			
		||||
msgid "Locked"
 | 
			
		||||
msgstr "V<>rouill<6C>"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:51
 | 
			
		||||
msgid "Total physical memory in kB"
 | 
			
		||||
msgstr "M<>moire physique totalle en Ko"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:52
 | 
			
		||||
msgid "Used memory size in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:53
 | 
			
		||||
msgid "Free memory size in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:54
 | 
			
		||||
msgid "Shared memory size in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:55
 | 
			
		||||
msgid "Size of buffers kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:56
 | 
			
		||||
msgid "Size of cached memory in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:57
 | 
			
		||||
msgid "Memory used from user processes in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/mem.c:58
 | 
			
		||||
msgid "Memory in locked pages in kB"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/swap.c:36 sysdeps/names/swap.c:43
 | 
			
		||||
msgid "Total Swap Space"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/swap.c:37 sysdeps/names/swap.c:44
 | 
			
		||||
msgid "Used Swap Space"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/swap.c:38 sysdeps/names/swap.c:45
 | 
			
		||||
msgid "Free Swap Space"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/uptime.c:36
 | 
			
		||||
msgid "Uptime"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/uptime.c:37
 | 
			
		||||
msgid "Idletime"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/uptime.c:42
 | 
			
		||||
msgid "Time in seconds since system boot"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/uptime.c:43
 | 
			
		||||
msgid "Time in seconds the system spent in the idle task since system boot"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/shm_limits.c:37 sysdeps/names/shm_limits.c:46
 | 
			
		||||
msgid "Max segment size"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/shm_limits.c:38 sysdeps/names/shm_limits.c:47
 | 
			
		||||
msgid "Min segment size"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/shm_limits.c:39 sysdeps/names/shm_limits.c:48
 | 
			
		||||
msgid "Max number of segments"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/shm_limits.c:40 sysdeps/names/shm_limits.c:49
 | 
			
		||||
msgid "Max shared segments per process"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/shm_limits.c:41 sysdeps/names/shm_limits.c:50
 | 
			
		||||
msgid "Max total shared memory"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:37 sysdeps/names/msg_limits.c:48
 | 
			
		||||
msgid "Size in kilobytes of message pool"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:38 sysdeps/names/msg_limits.c:49
 | 
			
		||||
msgid "Number of entries in message map"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:39 sysdeps/names/msg_limits.c:50
 | 
			
		||||
msgid "Max size of message"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:40 sysdeps/names/msg_limits.c:51
 | 
			
		||||
msgid "Default max size of queue"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:41 sysdeps/names/msg_limits.c:52
 | 
			
		||||
msgid "Max queues system wide"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:42 sysdeps/names/msg_limits.c:53
 | 
			
		||||
msgid "Message segment size"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/msg_limits.c:43 sysdeps/names/msg_limits.c:54
 | 
			
		||||
msgid "Number of system message headers"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:39 sysdeps/names/sem_limits.c:53
 | 
			
		||||
msgid "Number of entries in semaphore map"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:40 sysdeps/names/sem_limits.c:54
 | 
			
		||||
msgid "Max number of arrays"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:41 sysdeps/names/sem_limits.c:55
 | 
			
		||||
msgid "Max semaphores system wide"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:42 sysdeps/names/sem_limits.c:56
 | 
			
		||||
msgid "Number of undo structures system wide"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:43 sysdeps/names/sem_limits.c:57
 | 
			
		||||
msgid "Max semaphores per array"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:44 sysdeps/names/sem_limits.c:58
 | 
			
		||||
msgid "Max ops per semop call"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:45 sysdeps/names/sem_limits.c:59
 | 
			
		||||
msgid "Max number of undo entries per process"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:46 sysdeps/names/sem_limits.c:60
 | 
			
		||||
msgid "sizeof struct sem_undo"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:47 sysdeps/names/sem_limits.c:61
 | 
			
		||||
msgid "Semaphore max value"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/sem_limits.c:48 sysdeps/names/sem_limits.c:62
 | 
			
		||||
msgid "Adjust on exit max value"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/proclist.c:36 sysdeps/names/proclist.c:43
 | 
			
		||||
msgid "Number of list elements"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/proclist.c:37 sysdeps/names/proclist.c:44
 | 
			
		||||
msgid "Total size of list"
 | 
			
		||||
msgstr "Taille totalle de la liste"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/names/proclist.c:38 sysdeps/names/proclist.c:45
 | 
			
		||||
msgid "Size of a single list element"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
SUBDIRS			= server proxy
 | 
			
		||||
SUBDIRS			= server
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
.deps
 | 
			
		||||
.libs
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
gtop_proxy
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
LINK				= $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
 | 
			
		||||
 | 
			
		||||
INCLUDES			= -I$(top_builddir) -I$(top_srcdir) @machine_incs@ \
 | 
			
		||||
				  -I$(top_srcdir)/include -I$(top_srcdir)/intl @GUILE_INCS@ \
 | 
			
		||||
				  -DGTOPLOCALEDIR=\"$(datadir)/locale\" -D_GNU_SOURCE
 | 
			
		||||
 | 
			
		||||
CFLAGS				= -Wall -W @CFLAGS@ -DGTOP_SERVER=\""@LIBGTOP_SERVER@"\"
 | 
			
		||||
 | 
			
		||||
bin_PROGRAMS			= gtop_proxy
 | 
			
		||||
 | 
			
		||||
gtop_proxy_SOURCES		= main.c output.c version.c
 | 
			
		||||
gtop_proxy_LDADD		= $(top_builddir)/lib/libgtop.la \
 | 
			
		||||
				  $(top_builddir)/sysdeps/common/libgtop_common.la \
 | 
			
		||||
				  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps.la \
 | 
			
		||||
				  @INTLLIBS@ @LIBSUPPORT@
 | 
			
		||||
gtop_proxy_LDFLAGS		= -static
 | 
			
		||||
							
								
								
									
										234
									
								
								src/proxy/main.c
									
									
									
									
									
								
							
							
						
						
									
										234
									
								
								src/proxy/main.c
									
									
									
									
									
								
							@@ -1,234 +0,0 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop/command.h>
 | 
			
		||||
#include <glibtop/version.h>
 | 
			
		||||
#include <glibtop/xmalloc.h>
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/open.h>
 | 
			
		||||
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
 | 
			
		||||
#if defined(HAVE_GETDTABLESIZE)
 | 
			
		||||
#define GET_MAX_FDS() getdtablesize()
 | 
			
		||||
#else
 | 
			
		||||
/* Fallthrough case - please add other #elif cases above
 | 
			
		||||
   for different OS's as necessary */
 | 
			
		||||
#define GET_MAX_FDS() 256
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
	int fd, max_fd, nread;
 | 
			
		||||
	size_t size, dsize;
 | 
			
		||||
	char parameter [BUFSIZ];
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	glibtop_command cmnd;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	glibtop server;
 | 
			
		||||
	void *ptr;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
	textdomain (PACKAGE);
 | 
			
		||||
 | 
			
		||||
	glibtop_version ();
 | 
			
		||||
 | 
			
		||||
	glibtop_open_l (&server, argv [0], 0, GLIBTOP_OPEN_NO_OVERRIDE);
 | 
			
		||||
 | 
			
		||||
	/* close all file descriptors except ones used by the pipes (0 and 1). */
 | 
			
		||||
	max_fd = GET_MAX_FDS();
 | 
			
		||||
	for(fd = 3 /* The first fd after the pipes */; fd < max_fd; fd++)
 | 
			
		||||
		close(fd);
 | 
			
		||||
	
 | 
			
		||||
	while(1) {
 | 
			
		||||
		/* block on read from client */
 | 
			
		||||
		/* fprintf (stderr, "waiting for input ...\n"); */
 | 
			
		||||
		nread = read (0, &size, sizeof (size_t));
 | 
			
		||||
 | 
			
		||||
		/* will return 0 if parent exits. */
 | 
			
		||||
 | 
			
		||||
		if (nread == 0)
 | 
			
		||||
			_exit(0);
 | 
			
		||||
 | 
			
		||||
		if (nread != sizeof (size_t))
 | 
			
		||||
			_exit(1);
 | 
			
		||||
 | 
			
		||||
		if (size != sizeof (glibtop_command))
 | 
			
		||||
			_exit(2);
 | 
			
		||||
 | 
			
		||||
		nread = read (0, &cmnd, size);
 | 
			
		||||
		
 | 
			
		||||
		/* will return 0 if parent exits. */
 | 
			
		||||
 | 
			
		||||
		if (nread == 0)
 | 
			
		||||
			_exit(0);
 | 
			
		||||
		
 | 
			
		||||
		if (nread < 0)
 | 
			
		||||
			_exit(1);
 | 
			
		||||
 | 
			
		||||
		nread = read (0, &dsize, sizeof (size_t));
 | 
			
		||||
 | 
			
		||||
		/* will return 0 if parent exits. */
 | 
			
		||||
 | 
			
		||||
		if (nread == 0)
 | 
			
		||||
			_exit(0);
 | 
			
		||||
		
 | 
			
		||||
		if (nread < 0)
 | 
			
		||||
			_exit(1);
 | 
			
		||||
 | 
			
		||||
		if (dsize >= BUFSIZ)
 | 
			
		||||
			_exit(3);
 | 
			
		||||
 | 
			
		||||
		memset (parameter, 0, sizeof (parameter));
 | 
			
		||||
 | 
			
		||||
		if (dsize) {
 | 
			
		||||
			nread = read (0, parameter, dsize);
 | 
			
		||||
		
 | 
			
		||||
			/* will return 0 if parent exits. */
 | 
			
		||||
 | 
			
		||||
			if (nread == 0)
 | 
			
		||||
				_exit(0);
 | 
			
		||||
		
 | 
			
		||||
			if (nread < 0)
 | 
			
		||||
				_exit(1);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch (cmnd.command) {
 | 
			
		||||
		case GLIBTOP_CMND_SYSDEPS:
 | 
			
		||||
			sysdeps.features = GLIBTOP_SYSDEPS_ALL;
 | 
			
		||||
			glibtop_output (sizeof (glibtop_sysdeps), &sysdeps);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_CPU:
 | 
			
		||||
			glibtop_get_cpu_l (&server, &data.cpu);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_cpu), &data.cpu);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_MEM:
 | 
			
		||||
			glibtop_get_mem_l (&server, &data.mem);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_mem), &data.mem);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SWAP:
 | 
			
		||||
			glibtop_get_swap_l (&server, &data.swap);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_swap), &data.swap);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_UPTIME:
 | 
			
		||||
			glibtop_get_uptime_l (&server, &data.uptime);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_uptime), &data.uptime);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_LOADAVG:
 | 
			
		||||
			glibtop_get_loadavg_l (&server, &data.loadavg);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_loadavg), &data.loadavg);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SHM_LIMITS:
 | 
			
		||||
			glibtop_get_shm_limits_l (&server, &data.shm_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_shm_limits),
 | 
			
		||||
					&data.shm_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_MSG_LIMITS:
 | 
			
		||||
			glibtop_get_msg_limits_l (&server, &data.msg_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_msg_limits),
 | 
			
		||||
					&data.msg_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SEM_LIMITS:
 | 
			
		||||
			glibtop_get_sem_limits_l (&server, &data.sem_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_sem_limits),
 | 
			
		||||
					&data.sem_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROCLIST:
 | 
			
		||||
			ptr = glibtop_get_proclist_l (&server, &data.proclist);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proclist),
 | 
			
		||||
					&data.proclist);
 | 
			
		||||
			glibtop_output (data.proclist.total, ptr);
 | 
			
		||||
			glibtop_free_r (&server, ptr);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_STATE:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_state_l
 | 
			
		||||
				(&server, &data.proc_state, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_state),
 | 
			
		||||
					&data.proc_state);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_UID:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_uid_l
 | 
			
		||||
				(&server, &data.proc_uid, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_uid),
 | 
			
		||||
					&data.proc_uid);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_MEM:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_mem_l
 | 
			
		||||
				(&server, &data.proc_mem, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_mem),
 | 
			
		||||
					&data.proc_mem);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_TIME:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_time_l
 | 
			
		||||
				(&server, &data.proc_time, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_time),
 | 
			
		||||
					&data.proc_time);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_SIGNAL:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_signal_l
 | 
			
		||||
				(&server, &data.proc_signal, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_signal),
 | 
			
		||||
					&data.proc_signal);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_KERNEL:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_kernel_l
 | 
			
		||||
				(&server, &data.proc_kernel, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_kernel),
 | 
			
		||||
					&data.proc_kernel);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_SEGMENT:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
			glibtop_get_proc_segment_l
 | 
			
		||||
				(&server, &data.proc_segment, pid);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_segment),
 | 
			
		||||
					&data.proc_segment);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	_exit(0);
 | 
			
		||||
}
 | 
			
		||||
@@ -74,7 +74,7 @@ int main(int argc, char *argv[])
 | 
			
		||||
 | 
			
		||||
	setreuid (uid, euid); setregid (gid, egid);
 | 
			
		||||
	
 | 
			
		||||
	glibtop_open_r (&server, argv [0], 0, 0);
 | 
			
		||||
	glibtop_open (&server, argv [0]);
 | 
			
		||||
 | 
			
		||||
	if (setreuid (euid, uid)) _exit (1);
 | 
			
		||||
 | 
			
		||||
@@ -142,146 +142,112 @@ int main(int argc, char *argv[])
 | 
			
		||||
 | 
			
		||||
		switch (cmnd.command) {
 | 
			
		||||
		case GLIBTOP_CMND_SYSDEPS:
 | 
			
		||||
			sysdeps.features = GLIBTOP_SYSDEPS_ALL;
 | 
			
		||||
			glibtop_get_sysdeps__r (&server, &sysdeps);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_sysdeps), &sysdeps);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_CPU:
 | 
			
		||||
#if GLIBTOP_SUID_CPU
 | 
			
		||||
			glibtop_get_cpu_p (&server, &data.cpu);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_cpu__r (&server, &data.cpu);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_cpu), &data.cpu);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_MEM:
 | 
			
		||||
#if GLIBTOP_SUID_MEM
 | 
			
		||||
			glibtop_get_mem_p (&server, &data.mem);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_mem__r (&server, &data.mem);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_mem), &data.mem);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SWAP:
 | 
			
		||||
#if GLIBTOP_SUID_SWAP
 | 
			
		||||
			glibtop_get_swap_p (&server, &data.swap);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_swap__r (&server, &data.swap);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_swap), &data.swap);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_UPTIME:
 | 
			
		||||
#if GLIBTOP_SUID_UPTIME
 | 
			
		||||
			glibtop_get_uptime_p (&server, &data.uptime);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_uptime__r (&server, &data.uptime);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_uptime), &data.uptime);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_LOADAVG:
 | 
			
		||||
#if GLIBTOP_SUID_LOADAVG
 | 
			
		||||
			glibtop_get_loadavg_p (&server, &data.loadavg);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_loadavg__r (&server, &data.loadavg);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_loadavg), &data.loadavg);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SHM_LIMITS:
 | 
			
		||||
#if GLIBTOP_SUID_SHM_LIMITS
 | 
			
		||||
			glibtop_get_shm_limits_p (&server, &data.shm_limits);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_shm_limits__r (&server, &data.shm_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_shm_limits),
 | 
			
		||||
					&data.shm_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_MSG_LIMITS:
 | 
			
		||||
#if GLIBTOP_SUID_MSG_LIMITS
 | 
			
		||||
			glibtop_get_msg_limits_p (&server, &data.msg_limits);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_msg_limits__r (&server, &data.msg_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_msg_limits),
 | 
			
		||||
					&data.msg_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_SEM_LIMITS:
 | 
			
		||||
#if GLIBTOP_SUID_SEM_LIMITS
 | 
			
		||||
			glibtop_get_sem_limits_p (&server, &data.sem_limits);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_get_sem_limits__r (&server, &data.sem_limits);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_sem_limits),
 | 
			
		||||
					&data.sem_limits);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROCLIST:
 | 
			
		||||
#if GLIBTOP_SUID_PROCLIST
 | 
			
		||||
			ptr = glibtop_get_proclist_p (&server, &data.proclist);
 | 
			
		||||
#else
 | 
			
		||||
			ptr = NULL;
 | 
			
		||||
#endif
 | 
			
		||||
			ptr = glibtop_get_proclist__r (&server, &data.proclist);
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proclist),
 | 
			
		||||
					&data.proclist);
 | 
			
		||||
			glibtop_output (data.proclist.total, ptr);
 | 
			
		||||
			glibtop_free_r (&server, ptr);
 | 
			
		||||
			glibtop_free__r (&server, ptr);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_STATE:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_STATE
 | 
			
		||||
			glibtop_get_proc_state_p
 | 
			
		||||
			glibtop_get_proc_state__r
 | 
			
		||||
				(&server, &data.proc_state, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_state),
 | 
			
		||||
					&data.proc_state);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_UID:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_UID
 | 
			
		||||
			glibtop_get_proc_uid_p
 | 
			
		||||
			glibtop_get_proc_uid__r
 | 
			
		||||
				(&server, &data.proc_uid, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_uid),
 | 
			
		||||
					&data.proc_uid);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_MEM:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_MEM
 | 
			
		||||
			glibtop_get_proc_mem_p
 | 
			
		||||
			glibtop_get_proc_mem__r
 | 
			
		||||
				(&server, &data.proc_mem, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_mem),
 | 
			
		||||
					&data.proc_mem);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_TIME:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_TIME
 | 
			
		||||
			glibtop_get_proc_time_p
 | 
			
		||||
			glibtop_get_proc_time__r
 | 
			
		||||
				(&server, &data.proc_time, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_time),
 | 
			
		||||
					&data.proc_time);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_SIGNAL:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SIGNAL
 | 
			
		||||
			glibtop_get_proc_signal_p
 | 
			
		||||
			glibtop_get_proc_signal__r
 | 
			
		||||
				(&server, &data.proc_signal, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_signal),
 | 
			
		||||
					&data.proc_signal);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_KERNEL:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_KERNEL
 | 
			
		||||
			glibtop_get_proc_kernel_p
 | 
			
		||||
			glibtop_get_proc_kernel__r
 | 
			
		||||
				(&server, &data.proc_kernel, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_kernel),
 | 
			
		||||
					&data.proc_kernel);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
			break;
 | 
			
		||||
		case GLIBTOP_CMND_PROC_SEGMENT:
 | 
			
		||||
			memcpy (&pid, parameter, sizeof (pid_t));
 | 
			
		||||
#if GLIBTOP_SUID_PROC_SEGMENT
 | 
			
		||||
			glibtop_get_proc_segment_p
 | 
			
		||||
			glibtop_get_proc_segment__r
 | 
			
		||||
				(&server, &data.proc_segment, pid);
 | 
			
		||||
#endif
 | 
			
		||||
			glibtop_output (sizeof (glibtop_proc_segment),
 | 
			
		||||
					&data.proc_segment);
 | 
			
		||||
			glibtop_output (0, NULL);
 | 
			
		||||
 
 | 
			
		||||
@@ -12,4 +12,4 @@ endif
 | 
			
		||||
 | 
			
		||||
SUBDIRS			= @sysdeps_dir@ common $(names_SUBDIRS) $(guile_SUBDIRS)
 | 
			
		||||
 | 
			
		||||
DIST_SUBDIRS		= common guile linux kernel names osf1 stub sun4
 | 
			
		||||
DIST_SUBDIRS		= common guile linux names osf1 stub sun4
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@
 | 
			
		||||
/* Prints error message and exits. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_error_r (glibtop *server, char *format, ...)
 | 
			
		||||
glibtop_error__r (glibtop *server, char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
	va_list	ap;
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
@@ -21,80 +21,60 @@
 | 
			
		||||
#include <glibtop/union.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
const unsigned long glibtop_server_features =
 | 
			
		||||
GLIBTOP_SUID_CPU +
 | 
			
		||||
GLIBTOP_SUID_MEM +
 | 
			
		||||
GLIBTOP_SUID_SWAP +
 | 
			
		||||
GLIBTOP_SUID_UPTIME +
 | 
			
		||||
GLIBTOP_SUID_LOADAVG +
 | 
			
		||||
GLIBTOP_SUID_SHM_LIMITS +
 | 
			
		||||
GLIBTOP_SUID_MSG_LIMITS +
 | 
			
		||||
GLIBTOP_SUID_SEM_LIMITS +
 | 
			
		||||
GLIBTOP_SUID_PROCLIST +
 | 
			
		||||
GLIBTOP_SUID_PROC_STATE +
 | 
			
		||||
GLIBTOP_SUID_PROC_UID +
 | 
			
		||||
GLIBTOP_SUID_PROC_MEM +
 | 
			
		||||
GLIBTOP_SUID_PROC_TIME +
 | 
			
		||||
GLIBTOP_SUID_PROC_SIGNAL +
 | 
			
		||||
GLIBTOP_SUID_PROC_KERNEL +
 | 
			
		||||
GLIBTOP_SUID_PROC_SEGMENT;
 | 
			
		||||
 | 
			
		||||
/* Checks which features are implemented. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_get_sysdeps_r (glibtop *server, glibtop_sysdeps *buf)
 | 
			
		||||
glibtop_get_sysdeps__r (glibtop *server, glibtop_sysdeps *buf)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
 | 
			
		||||
	memset (buf, 0, sizeof (glibtop_sysdeps));
 | 
			
		||||
 | 
			
		||||
	buf->features = glibtop_server_features;
 | 
			
		||||
 | 
			
		||||
	/* Call all system dependent functions to check which values
 | 
			
		||||
	 * they return. */
 | 
			
		||||
 | 
			
		||||
	glibtop_get_cpu_r (server, &data.cpu);
 | 
			
		||||
	glibtop_get_cpu__r (server, &data.cpu);
 | 
			
		||||
	buf->cpu = data.cpu.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_mem_r (server, &data.mem);
 | 
			
		||||
	glibtop_get_mem__r (server, &data.mem);
 | 
			
		||||
	buf->mem = data.mem.flags;
 | 
			
		||||
	
 | 
			
		||||
	glibtop_get_swap_r (server, &data.swap);
 | 
			
		||||
	glibtop_get_swap__r (server, &data.swap);
 | 
			
		||||
	buf->swap = data.swap.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_uptime_r (server, &data.uptime);
 | 
			
		||||
	glibtop_get_uptime__r (server, &data.uptime);
 | 
			
		||||
	buf->uptime = data.uptime.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_loadavg_r (server, &data.loadavg);
 | 
			
		||||
	glibtop_get_loadavg__r (server, &data.loadavg);
 | 
			
		||||
	buf->loadavg = data.loadavg.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_shm_limits_r (server, &data.shm_limits);
 | 
			
		||||
	glibtop_get_shm_limits__r (server, &data.shm_limits);
 | 
			
		||||
	buf->shm_limits = data.shm_limits.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_msg_limits_r (server, &data.msg_limits);
 | 
			
		||||
	glibtop_get_msg_limits__r (server, &data.msg_limits);
 | 
			
		||||
	buf->msg_limits = data.msg_limits.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_sem_limits_r (server, &data.sem_limits);
 | 
			
		||||
	glibtop_get_sem_limits__r (server, &data.sem_limits);
 | 
			
		||||
	buf->sem_limits = data.sem_limits.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proclist_r (server, &data.proclist);
 | 
			
		||||
	glibtop_get_proclist__r (server, &data.proclist);
 | 
			
		||||
	buf->proclist = data.proclist.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_state_r (server, &data.proc_state, 0);
 | 
			
		||||
	glibtop_get_proc_state__r (server, &data.proc_state, 0);
 | 
			
		||||
	buf->proc_state = data.proc_state.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_uid_r (server, &data.proc_uid, 0);
 | 
			
		||||
	glibtop_get_proc_uid__r (server, &data.proc_uid, 0);
 | 
			
		||||
	buf->proc_uid = data.proc_uid.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_mem_r (server, &data.proc_mem, 0);
 | 
			
		||||
	glibtop_get_proc_mem__r (server, &data.proc_mem, 0);
 | 
			
		||||
	buf->proc_mem = data.proc_mem.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_time_r (server, &data.proc_time, 0);
 | 
			
		||||
	glibtop_get_proc_time__r (server, &data.proc_time, 0);
 | 
			
		||||
	buf->proc_time = data.proc_time.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_kernel_r (server, &data.proc_kernel, 0);
 | 
			
		||||
	glibtop_get_proc_kernel__r (server, &data.proc_kernel, 0);
 | 
			
		||||
	buf->proc_kernel = data.proc_kernel.flags;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_proc_segment_r (server, &data.proc_segment, 0);
 | 
			
		||||
	glibtop_get_proc_segment__r (server, &data.proc_segment, 0);
 | 
			
		||||
	buf->proc_segment = data.proc_segment.flags;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,43 +24,43 @@
 | 
			
		||||
/* Wrappers to malloc, calloc, realloc ... */
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_malloc_r (glibtop *server, size_t size)
 | 
			
		||||
glibtop_malloc__r (glibtop *server, size_t size)
 | 
			
		||||
{
 | 
			
		||||
	void *buf = malloc (size);
 | 
			
		||||
	
 | 
			
		||||
	if (!buf)
 | 
			
		||||
		glibtop_error_r (server, _("malloc %d bytes: %s"),
 | 
			
		||||
		glibtop_error__r (server, _("malloc %d bytes: %s"),
 | 
			
		||||
				  size, strerror (errno));
 | 
			
		||||
	
 | 
			
		||||
	return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_calloc_r (glibtop *server, size_t nmemb, size_t size)
 | 
			
		||||
glibtop_calloc__r (glibtop *server, size_t nmemb, size_t size)
 | 
			
		||||
{
 | 
			
		||||
	void *buf = calloc (nmemb, size);
 | 
			
		||||
	
 | 
			
		||||
	if (!buf)
 | 
			
		||||
		glibtop_error_r (server, _("calloc %d block (%d bytes each): %s"),
 | 
			
		||||
		glibtop_error__r (server, _("calloc %d block (%d bytes each): %s"),
 | 
			
		||||
				  nmemb, size, strerror (errno));
 | 
			
		||||
	
 | 
			
		||||
	return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
glibtop_realloc_r (glibtop *server, void *ptr, size_t size)
 | 
			
		||||
glibtop_realloc__r (glibtop *server, void *ptr, size_t size)
 | 
			
		||||
{
 | 
			
		||||
	void *buf = realloc (ptr, size);
 | 
			
		||||
	
 | 
			
		||||
	if (!buf)
 | 
			
		||||
		glibtop_error_r (server, _("realloc %d bytes: %s"),
 | 
			
		||||
		glibtop_error__r (server, _("realloc %d bytes: %s"),
 | 
			
		||||
				  size, strerror (errno));
 | 
			
		||||
	
 | 
			
		||||
	return buf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_free_r (glibtop *server, void *ptr)
 | 
			
		||||
glibtop_free__r (glibtop *server, void *ptr)
 | 
			
		||||
{
 | 
			
		||||
	if (ptr) free (ptr);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -23,4 +23,3 @@ so_locations
 | 
			
		||||
swap.lo
 | 
			
		||||
sysdeps.lo
 | 
			
		||||
uptime.lo
 | 
			
		||||
guile.c
 | 
			
		||||
 
 | 
			
		||||
@@ -14,14 +14,8 @@ CFLAGS				= -Wall -W @CFLAGS@
 | 
			
		||||
 | 
			
		||||
lib_LTLIBRARIES			= libgtop_guile.la
 | 
			
		||||
 | 
			
		||||
libgtop_guile_la_SOURCES	= guile.c
 | 
			
		||||
 | 
			
		||||
BUILT_SOURCES			= guile.c
 | 
			
		||||
 | 
			
		||||
guile.c: guile.awk $(top_builddir)/config.h $(top_builddir)/features.def
 | 
			
		||||
	$(AWK) -f $(srcdir)/guile.awk < $(top_builddir)/features.def > gnc-t
 | 
			
		||||
	mv gnc-t guile.c
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST			= guile.awk
 | 
			
		||||
 | 
			
		||||
CLEANFILES			= guile.c
 | 
			
		||||
libgtop_guile_la_SOURCES	= boot.c sysdeps.c cpu.c mem.c swap.c uptime.c \
 | 
			
		||||
				  loadavg.c shm_limits.c msg_limits.c \
 | 
			
		||||
				  sem_limits.c proclist.c procstate.c procuid.c \
 | 
			
		||||
				  proctime.c procmem.c procsignal.c prockernel.c \
 | 
			
		||||
				  procsegment.c
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								sysdeps/guile/boot.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								sysdeps/guile/boot.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_boot_guile (void)
 | 
			
		||||
{
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-cpu", glibtop_guile_get_cpu);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-mem", glibtop_guile_get_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-swap", glibtop_guile_get_swap);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-uptime", glibtop_guile_get_uptime);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-loadavg", glibtop_guile_get_loadavg);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-shm_limits",glibtop_guile_get_shm_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-msg_limits", glibtop_guile_get_msg_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-sem_limits", glibtop_guile_get_sem_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-sysdeps", glibtop_guile_get_sysdeps);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-get-proclist", glibtop_guile_get_proclist);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_state", glibtop_guile_get_proc_state);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_uid", glibtop_guile_get_proc_uid);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_mem", glibtop_guile_get_proc_mem);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_time", glibtop_guile_get_proc_time);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_signal", glibtop_guile_get_proc_signal);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_kernel", glibtop_guile_get_proc_kernel);
 | 
			
		||||
	gh_new_procedure1_0
 | 
			
		||||
		("glibtop-get-proc_segment", glibtop_guile_get_proc_segment);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										41
									
								
								sysdeps/guile/cpu.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								sysdeps/guile/cpu.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/cpu.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM glibtop_guile_get_cpu (void)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_cpu cpu;
 | 
			
		||||
	
 | 
			
		||||
	glibtop_get_cpu (&cpu);
 | 
			
		||||
	
 | 
			
		||||
	return gh_list (gh_ulong2scm (cpu.flags), 
 | 
			
		||||
			gh_ulong2scm (cpu.total),
 | 
			
		||||
			gh_ulong2scm (cpu.user),
 | 
			
		||||
			gh_ulong2scm (cpu.nice),
 | 
			
		||||
			gh_ulong2scm (cpu.sys),
 | 
			
		||||
			gh_ulong2scm (cpu.idle),
 | 
			
		||||
			gh_ulong2scm (cpu.frequency),
 | 
			
		||||
			SCM_UNDEFINED);
 | 
			
		||||
}
 | 
			
		||||
@@ -1,87 +0,0 @@
 | 
			
		||||
BEGIN {
 | 
			
		||||
  print "/* guile.c */";
 | 
			
		||||
  print "/* This is a generated file.  Please modify `guile.awk' */";
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
  print "#include <glibtop.h>";
 | 
			
		||||
  print "#include <glibtop/xmalloc.h>";
 | 
			
		||||
  print "#include <glibtop/sysdeps.h>";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "#include <guile/gh.h>";
 | 
			
		||||
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
  convert["long"]   = "gh_long2scm  ";
 | 
			
		||||
  convert["ulong"]  = "gh_ulong2scm ";
 | 
			
		||||
  convert["double"] = "gh_double2scm";
 | 
			
		||||
  convert["str"]    = "gh_str02scm  ";
 | 
			
		||||
  convert["char"]   = "gh_char2scm  ";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/^(\w+)/	{
 | 
			
		||||
  features[$1] = $1;
 | 
			
		||||
  if ($1 ~ /^proclist$/) {
 | 
			
		||||
    output = "SCM\nglibtop_guile_get_proclist (void)\n{\n";
 | 
			
		||||
    output = output"\tglibtop_proclist proclist;\n\tunsigned i, *ptr;\n";
 | 
			
		||||
    output = output"\tSCM list;\n\n\tptr = glibtop_get_proclist (&proclist);\n\n";
 | 
			
		||||
    output = output"\tlist = gh_list (gh_ulong2scm  ("$1".flags),\n\t\t\t";
 | 
			
		||||
  } else {
 | 
			
		||||
    if ($1 ~ /^proc_/) {
 | 
			
		||||
      output = "SCM\nglibtop_guile_get_"$1" (SCM pid)\n{\n";
 | 
			
		||||
      output = output"\tglibtop_"$1" "$1";\n\n";
 | 
			
		||||
      output = output"\tglibtop_get_"$1" (&"$1", (pid_t) gh_scm2long (pid));\n\n";
 | 
			
		||||
    } else {
 | 
			
		||||
      output = "SCM\nglibtop_guile_get_"$1" (void)\n{\n";
 | 
			
		||||
      output = output"\tglibtop_"$1" "$1";\n\n";
 | 
			
		||||
      output = output"\tglibtop_get_"$1" (&"$1");\n\n";
 | 
			
		||||
    }
 | 
			
		||||
    output = output"\treturn gh_list (gh_ulong2scm  ("$1".flags),\n\t\t\t";
 | 
			
		||||
  }
 | 
			
		||||
  nr_elements = split ($2, elements, /:/);
 | 
			
		||||
  for (element = 1; element <= nr_elements; element++) {
 | 
			
		||||
    list = elements[element];
 | 
			
		||||
    type = elements[element];
 | 
			
		||||
    sub(/\(.*/, "", type);
 | 
			
		||||
    sub(/^\w+\(/, "", list); sub(/\)$/, "", list);
 | 
			
		||||
    count = split (list, fields, /,/);
 | 
			
		||||
    for (field = 1; field <= count; field++) {
 | 
			
		||||
      output = output""convert[type]" ("$1"."fields[field]"),\n\t\t\t";
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  output = output"SCM_UNDEFINED);";
 | 
			
		||||
  print output;
 | 
			
		||||
 | 
			
		||||
  if ($1 ~ /^proclist$/) {
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\tif (ptr) {";
 | 
			
		||||
    print "\t\tfor (i = 0; i < proclist.number; i++)";
 | 
			
		||||
    print "\t\t\tlist = gh_append";
 | 
			
		||||
    print "\t\t\t\t(gh_list (list,";
 | 
			
		||||
    print "\t\t\t\t\t  gh_list (gh_ulong2scm ((unsigned long) ptr [i])),";
 | 
			
		||||
    print "\t\t\t\t\t  SCM_UNDEFINED));";
 | 
			
		||||
    print "\t}";
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\tglibtop_free (ptr);";
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\treturn list;";
 | 
			
		||||
  }
 | 
			
		||||
  print "}";
 | 
			
		||||
  print "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
END {
 | 
			
		||||
  print "void";
 | 
			
		||||
  print "glibtop_boot_guile (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
 | 
			
		||||
  for (feature in features) {
 | 
			
		||||
    if (feature ~ /^proc_/) {
 | 
			
		||||
      print "\tgh_new_procedure1_0";
 | 
			
		||||
    } else {
 | 
			
		||||
      print "\tgh_new_procedure0_0";
 | 
			
		||||
    }
 | 
			
		||||
    print "\t\t(\"glibtop-get-"feature"\", glibtop_guile_get_"feature");";
 | 
			
		||||
  }
 | 
			
		||||
  print "}";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										38
									
								
								sysdeps/guile/loadavg.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								sysdeps/guile/loadavg.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/loadavg.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM glibtop_guile_get_loadavg (void)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_loadavg loadavg;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_loadavg (&loadavg);
 | 
			
		||||
 | 
			
		||||
	return gh_list (gh_ulong2scm (loadavg.flags),
 | 
			
		||||
			gh_double2scm (loadavg.loadavg [0]),
 | 
			
		||||
			gh_double2scm (loadavg.loadavg [1]),
 | 
			
		||||
			gh_double2scm (loadavg.loadavg [2]),
 | 
			
		||||
			SCM_UNDEFINED);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										43
									
								
								sysdeps/guile/mem.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								sysdeps/guile/mem.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM glibtop_guile_get_mem (void)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_mem mem;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_mem (&mem);
 | 
			
		||||
 | 
			
		||||
	return gh_list (gh_ulong2scm (mem.flags),
 | 
			
		||||
			gh_ulong2scm (mem.total),
 | 
			
		||||
			gh_ulong2scm (mem.used),
 | 
			
		||||
			gh_ulong2scm (mem.free),
 | 
			
		||||
			gh_ulong2scm (mem.shared),
 | 
			
		||||
			gh_ulong2scm (mem.buffer),
 | 
			
		||||
			gh_ulong2scm (mem.cached),
 | 
			
		||||
			gh_ulong2scm (mem.user),
 | 
			
		||||
			gh_ulong2scm (mem.locked),
 | 
			
		||||
			SCM_UNDEFINED);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								sysdeps/guile/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								sysdeps/guile/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/msg_limits.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM glibtop_guile_get_msg_limits (void)
 | 
			
		||||
{
 | 
			
		||||
	glibtop_msg_limits msg_limits;
 | 
			
		||||
 | 
			
		||||
	glibtop_get_msg_limits (&msg_limits);
 | 
			
		||||
 | 
			
		||||
	return gh_list (gh_ulong2scm (msg_limits.flags),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgpool),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgmap),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgmax),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgmnb),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgmni),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgssz),
 | 
			
		||||
			gh_ulong2scm (msg_limits.msgtql),
 | 
			
		||||
			SCM_UNDEFINED);
 | 
			
		||||
}
 | 
			
		||||
@@ -24,4 +24,3 @@ so_locations
 | 
			
		||||
swap.lo
 | 
			
		||||
sysdeps.lo
 | 
			
		||||
uptime.lo
 | 
			
		||||
guile-names.c
 | 
			
		||||
 
 | 
			
		||||
@@ -8,15 +8,9 @@ CFLAGS				= -Wall -W @CFLAGS@
 | 
			
		||||
 | 
			
		||||
lib_LTLIBRARIES			= libgtop_guile_names.la
 | 
			
		||||
 | 
			
		||||
libgtop_guile_names_la_SOURCES	= guile-names.c
 | 
			
		||||
 | 
			
		||||
BUILT_SOURCES			= guile-names.c
 | 
			
		||||
 | 
			
		||||
guile-names.c: guile-names.awk $(top_builddir)/config.h $(top_builddir)/features.def
 | 
			
		||||
	$(AWK) -f $(srcdir)/guile-names.awk < $(top_builddir)/features.def > gnc-t
 | 
			
		||||
	mv gnc-t guile-names.c
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST			= guile-names.awk
 | 
			
		||||
 | 
			
		||||
CLEANFILES			= guile-names.c
 | 
			
		||||
libgtop_guile_names_la_SOURCES	= boot.c sysdeps.c cpu.c mem.c swap.c uptime.c \
 | 
			
		||||
				  loadavg.c shm_limits.c msg_limits.c \
 | 
			
		||||
				  sem_limits.c proclist.c procstate.c procuid.c \
 | 
			
		||||
				  proctime.c procmem.c procsignal.c prockernel.c \
 | 
			
		||||
				  procsegment.c
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										174
									
								
								sysdeps/guile/names/boot.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								sysdeps/guile/names/boot.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,174 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_boot_guile_names (void)
 | 
			
		||||
{
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-cpu", glibtop_guile_names_cpu);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-mem", glibtop_guile_names_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-swap", glibtop_guile_names_swap);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-uptime", glibtop_guile_names_uptime);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-loadavg", glibtop_guile_names_loadavg);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-shm_limits", glibtop_guile_names_shm_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-msg_limits", glibtop_guile_names_msg_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-sem_limits", glibtop_guile_names_sem_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-sysdeps", glibtop_guile_names_sysdeps);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proclist", glibtop_guile_names_proclist);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_state", glibtop_guile_names_proc_state);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_uid", glibtop_guile_names_proc_uid);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_mem", glibtop_guile_names_proc_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_time", glibtop_guile_names_proc_time);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_signal", glibtop_guile_names_proc_signal);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_kernel", glibtop_guile_names_proc_kernel);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-names-proc_segment", glibtop_guile_names_proc_segment);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-cpu", glibtop_guile_types_cpu);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-mem", glibtop_guile_types_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-swap", glibtop_guile_types_swap);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-uptime", glibtop_guile_types_uptime);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-loadavg", glibtop_guile_types_loadavg);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-shm_limits", glibtop_guile_types_shm_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-msg_limits", glibtop_guile_types_msg_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-sem_limits", glibtop_guile_types_sem_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-sysdeps", glibtop_guile_types_sysdeps);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proclist", glibtop_guile_types_proclist);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_state", glibtop_guile_types_proc_state);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_uid", glibtop_guile_types_proc_uid);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_mem", glibtop_guile_types_proc_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_time", glibtop_guile_types_proc_time);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_signal", glibtop_guile_types_proc_signal);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_kernel", glibtop_guile_types_proc_kernel);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-types-proc_segment", glibtop_guile_types_proc_segment);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-cpu", glibtop_guile_labels_cpu);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-mem", glibtop_guile_labels_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-swap", glibtop_guile_labels_swap);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-uptime", glibtop_guile_labels_uptime);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-loadavg", glibtop_guile_labels_loadavg);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-shm_limits", glibtop_guile_labels_shm_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-msg_limits", glibtop_guile_labels_msg_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-sem_limits", glibtop_guile_labels_sem_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-sysdeps", glibtop_guile_labels_sysdeps);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proclist", glibtop_guile_labels_proclist);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_state", glibtop_guile_labels_proc_state);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_uid", glibtop_guile_labels_proc_uid);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_mem", glibtop_guile_labels_proc_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_time", glibtop_guile_labels_proc_time);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_signal", glibtop_guile_labels_proc_signal);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_kernel", glibtop_guile_labels_proc_kernel);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-labels-proc_segment", glibtop_guile_labels_proc_segment);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-cpu", glibtop_guile_descriptions_cpu);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-mem", glibtop_guile_descriptions_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-swap", glibtop_guile_descriptions_swap);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-uptime", glibtop_guile_descriptions_uptime);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-loadavg", glibtop_guile_descriptions_loadavg);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-shm_limits", glibtop_guile_descriptions_shm_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-msg_limits", glibtop_guile_descriptions_msg_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-sem_limits", glibtop_guile_descriptions_sem_limits);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-sysdeps", glibtop_guile_descriptions_sysdeps);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proclist", glibtop_guile_descriptions_proclist);
 | 
			
		||||
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_state", glibtop_guile_descriptions_proc_state);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_uid", glibtop_guile_descriptions_proc_uid);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_mem", glibtop_guile_descriptions_proc_mem);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_time", glibtop_guile_descriptions_proc_time);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_signal", glibtop_guile_descriptions_proc_signal);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_kernel", glibtop_guile_descriptions_proc_kernel);
 | 
			
		||||
	gh_new_procedure0_0
 | 
			
		||||
		("glibtop-descriptions-proc_segment", glibtop_guile_descriptions_proc_segment);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										95
									
								
								sysdeps/guile/names/cpu.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								sysdeps/guile/names/cpu.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/cpu.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_cpu (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_CPU; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_cpu [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_cpu (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_CPU; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_cpu [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_cpu (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_CPU; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_cpu [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_cpu (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_CPU; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_cpu [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
BEGIN {
 | 
			
		||||
  print "/* guile_names.c */";
 | 
			
		||||
  print "/* This is a generated file.  Please modify `guile-names.awk' */";
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
  print "#include <glibtop.h>";
 | 
			
		||||
  print "#include <glibtop/sysdeps.h>";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "#include <guile/gh.h>";
 | 
			
		||||
 | 
			
		||||
  print "";
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function output(feature) {
 | 
			
		||||
  print "SCM";
 | 
			
		||||
  print "glibtop_guile_names_"feature" (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
  print "\tint i;";
 | 
			
		||||
  print "\tSCM list;";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tlist = gh_list (SCM_UNDEFINED);";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)";
 | 
			
		||||
  print "\t\tlist = gh_append";
 | 
			
		||||
  print "\t\t\t(gh_list (list,";
 | 
			
		||||
  print "\t\t\t\t  gh_list (gh_str02scm ((char *) glibtop_names_"feature" [i])),";
 | 
			
		||||
  print "\t\t\t\t  SCM_UNDEFINED));";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\treturn list;";
 | 
			
		||||
  print "}";
 | 
			
		||||
  
 | 
			
		||||
  print "";
 | 
			
		||||
  
 | 
			
		||||
  print "SCM";
 | 
			
		||||
  print "glibtop_guile_types_"feature" (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
  print "\tint i;";
 | 
			
		||||
  print "\tSCM list;";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tlist = gh_list (SCM_UNDEFINED);";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)";
 | 
			
		||||
  print "\t\tlist = gh_append";
 | 
			
		||||
  print "\t\t\t(gh_list (list,";
 | 
			
		||||
  print "\t\t\t\t  gh_list (gh_ulong2scm (glibtop_types_"feature" [i])),";
 | 
			
		||||
  print "\t\t\t\t  SCM_UNDEFINED));";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\treturn list;";
 | 
			
		||||
  print "}";
 | 
			
		||||
  
 | 
			
		||||
  print "";
 | 
			
		||||
  
 | 
			
		||||
  print "SCM";
 | 
			
		||||
  print "glibtop_guile_labels_"feature" (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
  print "\tint i;";
 | 
			
		||||
  print "\tSCM list;";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tlist = gh_list (SCM_UNDEFINED);";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)";
 | 
			
		||||
  print "\t\tlist = gh_append";
 | 
			
		||||
  print "\t\t\t(gh_list (list,";
 | 
			
		||||
  print "\t\t\t\t  gh_list (gh_str02scm (gettext";
 | 
			
		||||
  print "\t\t\t\t\t\t\t(glibtop_labels_"feature" [i]))),";
 | 
			
		||||
  print "\t\t\t\t  SCM_UNDEFINED));";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\treturn list;";
 | 
			
		||||
  print "}";
 | 
			
		||||
  
 | 
			
		||||
  print "";
 | 
			
		||||
  
 | 
			
		||||
  print "SCM";
 | 
			
		||||
  print "glibtop_guile_descriptions_"feature" (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
  print "\tint i;";
 | 
			
		||||
  print "\tSCM list;";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tlist = gh_list (SCM_UNDEFINED);";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)";
 | 
			
		||||
  print "\t\tlist = gh_append";
 | 
			
		||||
  print "\t\t\t(gh_list (list,";
 | 
			
		||||
  print "\t\t\t\t  gh_list (gh_str02scm (gettext";
 | 
			
		||||
  print "\t\t\t\t\t\t\t(glibtop_descriptions_"feature" [i]))),";
 | 
			
		||||
  print "\t\t\t\t  SCM_UNDEFINED));";
 | 
			
		||||
  print "";
 | 
			
		||||
  print "\treturn list;";
 | 
			
		||||
  print "}";
 | 
			
		||||
 | 
			
		||||
  print "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/^(\w+)/	{ features[$1] = $1 }
 | 
			
		||||
 | 
			
		||||
END {
 | 
			
		||||
  for (feature in features) {
 | 
			
		||||
    output(feature);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  print "void";
 | 
			
		||||
  print "glibtop_boot_guile_names (void)";
 | 
			
		||||
  print "{";
 | 
			
		||||
 | 
			
		||||
  for (feature in features) {
 | 
			
		||||
    print "\tgh_new_procedure0_0";
 | 
			
		||||
    print "\t\t(\"glibtop-names-"feature"\", glibtop_guile_names_"feature");";
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\tgh_new_procedure0_0";
 | 
			
		||||
    print "\t\t(\"glibtop-types-"feature"\", glibtop_guile_types_"feature");";
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\tgh_new_procedure0_0";
 | 
			
		||||
    print "\t\t(\"glibtop-labels-"feature"\", glibtop_guile_labels_"feature");";
 | 
			
		||||
    print "";
 | 
			
		||||
    print "\tgh_new_procedure0_0";
 | 
			
		||||
    print "\t\t(\"glibtop-descriptions-"feature"\", glibtop_guile_descriptions_"feature");";
 | 
			
		||||
  }
 | 
			
		||||
  print "}";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										95
									
								
								sysdeps/guile/names/loadavg.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								sysdeps/guile/names/loadavg.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/loadavg.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_loadavg (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_LOADAVG; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_loadavg [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_loadavg (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_LOADAVG; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_loadavg [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_loadavg (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_LOADAVG; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_loadavg [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_loadavg (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_LOADAVG; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_loadavg [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										95
									
								
								sysdeps/guile/names/mem.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								sysdeps/guile/names/mem.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/mem.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_mem (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MEM; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_mem [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_mem (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MEM; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_mem [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_mem (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MEM; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_mem [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_mem (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MEM; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_mem [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										95
									
								
								sysdeps/guile/names/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								sysdeps/guile/names/msg_limits.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/msg_limits.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_msg_limits (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MSG_LIMITS; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_msg_limits [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_msg_limits (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MSG_LIMITS; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_msg_limits [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_msg_limits (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MSG_LIMITS; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_msg_limits [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_msg_limits (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_MSG_LIMITS; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_msg_limits [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										95
									
								
								sysdeps/guile/names/prockernel.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								sysdeps/guile/names/prockernel.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/prockernel.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_proc_kernel (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROC_KERNEL; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_proc_kernel [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_proc_kernel (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROC_KERNEL; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_proc_kernel [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_proc_kernel (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROC_KERNEL; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_proc_kernel [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_proc_kernel (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROC_KERNEL; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_proc_kernel [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										96
									
								
								sysdeps/guile/names/proclist.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								sysdeps/guile/names/proclist.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
/* $Id$ */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
 | 
			
		||||
   This file is part of the Gnome Top Library.
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library is free software; you can redistribute it and/or
 | 
			
		||||
   modify it under the terms of the GNU Library General Public License as
 | 
			
		||||
   published by the Free Software Foundation; either version 2 of the
 | 
			
		||||
   License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   The Gnome Top Library 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
 | 
			
		||||
   Library General Public License for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU Library General Public
 | 
			
		||||
   License along with the GNU C Library; see the file COPYING.LIB.  If not,
 | 
			
		||||
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.  */
 | 
			
		||||
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop/xmalloc.h>
 | 
			
		||||
#include <glibtop/proclist.h>
 | 
			
		||||
 | 
			
		||||
#include <guile/gh.h>
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_names_proclist (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROCLIST; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_names_proclist [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_types_proclist (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROCLIST; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (glibtop_types_proclist [i])),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
			 
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_labels_proclist (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROCLIST; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_labels_proclist [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SCM
 | 
			
		||||
glibtop_guile_descriptions_proclist (void)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
	SCM list;
 | 
			
		||||
	
 | 
			
		||||
	list = gh_list (SCM_UNDEFINED);
 | 
			
		||||
	
 | 
			
		||||
	for (i = 0; i < GLIBTOP_MAX_PROCLIST; i++)
 | 
			
		||||
		list = gh_append
 | 
			
		||||
			(gh_list (list,
 | 
			
		||||
				  gh_list (gh_str02scm (gettext
 | 
			
		||||
							(glibtop_descriptions_proclist [i]))),
 | 
			
		||||
				  SCM_UNDEFINED));
 | 
			
		||||
	
 | 
			
		||||
	return list;
 | 
			
		||||
}
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user