Compare commits
	
		
			3 Commits
		
	
	
		
			LIBGTOP_2_
			...
			gnome-2-14
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3765989cde | ||
|  | 8308952bdf | ||
|  | 3bf5087ae8 | 
							
								
								
									
										53
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,57 +1,8 @@ | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* features.def: | ||||
| 	* include/glibtop/proclist.h: | ||||
|  | ||||
| 	Small API change. | ||||
| 	get_proclist returns pid_t instead of unsigned for consistency. | ||||
| 	I have checked many archs and this doesn't break the ABI. | ||||
|  | ||||
| 2007-05-17  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
|  | ||||
| 	Bumped version number. | ||||
|  | ||||
| 2007-05-14  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* include/glibtop/Makefile.am: | ||||
| 	* lib/Makefile.am: | ||||
|  | ||||
| 	Fixed dist. | ||||
|  | ||||
| 2007-05-13  Benoît Dejean  <benoit@placenet.org> | ||||
| 2007-05-08  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* NEWS: | ||||
| 	* configure.in: | ||||
| 	 | ||||
| 	Released 2.19.2. | ||||
|  | ||||
| 2007-05-10  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* lib/libgtop.sym: | ||||
|  | ||||
| 	Added missing *_p symbols. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* configure.in: | ||||
| 	* lib/Makefile.am: | ||||
| 	* lib/libgtop.sym: | ||||
|  | ||||
| 	Updated libtool version. | ||||
| 	Now uses a symbol list instead of a regex. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* New API to get cwd, root and exe path | ||||
| 	of a process. API not frozen yet. | ||||
|  | ||||
| 2007-04-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	Got rid of InodeDB. | ||||
| 	This feature was optionnal and i have never heard of anyone using | ||||
| 	it. I have never touched it so it may be broken since 2.6. | ||||
| 	Released 2.14.9. | ||||
|  | ||||
| 2007-04-11  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
|   | ||||
							
								
								
									
										26
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,27 +1,7 @@ | ||||
| 18 June 2007: Overview of changes in 2.19.4 | ||||
| =========================================== | ||||
| * solaris: | ||||
|   - fixed build. Damien Carbery. | ||||
|  | ||||
| 3 June 2007: Overview of changes in 2.19.3 | ||||
| ========================================== | ||||
| * Small API change. get_proclist returns pid_t instead of unsigned | ||||
|   for consistency. | ||||
| * linux: | ||||
|   - fixed an typo bug in open_files. | ||||
|   - got rid of useless glibtop_init_s calls. | ||||
| * Enable example build by defaut. | ||||
| * Dropped G_GNUC_INTERNAL attributes no longer needed. | ||||
|   This will please people trying to implement G_GNUC macro with a non | ||||
|   GNU Compiler. | ||||
|  | ||||
| 13 May 2007: Overview of changes in 2.19.2 | ||||
| ========================================== | ||||
| * This is the first release of the 2.19.x series. | ||||
| * Got rid of inodedb (you don't even know what it is ;) | ||||
| * New unstable API glibtop_get_proc_wd to get working directories of | ||||
|   a process. | ||||
| 8 May 2007: Overview of changes in 2.14.9 | ||||
| ========================================= | ||||
| * Fixed OpenBSD build. Jasper Lievisse Adriaanse. | ||||
| * Misc. cleanups. | ||||
|  | ||||
| 25 February 2007: Overview of changes in 2.14.8 | ||||
| =============================================== | ||||
|   | ||||
							
								
								
									
										40
									
								
								configure.in
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								configure.in
									
									
									
									
									
								
							| @@ -3,12 +3,12 @@ dnl Configure script for the Gnome library | ||||
| dnl | ||||
|  | ||||
| m4_define([libgtop_major_version], [2]) | ||||
| m4_define([libgtop_minor_version], [19]) | ||||
| m4_define([libgtop_micro_version], [4]) | ||||
| m4_define([libgtop_minor_version], [14]) | ||||
| m4_define([libgtop_micro_version], [9]) | ||||
| m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version]) | ||||
|  | ||||
| dnl  increment if the interface has additions, changes, removals. | ||||
| m4_define([libgtop_current], [8]) | ||||
| m4_define([libgtop_current], [7]) | ||||
|  | ||||
| dnl  increment any time the source changes; set to | ||||
| dnl  0 if you increment CURRENT | ||||
| @@ -17,7 +17,7 @@ m4_define([libgtop_revision], [0]) | ||||
| dnl  increment if any interfaces have been added; set to 0 | ||||
| dnl  if any interfaces have been removed. removal has | ||||
| dnl  precedence over adding, so set to 0 if both happened. | ||||
| m4_define([libgtop_age], [1]) | ||||
| m4_define([libgtop_age], [0]) | ||||
|  | ||||
| # Increase each time you change the client/server protocol. | ||||
| m4_define([libgtop_server_version], [5]) | ||||
| @@ -87,12 +87,39 @@ AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes) | ||||
| GNOME_LIBGTOP_SYSDEPS | ||||
| GNOME_LIBGTOP_TYPES | ||||
|  | ||||
| AC_ARG_WITH(libgtop-inodedb, | ||||
|             AS_HELP_STRING([--with-libgtop-inodedb], | ||||
|                            [Build the inodedb stuff @<:@default=no@:>@]), | ||||
|             [build_inodedb="$withval"], | ||||
|             [build_inodedb=no]) | ||||
|  | ||||
| LIBGTOP_EXTRA_LIBS= | ||||
|  | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no) | ||||
| fi | ||||
|  | ||||
| AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes) | ||||
|  | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   AC_DEFINE(GLIBTOP_INODEDB, 1, | ||||
|             [Define if the libgtop inodedb should be built]) | ||||
| fi | ||||
|  | ||||
| GLIB_REQUIRED=2.6.0 | ||||
|  | ||||
| PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED) | ||||
| AC_SUBST(GLIB_CFLAGS) | ||||
| AC_SUBST(GLIB_LIBS) | ||||
|  | ||||
| AC_CHECK_HEADER(popt.h,[POPT=yes],[POPT=no]) | ||||
| AC_MSG_CHECKING(for popt.h) | ||||
| if test x$POPT = xyes ; then | ||||
|    AC_MSG_RESULT(yes) | ||||
| else | ||||
|    AC_MSG_ERROR([libgtop requires the popt development libraries]) | ||||
| fi | ||||
|  | ||||
| AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no]) | ||||
| if test x$HAVE_IFADDRS_H = xyes ; then | ||||
| 	AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h]) | ||||
| @@ -273,6 +300,10 @@ if test x$libgtop_use_machine_h = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H" | ||||
| fi | ||||
|  | ||||
| if test x$build_inodedb = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB" | ||||
| fi | ||||
|  | ||||
| if test x$libgtop_smp = xyes ; then | ||||
|   LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP" | ||||
| fi | ||||
| @@ -382,6 +413,7 @@ sysdeps/aix/Makefile | ||||
| sysdeps/bsd/Makefile | ||||
| src/Makefile | ||||
| src/daemon/Makefile | ||||
| src/inodedb/Makefile | ||||
| lib/Makefile | ||||
| examples/Makefile | ||||
| doc/Makefile | ||||
|   | ||||
| @@ -171,6 +171,7 @@ rather than using the server.</para> | ||||
|     <xi:include href="xml/close.xml"/> | ||||
|     <xi:include href="xml/command.xml"/> | ||||
|     <xi:include href="xml/glibtop-server.xml"/> | ||||
|     <xi:include href="xml/inodedb.xml"/> | ||||
|     <xi:include href="xml/netload.xml"/> | ||||
|     <xi:include href="xml/ppp.xml"/> | ||||
|     <xi:include href="xml/shm_limits.xml"/> | ||||
|   | ||||
| @@ -73,6 +73,24 @@ glibtop_server_ref | ||||
| glibtop_server_unref | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/inodedb.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>inodedb</FILE> | ||||
| <TITLE>Inode DB</TITLE> | ||||
| GLIBTOP_INODEDB_SYSTEM | ||||
| GLIBTOP_INODEDB_USER | ||||
| GLIBTOP_INODEDB_CACHE | ||||
| GLIBTOP_INODEDB_ALL | ||||
| glibtop_inodedb | ||||
| glibtop_inodedb_key | ||||
| glibtop_inodedb_open | ||||
| glibtop_inodedb_lookup | ||||
| glibtop_inodedb_close | ||||
| glibtop_inodedb_open_s | ||||
| glibtop_inodedb_lookup_s | ||||
| glibtop_inodedb_close_s | ||||
| </SECTION> | ||||
|  | ||||
| <INCLUDE>glibtop/netload.h</INCLUDE> | ||||
| <SECTION> | ||||
| <FILE>netload</FILE> | ||||
|   | ||||
| @@ -1,11 +1,3 @@ | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* Makefile.am: | ||||
| 	* mem.c: (main): | ||||
| 	* wd.c: (main): | ||||
|  | ||||
| 	Fixed wd and new simple mem example. | ||||
|  | ||||
| 2006-02-27  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* pprint.c: (pprint_get_proc_mem), (main): | ||||
|   | ||||
| @@ -8,7 +8,7 @@ DEFS			= @DEFS@ | ||||
|  | ||||
| noinst_PROGRAMS	= 	first second pprint procargs df netlist \ | ||||
| 			  mountlist procmap netload sysdeps timings \ | ||||
| 			  openfiles smp proclist mem wd | ||||
| 			  openfiles smp proclist | ||||
|  | ||||
| first_SOURCES		= first.c | ||||
| first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
| @@ -51,10 +51,3 @@ openfiles_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| proclist_SOURCES	= proclist.c | ||||
| proclist_LDADD		= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| wd_SOURCES	= wd.c | ||||
| wd_LDADD	= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
| mem_SOURCE	= mem.c | ||||
| mem_LDADD	= $(top_builddir)/lib/libgtop-2.0.la | ||||
|  | ||||
|   | ||||
| @@ -1,21 +0,0 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/mem.h> | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <unistd.h> | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
| 	glibtop_mem buf; | ||||
|  | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	g_print("%lx\n", glibtop_global_server->features); | ||||
|  | ||||
| 	glibtop_get_mem(&buf); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| @@ -35,6 +35,9 @@ | ||||
|  | ||||
| #include <glibtop/procmap.h> | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| #include <glibtop/inodedb.h> | ||||
| #endif | ||||
|  | ||||
| #include <sys/resource.h> | ||||
| #include <sys/mman.h> | ||||
| @@ -46,6 +49,9 @@ | ||||
| int | ||||
| main (int argc, char *argv []) | ||||
| { | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 	glibtop_inodedb *inodedb; | ||||
| #endif | ||||
| 	glibtop_proc_map procmap; | ||||
| 	glibtop_map_entry *maps; | ||||
| 	unsigned method, count, port, i; | ||||
| @@ -81,6 +87,10 @@ main (int argc, char *argv []) | ||||
| 	if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1)) | ||||
| 		g_error ("Usage: %s pid", argv [0]); | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 	inodedb = glibtop_inodedb_open (0, 0); | ||||
| #endif | ||||
|  | ||||
| 	fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid); | ||||
|  | ||||
| 	maps = glibtop_get_proc_map (&procmap, pid); | ||||
| @@ -93,6 +103,12 @@ main (int argc, char *argv []) | ||||
| 		if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME)) | ||||
| 			filename = maps [i].filename; | ||||
|  | ||||
| #ifdef GLIBTOP_INODEDB | ||||
| 		if (inodedb && !filename) | ||||
| 			filename = glibtop_inodedb_lookup | ||||
| 				(inodedb, maps [i].device, maps [i].inode); | ||||
| #endif | ||||
|  | ||||
| 		perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-'; | ||||
| 		perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-'; | ||||
| 		perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-'; | ||||
|   | ||||
| @@ -1,35 +0,0 @@ | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/procwd.h> | ||||
|  | ||||
| #include <glib.h> | ||||
| #include <unistd.h> | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
| 	pid_t pid; | ||||
| 	glibtop_proc_wd buf; | ||||
| 	char **dirs, **dir; | ||||
|  | ||||
| 	if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0))) | ||||
| 		pid = getpid(); | ||||
|  | ||||
| 	glibtop_init(); | ||||
|  | ||||
| 	dirs = glibtop_get_proc_wd(&buf, pid); | ||||
|  | ||||
| 	g_print("Process %u:\n" | ||||
| 		" - root: '%s'\n" | ||||
| 		" - exe: '%s'\n" | ||||
| 		" - working directories:\n", | ||||
| 		(unsigned)pid, buf.root, buf.exe); | ||||
|  | ||||
| 	for (dir = dirs; *dir; ++dir) | ||||
| 		g_print("   - '%s'\n", *dir); | ||||
|  | ||||
| 	g_strfreev(dirs); | ||||
|  | ||||
| 	glibtop_close(); | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| @@ -6,7 +6,7 @@ void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid) | ||||
| void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall) | ||||
| void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql) | ||||
| void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem) | ||||
| pid_t*|proclist|ulong(number,size,total)|long(which,arg) | ||||
| unsigned *|proclist|ulong(number,size,total)|long(which,arg) | ||||
| void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid) | ||||
| void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid) | ||||
| void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid) | ||||
| @@ -22,5 +22,4 @@ void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir | ||||
| void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface | ||||
| void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device) | ||||
| char **|netlist|unsigned(number) | ||||
| char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid) | ||||
|  | ||||
|   | ||||
| @@ -7,8 +7,7 @@ glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \ | ||||
| 			  procsegment.h sysdeps.h global.h \ | ||||
| 			  procsignal.h union.h gnuserv.h \ | ||||
| 			  parameter.h mountlist.h fsusage.h procmap.h signal.h \ | ||||
| 			  sysinfo.h ppp.h procargs.h netload.h \ | ||||
| 			  procwd.h \ | ||||
| 			  inodedb.h sysinfo.h ppp.h procargs.h netload.h \ | ||||
| 			  netlist.h procopenfiles.h open.h | ||||
|  | ||||
| noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h | ||||
|   | ||||
| @@ -57,9 +57,8 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_CMND_PPP		23 | ||||
| #define GLIBTOP_CMND_NETLIST		24 | ||||
| #define GLIBTOP_CMND_PROC_OPEN_FILES	25 | ||||
| #define GLIBTOP_CMND_PROC_WD		26 | ||||
|  | ||||
| #define GLIBTOP_MAX_CMND		27 | ||||
| #define GLIBTOP_MAX_CMND		26 | ||||
|  | ||||
| #define _GLIBTOP_PARAM_SIZE		16 | ||||
|  | ||||
|   | ||||
| @@ -31,20 +31,20 @@ | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN; | ||||
| void glibtop_warn_vr (glibtop *server, const char *format, va_list args); | ||||
| void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args); | ||||
| void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN; | ||||
| void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL; | ||||
| void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL; | ||||
|  | ||||
| void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
| void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
|  | ||||
| void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2); | ||||
| void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN; | ||||
| void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
							
								
								
									
										67
									
								
								include/glibtop/inodedb.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								include/glibtop/inodedb.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_INODEDB_H__ | ||||
| #define __GLIBTOP_INODEDB_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <gdbm.h> | ||||
|  | ||||
| #define GLIBTOP_INODEDB_SYSTEM		1 | ||||
| #define GLIBTOP_INODEDB_USER		2 | ||||
| #define GLIBTOP_INODEDB_CACHE		4 | ||||
|  | ||||
| #define GLIBTOP_INODEDB_ALL		7 | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_inodedb		glibtop_inodedb; | ||||
|  | ||||
| typedef struct _glibtop_inodedb_key	glibtop_inodedb_key; | ||||
|  | ||||
| struct _glibtop_inodedb_key | ||||
| { | ||||
| 	guint64 device, inode; | ||||
| }; | ||||
|  | ||||
| struct _glibtop_inodedb | ||||
| { | ||||
| 	GDBM_FILE system_dbf, user_dbf; | ||||
| }; | ||||
|  | ||||
| #define glibtop_inodedb_open(p1,p2)	glibtop_inodedb_open_s(glibtop_global_server, p1, p2) | ||||
| #define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3) | ||||
| #define glibtop_inodedb_close(p1)	glibtop_inodedb_close_s(glibtop_global_server) | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size); | ||||
|  | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, | ||||
| 			  glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode); | ||||
|  | ||||
| void | ||||
| glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -60,7 +60,7 @@ struct _glibtop_proclist | ||||
| 	guint64 size;			/* GLIBTOP_PROCLIST_SIZE	*/ | ||||
| }; | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROCLIST | ||||
| @@ -69,20 +69,20 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg); | ||||
| #define glibtop_get_proclist_r		glibtop_get_proclist_s | ||||
| #endif | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
|  | ||||
| #if GLIBTOP_SUID_PROCLIST | ||||
| void _glibtop_init_proclist_p (glibtop *server); | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
| #else | ||||
| void _glibtop_init_proclist_s (glibtop *server); | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg); | ||||
| #endif | ||||
|   | ||||
| @@ -1,69 +0,0 @@ | ||||
| /* Copyright (C) 2007 Benoît Dejean | ||||
|    This file is part of LibGTop 2. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #ifndef __GLIBTOP_PROCWD_H__ | ||||
| #define __GLIBTOP_PROCWD_H__ | ||||
|  | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/global.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| typedef struct _glibtop_proc_wd	glibtop_proc_wd; | ||||
|  | ||||
| #define GLIBTOP_PROC_WD_NUMBER	0 | ||||
| #define GLIBTOP_PROC_WD_ROOT	1 | ||||
| #define GLIBTOP_PROC_WD_EXE	2 | ||||
| #define GLIBTOP_PROC_WD_MAX	3 | ||||
|  | ||||
| #define GLIBTOP_PROC_WD_ROOT_LEN 215 | ||||
| #define GLIBTOP_PROC_WD_EXE_LEN 215 | ||||
|  | ||||
| struct _glibtop_proc_wd | ||||
| { | ||||
| 	guint64	flags; | ||||
| 	guint32 number; | ||||
| 	char root[GLIBTOP_PROC_WD_ROOT_LEN+1]; | ||||
| 	char exe[GLIBTOP_PROC_WD_EXE_LEN+1]; | ||||
| }; | ||||
|  | ||||
|  | ||||
| char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid); | ||||
| char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
|  | ||||
| #if GLIBTOP_SUID_PROC_WD | ||||
|  | ||||
| #define glibtop_get_proc_wd_r glibtop_get_proc_wd_p | ||||
| void _glibtop_init_proc_wd_p(glibtop *server); | ||||
| char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
| #else | ||||
|  | ||||
| #define glibtop_get_proc_wd_r glibtop_get_proc_wd_s | ||||
| void _glibtop_init_proc_wd_s(glibtop *server); | ||||
| char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid); | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif | ||||
| @@ -51,9 +51,8 @@ G_BEGIN_DECLS | ||||
| #define GLIBTOP_SYSDEPS_PPP		22 | ||||
| #define GLIBTOP_SYSDEPS_NETLIST		23 | ||||
| #define GLIBTOP_SYSDEPS_PROC_OPEN_FILES	24 | ||||
| #define GLIBTOP_SYSDEPS_PROC_WD		25 | ||||
|  | ||||
| #define GLIBTOP_MAX_SYSDEPS		26 | ||||
| #define GLIBTOP_MAX_SYSDEPS		25 | ||||
|  | ||||
| #define GLIBTOP_SYSDEPS_ALL		((1 << GLIBTOP_MAX_SYSDEPS) - 1) | ||||
|  | ||||
| @@ -87,7 +86,6 @@ struct _glibtop_sysdeps | ||||
| 	guint64 netlist;		/* glibtop_netlist	*/ | ||||
| 	guint64 netload;		/* glibtop_netload	*/ | ||||
| 	guint64 ppp;			/* glibtop_ppp		*/ | ||||
| 	guint64	proc_wd;		/* glibtop_proc_wd	*/ | ||||
| }; | ||||
|  | ||||
| void glibtop_get_sysdeps (glibtop_sysdeps *buf); | ||||
|   | ||||
| @@ -42,7 +42,6 @@ | ||||
| #include <glibtop/procargs.h> | ||||
| #include <glibtop/procmap.h> | ||||
| #include <glibtop/procopenfiles.h> | ||||
| #include <glibtop/procwd.h> | ||||
|  | ||||
| #include <glibtop/mountlist.h> | ||||
| #include <glibtop/fsusage.h> | ||||
| @@ -81,7 +80,6 @@ union _glibtop_union | ||||
| 	glibtop_netload		netload; | ||||
| 	glibtop_ppp		ppp; | ||||
| 	glibtop_proc_open_files proc_open_files; | ||||
| 	glibtop_proc_wd		proc_wd; | ||||
| }; | ||||
|  | ||||
| G_END_DECLS | ||||
|   | ||||
| @@ -7,7 +7,7 @@ libgtop_2_0_la_SOURCES		= init.c open.c close.c command.c read.c \ | ||||
| 				  read_data.c write.c lib.c parameter.c \ | ||||
| 				  sysdeps.c | ||||
|  | ||||
| libgtop_2_0_la_LDFLAGS		= $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym | ||||
| libgtop_2_0_la_LDFLAGS		= $(LT_VERSION_INFO) -export-symbols-regex "^[^_].*" | ||||
| libgtop_2_0_la_LIBADD		= $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib) | ||||
|  | ||||
| BUILT_SOURCES			= lib.c | ||||
| @@ -16,7 +16,7 @@ lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def | ||||
| 	$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t | ||||
| 	mv lib-t lib.c | ||||
|  | ||||
| EXTRA_DIST			= lib.pl libgtop.sym | ||||
| EXTRA_DIST			= lib.pl | ||||
|  | ||||
| CLEANFILES			= lib.c | ||||
|  | ||||
|   | ||||
							
								
								
									
										115
									
								
								lib/inodedb.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								lib/inodedb.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,115 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/error.h> | ||||
| #include <glibtop/inodedb.h> | ||||
|  | ||||
| #include <pwd.h> | ||||
| #include <gdbm.h> | ||||
|  | ||||
| #ifndef SYSTEM_INODEDB | ||||
| #define SYSTEM_INODEDB "/usr/var/libgtop/inodedb.db" | ||||
| #endif | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open_s (glibtop *server, unsigned databases, | ||||
| 			unsigned long cachesize) | ||||
| { | ||||
| 	glibtop_inodedb *inodedb; | ||||
| 	char filename [BUFSIZ]; | ||||
| 	struct passwd *pwd; | ||||
| 	struct stat statb; | ||||
|  | ||||
| 	if (!databases) | ||||
| 		databases = GLIBTOP_INODEDB_ALL; | ||||
|  | ||||
| 	inodedb = g_malloc (sizeof (glibtop_inodedb)); | ||||
|  | ||||
| 	if (stat (SYSTEM_INODEDB, &statb)) | ||||
| 		databases &= ~GLIBTOP_INODEDB_SYSTEM; | ||||
|  | ||||
| 	if (databases & GLIBTOP_INODEDB_SYSTEM) { | ||||
| 		inodedb->system_dbf = gdbm_open | ||||
| 			(SYSTEM_INODEDB, 0, GDBM_READER, 0, 0); | ||||
| 		if (!inodedb->system_dbf) | ||||
| 			glibtop_error_io_r | ||||
| 				(server, "gdbm_open (%s)", SYSTEM_INODEDB); | ||||
| 	} | ||||
|  | ||||
| 	pwd = getpwuid (getuid ()); | ||||
| 	if (!pwd) glibtop_error_io_r (server, "getpwuid"); | ||||
|  | ||||
| 	sprintf (filename, "%s/var/libgtop/inodedb.db", pwd->pw_dir); | ||||
|  | ||||
| 	if (stat (filename, &statb)) | ||||
| 		databases &= ~GLIBTOP_INODEDB_USER; | ||||
|  | ||||
| 	if (databases & GLIBTOP_INODEDB_USER) { | ||||
| 		inodedb->user_dbf = gdbm_open | ||||
| 			(filename, 0, GDBM_READER, 0, 0); | ||||
| 		if (!inodedb->user_dbf) | ||||
| 			glibtop_error_io_r | ||||
| 				(server, "gdbm_open (%s)", filename); | ||||
| 	} | ||||
|  | ||||
| 	return inodedb; | ||||
| } | ||||
|  | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, | ||||
| 			  glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode) | ||||
| { | ||||
| 	glibtop_inodedb_key key; | ||||
| 	datum d_key, d_content; | ||||
|  | ||||
| 	d_key.dptr = (void *) &key; | ||||
| 	d_key.dsize = sizeof (key); | ||||
|  | ||||
| 	key.device = device; | ||||
| 	key.inode = inode; | ||||
|  | ||||
| 	if (inodedb->system_dbf) { | ||||
| 		d_content = gdbm_fetch (inodedb->system_dbf, d_key); | ||||
| 		if (d_content.dptr) return d_content.dptr; | ||||
| 	} | ||||
|  | ||||
| 	if (inodedb->user_dbf) { | ||||
| 		d_content = gdbm_fetch (inodedb->user_dbf, d_key); | ||||
| 		if (d_content.dptr) return d_content.dptr; | ||||
| 	} | ||||
|  | ||||
| 	return NULL; | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb) | ||||
| { | ||||
| 	if (inodedb->system_dbf) | ||||
| 		gdbm_close (inodedb->system_dbf); | ||||
|  | ||||
| 	if (inodedb->user_dbf) | ||||
| 		gdbm_close (inodedb->user_dbf); | ||||
|  | ||||
| 	g_free (inodedb); | ||||
| } | ||||
							
								
								
									
										130
									
								
								lib/libgtop.sym
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								lib/libgtop.sym
									
									
									
									
									
								
							| @@ -1,130 +0,0 @@ | ||||
| glibtop_call_l | ||||
| glibtop_call_p | ||||
| glibtop_close | ||||
| glibtop_close_p | ||||
| glibtop_close_r | ||||
| glibtop_close_s | ||||
| glibtop_get_cpu | ||||
| glibtop_get_cpu_l | ||||
| glibtop_get_cpu_p | ||||
| glibtop_get_cpu_s | ||||
| glibtop_get_fsusage | ||||
| glibtop_get_fsusage_l | ||||
| glibtop_get_fsusage_p | ||||
| glibtop_get_fsusage_s | ||||
| glibtop_get_loadavg | ||||
| glibtop_get_loadavg_l | ||||
| glibtop_get_loadavg_p | ||||
| glibtop_get_loadavg_s | ||||
| glibtop_get_mem | ||||
| glibtop_get_mem_l | ||||
| glibtop_get_mem_p | ||||
| glibtop_get_mem_s | ||||
| glibtop_get_mountlist | ||||
| glibtop_get_mountlist_l | ||||
| glibtop_get_mountlist_p | ||||
| glibtop_get_mountlist_s | ||||
| glibtop_get_msg_limits | ||||
| glibtop_get_msg_limits_l | ||||
| glibtop_get_msg_limits_p | ||||
| glibtop_get_msg_limits_s | ||||
| glibtop_get_netlist | ||||
| glibtop_get_netlist_l | ||||
| glibtop_get_netlist_p | ||||
| glibtop_get_netlist_s | ||||
| glibtop_get_netload | ||||
| glibtop_get_netload_l | ||||
| glibtop_get_netload_p | ||||
| glibtop_get_netload_s | ||||
| glibtop_get_parameter_l | ||||
| glibtop_get_parameter_p | ||||
| glibtop_get_ppp | ||||
| glibtop_get_ppp_l | ||||
| glibtop_get_ppp_p | ||||
| glibtop_get_ppp_s | ||||
| glibtop_get_proc_args | ||||
| glibtop_get_proc_args_l | ||||
| glibtop_get_proc_args_p | ||||
| glibtop_get_proc_args_s | ||||
| glibtop_get_proc_argv | ||||
| glibtop_get_proc_argv_l | ||||
| glibtop_get_proc_argv_p | ||||
| glibtop_get_proc_kernel | ||||
| glibtop_get_proc_kernel_l | ||||
| glibtop_get_proc_kernel_p | ||||
| glibtop_get_proc_kernel_s | ||||
| glibtop_get_proclist | ||||
| glibtop_get_proclist_l | ||||
| glibtop_get_proclist_p | ||||
| glibtop_get_proclist_s | ||||
| glibtop_get_proc_map | ||||
| glibtop_get_proc_map_l | ||||
| glibtop_get_proc_map_p | ||||
| glibtop_get_proc_map_s | ||||
| glibtop_get_proc_mem | ||||
| glibtop_get_proc_mem_l | ||||
| glibtop_get_proc_mem_p | ||||
| glibtop_get_proc_mem_s | ||||
| glibtop_get_proc_open_files | ||||
| glibtop_get_proc_open_files_l | ||||
| glibtop_get_proc_open_files_p | ||||
| glibtop_get_proc_open_files_s | ||||
| glibtop_get_proc_segment | ||||
| glibtop_get_proc_segment_l | ||||
| glibtop_get_proc_segment_p | ||||
| glibtop_get_proc_segment_s | ||||
| glibtop_get_proc_signal | ||||
| glibtop_get_proc_signal_l | ||||
| glibtop_get_proc_signal_p | ||||
| glibtop_get_proc_signal_s | ||||
| glibtop_get_proc_state | ||||
| glibtop_get_proc_state_l | ||||
| glibtop_get_proc_state_p | ||||
| glibtop_get_proc_state_s | ||||
| glibtop_get_proc_time | ||||
| glibtop_get_proc_time_l | ||||
| glibtop_get_proc_time_p | ||||
| glibtop_get_proc_time_s | ||||
| glibtop_get_proc_uid | ||||
| glibtop_get_proc_uid_l | ||||
| glibtop_get_proc_uid_p | ||||
| glibtop_get_proc_uid_s | ||||
| glibtop_get_proc_wd | ||||
| glibtop_get_proc_wd_l | ||||
| glibtop_get_proc_wd_p | ||||
| glibtop_get_proc_wd_s | ||||
| glibtop_get_sem_limits | ||||
| glibtop_get_sem_limits_l | ||||
| glibtop_get_sem_limits_p | ||||
| glibtop_get_sem_limits_s | ||||
| glibtop_get_shm_limits | ||||
| glibtop_get_shm_limits_l | ||||
| glibtop_get_shm_limits_p | ||||
| glibtop_get_shm_limits_s | ||||
| glibtop_get_swap | ||||
| glibtop_get_swap_l | ||||
| glibtop_get_swap_p | ||||
| glibtop_get_swap_s | ||||
| glibtop_get_sysdeps | ||||
| glibtop_get_sysdeps_r | ||||
| glibtop_get_sysinfo | ||||
| glibtop_get_sysinfo_p | ||||
| glibtop_get_sysinfo_s | ||||
| glibtop_get_uptime | ||||
| glibtop_get_uptime_l | ||||
| glibtop_get_uptime_p | ||||
| glibtop_get_uptime_s | ||||
| glibtop_global_server | ||||
| glibtop_init | ||||
| glibtop_init_p | ||||
| glibtop_init_r | ||||
| glibtop_init_s | ||||
| glibtop_internet_addr | ||||
| glibtop_make_connection | ||||
| glibtop_open_l | ||||
| glibtop_open_p | ||||
| glibtop_open_s | ||||
| glibtop_server_features | ||||
| glibtop_set_parameter_l | ||||
| glibtop_set_parameter_p | ||||
| glibtop_sys_siglist | ||||
| @@ -46,7 +46,6 @@ GLIBTOP_SUID_PROC_ARGS + | ||||
| GLIBTOP_SUID_PROC_MAP + | ||||
| GLIBTOP_SUID_NETLOAD + | ||||
| GLIBTOP_SUID_NETLIST + | ||||
| GLIBTOP_SUID_PROC_WD + | ||||
| GLIBTOP_SUID_PPP; | ||||
|  | ||||
| const _glibtop_init_func_t _glibtop_init_hook_s [] = { | ||||
| @@ -110,9 +109,6 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = { | ||||
| #if !GLIBTOP_SUID_NETLIST | ||||
| 	_glibtop_init_netlist_s, | ||||
| #endif | ||||
| #if !GLIBTOP_SUID_PROC_WD | ||||
| 	_glibtop_init_proc_wd_s, | ||||
| #endif | ||||
| #if !GLIBTOP_SUID_PPP | ||||
| 	_glibtop_init_ppp_s, | ||||
| #endif | ||||
| @@ -180,9 +176,6 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = { | ||||
| #if GLIBTOP_SUID_NETLIST | ||||
| 	_glibtop_init_netlist_p, | ||||
| #endif | ||||
| #if GLIBTOP_SUID_PROC_WD | ||||
| 	_glibtop_init_proc_wd_p, | ||||
| #endif | ||||
| #if GLIBTOP_SUID_PPP | ||||
| 	_glibtop_init_ppp_p, | ||||
| #endif | ||||
|   | ||||
| @@ -18,9 +18,9 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ | ||||
| 	AC_SUBST(libgtop_need_server) | ||||
|  | ||||
| 	AC_ARG_WITH(libgtop-examples, | ||||
| 	AS_HELP_STRING([--with-examples], | ||||
| 	[Build the libgtop examples @<:@default=yes@:>@]),[ | ||||
| 	build_examples="$withval"], [build_examples=yes]) | ||||
| 	AS_HELP_STRING([--with-libgtop-examples], | ||||
| 	[Build the libgtop examples @<:@default=no@:>@]),[ | ||||
| 	build_examples="$withval"], [build_examples=no]) | ||||
|  | ||||
| 	AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes) | ||||
|  | ||||
|   | ||||
| @@ -59,12 +59,12 @@ Examples for LibGTop. | ||||
| %build | ||||
| # Needed for snapshot releases. | ||||
| if [ ! -f configure ]; then | ||||
|   CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --without-linux-table --with-libgtop-examples --with-libgtop-smp | ||||
|   CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp | ||||
| else | ||||
| %ifarch alpha | ||||
|   CFLAGS="$RPM_OPT_FLAGS" ./configure --host=alpha-redhat-linux --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp | ||||
| %else | ||||
|   CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --without-linux-table --with-libgtop-examples --with-libgtop-smp | ||||
|   CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp | ||||
| %endif | ||||
| fi | ||||
|  | ||||
|   | ||||
							
								
								
									
										28
									
								
								po/ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								po/ChangeLog
									
									
									
									
									
								
							| @@ -1,31 +1,3 @@ | ||||
| 2007-06-13  Pema Geyleg <pema.geyleg@gmail.com> | ||||
|  | ||||
| 	* dz.po: Updated dzongkha translation. | ||||
|  | ||||
| 2007-05-27  Daniel Nylander <po@danielnylander.se> | ||||
|  | ||||
| 	* sv.po: Updated Swedish translation. | ||||
|  | ||||
| 2007-05-18  Theppitak Karoonboonyanan  <thep@linux.thai.net> | ||||
|  | ||||
| 	* th.po: Updated Thai translation. | ||||
|  | ||||
| 2007-05-17  Priit Laes  <plaes@svn.gnome.org> | ||||
|  | ||||
| 	* et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>. | ||||
|  | ||||
| 2007-05-15  David Lodge <dave@cirt.net> | ||||
|  | ||||
| 	* en_GB.po: Updated British English translation | ||||
|  | ||||
| 2007-05-14  Jorge Gonzalez <jorgegonz@svn.gnome.org> | ||||
|  | ||||
| 	* es.po: Updated Spanish translation. | ||||
|  | ||||
| 2007-04-27  I Felix  <ifelix25@gmail.com> | ||||
|  | ||||
| 	* ta.po: Updated Tamil Translation. | ||||
|  | ||||
| 2007-04-25  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* ta.po: Updated Tamil translation. | ||||
|   | ||||
| @@ -50,7 +50,6 @@ nb | ||||
| ne | ||||
| nl | ||||
| nn | ||||
| oc | ||||
| or | ||||
| pa | ||||
| pl | ||||
|   | ||||
| @@ -15,6 +15,8 @@ src/daemon/main.c | ||||
| src/daemon/server.c | ||||
| src/daemon/slave.c | ||||
| src/daemon/version.c | ||||
| src/inodedb/file_by_inode2.c | ||||
| src/inodedb/mkinodedb2.c | ||||
| sysdeps/linux/siglist.c | ||||
| sysdeps/osf1/siglist.c | ||||
| sysdeps/sun4/siglist.c | ||||
|   | ||||
							
								
								
									
										140
									
								
								po/dz.po
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								po/dz.po
									
									
									
									
									
								
							| @@ -6,7 +6,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop.HEAD\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-14 03:41+0100\n" | ||||
| "POT-Creation-Date: 2006-03-06 05:23+0100\n" | ||||
| "PO-Revision-Date: 2006-03-28 11:12-0500\n" | ||||
| "Last-Translator: \n" | ||||
| "Language-Team:  <en@li.org>\n" | ||||
| @@ -19,186 +19,224 @@ msgstr "" | ||||
| "X-Poedit-SourceCharset: utf-8\n" | ||||
| "X-Generator: KBabel 1.10.2\n" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #: ../lib/read.c:65 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "བའིཊི་ %d ལྷག" | ||||
| msgstr[1] "བའིཊི་ %d ལྷག" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| #: ../lib/read_data.c:53 | ||||
| msgid "read data size" | ||||
| msgstr "གནད་སྡུད་ཀྱི་ཚད་ལྷག" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #: ../lib/read_data.c:72 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "གནས་སྡུད་ བའིཊི་ %lu ལྷག" | ||||
| msgstr[1] "གནས་སྡུད་ བའིཊི་ %lu ལྷག" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #: ../lib/write.c:52 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "བའིཊི་ %d བྲིས་ཡི། " | ||||
| msgstr[1] "བའིཊི་ %d བྲིས་ཡི།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| msgstr "རྐྱེན་སེལ་འབད་ནི་ ལྕོགས་ཅན་བཟོ།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "རྐྱེན་སེལ།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "ཚིག་མང་ཨའུཊི་པུཊི་ ལྕོགས་ཅན་བཟོ།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "ཚིག་མང་།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "རྒྱབ་གཞིའི་ནང་ ཁ་མ་སྤེལ།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "ཌེ་མཱོན་མིན་འདུག" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི་ནང་ལས་ ལས་བཀོལ་འབད།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, fuzzy, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| #: ../src/daemon/gnuserv.c:466 | ||||
| msgid "INETD" | ||||
| msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "གདམ་ཁ་%s: %sལུ་འཛོལ་བ། \n" | ||||
| "འཐོབ་ཚུགས་པའི་ བརྡ་ལམ་གདམ་ཁའི་ ཐོ་ཡིག་ཧྲིལ་བུ་ཅིག་ལུ་ བལྟ་ནིའི་དོན་ལས་ '%s --help' གཡོག་བཀོལ།\n" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| #: ../sysdeps/osf1/siglist.c:28 | ||||
| #: ../sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "ཐོགས་རྐྱེན།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| #: ../sysdeps/osf1/siglist.c:29 | ||||
| #: ../sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "བར་ཆད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| #: ../sysdeps/osf1/siglist.c:30 | ||||
| #: ../sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "སྤངས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| #: ../sysdeps/osf1/siglist.c:31 | ||||
| #: ../sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "ཁྲིམས་འགལ་བཀོད་རྒྱ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| #: ../sysdeps/osf1/siglist.c:32 | ||||
| #: ../sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "ཧིང་ རྗེས་འཚོལ་འབད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| #: ../sysdeps/osf1/siglist.c:33 | ||||
| #: ../sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "བར་བཤོལ་འབད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| #: ../sysdeps/osf1/siglist.c:34 | ||||
| #: ../sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "ཨི་ཨེམ་ཊི་འཛོལ་བ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| #: ../sysdeps/osf1/siglist.c:35 | ||||
| #: ../sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "ལྡིང་ཚད་དམིགས་བསལ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| #: ../sysdeps/osf1/siglist.c:36 | ||||
| #: ../sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "གསད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| #: ../sysdeps/osf1/siglist.c:37 | ||||
| #: ../sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "བརྡ་རྟགས་འགྲུལ་ལམ་གྱི་འཛོལ་བ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| #: ../sysdeps/osf1/siglist.c:38 | ||||
| #: ../sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "ཆ་བགོ་བའི་འགལ་བ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| #: ../sysdeps/osf1/siglist.c:39 | ||||
| #: ../sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "རིམ་ལུགས་བོད་བརྡ་ལུ་ སྒྲུབ་རྟགས་བྱང་ཉེས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| #: ../sysdeps/osf1/siglist.c:40 | ||||
| #: ../sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "རྒྱུད་དུང་ཆད་པ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| #: ../sysdeps/osf1/siglist.c:41 | ||||
| #: ../sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "འཇིགས་བརྡ་ཆེ་འཁོར།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| #: ../sysdeps/osf1/siglist.c:42 | ||||
| #: ../sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "རྩ་གྲོལ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| #: ../sysdeps/osf1/siglist.c:43 | ||||
| #: ../sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "སོཀ་ཀེཊི་ལུ་ འཕྲལ་མཁོའི་གནས་སྟངས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| #: ../sysdeps/osf1/siglist.c:44 | ||||
| #: ../sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "བཀག" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| #: ../sysdeps/osf1/siglist.c:45 | ||||
| #: ../sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "ལྡེ་སྒྲོམ་བཀག" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| #: ../sysdeps/osf1/siglist.c:46 | ||||
| #: ../sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "འཕྲོ་མཐུད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| #: ../sysdeps/osf1/siglist.c:47 | ||||
| #: ../sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "རྩ་ལག་གི་གནས་ཚད་ བསྒྱུར་བཅོས་ཡར་སོ་ནུག" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| #: ../sysdeps/osf1/siglist.c:48 | ||||
| #: ../sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "ཊི་ཊི་ཝའི་ནང་ལས་ རྒྱབ་གཞི་ལྷག་ཡོད།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| #: ../sysdeps/osf1/siglist.c:49 | ||||
| #: ../sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "ཊི་ཊི་ཝའི་ལུ་ རྒྱབ་གཞི་བྲིས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| #: ../sysdeps/osf1/siglist.c:50 | ||||
| #: ../sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "ཨའི་/ཨོ་ ད་ལྟོ་ཚུགས་པས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| #: ../sysdeps/osf1/siglist.c:51 | ||||
| #: ../sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "ལས་སྦྱོར་ལྟེ་བའི་ཚད་ལས་ ལྷག་སོ་ནུག" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| #: ../sysdeps/osf1/siglist.c:52 | ||||
| #: ../sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "ཡིག་སྣོད་ཀྱི་ཚད་ལས་ ལྷག་སོ་ནུག" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| #: ../sysdeps/osf1/siglist.c:53 | ||||
| #: ../sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "བར་ཅུ་ཡེལ་ འཇིགས་བརྡའི་ཆེ་འཁོར།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| #: ../sysdeps/osf1/siglist.c:54 | ||||
| #: ../sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "གསལ་སྡུད་འཇིགས་བརྡའི་ཆེ་འཁོར།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| #: ../sysdeps/osf1/siglist.c:55 | ||||
| #: ../sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "སྒོ་སྒྲིག་ཚད་ཀྱི་བསྒྱུར་བཅོས།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| #: ../sysdeps/osf1/siglist.c:56 | ||||
| #: ../sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "བརྡ་དོན་གྱི་ཞུ་བ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| #: ../sysdeps/osf1/siglist.c:57 | ||||
| #: ../sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "ལག་ལེན་པའི་ ངེས་འཛིན་བརྡ་རྟགས་ ༡པ།" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| #: ../sysdeps/osf1/siglist.c:58 | ||||
| #: ../sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "ལག་ལེན་པའི་ངེས་འཛིན་བརྡ་རྟགས་ ༢པ།" | ||||
|  | ||||
| #~ msgid "DEBUG" | ||||
| #~ msgstr "རྐྱེན་སེལ།" | ||||
|  | ||||
| #~ msgid "VERBOSE" | ||||
| #~ msgstr "ཚིག་མང་།" | ||||
|  | ||||
| #~ msgid "NO-DAEMON" | ||||
| #~ msgstr "ཌེ་མཱོན་མིན་འདུག" | ||||
|  | ||||
| #~ msgid "INETD" | ||||
| #~ msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།" | ||||
|   | ||||
							
								
								
									
										155
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										155
									
								
								po/en_GB.po
									
									
									
									
									
								
							| @@ -3,14 +3,14 @@ | ||||
| # This file is distributed under the same license as the libgtop package. | ||||
| # Gareth Owen <gowen72@yahoo.com>, David Lodge <dave@cirt.net>, 2004. | ||||
| # Gareth Owen <gowen72@yahoo.comg>, 2004. | ||||
| # | ||||
| # | ||||
| #  | ||||
| #  | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-15 22:52+0100\n" | ||||
| "PO-Revision-Date: 2007-05-15 22:52-0000\n" | ||||
| "POT-Creation-Date: 2005-09-25 18:15+0200\n" | ||||
| "PO-Revision-Date: 2004-07-29 00:24+0100\n" | ||||
| "Last-Translator: David Lodge <dave@cirt.net>\n" | ||||
| "Language-Team: English/GB <en@li.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -18,213 +18,192 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #: lib/read.c:65 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "read %d byte" | ||||
| msgstr[1] "read %d bytes" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| #: lib/read_data.c:53 | ||||
| msgid "read data size" | ||||
| msgstr "read data size" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #: lib/read_data.c:72 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "read %lu byte of data" | ||||
| msgstr[1] "read %lu bytes of data" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #: lib/write.c:52 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "wrote %d byte" | ||||
| msgstr[1] "wrote %d bytes" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| msgstr "Enable debugging" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "DEBUG" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "Enable verbose output" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "VERBOSE" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "Don't fork into background" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "NO-DAEMON" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "Invoked from inetd" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "Run '%s --help' to see a full list of available command line options.\n" | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "INETD" | ||||
| msgstr "INETD" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 | ||||
| #: ../sysdeps/sun4/siglist.c:27 | ||||
| #: src/daemon/gnuserv.c:500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "Hangup" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 | ||||
| #: ../sysdeps/sun4/siglist.c:28 | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "Interrupt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 | ||||
| #: ../sysdeps/sun4/siglist.c:29 | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "Quit" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 | ||||
| #: ../sysdeps/sun4/siglist.c:30 | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "Illegal instruction" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 | ||||
| #: ../sysdeps/sun4/siglist.c:31 | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "Trace trap" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 | ||||
| #: ../sysdeps/sun4/siglist.c:32 | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "Abort" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 | ||||
| #: ../sysdeps/sun4/siglist.c:33 | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "EMT error" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 | ||||
| #: ../sysdeps/sun4/siglist.c:34 | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "Floating-point exception" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 | ||||
| #: ../sysdeps/sun4/siglist.c:35 | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "Kill" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 | ||||
| #: ../sysdeps/sun4/siglist.c:36 | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "Bus error" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 | ||||
| #: ../sysdeps/sun4/siglist.c:37 | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "Segmentation violation" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 | ||||
| #: ../sysdeps/sun4/siglist.c:38 | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "Bad argument to system call" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 | ||||
| #: ../sysdeps/sun4/siglist.c:39 | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "Broken pipe" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 | ||||
| #: ../sysdeps/sun4/siglist.c:40 | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "Alarm clock" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 | ||||
| #: ../sysdeps/sun4/siglist.c:41 | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "Termination" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 | ||||
| #: ../sysdeps/sun4/siglist.c:42 | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "Urgent condition on socket" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 | ||||
| #: ../sysdeps/sun4/siglist.c:43 | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "Stop" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 | ||||
| #: ../sysdeps/sun4/siglist.c:44 | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "Keyboard stop" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 | ||||
| #: ../sysdeps/sun4/siglist.c:45 | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "Continue" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 | ||||
| #: ../sysdeps/sun4/siglist.c:46 | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "Child status has changed" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 | ||||
| #: ../sysdeps/sun4/siglist.c:47 | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "Background read from tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 | ||||
| #: ../sysdeps/sun4/siglist.c:48 | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "Background write to tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 | ||||
| #: ../sysdeps/sun4/siglist.c:49 | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "I/O now possible" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 | ||||
| #: ../sysdeps/sun4/siglist.c:50 | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "CPU limit exceeded" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 | ||||
| #: ../sysdeps/sun4/siglist.c:51 | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "File size limit exceeded" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 | ||||
| #: ../sysdeps/sun4/siglist.c:52 | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "Virtual alarm clock" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 | ||||
| #: ../sysdeps/sun4/siglist.c:53 | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "Profiling alarm clock" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 | ||||
| #: ../sysdeps/sun4/siglist.c:54 | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "Window size change" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 | ||||
| #: ../sysdeps/sun4/siglist.c:55 | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "Information request" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 | ||||
| #: ../sysdeps/sun4/siglist.c:56 | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "User defined signal 1" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 | ||||
| #: ../sysdeps/sun4/siglist.c:57 | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "User defined signal 2" | ||||
|  | ||||
| #~ msgid "DEBUG" | ||||
| #~ msgstr "DEBUG" | ||||
| #~ msgid "VERBOSE" | ||||
| #~ msgstr "VERBOSE" | ||||
| #~ msgid "NO-DAEMON" | ||||
| #~ msgstr "NO-DAEMON" | ||||
| #~ msgid "INETD" | ||||
| #~ msgstr "INETD" | ||||
|  | ||||
|   | ||||
							
								
								
									
										128
									
								
								po/es.po
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								po/es.po
									
									
									
									
									
								
							| @@ -1,193 +1,217 @@ | ||||
| # traducción de es.po al Spanish | ||||
| # translation of libgtop.libgtop-GNOME-2-0-port.po to Spanish | ||||
| # | ||||
| # Translation into spanish of glibtop | ||||
| # FIXME: the strings still left empty are the ones I've no idea how | ||||
| # to translate them; if anyone has a suggestion... | ||||
| # Pablo Saratxaga <srtxg@chanae.alphanet.ch>, 1998-2000. | ||||
| # Germán Poo Caamaño <gpoo@ubiobio.cl>, 2002. | ||||
| # Pablo Saratxaga <srtxg@chanae.alphanet.ch>, 2002. | ||||
| # Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2002. | ||||
| # Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003, 2004. | ||||
| # Jorge González <jorgegonz@svn.gnome.org>, 2007. | ||||
| # Francisco Javier F. Serrador <serrador@arrakis.es>, 2003. | ||||
| # Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004. | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop.HEAD.es\n" | ||||
| "Project-Id-Version: es\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-14 03:41+0100\n" | ||||
| "PO-Revision-Date: 2007-05-14 09:30+0200\n" | ||||
| "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n" | ||||
| "POT-Creation-Date: 2005-09-25 18:15+0200\n" | ||||
| "PO-Revision-Date: 2004-12-29 20:29+0100\n" | ||||
| "Last-Translator: Francisco Javier F. Serrador <serrador@cvs.gnome.org>\n" | ||||
| "Language-Team: Spanish <traductores@es.gnome.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "First-Translator: Pablo Saratxaga <srtxg@chanae.alphanet.ch>\n" | ||||
| "X-Generator: KBabel 1.11.4\n" | ||||
| "X-Generator: KBabel 1.3.1\n" | ||||
| "Plural-Forms:  nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #: lib/read.c:65 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "leído %d byte" | ||||
| msgstr[1] "leídos %d bytes" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| #: lib/read_data.c:53 | ||||
| msgid "read data size" | ||||
| msgstr "leído tamaño de datos" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #: lib/read_data.c:72 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "leído %lu byte de datos" | ||||
| msgstr[1] "leídos %lu bytes de datos" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #: lib/write.c:52 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "escrito %d byte" | ||||
| msgstr[1] "escritos %d bytes" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| msgstr "Activar depuración" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "DEPURACIÓN" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "Activa salida detallada" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "DETALLADO" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "No se pudo abrir un proceso en segundo plano" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "NO-DAEMON" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "Invocado desde inetd" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "Ejecute '%s --help' para ver una lista completa de las opciones disponibles.\n" | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "INETD" | ||||
| msgstr "INETD" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| #: src/daemon/gnuserv.c:500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "Error con la opción %s: %s.\n" | ||||
| "Ejecute '%s --help' para ver una lista completa de las opciones " | ||||
| "disponibles.\n" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "Terminar" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "Interrumpir" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "Salir" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "Instrucción ilegal" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "Atrapar traza" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "Abortar" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "Error EMT" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "Excepción de coma flotante" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "Matar" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "Error de bus" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "Violación de segmento" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "Argumento incorrecto en llamada al sistema" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "Tubería rota" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "Alarma de reloj" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "Terminación" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "Condición urgente en socket" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "Parada" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "Parada de teclado" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "Continuar" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "Cambio de estado de hijo" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "Lectura en segundo plano de tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "Escritura en segundo plano a tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "E/S ahora posible" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "Excedido límite de CPU" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "Tamaño límite de archivo excedido" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "Alarma de reloj virtual" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "Alarma de reloj perfilada" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "Cambio del tamaño de ventana" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "Solicitud de información" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "Señal 1 definida por el usuario" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "Señal 2 definida por el usuario" | ||||
|  | ||||
|   | ||||
							
								
								
									
										114
									
								
								po/et.po
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								po/et.po
									
									
									
									
									
								
							| @@ -2,18 +2,17 @@ | ||||
| # Estonian translation of libgtop. | ||||
| # | ||||
| # Copyright (C) 2003, 2005 Free Software Foundation, Inc. | ||||
| # Copyright (C) 2007 The GNOME Project. | ||||
| # This file is distributed under the same license as the libgtop package. | ||||
| # | ||||
| # Tõivo Leedjärv <toivo@linux.ee>, 2003. | ||||
| # Ivar Smolin <okul@linux.ee>, 2005, 2007. | ||||
| # Ivar Smolin <okul@linux.ee>, 2005. | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop HEAD\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-14 03:41+0100\n" | ||||
| "PO-Revision-Date: 2007-05-14 08:09+0300\n" | ||||
| "POT-Creation-Date: 2005-02-08 15:28+0100\n" | ||||
| "PO-Revision-Date: 2005-03-09 10:47+0200\n" | ||||
| "Last-Translator: Ivar Smolin <okul@linux.ee>\n" | ||||
| "Language-Team: Estonian <gnome-et@linux.ee>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -21,172 +20,193 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #: lib/read.c:64 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "loetud %d bait" | ||||
| msgstr[1] "loetud %d baiti" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| #: lib/read_data.c:52 | ||||
| msgid "read data size" | ||||
| msgstr "loetud andmete hulk" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #: lib/read_data.c:71 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "loetud %lu bait andmeid" | ||||
| msgstr[1] "loetud %lu baiti andmeid" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #: lib/write.c:51 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "kirjutatud %d bait" | ||||
| msgstr[1] "kirjutatud %d baiti" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: src/daemon/gnuserv.c:461 | ||||
| msgid "Enable debugging" | ||||
| msgstr "Silumise lubamine" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: src/daemon/gnuserv.c:461 | ||||
| msgid "DEBUG" | ||||
| msgstr "SILUMINE" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:463 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "Teaberohke väljundi lubamine" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: src/daemon/gnuserv.c:463 | ||||
| msgid "VERBOSE" | ||||
| msgstr "LISATEAVE" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:465 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "Taustale siirdumine keelatud" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: src/daemon/gnuserv.c:465 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "MITTE-DEEMON" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:467 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "Käivitatakse inetd abil" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "Kõigi käsureavõtmete nimekirja vaatamiseks käivita '%s --help'.\n" | ||||
| #: src/daemon/gnuserv.c:467 | ||||
| msgid "INETD" | ||||
| msgstr "INETD" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| #: src/daemon/gnuserv.c:501 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "Viga võtmes %s: %s.\n" | ||||
| "Käivita '%s --help', et näha loendit kõikidest käsureavõtmetest.\n" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "Toru hargilepanek" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "Katkestamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "Lõpetamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "Lubamatu instruktsioon" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "Jälitamispüünis" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "Katkestamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "EMT viga" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "Ujukomaviga" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "Kõrvaldamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "Siini viga" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "Segmenteerimisviga" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "Vigane süsteemikutsungi argument" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "Katkine toru" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "Alarmkell" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "Lõpetamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "Sokli edasilükkamatu seisund" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "Seiskamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "Seiskamine klaviatuurilt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "Jätkamine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "Lapsprotsessi olek muudetud" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "Taustalugemine tty'lt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "Taustakirjutamine tty'le" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "S/V on nüüd võimalik" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "Protsessoriaja piirang ületatud" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "Failisuuruse piirang ületatud" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "Virtuaalne alarmkell" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "Alarmkella profileerimine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "Akna suuruse muutmine" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "Teabepäring" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "Kasutaja kirjeldatud signaal 1" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "Kasutaja kirjeldatud signaal 2" | ||||
|  | ||||
|   | ||||
							
								
								
									
										201
									
								
								po/oc.po
									
									
									
									
									
								
							
							
						
						
									
										201
									
								
								po/oc.po
									
									
									
									
									
								
							| @@ -1,201 +0,0 @@ | ||||
| # Occitan translation of libgtop. | ||||
| # Copyright (C) 1998-2004 Free Software Foundation, Inc. | ||||
| # This file is distributed under the GNU General Public License Version 2. | ||||
| # | ||||
| # Yannig MARCHEGAY (yannig@marchegay.org) - 2006-2007 | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop 2.9.91\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2005-09-25 18:15+0200\n" | ||||
| "PO-Revision-Date: 2007-05-16 18:59+0200\n" | ||||
| "Last-Translator: Yannig MARCHEGAY <yannig@marchegay.org>\n" | ||||
| "Language-Team: Occitan (post 1500) <ubuntu-l10n-oci@lists.ubuntu.com>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);" | ||||
|  | ||||
| #: lib/read.c:65 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/read_data.c:53 | ||||
| msgid "read data size" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/read_data.c:72 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/write.c:52 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "INETD" | ||||
| msgstr "" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "Quitar" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "Abandonar" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "Arrèst" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "Contunhar" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "" | ||||
|  | ||||
							
								
								
									
										828
									
								
								po/sv.po
									
									
									
									
									
								
							
							
						
						
									
										828
									
								
								po/sv.po
									
									
									
									
									
								
							| @@ -1,209 +1,215 @@ | ||||
| # Swedish messages for libgtop. | ||||
| # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. | ||||
| # Daniel Nylander <po@danielnylander.se>, 2007. | ||||
| # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. | ||||
| # Tomas Ögren <stric@ing.umu.se>, 1999. | ||||
| # Martin Norbäck <d95mback@dtek.chalmers.se>, 2000. | ||||
| # Christian Rose <menthos@menthos.com>, 2002, 2003, 2004. | ||||
| # | ||||
| # $Id: sv.po,v 1.28 2006/01/02 17:43:45 bdejean Exp $ | ||||
| # $Id$ | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-27 11:57+0200\n" | ||||
| "PO-Revision-Date: 2007-05-27 11:44+0100\n" | ||||
| "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" | ||||
| "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" | ||||
| "POT-Creation-Date: 2004-12-29 09:23+0100\n" | ||||
| "PO-Revision-Date: 2004-12-29 09:23+0100\n" | ||||
| "Last-Translator: Christian Rose <menthos@menthos.com>\n" | ||||
| "Language-Team: Swedish <sv@li.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #: lib/read.c:64 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "läste %d byte" | ||||
| msgstr[1] "läste %d byte" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| #: lib/read_data.c:52 | ||||
| msgid "read data size" | ||||
| msgstr "läste datastorlek" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #: lib/read_data.c:71 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "läste %lu byte data" | ||||
| msgstr[1] "läste %lu byte data" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #: lib/write.c:51 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "skrev %d byte" | ||||
| msgstr[1] "skrev %d byte" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: src/daemon/gnuserv.c:461 | ||||
| msgid "Enable debugging" | ||||
| msgstr "Aktivera felsökning" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: src/daemon/gnuserv.c:461 | ||||
| msgid "DEBUG" | ||||
| msgstr "FELSÖK" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:463 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "Aktivera utförlig utskrift" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: src/daemon/gnuserv.c:463 | ||||
| msgid "VERBOSE" | ||||
| msgstr "UTFÖRLIG" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:465 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "Grena inte i bakgrunden" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: src/daemon/gnuserv.c:465 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "INGEN-DEMON" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:467 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "Startad från inetd" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "Kör \"%s --help\" för att se hela listan över tillgängliga " | ||||
| "kommandoradsflaggor.\n" | ||||
| #: src/daemon/gnuserv.c:467 | ||||
| msgid "INETD" | ||||
| msgstr "INETD" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| #: src/daemon/gnuserv.c:501 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "Fel vid flagga %s: %s.\n" | ||||
| "Kör \"%s --help\" för att se hela listan av alla tillgängliga " | ||||
| "kommandoflaggor.\n" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| msgid "Hangup" | ||||
| msgstr "Avringd" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Interrupt" | ||||
| msgstr "Avbruten" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Quit" | ||||
| msgstr "Lämnad" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "Otillåten instruktion" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Trace trap" | ||||
| msgstr "Spårningsfälla" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Abort" | ||||
| msgstr "Avbruten (SIGABRT)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "EMT error" | ||||
| msgstr "Emulatorfälla" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "Aritmetiskt fel" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Kill" | ||||
| msgstr "Dödad" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Bus error" | ||||
| msgstr "Bussfel" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "Segmenteringsfel" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "Felaktigt argument till systemanrop" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Broken pipe" | ||||
| msgstr "Brutet rör" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Alarm clock" | ||||
| msgstr "Alarmklocka" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Termination" | ||||
| msgstr "Avslutad" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "Viktigt I/O-tillstånd" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Stop" | ||||
| msgstr "Stoppad (signal)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "Stoppad" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Continue" | ||||
| msgstr "Återupptagen" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Child status has changed" | ||||
| msgstr "Barnstatus ändrad" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background read from tty" | ||||
| msgstr "Stoppad (terminalläsning)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background write to tty" | ||||
| msgstr "Stoppad (terminalskrivning)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "I/O now possible" | ||||
| msgstr "I/O möjligt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "Begränsning av CPU-tid överskriden" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "Begränsning av filstorlek överskriden" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "Alarmklocka - virtuell tid" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "Profileringsklocka" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Window size change" | ||||
| msgstr "Ändrat fönster" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Information request" | ||||
| msgstr "Informationsbegäran" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "Användarsignal 1" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "Användarsignal 2" | ||||
|  | ||||
| #~ msgid "DEBUG" | ||||
| #~ msgstr "FELSÖK" | ||||
|  | ||||
| #~ msgid "VERBOSE" | ||||
| #~ msgstr "UTFÖRLIG" | ||||
|  | ||||
| #~ msgid "NO-DAEMON" | ||||
| #~ msgstr "INGEN-DEMON" | ||||
|  | ||||
| #~ msgid "INETD" | ||||
| #~ msgstr "INETD" | ||||
|  | ||||
| #~ msgid "Ticks (%ld per second):" | ||||
| #~ msgstr "Tick (%ld per sekund):" | ||||
|  | ||||
| @@ -498,3 +504,697 @@ msgstr "Användarsignal 2" | ||||
|  | ||||
| #~ msgid "IPv6 Prefix" | ||||
| #~ msgstr "IPv6-prefix" | ||||
|  | ||||
| # Osäker. | ||||
| #~ msgid "IPv6 Scope" | ||||
| #~ msgstr "IPv6-omfattning" | ||||
|  | ||||
| #~ msgid "Maximum Transfer Unit" | ||||
| #~ msgstr "Maximal överföringsenhet (MTU)" | ||||
|  | ||||
| #~ msgid "PPP State" | ||||
| #~ msgstr "Tillstånd för PPP" | ||||
|  | ||||
| #~ msgid "Input bytes" | ||||
| #~ msgstr "Inmatade byte" | ||||
|  | ||||
| #~ msgid "Output bytes" | ||||
| #~ msgstr "Utmatade byte" | ||||
|  | ||||
| #~ msgid "Number of input bytes" | ||||
| #~ msgstr "Antal inmatade byte" | ||||
|  | ||||
| #~ msgid "Number of output bytes" | ||||
| #~ msgstr "Antal utmatade byte" | ||||
|  | ||||
| #~ msgid "Size" | ||||
| #~ msgstr "Storlek" | ||||
|  | ||||
| #~ msgid "Length in bytes of the returned string." | ||||
| #~ msgstr "Längd i byte på den returnerade strängen." | ||||
|  | ||||
| #~ msgid "K_Flags" | ||||
| #~ msgstr "K_Flags" | ||||
|  | ||||
| #~ msgid "Min_Flt" | ||||
| #~ msgstr "Min_Flt" | ||||
|  | ||||
| #~ msgid "Maj_Flt" | ||||
| #~ msgstr "Maj_Flt" | ||||
|  | ||||
| #~ msgid "CMin_Flt" | ||||
| #~ msgstr "CMin_Flt" | ||||
|  | ||||
| #~ msgid "CMaj_Flt" | ||||
| #~ msgstr "CMaj_Flt" | ||||
|  | ||||
| #~ msgid "KStk_ESP" | ||||
| #~ msgstr "KStk_ESP" | ||||
|  | ||||
| #~ msgid "KStk_EIP" | ||||
| #~ msgstr "KStk_EIP" | ||||
|  | ||||
| #~ msgid "NWChan" | ||||
| #~ msgstr "NWChan" | ||||
|  | ||||
| #~ msgid "WChan" | ||||
| #~ msgstr "WChan" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Kernel flags of the process.\n" | ||||
| #~ "\n" | ||||
| #~ "On Linux, currently every flag has the math bit set, because crt0.s " | ||||
| #~ "checks for math emulation, so this is not included in the output.\n" | ||||
| #~ "\n" | ||||
| #~ "This is probably a bug, as not every process is a compiled C program.\n" | ||||
| #~ "\n" | ||||
| #~ "The math bit should be a decimal 4, and the traced bit is decimal 10." | ||||
| #~ msgstr "" | ||||
| #~ "Kernel-flaggor för processen.\n" | ||||
| #~ "\n" | ||||
| #~ "I Linux har varje flagga mattebiten satt eftersom crt0.s undersöker om " | ||||
| #~ "matematikemulering finns, så att den inte tas med i utskriften.\n" | ||||
| #~ "\n" | ||||
| #~ "Detta är troligen ett fel, eftersom alla processer inte är ett kompilerat " | ||||
| #~ "C-program.\n" | ||||
| #~ "\n" | ||||
| #~ "Mattebiten ska vara decimalt 4, och spår-biten är decimalt 10." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The number of minor faults the process has made, those which have not " | ||||
| #~ "required loading a memory page from disk." | ||||
| #~ msgstr "" | ||||
| #~ "Antal mindre sidfel processen har gjort, vilka inte kräver att en sida " | ||||
| #~ "läses in från disk." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The number of major faults the process has made, those which have " | ||||
| #~ "required loading a memory page from disk." | ||||
| #~ msgstr "" | ||||
| #~ "Antalet större sidfel processen gjort, vilka kräver att sidan läses in " | ||||
| #~ "från disk." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The number of minor faults that the process and its children have made." | ||||
| #~ msgstr "Antalet mindre sidfel som processen och dess barn gjort." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The number of major faults that the process and its children have made." | ||||
| #~ msgstr "Antalet större sidfel som processen och dess barn gjort." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The current value of esp (32-bit stack pointer), as found in the kernel " | ||||
| #~ "stack page for the process." | ||||
| #~ msgstr "" | ||||
| #~ "Nuvarande värdet av esp (32-bitars stackpekare), som läses ur " | ||||
| #~ "stackutrymmet för processen i kärnan." | ||||
|  | ||||
| #~ msgid "The current EIP (32-bit instruction pointer)." | ||||
| #~ msgstr "Nuvarande EIP (32-bitars instruktionspekare)." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "This is the \"channel\" in which the process is waiting.  This is the " | ||||
| #~ "address of a system call, and can be looked up in a namelist if you need " | ||||
| #~ "a textual name.  (If you have an up-to-date /etc/psdatabase, then try ps -" | ||||
| #~ "l to see the WCHAN field in action)" | ||||
| #~ msgstr "" | ||||
| #~ "Detta är den \"kanal\" som processen väntar i. Det är en adress till ett " | ||||
| #~ "systemanrop, och kan letas upp i en namnlista om du vill ha den i " | ||||
| #~ "textform. (Om du har en korrekt uppdaterad /etc/psdatabase kan du testa " | ||||
| #~ "ps -l för att se fältet WCHAN)" | ||||
|  | ||||
| #~ msgid "This is the textual name of the `nwchan' field." | ||||
| #~ msgstr "Detta är textnamnet för fältet \"nwchan\"" | ||||
|  | ||||
| #~ msgid "Virtual" | ||||
| #~ msgstr "Virtuellt" | ||||
|  | ||||
| #~ msgid "Resident" | ||||
| #~ msgstr "Resident" | ||||
|  | ||||
| #~ msgid "Share" | ||||
| #~ msgstr "Delat" | ||||
|  | ||||
| #~ msgid "Resident Set Size" | ||||
| #~ msgstr "Resident-set storlek" | ||||
|  | ||||
| #~ msgid "Resident Set Size Limit" | ||||
| #~ msgstr "Resident-set storleksgräns" | ||||
|  | ||||
| #~ msgid "Total # of pages of memory" | ||||
| #~ msgstr "Antal sidor minne" | ||||
|  | ||||
| #~ msgid "Number of pages of virtual memory" | ||||
| #~ msgstr "Antal sidor virtuellt minne" | ||||
|  | ||||
| #~ msgid "Number of resident set (non-swapped) pages" | ||||
| #~ msgstr "Antal resident set (oväxlade) sidor" | ||||
|  | ||||
| #~ msgid "Number of pages of shared (mmap'd) memory" | ||||
| #~ msgstr "Antal sidor med delat (mmap:at) minne" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Number of pages the process has in real memory, minus 3 for " | ||||
| #~ "administrative purposes. This is just the pages which count towards text, " | ||||
| #~ "data, or stack space. This does not include pages which have not been " | ||||
| #~ "demand-loaded in, or which are swapped out." | ||||
| #~ msgstr "" | ||||
| #~ "Antal sidor som processen har i riktigt minne, minus 3 för administrativa " | ||||
| #~ "syften. Detta är endast sidor som kan räknas till text, data eller stack-" | ||||
| #~ "utrymme. Detta inkluderar inte sidor som inte har laddats in per " | ||||
| #~ "förfrågan eller som har växlats ut." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Current limit in bytes on the rss of the process (usually 2,147,483,647)." | ||||
| #~ msgstr "" | ||||
| #~ "Nuvarande gräns i byte på rss:en för processen (normalt 2 147 483 647)." | ||||
|  | ||||
| #~ msgid "Text_RSS" | ||||
| #~ msgstr "Text_RSS" | ||||
|  | ||||
| #~ msgid "ShLib_RSS" | ||||
| #~ msgstr "ShLib_RSS" | ||||
|  | ||||
| #~ msgid "Data_RSS" | ||||
| #~ msgstr "Data_RSS" | ||||
|  | ||||
| #~ msgid "Stack_RSS" | ||||
| #~ msgstr "Stack_RSS" | ||||
|  | ||||
| #~ msgid "Dirty Size" | ||||
| #~ msgstr "Smutsig storlek" | ||||
|  | ||||
| #~ msgid "Start_Code" | ||||
| #~ msgstr "Start_Code" | ||||
|  | ||||
| #~ msgid "End_Code" | ||||
| #~ msgstr "End_Code" | ||||
|  | ||||
| #~ msgid "Start_Stack" | ||||
| #~ msgstr "Start_Stack" | ||||
|  | ||||
| #~ msgid "Text resident set size" | ||||
| #~ msgstr "Text resident set storlek" | ||||
|  | ||||
| #~ msgid "Shared-Lib resident set size" | ||||
| #~ msgstr "Delade bibliotek resident set storlek" | ||||
|  | ||||
| #~ msgid "Data resident set size" | ||||
| #~ msgstr "Data resident set storlek" | ||||
|  | ||||
| #~ msgid "Stack resident set size" | ||||
| #~ msgstr "Stack resident set storlek" | ||||
|  | ||||
| #~ msgid "Total size of dirty pages" | ||||
| #~ msgstr "Total storlek med smutsiga sidor" | ||||
|  | ||||
| #~ msgid "Address of beginning of code segment" | ||||
| #~ msgstr "Adressen till början av kodsegmentet" | ||||
|  | ||||
| #~ msgid "Address of end of code segment" | ||||
| #~ msgstr "Adressen till slutet av kodsegmentet" | ||||
|  | ||||
| #~ msgid "Address of the bottom of stack segment" | ||||
| #~ msgstr "Adressen till botten av stacksegmentet" | ||||
|  | ||||
| #~ msgid "Signal" | ||||
| #~ msgstr "Signal" | ||||
|  | ||||
| #~ msgid "Blocked" | ||||
| #~ msgstr "Blockerad" | ||||
|  | ||||
| #~ msgid "SigIgnore" | ||||
| #~ msgstr "SigIgnore" | ||||
|  | ||||
| #~ msgid "SigCatch" | ||||
| #~ msgstr "SigCatch" | ||||
|  | ||||
| #~ msgid "Mask of pending signals" | ||||
| #~ msgstr "Mask med väntande signaler" | ||||
|  | ||||
| #~ msgid "Mask of blocked signals" | ||||
| #~ msgstr "Mask med blockerande signaler" | ||||
|  | ||||
| #~ msgid "Mask of ignored signals" | ||||
| #~ msgstr "Mask med ignorerade signaler" | ||||
|  | ||||
| #~ msgid "Mask of caught signals" | ||||
| #~ msgstr "Mask med fångade signaler" | ||||
|  | ||||
| #~ msgid "Cmd" | ||||
| #~ msgstr "Komm" | ||||
|  | ||||
| #~ msgid "State" | ||||
| #~ msgstr "Tillstånd" | ||||
|  | ||||
| #~ msgid "UID" | ||||
| #~ msgstr "UID" | ||||
|  | ||||
| #~ msgid "GID" | ||||
| #~ msgstr "GID" | ||||
|  | ||||
| #~ msgid "RGid" | ||||
| #~ msgstr "RGid" | ||||
|  | ||||
| #~ msgid "RUid" | ||||
| #~ msgstr "RUid" | ||||
|  | ||||
| #~ msgid "HasCPU" | ||||
| #~ msgstr "HarCPU" | ||||
|  | ||||
| #~ msgid "Proc" | ||||
| #~ msgstr "Proc" | ||||
|  | ||||
| #~ msgid "LProc" | ||||
| #~ msgstr "LProc" | ||||
|  | ||||
| #~ msgid "Basename of executable file in call to exec()" | ||||
| #~ msgstr "Grundnamnet på den körbara filen vid anrop till exec()" | ||||
|  | ||||
| #~ msgid "Single-Char code for process state (S=sleeping)" | ||||
| #~ msgstr "Singelbokstavskod för processläge (S=sovande)" | ||||
|  | ||||
| #~ msgid "UID of process" | ||||
| #~ msgstr "UID för processen" | ||||
|  | ||||
| #~ msgid "GID of process" | ||||
| #~ msgstr "GID för processen" | ||||
|  | ||||
| #~ msgid "Real UID of process" | ||||
| #~ msgstr "Verkligt UID för processen" | ||||
|  | ||||
| #~ msgid "Real GID of process" | ||||
| #~ msgstr "Verkligt GID för processen" | ||||
|  | ||||
| #~ msgid "Has CPU" | ||||
| #~ msgstr "Har processor" | ||||
|  | ||||
| #~ msgid "Processor" | ||||
| #~ msgstr "Processor" | ||||
|  | ||||
| #~ msgid "Last Processor" | ||||
| #~ msgstr "Senaste processor" | ||||
|  | ||||
| #~ msgid "Start_Time" | ||||
| #~ msgstr "Start_tid" | ||||
|  | ||||
| #~ msgid "RTime" | ||||
| #~ msgstr "RTime" | ||||
|  | ||||
| #~ msgid "UTime" | ||||
| #~ msgstr "UTime" | ||||
|  | ||||
| #~ msgid "STime" | ||||
| #~ msgstr "STime" | ||||
|  | ||||
| #~ msgid "CUTime" | ||||
| #~ msgstr "CUTime" | ||||
|  | ||||
| #~ msgid "CSTime" | ||||
| #~ msgstr "CSTime" | ||||
|  | ||||
| #~ msgid "TimeOut" | ||||
| #~ msgstr "TimeOut" | ||||
|  | ||||
| #~ msgid "It_Real_Value" | ||||
| #~ msgstr "It_Real_Value" | ||||
|  | ||||
| #~ msgid "Frequency" | ||||
| #~ msgstr "Frekvens" | ||||
|  | ||||
| #~ msgid "XCPU_UTime" | ||||
| #~ msgstr "XCPU_UTime" | ||||
|  | ||||
| #~ msgid "XCPU_STime" | ||||
| #~ msgstr "XCPU_STime" | ||||
|  | ||||
| #~ msgid "Start time of process in seconds since the epoch" | ||||
| #~ msgstr "Starttid för processen i sekunder sedan epoken" | ||||
|  | ||||
| #~ msgid "Real time accumulated by process (should be utime + stime)" | ||||
| #~ msgstr "Riktig tid ackumulerad av processen (ska vara atid + stid)" | ||||
|  | ||||
| #~ msgid "user-mode CPU time accumulated by process" | ||||
| #~ msgstr "CPU-tid i användarläge ackumulerad av processen" | ||||
|  | ||||
| #~ msgid "kernel-mode CPU time accumulated by process" | ||||
| #~ msgstr "kernel-läge CPU-tid ackumulerad av processen" | ||||
|  | ||||
| #~ msgid "cumulative utime of process and reaped children" | ||||
| #~ msgstr "samlad utid för processen och dess döda barn" | ||||
|  | ||||
| #~ msgid "cumulative stime of process and reaped children" | ||||
| #~ msgstr "samlad stid för processen och dess döda barn" | ||||
|  | ||||
| #~ msgid "The time (in jiffies) of the process's next timeout" | ||||
| #~ msgstr "Tiden (i jiffies) för processens nästa timeout" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "The time (in jiffies) before the next SIGALRM is sent to the process due " | ||||
| #~ "to an interval timer." | ||||
| #~ msgstr "" | ||||
| #~ "Tiden (i jiffies) tills nästa SIGALRM skickas till processen p.g.a en " | ||||
| #~ "intervalltimer." | ||||
|  | ||||
| #~ msgid "Tick frequency" | ||||
| #~ msgstr "Tickfrekvens" | ||||
|  | ||||
| #~ msgid "SMP user-mode CPU time accumulated by process" | ||||
| #~ msgstr "SMP CPU-tid i användarläge ackumulerad av processen" | ||||
|  | ||||
| #~ msgid "SMP kernel-mode CPU time accumulated by process" | ||||
| #~ msgstr "SMP CPU-tid i kärnläge ackumulerad av processen" | ||||
|  | ||||
| #~ msgid "Uid" | ||||
| #~ msgstr "Uid" | ||||
|  | ||||
| #~ msgid "EUid" | ||||
| #~ msgstr "EUid" | ||||
|  | ||||
| #~ msgid "Gid" | ||||
| #~ msgstr "Gid" | ||||
|  | ||||
| #~ msgid "EGid" | ||||
| #~ msgstr "EGid" | ||||
|  | ||||
| #~ msgid "SUid" | ||||
| #~ msgstr "SUid" | ||||
|  | ||||
| #~ msgid "SGid" | ||||
| #~ msgstr "SGid" | ||||
|  | ||||
| #~ msgid "FSUid" | ||||
| #~ msgstr "FSUid" | ||||
|  | ||||
| #~ msgid "FSGid" | ||||
| #~ msgstr "FSGid" | ||||
|  | ||||
| #~ msgid "Pid" | ||||
| #~ msgstr "Pid" | ||||
|  | ||||
| #~ msgid "PPid" | ||||
| #~ msgstr "PPid" | ||||
|  | ||||
| #~ msgid "PGrp" | ||||
| #~ msgstr "PGrp" | ||||
|  | ||||
| #~ msgid "Session" | ||||
| #~ msgstr "Session" | ||||
|  | ||||
| #~ msgid "Tty" | ||||
| #~ msgstr "Tty" | ||||
|  | ||||
| #~ msgid "TPGid" | ||||
| #~ msgstr "TPGid" | ||||
|  | ||||
| #~ msgid "Priority" | ||||
| #~ msgstr "Prioritet" | ||||
|  | ||||
| #~ msgid "NGroups" | ||||
| #~ msgstr "NGrupper" | ||||
|  | ||||
| #~ msgid "Groups" | ||||
| #~ msgstr "Grupper" | ||||
|  | ||||
| #~ msgid "User ID" | ||||
| #~ msgstr "Användar-id" | ||||
|  | ||||
| #~ msgid "Effective User ID" | ||||
| #~ msgstr "Effektivt användar-id" | ||||
|  | ||||
| #~ msgid "Group ID" | ||||
| #~ msgstr "Grupp-id" | ||||
|  | ||||
| #~ msgid "Effective Group ID" | ||||
| #~ msgstr "Effektivt grupp-id" | ||||
|  | ||||
| #~ msgid "Set User ID" | ||||
| #~ msgstr "Ställ in användar-id" | ||||
|  | ||||
| #~ msgid "Set Group ID" | ||||
| #~ msgstr "Ställ in grupp-id" | ||||
|  | ||||
| #~ msgid "Filesystem User ID" | ||||
| #~ msgstr "Filsystemsanvändar-id" | ||||
|  | ||||
| #~ msgid "Filesystem Group ID" | ||||
| #~ msgstr "Filsystemsgrupp-id" | ||||
|  | ||||
| #~ msgid "Process ID" | ||||
| #~ msgstr "Process-id" | ||||
|  | ||||
| #~ msgid "PID of parent process" | ||||
| #~ msgstr "PID för förälderprocessen" | ||||
|  | ||||
| #~ msgid "Process group ID" | ||||
| #~ msgstr "Processgrupp-id" | ||||
|  | ||||
| #~ msgid "Session ID" | ||||
| #~ msgstr "Sessions-id" | ||||
|  | ||||
| #~ msgid "Full device number of controlling terminal" | ||||
| #~ msgstr "Fullständiga enhetsnumret på den kontrollerande terminalen" | ||||
|  | ||||
| #~ msgid "Terminal process group ID" | ||||
| #~ msgstr "Terminalens processgrupp-id" | ||||
|  | ||||
| #~ msgid "Kernel scheduling priority" | ||||
| #~ msgstr "Kernel scheduling-prioritet" | ||||
|  | ||||
| #~ msgid "Standard unix nice level of process" | ||||
| #~ msgstr "Standard unix nice-nivå för processen" | ||||
|  | ||||
| #~ msgid "Number of additional process groups" | ||||
| #~ msgstr "Antal ytterligare processgrupper" | ||||
|  | ||||
| #~ msgid "Array of additional process groups" | ||||
| #~ msgstr "Vektor med ytterligare processgrupper" | ||||
|  | ||||
| #~ msgid "Number of entries in semaphore map" | ||||
| #~ msgstr "Antal poster i semaforkartan" | ||||
|  | ||||
| #~ msgid "Max number of arrays" | ||||
| #~ msgstr "Max antal arrayer" | ||||
|  | ||||
| #~ msgid "Max semaphores system wide" | ||||
| #~ msgstr "Max semaforer i hela systemet" | ||||
|  | ||||
| #~ msgid "Number of undo structures system wide" | ||||
| #~ msgstr "Antal ångra-strukturer i hela systemet" | ||||
|  | ||||
| #~ msgid "Max semaphores per array" | ||||
| #~ msgstr "Max semaforer per vektor" | ||||
|  | ||||
| #~ msgid "Max ops per semop call" | ||||
| #~ msgstr "Max operationer semaforanrop" | ||||
|  | ||||
| #~ msgid "Max number of undo entries per process" | ||||
| #~ msgstr "Max antal ångrasteg per process" | ||||
|  | ||||
| #~ msgid "sizeof struct sem_undo" | ||||
| #~ msgstr "sizeof struct sem_undo" | ||||
|  | ||||
| #~ msgid "Semaphore max value" | ||||
| #~ msgstr "Maxvärde för semafor" | ||||
|  | ||||
| #~ msgid "Adjust on exit max value" | ||||
| #~ msgstr "Justera vid avslut, maxvärde" | ||||
|  | ||||
| #~ msgid "Max segment size" | ||||
| #~ msgstr "Max segmentsstorlek" | ||||
|  | ||||
| #~ msgid "Min segment size" | ||||
| #~ msgstr "Min segmentsstorlek" | ||||
|  | ||||
| #~ msgid "Max number of segments" | ||||
| #~ msgstr "Max antal segment" | ||||
|  | ||||
| #~ msgid "Max shared segments per process" | ||||
| #~ msgstr "Max antal delade segment per process" | ||||
|  | ||||
| #~ msgid "Max total shared memory" | ||||
| #~ msgstr "Max totalt delat minne" | ||||
|  | ||||
| #~ msgid "Total Swap Space" | ||||
| #~ msgstr "Totalt växlingsutrymme" | ||||
|  | ||||
| #~ msgid "Used Swap Space" | ||||
| #~ msgstr "Använt växlingsutrymme" | ||||
|  | ||||
| #~ msgid "Free Swap Space" | ||||
| #~ msgstr "Fritt växlingsutrymme" | ||||
|  | ||||
| #~ msgid "Page In" | ||||
| #~ msgstr "Page in" | ||||
|  | ||||
| #~ msgid "Page Out" | ||||
| #~ msgstr "Page ut" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Total number of swap pages that have been brought in since system boot" | ||||
| #~ msgstr "Totalt antal växlingssidor som tagits in sedan systemstart" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Total number of swap pages that have been brought out since system boot" | ||||
| #~ msgstr "Totalt antal växlingssidor som tagits ut sedan systemstart" | ||||
|  | ||||
| #~ msgid "Server Features" | ||||
| #~ msgstr "Serverfunktioner" | ||||
|  | ||||
| #~ msgid "CPU Usage" | ||||
| #~ msgstr "CPU-användning" | ||||
|  | ||||
| #~ msgid "Memory Usage" | ||||
| #~ msgstr "Minnesanvändning" | ||||
|  | ||||
| #~ msgid "Swap Usage" | ||||
| #~ msgstr "Växlingsanvändning" | ||||
|  | ||||
| #~ msgid "System Uptime" | ||||
| #~ msgstr "Systemets drifttid" | ||||
|  | ||||
| #~ msgid "Load Averange" | ||||
| #~ msgstr "Meddellast" | ||||
|  | ||||
| #~ msgid "Shared Memory Limits" | ||||
| #~ msgstr "Delat minne gränser" | ||||
|  | ||||
| #~ msgid "Message Queue Limits" | ||||
| #~ msgstr "Meddelandekögränser" | ||||
|  | ||||
| #~ msgid "Semaphore Set Limits" | ||||
| #~ msgstr "Semafor-set-gränser" | ||||
|  | ||||
| #~ msgid "List of running Processes" | ||||
| #~ msgstr "Lista med körande processer" | ||||
|  | ||||
| #~ msgid "Process Status information" | ||||
| #~ msgstr "Processens statusinformation" | ||||
|  | ||||
| #~ msgid "Process UID and TTY information" | ||||
| #~ msgstr "Processens UID- och TTY-information" | ||||
|  | ||||
| #~ msgid "Process Memory information" | ||||
| #~ msgstr "Processens minnesinformation" | ||||
|  | ||||
| #~ msgid "Process Time information" | ||||
| #~ msgstr "Processens tidsinformation" | ||||
|  | ||||
| #~ msgid "Process Signal information" | ||||
| #~ msgstr "Processens signalinformation" | ||||
|  | ||||
| #~ msgid "Process Kernel Data information" | ||||
| #~ msgstr "Processens kernel-datainformation" | ||||
|  | ||||
| #~ msgid "Process Segment information" | ||||
| #~ msgstr "Processens segmentinformation" | ||||
|  | ||||
| #~ msgid "Process Arguments" | ||||
| #~ msgstr "Processens argument" | ||||
|  | ||||
| #~ msgid "Process Memory Map" | ||||
| #~ msgstr "Processens minneskarta" | ||||
|  | ||||
| #~ msgid "Mount List" | ||||
| #~ msgstr "Lista med monteringar" | ||||
|  | ||||
| #~ msgid "File System Usage" | ||||
| #~ msgstr "Filsystemets användning" | ||||
|  | ||||
| #~ msgid "Network Load" | ||||
| #~ msgstr "Nätverkslast" | ||||
|  | ||||
| #~ msgid "PPP Statistics" | ||||
| #~ msgstr "PPP-statistik" | ||||
|  | ||||
| #~ msgid "Command line arguments of the process" | ||||
| #~ msgstr "Kommandoradsargument till processen" | ||||
|  | ||||
| #~ msgid "List of currently mounted filesystems" | ||||
| #~ msgstr "Lista av för närvarande monterade filsystem" | ||||
|  | ||||
| #~ msgid "Uptime" | ||||
| #~ msgstr "Igångtid" | ||||
|  | ||||
| #~ msgid "Idletime" | ||||
| #~ msgstr "Idletid" | ||||
|  | ||||
| #~ msgid "BootTime" | ||||
| #~ msgstr "Starttid" | ||||
|  | ||||
| #~ msgid "Time in seconds since system boot" | ||||
| #~ msgstr "Tid i sekunder sedan systemstart" | ||||
|  | ||||
| #~ msgid "Time in seconds the system spent in the idle task since system boot" | ||||
| #~ msgstr "" | ||||
| #~ "Tid i sekunder som systemet har spenderat i Idle-jobbet sedan systemstart" | ||||
|  | ||||
| #~ msgid "Time of last system boot in seconds since the epoch" | ||||
| #~ msgstr "Tid för senaste systemstart i sekunder sedan epoken" | ||||
|  | ||||
| #~ msgid "Subnet" | ||||
| #~ msgstr "Subnät" | ||||
|  | ||||
| #~ msgid "Address" | ||||
| #~ msgstr "Adress" | ||||
|  | ||||
| #~ msgid "Prefix" | ||||
| #~ msgstr "Prefix" | ||||
|  | ||||
| # Osäker. | ||||
| #~ msgid "Scope" | ||||
| #~ msgstr "Omfattning" | ||||
|  | ||||
| #~ msgid "read %d bytes" | ||||
| #~ msgstr "läste %d byte" | ||||
|  | ||||
| #~ msgid "read data %d bytes" | ||||
| #~ msgstr "läste %d byte data" | ||||
|  | ||||
| #~ msgid "write %d bytes" | ||||
| #~ msgstr "skrev %d byte" | ||||
|  | ||||
| #~ msgid "Unknown system error" | ||||
| #~ msgstr "Okänt systemfel" | ||||
|  | ||||
| #~ msgid "%s: option `%s' is ambiguous\n" | ||||
| #~ msgstr "%s: flaggan \"%s\" är tvetydig\n" | ||||
|  | ||||
| #~ msgid "%s: option `--%s' doesn't allow an argument\n" | ||||
| #~ msgstr "%s: flaggan \"--%s\" tillåter inga argument\n" | ||||
|  | ||||
| #~ msgid "%s: option `%c%s' doesn't allow an argument\n" | ||||
| #~ msgstr "%s: flaggan \"%c%s\" tillåter inga argument\n" | ||||
|  | ||||
| #~ msgid "%s: option `%s' requires an argument\n" | ||||
| #~ msgstr "%s: flaggan \"%s\" kräver ett argument\n" | ||||
|  | ||||
| #~ msgid "%s: unrecognized option `--%s'\n" | ||||
| #~ msgstr "%s: okänd flagga \"--%s\"\n" | ||||
|  | ||||
| #~ msgid "%s: unrecognized option `%c%s'\n" | ||||
| #~ msgstr "%s: okänd flagga \"%c%s\"\n" | ||||
|  | ||||
| #~ msgid "%s: illegal option -- %c\n" | ||||
| #~ msgstr "%s: otillåten flagga -- %c\n" | ||||
|  | ||||
| #~ msgid "%s: invalid option -- %c\n" | ||||
| #~ msgstr "%s: ogiltig flagga -- %c\n" | ||||
|  | ||||
| #~ msgid "%s: option requires an argument -- %c\n" | ||||
| #~ msgstr "%s: flaggan kräver ett argument -- %c\n" | ||||
|  | ||||
| #~ msgid "%s: option `-W %s' is ambiguous\n" | ||||
| #~ msgstr "%s: flaggan \"-W %s\" är tvetydig\n" | ||||
|  | ||||
| #~ msgid "%s: option `-W %s' doesn't allow an argument\n" | ||||
| #~ msgstr "%s: flaggan \"-W %s\" tillåter inga argument\n" | ||||
|  | ||||
| #~ msgid "Show this help message" | ||||
| #~ msgstr "Visa denna hjälptext" | ||||
|  | ||||
| #~ msgid "Display brief usage message" | ||||
| #~ msgstr "Visa kortfattad användningstext" | ||||
|  | ||||
| #~ msgid "Current limit in bytes on the rss of the process (usually %ld)." | ||||
| #~ msgstr "Nuvarande gräns i byte på rss:en för processen (normalt %ld)." | ||||
|   | ||||
							
								
								
									
										21
									
								
								po/ta.po
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								po/ta.po
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| # translation of ta.po to | ||||
| # translation of ta.po to Tamil | ||||
| # Tamil translation of Tamil Libgtop 2.4. | ||||
| # Copyright (C) 2003, 2004,2007 Free Software Foundation, Inc. | ||||
| # Dinesh Nadarajah <n_dinesh@yahoo.com>, 2003. | ||||
| @@ -10,14 +10,14 @@ msgstr "" | ||||
| "Project-Id-Version: ta\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2005-09-25 18:15+0200\n" | ||||
| "PO-Revision-Date: 2007-04-27 11:03+0530\n" | ||||
| "Last-Translator: \n" | ||||
| "Language-Team:  <en@li.org>\n" | ||||
| "PO-Revision-Date: 2007-04-24 16:28+0530\n" | ||||
| "Last-Translator: B.Senthil Kumar <senthilb@cdac.in>\n" | ||||
| "Language-Team: Tamil <tamil-DI@yahoogroups.com>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "0500\n" | ||||
| "X-Generator: KBabel 1.11.4\n" | ||||
| "X-Generator: KBabel 1.3.1\n" | ||||
| "Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| "\n" | ||||
|  | ||||
| @@ -33,18 +33,18 @@ msgid "read data size" | ||||
| msgstr "படித்த தகவல் அளவு" | ||||
|  | ||||
| #: lib/read_data.c:72 | ||||
| #, c-format | ||||
| #, fuzzy, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்" | ||||
| msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்" | ||||
| msgstr[0] "%d பைட்கள் படி" | ||||
| msgstr[1] "%d பைட்கள் படி" | ||||
|  | ||||
| #: lib/write.c:52 | ||||
| #, c-format | ||||
| #, fuzzy, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "எழுதிய %d பைட்" | ||||
| msgstr[1] "எழுதிய %d பைட்டுகள்" | ||||
| msgstr[1] "எழுதிய %d பைட்" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| @@ -210,4 +210,3 @@ msgstr "பயனீட்டாளர் குறித்த சங்கே | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2" | ||||
|  | ||||
|   | ||||
							
								
								
									
										118
									
								
								po/th.po
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								po/th.po
									
									
									
									
									
								
							| @@ -1,15 +1,15 @@ | ||||
| # Thai translation of libgtop. | ||||
| # Copyright (C) 2005 Free Software Foundation | ||||
| # This file is distributed under the same license as the libgtop package. | ||||
| # Theppitak Karoonboonyanan <thep@linux.thai.net>, 2005-2007. | ||||
| # Theppitak Karoonboonyanan <thep@linux.thai.net>, 2005. | ||||
| #  | ||||
| #  | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop 2.11.1\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2007-05-18 17:22+0700\n" | ||||
| "PO-Revision-Date: 2007-05-18 17:23+0700\n" | ||||
| "POT-Creation-Date: 2006-08-27 17:55+0700\n" | ||||
| "PO-Revision-Date: 2006-08-27 17:56+0700\n" | ||||
| "Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n" | ||||
| "Language-Team: Thai <l10n@opentle.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -17,181 +17,189 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
|  | ||||
| #: lib/read.c:51 | ||||
| #: lib/read.c:65 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "อ่าน %d ไบต์" | ||||
|  | ||||
| #: lib/read_data.c:51 | ||||
| #: lib/read_data.c:53 | ||||
| msgid "read data size" | ||||
| msgstr "อ่านขนาดข้อมูล" | ||||
|  | ||||
| #: lib/read_data.c:70 | ||||
| #: lib/read_data.c:72 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "อ่านข้อมูล %lu ไบต์" | ||||
|  | ||||
| #: lib/write.c:51 | ||||
| #: lib/write.c:53 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "เขียน %d ไบต์" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:458 | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "Enable debugging" | ||||
| msgstr "เปิดใช้การดีบั๊ก" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "DEBUG" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "เปิดข้อความเอาต์พุตละเอียด" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "VERBOSE" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "ไม่ต้อง fork ไปทำงานเบื้องหลัง" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "NO-DAEMON" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "เรียกจาก inetd" | ||||
|  | ||||
| #: src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "เรียก '%s --help' เพื่อดูรายการตัวเลือกบรรทัดคำสั่งทั้งหมดที่ใช้ได้\n" | ||||
| #: src/daemon/gnuserv.c:466 | ||||
| msgid "INETD" | ||||
| msgstr "INETD" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27 | ||||
| #: src/daemon/gnuserv.c:500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Error on option %s: %s.\n" | ||||
| "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "มีข้อผิดพลาดในตัวเลือก %s: %s\n" | ||||
| "เรียก '%s --help' เพื่อดูรายการตัวเลือกบรรทัดคำสั่งทั้งหมดที่ใช้ได้\n" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| msgid "Hangup" | ||||
| msgstr "ตัดการเชื่อมต่อ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| msgid "Interrupt" | ||||
| msgstr "ขัดจังหวะ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| msgid "Quit" | ||||
| msgstr "ออกทันที" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "รหัสคำสั่งผิดพลาด" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| msgid "Trace trap" | ||||
| msgstr "หยุดเพื่อตรวจสอบ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| msgid "Abort" | ||||
| msgstr "เลิกทำงาน" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| msgid "EMT error" | ||||
| msgstr "ข้อผิดพลาด EMT" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "ความผิดพลาดเลขคณิตทศนิยม" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| msgid "Kill" | ||||
| msgstr "ฆ่า" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| msgid "Bus error" | ||||
| msgstr "บัสผิดพลาด" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "การละเมิดพื้นที่หน่วยความจำ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "การเรียกฟังก์ชันระบบผิดพลาด" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| msgid "Broken pipe" | ||||
| msgstr "ไปป์หลุด" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| msgid "Alarm clock" | ||||
| msgstr "นาฬิกาปลุก" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| msgid "Termination" | ||||
| msgstr "จบการทำงาน" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "เงื่อนไขเร่งด่วนของซ็อกเก็ต" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| msgid "Stop" | ||||
| msgstr "หยุด" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "หยุดด้วยแป้นพิมพ์" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| msgid "Continue" | ||||
| msgstr "ทำงานต่อ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| msgid "Child status has changed" | ||||
| msgstr "โพรเซสลูกเปลี่ยนสถานะ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| msgid "Background read from tty" | ||||
| msgstr "โพรเซสเบื้องหลังอ่านเทอร์มินัล" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| msgid "Background write to tty" | ||||
| msgstr "โพรเซสเบื้องหลังเขียนเทอร์มินัล" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| msgid "I/O now possible" | ||||
| msgstr "ข้อมูลเข้า/ออกพร้อม" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "ทะลุขีดจำกัด CPU" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "ทะลุขีดจำกัดขนาดแฟ้ม" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "นาฬิกาปลุกเสมือน" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "นาฬิกาปลุกวัดประสิทธิภาพ" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| msgid "Window size change" | ||||
| msgstr "ขนาดหน้าต่างเทอร์มินัลเปลี่ยน" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| msgid "Information request" | ||||
| msgstr "ร้องขอข้อมูล" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 | ||||
| #: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "สัญญาณผู้ใช้กำหนด 1" | ||||
|  | ||||
| #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 | ||||
| #: sysdeps/osf1/siglist.c:59 sysdeps/sun4/siglist.c:59 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "สัญญาณผู้ใช้กำหนด 2" | ||||
|  | ||||
| #~ msgid "DEBUG" | ||||
| #~ msgstr "DEBUG" | ||||
|  | ||||
| #~ msgid "VERBOSE" | ||||
| #~ msgstr "VERBOSE" | ||||
|  | ||||
| #~ msgid "NO-DAEMON" | ||||
| #~ msgstr "NO-DAEMON" | ||||
|  | ||||
| #~ msgid "INETD" | ||||
| #~ msgstr "INETD" | ||||
|   | ||||
| @@ -1,10 +1,16 @@ | ||||
| if INODEDB | ||||
| inodedb_SUBDIRS		= inodedb | ||||
| else | ||||
| inodedb_SUBDIRS		= | ||||
| endif | ||||
|  | ||||
| if NEED_LIBGTOP | ||||
| daemon_SUBDIRS		= daemon | ||||
| else | ||||
| daemon_SUBDIRS		= | ||||
| endif | ||||
|  | ||||
| SUBDIRS			= $(daemon_SUBDIRS) | ||||
| SUBDIRS			= $(daemon_SUBDIRS) $(inodedb_SUBDIRS) | ||||
|  | ||||
| DIST_SUBDIRS		= daemon | ||||
| DIST_SUBDIRS		= daemon inodedb | ||||
|  | ||||
|   | ||||
| @@ -40,10 +40,11 @@ libgtop_daemon2_LDADD		= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 				  @sysdeps_suid_lib@ \ | ||||
| 				  $(suid_sysdeps) $(suid_common) \ | ||||
| 				  $(LIBGTOP_LIBS) \ | ||||
| 				  -lpopt \ | ||||
| 				  @libs_xauth@ | ||||
|  | ||||
| libgtop_server2_SOURCES		= server.c slave.c io.c version.c daemon.h | ||||
| libgtop_server2_LDADD		= $(GLIB_LIBS) $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la \ | ||||
| libgtop_server2_LDADD		= $(GLIB_LIBS) -lpopt $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la \ | ||||
| 				  $(top_builddir)/sysdeps/common/libgtop_suid_common-2.0.la | ||||
|  | ||||
| EXTRA_DIST			= server_config.h.in server_config.pl | ||||
|   | ||||
| @@ -57,20 +57,20 @@ G_BEGIN_DECLS | ||||
| #define MSG_BUFSZ		sizeof (struct _glibtop_ipc_message) | ||||
| #define MSG_MSGSZ		(MSG_BUFSZ - sizeof (long)) | ||||
|  | ||||
| void handle_parent_connection (int s); | ||||
| void handle_slave_connection (int input, int output); | ||||
| void handle_parent_connection (int s) G_GNUC_INTERNAL; | ||||
| void handle_slave_connection (int input, int output) G_GNUC_INTERNAL; | ||||
| void handle_slave_command (glibtop_command *cmnd, glibtop_response *resp, | ||||
| 			   const void *parameter); | ||||
| 			   const void *parameter) G_GNUC_INTERNAL ; | ||||
|  | ||||
| void do_output (int s, glibtop_response *resp, off_t offset, | ||||
| 		size_t data_size, const void *data); | ||||
| int do_read (int s, void *ptr, size_t total_size); | ||||
| 		size_t data_size, const void *data) G_GNUC_INTERNAL; | ||||
| int do_read (int s, void *ptr, size_t total_size) G_GNUC_INTERNAL; | ||||
|  | ||||
| void syslog_message (int priority, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
| void syslog_io_message (int priority, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
| void syslog_message (int priority, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
| void syslog_io_message (int priority, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3); | ||||
|  | ||||
| extern gboolean enable_debug; | ||||
| extern gboolean verbose_output; | ||||
| extern int enable_debug; | ||||
| extern int verbose_output; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -46,6 +46,7 @@ | ||||
| #include <glibtop/gnuserv.h> | ||||
|  | ||||
| #include <errno.h> | ||||
| #include <popt.h> | ||||
|  | ||||
| #include "daemon.h" | ||||
|  | ||||
| @@ -78,10 +79,10 @@ static Xauth *server_xauth = NULL; | ||||
|  | ||||
| #endif /* AUTH_MAGIC_COOKIE */ | ||||
|  | ||||
| gboolean enable_debug = FALSE; | ||||
| gboolean verbose_output = FALSE; | ||||
| static gboolean no_daemon = FALSE; | ||||
| static gboolean invoked_from_inetd = FALSE; | ||||
| int enable_debug = 0; | ||||
| int verbose_output = 0; | ||||
| static int no_daemon = 0; | ||||
| static int invoked_from_inetd = 0; | ||||
| static int changed_uid = 0; | ||||
|  | ||||
| void | ||||
| @@ -453,26 +454,27 @@ handle_signal (int sig) | ||||
|     exit (1); | ||||
| } | ||||
|  | ||||
| static const GOptionEntry options [] = { | ||||
|     { "debug", 'd', 0, G_OPTION_ARG_NONE, &enable_debug, | ||||
|       N_("Enable debugging"), NULL }, | ||||
|     { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose_output, | ||||
|       N_("Enable verbose output"), NULL }, | ||||
|     { "no-daemon", 'f', 0, G_OPTION_ARG_NONE, &no_daemon, | ||||
|       N_("Don't fork into background"), NULL }, | ||||
|     { "inetd", 'i', 0, G_OPTION_ARG_NONE, &invoked_from_inetd, | ||||
|       N_("Invoked from inetd"), NULL }, | ||||
|     { NULL } | ||||
| const struct poptOption popt_options [] = { | ||||
|     POPT_AUTOHELP | ||||
|     { "debug", 'd', POPT_ARG_NONE, &enable_debug, 0, | ||||
|       N_("Enable debugging"), N_("DEBUG") }, | ||||
|     { "verbose", 'v', POPT_ARG_NONE, &verbose_output, 0, | ||||
|       N_("Enable verbose output"), N_("VERBOSE") }, | ||||
|     { "no-daemon", 'f', POPT_ARG_NONE, &no_daemon, 0, | ||||
|       N_("Don't fork into background"), N_("NO-DAEMON") }, | ||||
|     { "inetd", 'i', POPT_ARG_NONE, &invoked_from_inetd, 0, | ||||
|       N_("Invoked from inetd"), N_("INETD") }, | ||||
|     { NULL, '\0', 0, NULL, 0, NULL, NULL } | ||||
| }; | ||||
|  | ||||
| int | ||||
| main (int argc, char **argv) | ||||
| main (int argc, const char **argv) | ||||
| { | ||||
|     const unsigned method = GLIBTOP_METHOD_PIPE; | ||||
|     const unsigned long features = GLIBTOP_SYSDEPS_ALL; | ||||
|     glibtop *server = glibtop_global_server; | ||||
|     GOptionContext *goption_context; | ||||
|     GError *error = NULL; | ||||
|     poptContext context; | ||||
|     int nextopt; | ||||
|  | ||||
|     int ils = -1;		/* internet domain listen socket */ | ||||
|  | ||||
| @@ -486,19 +488,22 @@ main (int argc, char **argv) | ||||
| 	    arg ? (arg + 1) : program_invocation_name; | ||||
|     } | ||||
|  | ||||
|     g_set_prgname (program_invocation_short_name); | ||||
|     goption_context = g_option_context_new (NULL); | ||||
|     g_option_context_add_main_entries (goption_context, options, NULL); | ||||
|     g_option_context_parse (goption_context, &argc, &argv, &error); | ||||
|     g_option_context_free (goption_context); | ||||
|     context = poptGetContext ("libgtop-daemon", argc, argv, | ||||
| 			      popt_options, 0); | ||||
|  | ||||
|     if (error != NULL) { | ||||
|         g_printerr ("%s\n", error->message); | ||||
|         g_error_free (error); | ||||
|         g_printerr (_("Run '%s --help' to see a full list of " | ||||
|                     "available command line options.\n"), | ||||
|                     program_invocation_name); | ||||
|         exit(1); | ||||
|     poptReadDefaultConfig (context, TRUE); | ||||
|  | ||||
|     while ((nextopt = poptGetNextOpt (context)) > 0) | ||||
| 	/* do nothing */ ; | ||||
|  | ||||
|     if(nextopt != -1) { | ||||
| 	printf (_("Error on option %s: %s.\n" | ||||
| 		  "Run '%s --help' to see a full list of " | ||||
| 		  "available command line options.\n"), | ||||
| 		poptBadOption (context, 0), | ||||
| 		poptStrerror (nextopt), | ||||
| 		argv[0]); | ||||
| 	exit(1); | ||||
|     } | ||||
|  | ||||
|     if (enable_debug) | ||||
|   | ||||
| @@ -150,15 +150,6 @@ handle_parent_connection (int s) | ||||
| 		       resp->u.data.proc_map.total, ptr); | ||||
| 	    g_free (ptr); | ||||
| 	    break; | ||||
|  | ||||
| 	case GLIBTOP_CMND_PROC_WD: | ||||
| 		/* FIXME */ | ||||
| 	    break; | ||||
|  | ||||
| 	case GLIBTOP_CMND_NETLIST: | ||||
| 		/* FIXME */ | ||||
| 	    break; | ||||
|  | ||||
| 	case GLIBTOP_CMND_PROC_ARGS: | ||||
| 	    memcpy (&pid, parameter, sizeof (pid_t)); | ||||
| 	    ptr = glibtop_get_proc_args_l (server, | ||||
|   | ||||
| @@ -51,8 +51,6 @@ GLIBTOP_SUID_PROC_SEGMENT + | ||||
| GLIBTOP_SUID_PROC_ARGS + | ||||
| GLIBTOP_SUID_PROC_MAP + | ||||
| GLIBTOP_SUID_NETLOAD + | ||||
| GLIBTOP_SUID_NETLIST + | ||||
| GLIBTOP_SUID_PROC_WD + | ||||
| GLIBTOP_SUID_PPP; | ||||
|  | ||||
| #include <fcntl.h> | ||||
|   | ||||
							
								
								
									
										14
									
								
								src/inodedb/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/inodedb/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| bin_PROGRAMS		= mkinodedb2 file_by_inode2 | ||||
|  | ||||
| INCLUDES		= @INCLUDES@ | ||||
|  | ||||
| mkinodedb2_LDADD		= $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la | ||||
|  | ||||
| file_by_inode2_LDADD	= $(top_builddir)/lib/libgtop-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_common-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \ | ||||
| 			  $(top_builddir)/sysdeps/common/libgtop_suid_common-2.0.la | ||||
|  | ||||
| EXTRA_DIST		= README.inodedb | ||||
							
								
								
									
										73
									
								
								src/inodedb/README.inodedb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								src/inodedb/README.inodedb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | ||||
| Not all UNIXes provide an easy way to get the filename if you have | ||||
| the device it is mounted on and its inode. | ||||
|  | ||||
| Well, under Linux we can simply read /proc/<pid>/maps to get the filenames | ||||
| but I don't see any way to get this under FreeBSD. | ||||
|  | ||||
| In this case you can give configure the optional `--with-libgtop-inodedb' | ||||
| parameter to build this stuff here. | ||||
|  | ||||
| It uses the GNU database library `gdbm' to find the inode in a database | ||||
| which is created when libgtop is installed. This should be reasonable | ||||
| fast since the entire filesystem only needs to be traversed once when | ||||
| libgtop is installed (and each time you install new software, of cause). | ||||
|  | ||||
| We have two databases: | ||||
|  | ||||
| * First the system administrator may place a system-wide database | ||||
|   in `$(prefix)/var/libgtop/inodedb.db' when installing libgtop. | ||||
|  | ||||
| * Every user can have his/her own one in `~/var/libgtop/inodedb.db'. | ||||
|   This one has precedence over the system wide one. | ||||
|  | ||||
| The `mkinodedb' program which is build in this directory takes two | ||||
| command line arguments: the full pathname of the database to be created | ||||
| and the name of a configuration file consisting of directory and file names | ||||
| each on a line by itself - see `/etc/ld.so.conf' for an example. | ||||
|  | ||||
| Putting a directory name in this file means all regular files found in this | ||||
| directory are included in the database, but it will not recursively descend | ||||
| into subdirectories (for instance, we want everythink in `/usr/lib' but not | ||||
| every single file in `/usr/lib/sgml'). You can also use filenames to include | ||||
| a single file. | ||||
|  | ||||
| To use this interface in your program, you first have to call | ||||
| `glibtop_inodedb_open ()': | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open (unsigned databases, unsigned long cachesize) | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open_s (glibtop *server, unsigned databases, | ||||
| 			unsigned long cachesize) | ||||
|  | ||||
| There are some constants defined in <glibtop/inodedb.h> for the `databases' | ||||
| parameter - you can use zero as default: | ||||
|  | ||||
| #define GLIBTOP_INODEDB_SYSTEM		1 | ||||
| #define GLIBTOP_INODEDB_USER		2 | ||||
| #define GLIBTOP_INODEDB_CACHE		4 | ||||
|  | ||||
| The `cachesize' gives the size of a not yet implemented in-memory cache for | ||||
| looked up entries. | ||||
|  | ||||
| This function will return a pointer of type `glibtop_inodedb *' which you need | ||||
| to lookup an entry in the database. | ||||
|  | ||||
| To look up an entry, use the `glibtop_inodedb_lookup ()' function: | ||||
|  | ||||
| const char * | ||||
| glibtop_inodedb_lookup (glibtop_inodedb *inodedb, | ||||
| 			guint64 device, guint64 inode) | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode) | ||||
|  | ||||
| It will either return a pointer to the filename - which you have to | ||||
| `g_free ()' once done with it - or NULL on error. | ||||
|  | ||||
| You can use the `file_by_inode' program in this directory to test the | ||||
| interface - just call it with two command line arguments: the device number | ||||
| and the inode number. | ||||
|  | ||||
| Martin <martin@home-of-linux.org> | ||||
							
								
								
									
										64
									
								
								src/inodedb/file_by_inode2.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								src/inodedb/file_by_inode2.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/error.h> | ||||
| #include <glibtop/inodedb.h> | ||||
|  | ||||
| #include <pwd.h> | ||||
| #include <dirent.h> | ||||
|  | ||||
| #include <sys/stat.h> | ||||
|  | ||||
| int | ||||
| main (int argc, const char *argv []) | ||||
| { | ||||
| 	glibtop_inodedb *inodedb; | ||||
| 	const char *filename; | ||||
| 	unsigned device, inode; | ||||
|  | ||||
| 	if (argc != 3) { | ||||
| 		fprintf (stderr, "Usage: %s device inode\n", argv [0]); | ||||
| 		exit (1); | ||||
| 	} | ||||
|  | ||||
| 	if (sscanf (argv [1], "%d", &device) != 1) { | ||||
| 		fprintf (stderr, "Usage: %s device inode\n", argv [0]); | ||||
| 		exit (1); | ||||
| 	} | ||||
|  | ||||
| 	if (sscanf (argv [2], "%d", &inode) != 1) { | ||||
| 		fprintf (stderr, "Usage: %s device inode\n", argv [0]); | ||||
| 		exit (1); | ||||
| 	} | ||||
|  | ||||
| 	inodedb = glibtop_inodedb_open (0, 0); | ||||
| 	if (!inodedb) exit (1); | ||||
|  | ||||
| 	filename = glibtop_inodedb_lookup (inodedb, device, inode); | ||||
| 	if (!filename) exit (2); | ||||
|  | ||||
| 	fprintf (stderr, "FILENAME: %d - %d - '%s'\n", | ||||
| 		 (int) device, (int) inode, filename); | ||||
|  | ||||
| 	exit (0); | ||||
| } | ||||
							
								
								
									
										134
									
								
								src/inodedb/mkinodedb2.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								src/inodedb/mkinodedb2.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,134 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/error.h> | ||||
| #include <glibtop/inodedb.h> | ||||
|  | ||||
| #include <pwd.h> | ||||
| #include <dirent.h> | ||||
|  | ||||
| #include <sys/stat.h> | ||||
|  | ||||
| int | ||||
| main (int argc, char *argv []) | ||||
| { | ||||
| 	GDBM_FILE dbf; | ||||
| 	char dirname [BUFSIZ]; | ||||
| 	FILE *f; | ||||
|  | ||||
| 	if (argc != 3) { | ||||
| 		fprintf (stderr, "Usage: %s database filename\n", argv [0]); | ||||
| 		exit (1); | ||||
| 	} | ||||
|  | ||||
| 	f = fopen (argv [2], "rt"); | ||||
| 	if (!f) | ||||
| 		glibtop_error_io ("fopen (%s)", argv [2]); | ||||
|  | ||||
| 	dbf = gdbm_open (argv [1], 512, GDBM_WRCREAT, 0600, 0); | ||||
| 	if (!dbf) | ||||
| 		glibtop_error_io ("gdbm_open (%s)", argv [1]); | ||||
|  | ||||
| 	while (fgets (dirname, BUFSIZ-1, f)) { | ||||
| 		struct dirent *entry; | ||||
| 		struct stat statb; | ||||
| 		DIR *directory; | ||||
| 		size_t len; | ||||
|  | ||||
| 		len = strlen (dirname); | ||||
| 		if (!len) continue; | ||||
|  | ||||
| 		if (dirname [len-1] == '\n') | ||||
| 			dirname [len-1] = 0; | ||||
|  | ||||
| 		if (stat (dirname, &statb)) | ||||
| 			continue; | ||||
|  | ||||
| 		if (S_ISREG (statb.st_mode)) { | ||||
| 			glibtop_inodedb_key key; | ||||
| 			datum d_key, d_content; | ||||
|  | ||||
| 			d_key.dptr = (void *) &key; | ||||
| 			d_key.dsize = sizeof (key); | ||||
|  | ||||
| 			d_content.dptr = dirname; | ||||
| 			d_content.dsize = strlen (dirname) + 1; | ||||
|  | ||||
| 			key.device = (guint64) statb.st_dev; | ||||
| 			key.inode = (guint64) statb.st_ino; | ||||
|  | ||||
| 			if (gdbm_store (dbf, d_key, d_content, GDBM_REPLACE)) | ||||
| 				glibtop_error_io ("gdbm_store (%s)", dirname); | ||||
|  | ||||
| 			printf ("%-52s - %8lu - %8lu\n", | ||||
| 				dirname, (unsigned long) statb.st_dev, | ||||
| 				(unsigned long) statb.st_ino); | ||||
|  | ||||
| 			continue; | ||||
| 		} | ||||
|  | ||||
| 		if (!S_ISDIR (statb.st_mode)) | ||||
| 			continue; | ||||
|  | ||||
| 		directory = opendir (dirname); | ||||
| 		if (!directory) continue; | ||||
|  | ||||
| 		while ((entry = readdir (directory))) { | ||||
| 			glibtop_inodedb_key key; | ||||
| 			char filename [BUFSIZ]; | ||||
| 			datum d_key, d_content; | ||||
|  | ||||
| 			sprintf (filename, "%s/%s", dirname, entry->d_name); | ||||
|  | ||||
| 			if (stat (filename, &statb)) | ||||
| 				continue; | ||||
|  | ||||
| 			if (!S_ISREG (statb.st_mode)) | ||||
| 				continue; | ||||
|  | ||||
| 			d_key.dptr = (void *) &key; | ||||
| 			d_key.dsize = sizeof (key); | ||||
|  | ||||
| 			d_content.dptr = filename; | ||||
| 			d_content.dsize = strlen (filename) + 1; | ||||
|  | ||||
| 			key.device = (guint64) statb.st_dev; | ||||
| 			key.inode = (guint64) statb.st_ino; | ||||
|  | ||||
| 			if (gdbm_store (dbf, d_key, d_content, GDBM_REPLACE)) | ||||
| 				glibtop_error_io ("gdbm_store (%s)", filename); | ||||
|  | ||||
| 			printf ("%-52s - %8lu - %8lu\n", | ||||
| 				filename, (unsigned long) statb.st_dev, | ||||
| 				(unsigned long) statb.st_ino); | ||||
| 		} | ||||
|  | ||||
| 		closedir (directory); | ||||
| 	} | ||||
|  | ||||
| 	gdbm_close (dbf); | ||||
|  | ||||
| 	fclose (f); | ||||
|  | ||||
| 	exit (0); | ||||
| } | ||||
| @@ -27,11 +27,12 @@ | ||||
| #include <stdlib.h> | ||||
|  | ||||
| void | ||||
| G_GNUC_INTERNAL | ||||
| _glibtop_bsd_get_fsusage_read_write(glibtop *server, | ||||
| 				      glibtop_fsusage *buf, | ||||
| 				      const char *path); | ||||
|  | ||||
| void | ||||
| void G_GNUC_INTERNAL | ||||
| _glibtop_bsd_get_fsusage_read_write(glibtop *server, | ||||
| 				      glibtop_fsusage *buf, | ||||
| 				      const char *path) | ||||
|   | ||||
| @@ -1,9 +1,3 @@ | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* default.c: | ||||
|  | ||||
| 	Fixed returned type. | ||||
|  | ||||
| 2007-03-16  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* mountlist.c: (ignore_mount_entry): | ||||
|   | ||||
| @@ -1,13 +1,24 @@ | ||||
|  | ||||
| INCLUDES			= @INCLUDES@ | ||||
|  | ||||
| if INODEDB | ||||
| inodedb_SRCLIST			= inodedb.c | ||||
| inodedb_DEFS			= -DSYSTEM_INODEDB=\"$(prefix)/var/libgtop/inodedb.db\" | ||||
| else | ||||
| inodedb_SRCLIST			= | ||||
| inodedb_DEFS			= | ||||
| endif | ||||
|  | ||||
| AM_CFLAGS				= @CFLAGS@ $(inodedb_DEFS) | ||||
|  | ||||
| noinst_LTLIBRARIES		= libgtop_common-2.0.la libgtop_suid_common-2.0.la | ||||
|  | ||||
| libgtop_common_2_0_la_SOURCES	= error.c gnuslib.c \ | ||||
| 				  fsusage.c \ | ||||
|                                   mountlist.c \ | ||||
|                                   procargs.c \ | ||||
| 				  default.c | ||||
| 				  default.c \ | ||||
| 				  $(inodedb_SRCLIST) | ||||
|  | ||||
| # libgtop_common_2_0_la_LDFLAGS	= $(LT_VERSION_INFO) | ||||
| libgtop_common_2_0_la_LIBADD	= $(LIBGTOP_EXTRA_LIBS) | ||||
| @@ -16,3 +27,4 @@ libgtop_suid_common_2_0_la_SOURCES	= error.c sysdeps_suid.c | ||||
|  | ||||
| # libgtop_suid_common_2_0_la_LDFLAGS	= $(LT_VERSION_INFO) | ||||
|  | ||||
| EXTRA_DIST			= inodedb.c | ||||
|   | ||||
| @@ -211,7 +211,7 @@ glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid, unsigned max_len) | ||||
| } | ||||
|  | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg) | ||||
| { | ||||
| 	return glibtop_get_proclist_l(glibtop_global_server, buf, which, arg); | ||||
| @@ -352,19 +352,5 @@ glibtop_get_sysdeps(glibtop_sysdeps *buf) | ||||
| } | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * glibtop_get_proc_wd: | ||||
|  * @buf: | ||||
|  * @pid: Process id to get the user and tty information | ||||
|  * | ||||
|  * Get the root directory and the working directories | ||||
|  * | ||||
|  * Returns: A NULL-terminated list of working directories. | ||||
|  */ | ||||
| char** | ||||
| glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid) | ||||
| { | ||||
| 	return glibtop_get_proc_wd_l(glibtop_global_server, buf, pid); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -129,7 +129,7 @@ static const unsigned long _glibtop_sysdeps_fsusage = | ||||
| void | ||||
| _glibtop_linux_get_fsusage_read_write(glibtop *server, | ||||
| 				      glibtop_fsusage *buf, | ||||
| 				      const char *path); | ||||
| 				      const char *path) G_GNUC_INTERNAL; | ||||
|  | ||||
| static inline void | ||||
| _glibtop_get_fsusage_read_write(glibtop *server, | ||||
| @@ -141,7 +141,7 @@ _glibtop_get_fsusage_read_write(glibtop *server, | ||||
|  | ||||
|  | ||||
| #elif defined(__FreeBSD__) | ||||
| void | ||||
| void G_GNUC_INTERNAL | ||||
| _glibtop_freebsd_get_fsusage_read_write(glibtop *server, | ||||
| 					glibtop_fsusage *buf, | ||||
| 					const char *path); | ||||
|   | ||||
							
								
								
									
										115
									
								
								sysdeps/common/inodedb.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								sysdeps/common/inodedb.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,115 @@ | ||||
| /* Copyright (C) 1998-99 Martin Baulig | ||||
|    This file is part of LibGTop 1.0. | ||||
|  | ||||
|    Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop.h> | ||||
| #include <glibtop/error.h> | ||||
| #include <glibtop/inodedb.h> | ||||
|  | ||||
| #include <pwd.h> | ||||
| #include <gdbm.h> | ||||
|  | ||||
| #ifndef SYSTEM_INODEDB | ||||
| #define SYSTEM_INODEDB "/usr/var/libgtop/inodedb.db" | ||||
| #endif | ||||
|  | ||||
| glibtop_inodedb * | ||||
| glibtop_inodedb_open_s (glibtop *server, unsigned databases, | ||||
| 			unsigned long cachesize) | ||||
| { | ||||
| 	glibtop_inodedb *inodedb; | ||||
| 	char filename [BUFSIZ]; | ||||
| 	struct passwd *pwd; | ||||
| 	struct stat statb; | ||||
|  | ||||
| 	if (!databases) | ||||
| 		databases = GLIBTOP_INODEDB_ALL; | ||||
|  | ||||
| 	inodedb = g_malloc (sizeof (glibtop_inodedb)); | ||||
|  | ||||
| 	if (stat (SYSTEM_INODEDB, &statb)) | ||||
| 		databases &= ~GLIBTOP_INODEDB_SYSTEM; | ||||
|  | ||||
| 	if (databases & GLIBTOP_INODEDB_SYSTEM) { | ||||
| 		inodedb->system_dbf = gdbm_open | ||||
| 			(SYSTEM_INODEDB, 0, GDBM_READER, 0, 0); | ||||
| 		if (!inodedb->system_dbf) | ||||
| 			glibtop_error_io_r | ||||
| 				(server, "gdbm_open (%s)", SYSTEM_INODEDB); | ||||
| 	} | ||||
|  | ||||
| 	pwd = getpwuid (getuid ()); | ||||
| 	if (!pwd) glibtop_error_io_r (server, "getpwuid"); | ||||
|  | ||||
| 	sprintf (filename, "%s/var/libgtop/inodedb.db", pwd->pw_dir); | ||||
|  | ||||
| 	if (stat (filename, &statb)) | ||||
| 		databases &= ~GLIBTOP_INODEDB_USER; | ||||
|  | ||||
| 	if (databases & GLIBTOP_INODEDB_USER) { | ||||
| 		inodedb->user_dbf = gdbm_open | ||||
| 			(filename, 0, GDBM_READER, 0, 0); | ||||
| 		if (!inodedb->user_dbf) | ||||
| 			glibtop_error_io_r | ||||
| 				(server, "gdbm_open (%s)", filename); | ||||
| 	} | ||||
|  | ||||
| 	return inodedb; | ||||
| } | ||||
|  | ||||
| const char * | ||||
| glibtop_inodedb_lookup_s (glibtop *server, | ||||
| 			  glibtop_inodedb *inodedb, | ||||
| 			  guint64 device, guint64 inode) | ||||
| { | ||||
| 	glibtop_inodedb_key key; | ||||
| 	datum d_key, d_content; | ||||
|  | ||||
| 	d_key.dptr = (void *) &key; | ||||
| 	d_key.dsize = sizeof (key); | ||||
|  | ||||
| 	key.device = device; | ||||
| 	key.inode = inode; | ||||
|  | ||||
| 	if (inodedb->system_dbf) { | ||||
| 		d_content = gdbm_fetch (inodedb->system_dbf, d_key); | ||||
| 		if (d_content.dptr) return d_content.dptr; | ||||
| 	} | ||||
|  | ||||
| 	if (inodedb->user_dbf) { | ||||
| 		d_content = gdbm_fetch (inodedb->user_dbf, d_key); | ||||
| 		if (d_content.dptr) return d_content.dptr; | ||||
| 	} | ||||
|  | ||||
| 	return NULL; | ||||
| } | ||||
|  | ||||
| void | ||||
| glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb) | ||||
| { | ||||
| 	if (inodedb->system_dbf) | ||||
| 		gdbm_close (inodedb->system_dbf); | ||||
|  | ||||
| 	if (inodedb->user_dbf) | ||||
| 		gdbm_close (inodedb->user_dbf); | ||||
|  | ||||
| 	g_free (inodedb); | ||||
| } | ||||
| @@ -22,11 +22,12 @@ | ||||
| #include <stdlib.h> | ||||
|  | ||||
| void | ||||
| G_GNUC_INTERNAL | ||||
| _glibtop_freebsd_get_fsusage_read_write(glibtop *server, | ||||
|                                         glibtop_fsusage *buf, | ||||
|                                         const char *path); | ||||
|  | ||||
| void | ||||
| void G_GNUC_INTERNAL | ||||
| _glibtop_freebsd_get_fsusage_read_write(glibtop *server, | ||||
|                                         glibtop_fsusage *buf, | ||||
|                                         const char *path) | ||||
|   | ||||
| @@ -1,50 +1,3 @@ | ||||
| 2007-05-20  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* *.c: | ||||
|  | ||||
| 	Got rid of glibtop_init_s calls. | ||||
| 	If i'm right, these are only no-op and the legacy stub/ don't | ||||
| 	have any calls to them, so it's should harmless. | ||||
| 	So let's try it. | ||||
|  | ||||
| 2007-05-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* proclist.c: (glibtop_get_proclist_s): | ||||
|  | ||||
| 	Fixed warnings. | ||||
|  | ||||
| 2007-05-17  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* procopenfiles.c: (glibtop_get_proc_open_files_s): | ||||
| 	 | ||||
| 	Added missing sizeof. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* procwd.c: | ||||
|  | ||||
| 	Always set buf->number. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* glibtop_private.c (safe_readlink): | ||||
|  | ||||
| 	Simplified. | ||||
|  | ||||
| 	* procopenfiles.c: | ||||
|  | ||||
| 	Use safe_readlink. | ||||
|  | ||||
| 2007-05-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* procwd.c: | ||||
|  | ||||
| 	Implemented. | ||||
|  | ||||
| 	* glibtop_private.c (safe_readlink): | ||||
|  | ||||
| 	New function. | ||||
|  | ||||
| 2007-03-13  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* fsusage.c: (get_sys_path), (linux_2_6_0): | ||||
|   | ||||
| @@ -8,7 +8,7 @@ libgtop_sysdeps_2_0_la_SOURCES	= open.c close.c cpu.c mem.c swap.c \ | ||||
| 				  proctime.c procmem.c procsignal.c prockernel.c \ | ||||
| 				  procsegment.c procargs.c procmap.c siglist.c \ | ||||
| 				  sysinfo.c netload.c ppp.c glibtop_private.c \ | ||||
| 				  fsusage.c netlist.c procopenfiles.c procwd.c | ||||
| 				  fsusage.c netlist.c procopenfiles.c | ||||
|  | ||||
| libgtop_sysdeps_2_0_la_LIBADD	=  @GLIB_LIBS@ | ||||
|  | ||||
|   | ||||
| @@ -73,6 +73,8 @@ glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf) | ||||
| 	char buffer [BUFSIZ], *p; | ||||
| 	int i; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_CPU, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_cpu)); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, FILENAME); | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
| void | ||||
| _glibtop_linux_get_fsusage_read_write(glibtop *server, | ||||
| 				      glibtop_fsusage *buf, | ||||
| 				      const char *path); | ||||
| 				      const char *path) G_GNUC_INTERNAL; | ||||
|  | ||||
| /* | ||||
|  * Linux 2.6.x | ||||
| @@ -127,7 +127,7 @@ static void linux_2_4_0(glibtop *server, glibtop_fsusage *buf, const char *path) | ||||
| } | ||||
|  | ||||
|  | ||||
| void | ||||
| void G_GNUC_INTERNAL | ||||
| _glibtop_linux_get_fsusage_read_write(glibtop *server, | ||||
| 				      glibtop_fsusage *buf, | ||||
| 				      const char *path) | ||||
|   | ||||
| @@ -184,20 +184,3 @@ has_sysfs(void) | ||||
|  | ||||
| 	return sysfs; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| gboolean safe_readlink(const char *path, char *buf, size_t bufsiz) | ||||
| { | ||||
| 	ssize_t ret; | ||||
|  | ||||
| 	ret = readlink(path, buf, bufsiz - 1); | ||||
|  | ||||
| 	if (ret == -1) { | ||||
| 		g_warning("Could not read link %s : %s", path, strerror(errno)); | ||||
| 		return FALSE; | ||||
| 	} | ||||
|  | ||||
| 	buf[ret] = '\0'; | ||||
| 	return TRUE; | ||||
| } | ||||
|   | ||||
| @@ -42,7 +42,7 @@ next_token(const char *p) | ||||
| } | ||||
|  | ||||
| char * | ||||
| skip_token (const char *p); | ||||
| skip_token (const char *p) G_GNUC_INTERNAL; | ||||
|  | ||||
| static inline char * | ||||
| skip_multiple_token (const char *p, size_t count) | ||||
| @@ -63,15 +63,15 @@ skip_line (const char *p) | ||||
|  | ||||
|  | ||||
| unsigned long long | ||||
| get_scaled(const char *buffer, const char *key); | ||||
| get_scaled(const char *buffer, const char *key) G_GNUC_INTERNAL; | ||||
|  | ||||
|  | ||||
| /* aborts on error */ | ||||
| void | ||||
| void G_GNUC_INTERNAL | ||||
| file_to_buffer(glibtop *server, char *buffer, const char *filename); | ||||
|  | ||||
| /* return < 0 on error, otherwise 0 on success */ | ||||
| int | ||||
| int G_GNUC_INTERNAL | ||||
| try_file_to_buffer(char *buffer, const char *format, ...) G_GNUC_PRINTF(2, 3); | ||||
|  | ||||
|  | ||||
| @@ -115,15 +115,15 @@ proc_stat_after_cmd (char *p) | ||||
|  | ||||
|  | ||||
| unsigned long | ||||
| get_boot_time(glibtop *server); | ||||
| get_boot_time(glibtop *server) G_GNUC_INTERNAL; | ||||
|  | ||||
|  | ||||
| size_t | ||||
| get_page_size(void); | ||||
| get_page_size(void) G_GNUC_INTERNAL; | ||||
|  | ||||
|  | ||||
| gboolean | ||||
| check_cpu_line(glibtop *server, const char *line, unsigned n); | ||||
| check_cpu_line(glibtop *server, const char *line, unsigned n) G_GNUC_INTERNAL; | ||||
|  | ||||
|  | ||||
| static inline gboolean | ||||
| @@ -143,9 +143,7 @@ check_cpu_line_warn(glibtop *server, const char *line, unsigned i) | ||||
|  | ||||
|  | ||||
| gboolean | ||||
| has_sysfs(void) G_GNUC_CONST; | ||||
|  | ||||
| gboolean safe_readlink(const char *path, char *buf, size_t bufsiz); | ||||
| has_sysfs(void) G_GNUC_INTERNAL G_GNUC_CONST; | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|   | ||||
| @@ -42,7 +42,6 @@ | ||||
| #define GLIBTOP_SUID_PROC_MAP		0 | ||||
| #define GLIBTOP_SUID_NETLOAD		0 | ||||
| #define GLIBTOP_SUID_NETLIST		0 | ||||
| #define GLIBTOP_SUID_PROC_WD		0 | ||||
| #define GLIBTOP_SUID_PPP		0 | ||||
| #define GLIBTOP_SUID_PROC_FILE		0 | ||||
|  | ||||
|   | ||||
| @@ -50,6 +50,8 @@ glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p, *old; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_LOADAVG, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_loadavg)); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, FILENAME); | ||||
|   | ||||
| @@ -48,6 +48,8 @@ glibtop_get_mem_s (glibtop *server, glibtop_mem *buf) | ||||
| { | ||||
| 	char buffer [BUFSIZ]; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_MEM, 0); | ||||
|  | ||||
| 	memset(buf, 0, sizeof *buf); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, FILENAME); | ||||
|   | ||||
| @@ -46,6 +46,8 @@ glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf) | ||||
| { | ||||
| 	struct msginfo msginfo; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_MSG_LIMITS, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_msg_limits)); | ||||
|  | ||||
| 	msgctl (0, IPC_INFO, (void*) &msginfo); | ||||
|   | ||||
| @@ -44,6 +44,8 @@ glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf) | ||||
| 	FILE *f; | ||||
| 	GPtrArray *devices; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_NETLIST, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_netlist)); | ||||
|  | ||||
| 	f = fopen("/proc/net/dev", "r"); | ||||
|   | ||||
| @@ -180,6 +180,8 @@ glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device) | ||||
| { | ||||
| 	int in, out, online; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PPP, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_ppp)); | ||||
|  | ||||
| 	if (is_ISDN_on (server, &online)) { | ||||
|   | ||||
| @@ -47,6 +47,8 @@ glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf, | ||||
| 	gsize length; | ||||
| 	GError *error = NULL; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_ARGS, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_args)); | ||||
|  | ||||
| 	sprintf (filename, "/proc/%d/cmdline", pid); | ||||
|   | ||||
| @@ -47,6 +47,8 @@ glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_KERNEL, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_kernel)); | ||||
|  | ||||
| 	if (proc_stat_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -55,7 +55,7 @@ _glibtop_init_proclist_s (glibtop *server) | ||||
|  * | ||||
|  * On error, NULL is returned and buf->flags is zero. */ | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg) | ||||
| { | ||||
| @@ -66,6 +66,8 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 	glibtop_proc_state procstate; | ||||
| 	struct stat statb; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROCLIST, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proclist)); | ||||
|  | ||||
| 	proc = opendir ("/proc"); | ||||
| @@ -73,12 +75,12 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
|  | ||||
| 	if(stat("/proc", &statb)) return NULL; | ||||
|  | ||||
| 	pids = g_array_sized_new(FALSE, FALSE, sizeof(pid_t), statb.st_nlink); | ||||
| 	pids = g_array_sized_new(FALSE, FALSE, sizeof(unsigned), statb.st_nlink); | ||||
|  | ||||
| 	/* read every every entry in /proc */ | ||||
|  | ||||
| 	while((entry = readdir (proc))) { | ||||
| 		pid_t pid; | ||||
| 		unsigned pid; | ||||
|  | ||||
| 		if (entry->d_type != DT_DIR) | ||||
| 			continue; | ||||
| @@ -90,7 +92,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 		case GLIBTOP_KERN_PROC_ALL: | ||||
| 			break; | ||||
| 		case GLIBTOP_KERN_PROC_PID: | ||||
| 			if ((pid_t) arg != pid) | ||||
| 			if ((unsigned) arg != pid) | ||||
| 				continue; | ||||
| 			break; | ||||
| 		case GLIBTOP_KERN_PROC_UID: | ||||
| @@ -98,7 +100,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 			char path[32]; | ||||
| 			struct stat path_stat; | ||||
|  | ||||
| 			snprintf(path, sizeof path, "/proc/%u", (unsigned)pid); | ||||
| 			snprintf(path, sizeof path, "/proc/%u", pid); | ||||
|  | ||||
| 			if (stat(path, &path_stat)) | ||||
| 				continue; | ||||
| @@ -161,9 +163,9 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 	closedir (proc); | ||||
|  | ||||
| 	buf->flags = _glibtop_sysdeps_proclist; | ||||
| 	buf->size = sizeof(pid_t); | ||||
| 	buf->size = sizeof (unsigned); | ||||
| 	buf->number = pids->len; | ||||
| 	buf->total = buf->number * buf->size; | ||||
|  | ||||
| 	return (pid_t*)g_array_free(pids, FALSE); | ||||
| 	return (unsigned*) g_array_free(pids, FALSE); | ||||
| } | ||||
|   | ||||
| @@ -133,6 +133,8 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf,	pid_t pid) | ||||
| 	char *line = NULL; | ||||
| 	size_t line_size = 0; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_MAP, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_map)); | ||||
|  | ||||
| 	has_smaps = server->os_version_code >= LINUX_VERSION_CODE(2, 6, 14); | ||||
|   | ||||
| @@ -52,6 +52,8 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid) | ||||
| 	char buffer [BUFSIZ], *p; | ||||
| 	const size_t pagesize = get_page_size(); | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_MEM, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_mem)); | ||||
|  | ||||
| 	if (proc_stat_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -182,6 +182,8 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi | ||||
| 	struct dirent *direntry; | ||||
| 	DIR *dir; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_OPEN_FILES, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_open_files)); | ||||
|  | ||||
| 	sprintf (fn, "/proc/%d/fd", pid); | ||||
| @@ -193,6 +195,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi | ||||
|  | ||||
| 	while((direntry = readdir(dir))) { | ||||
| 		char tgt [BUFSIZ]; | ||||
| 		int rv; | ||||
| 		glibtop_open_files_entry entry = {0}; | ||||
|  | ||||
| 		if(direntry->d_name[0] == '.') | ||||
| @@ -201,8 +204,9 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi | ||||
| 		g_snprintf(fn, sizeof fn, "/proc/%d/fd/%s", | ||||
| 			   pid, direntry->d_name); | ||||
|  | ||||
| 		if (!safe_readlink(fn, tgt, sizeof tgt)) | ||||
| 			continue; | ||||
| 		rv = readlink(fn, tgt, sizeof(tgt) - 1); | ||||
| 		if(rv < 0) continue; | ||||
| 		tgt[rv] = '\0'; | ||||
|  | ||||
| 		entry.fd = atoi(direntry->d_name); | ||||
|  | ||||
|   | ||||
| @@ -55,6 +55,8 @@ glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, | ||||
| 	char buffer [BUFSIZ], *p; | ||||
| 	const size_t pagesize = get_page_size(); | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_SEGMENT, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_segment)); | ||||
|  | ||||
| 	if (proc_stat_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -45,6 +45,8 @@ glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_SIGNAL, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_signal)); | ||||
|  | ||||
| 	if (proc_stat_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -51,6 +51,8 @@ glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid) | ||||
| 	char buffer [BUFSIZ], *p; | ||||
| 	struct stat statb; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_STATE, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_state)); | ||||
|  | ||||
| 	/* IMPORTANT NOTICE: For security reasons it is extremely important | ||||
|   | ||||
| @@ -56,6 +56,8 @@ glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid) | ||||
| 	char buffer [BUFSIZ], *p; | ||||
| 	int i; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_TIME, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_time)); | ||||
|  | ||||
| 	if (proc_stat_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -53,6 +53,8 @@ glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_UID, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_proc_uid)); | ||||
|  | ||||
| 	if (proc_status_to_buffer (buffer, pid)) | ||||
|   | ||||
| @@ -1,96 +0,0 @@ | ||||
| /* Copyright (C) 2007 Benoît Dejean | ||||
|    This file is part of LibGTop 2. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop/procwd.h> | ||||
| #include <glibtop/error.h> | ||||
|  | ||||
| #include <glibtop_private.h> | ||||
|  | ||||
| #include <unistd.h> | ||||
| #include <dirent.h> | ||||
| #include <sys/types.h> | ||||
|  | ||||
|  | ||||
| void | ||||
| _glibtop_init_proc_wd_s(glibtop *server) | ||||
| { | ||||
| 	server->sysdeps.proc_wd = | ||||
| 	(1 << GLIBTOP_PROC_WD_EXE) + | ||||
| 	(1 << GLIBTOP_PROC_WD_ROOT) + | ||||
| 	(1 << GLIBTOP_PROC_WD_NUMBER); | ||||
|  | ||||
| } | ||||
|  | ||||
| static gboolean is_in(GPtrArray *array, const char *str) | ||||
| { | ||||
| 	guint i; | ||||
|  | ||||
| 	for (i = 0; i != array->len; ++i) { | ||||
| 		if (strcmp(g_ptr_array_index(array, i), str) == 0) | ||||
| 			return TRUE; | ||||
| 	} | ||||
|  | ||||
| 	return FALSE; | ||||
| } | ||||
|  | ||||
|  | ||||
| char** | ||||
| glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid) | ||||
| { | ||||
| 	GPtrArray *dirs; | ||||
| 	char path[80]; | ||||
| 	char dir[256]; | ||||
| 	DIR *task; | ||||
|  | ||||
| 	memset(buf, 0, sizeof(glibtop_proc_wd)); | ||||
|  | ||||
| 	g_snprintf(path, sizeof path, "/proc/%u/root", pid); | ||||
| 	if (safe_readlink(path, buf->root, sizeof buf->root)) | ||||
| 		buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT); | ||||
|  | ||||
| 	g_snprintf(path, sizeof path, "/proc/%u/exe", pid); | ||||
| 	if (safe_readlink(path, buf->exe, sizeof buf->exe)) | ||||
| 		buf->flags |= (1 << GLIBTOP_PROC_WD_EXE); | ||||
|  | ||||
| 	dirs = g_ptr_array_sized_new(2); | ||||
|  | ||||
| 	g_snprintf(path, sizeof path, "/proc/%u/cwd", pid); | ||||
| 	if (safe_readlink(path, dir, sizeof dir)) | ||||
| 		g_ptr_array_add(dirs, g_strdup(dir)); | ||||
|  | ||||
| 	g_snprintf(path, sizeof path, "/proc/%u/task", pid); | ||||
| 	if ((task = opendir(path)) != NULL) { | ||||
| 		struct dirent *sub; | ||||
| 		while ((sub = readdir(task)) != NULL) { | ||||
| 			g_snprintf(path, sizeof path, "/proc/%u/task/%s/cwd", pid, sub->d_name); | ||||
| 			if (safe_readlink(path, dir, sizeof dir) && !is_in(dirs, dir)) | ||||
| 				g_ptr_array_add(dirs, g_strdup(dir)); | ||||
| 		} | ||||
| 		closedir(task); | ||||
| 	} | ||||
|  | ||||
| 	buf->number = dirs->len; | ||||
| 	buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER); | ||||
|  | ||||
| 	g_ptr_array_add(dirs, NULL); | ||||
|  | ||||
| 	return (char**) g_ptr_array_free(dirs, FALSE); | ||||
| } | ||||
|  | ||||
| @@ -63,6 +63,8 @@ glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf) | ||||
| 	struct seminfo	seminfo; | ||||
| 	union semun	arg; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_SEM_LIMITS, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_sem_limits)); | ||||
|  | ||||
| 	buf->flags = _glibtop_sysdeps_sem_limits; | ||||
|   | ||||
| @@ -45,6 +45,8 @@ glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf) | ||||
| { | ||||
| 	struct shminfo shminfo; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_SHM_LIMITS, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_shm_limits)); | ||||
|  | ||||
| 	shmctl (0, IPC_INFO, (void *) &shminfo); | ||||
|   | ||||
| @@ -54,6 +54,8 @@ glibtop_get_swap_s (glibtop *server, glibtop_swap *buf) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_SWAP, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_swap)); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, MEMINFO); | ||||
|   | ||||
| @@ -41,6 +41,8 @@ init_sysinfo (glibtop *server) | ||||
|  | ||||
| 	if(G_LIKELY(sysinfo.flags)) return; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_CPU, 0); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, FILENAME); | ||||
|  | ||||
| 	/* cpuinfo records are seperated by a blank line */ | ||||
|   | ||||
| @@ -49,6 +49,8 @@ glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf) | ||||
| { | ||||
| 	char buffer [BUFSIZ], *p; | ||||
|  | ||||
| 	glibtop_init_s (&server, GLIBTOP_SYSDEPS_UPTIME, 0); | ||||
|  | ||||
| 	memset (buf, 0, sizeof (glibtop_uptime)); | ||||
|  | ||||
| 	file_to_buffer(server, buffer, FILENAME); | ||||
|   | ||||
| @@ -1,11 +1,3 @@ | ||||
| 2007-06-07  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* proclist.c: (glibtop_get_proclist_s): | ||||
|  | ||||
| 	Fixed build. | ||||
| 	Patch by Damien Carbery <damien.carbery@sun.com>. | ||||
| 	Closes #444815. | ||||
|  | ||||
| 2006-09-19  Benoît Dejean  <benoit@placenet.org> | ||||
|  | ||||
| 	* Makefile.am: | ||||
|   | ||||
| @@ -46,7 +46,7 @@ _glibtop_init_proclist_s (glibtop *server) | ||||
| } | ||||
|  | ||||
| #define BLOCK_COUNT	256 | ||||
| #define BLOCK_SIZE	(BLOCK_COUNT * sizeof (pid_t)) | ||||
| #define BLOCK_SIZE	(BLOCK_COUNT * sizeof (unsigned)) | ||||
|  | ||||
| /* Fetch list of currently running processes. | ||||
|  * | ||||
| @@ -55,7 +55,7 @@ _glibtop_init_proclist_s (glibtop *server) | ||||
|  *   On success, it returnes a pointer to a list of buf->number elements | ||||
|  *   each buf->size big. The total size is stored in buf->total. */ | ||||
|  | ||||
| pid_t* | ||||
| unsigned * | ||||
| glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 			gint64 which, gint64 arg) | ||||
| { | ||||
| @@ -63,7 +63,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 	struct dirent *entry; | ||||
| 	char buffer [BUFSIZ]; | ||||
| 	unsigned count, total, pid = 0, mask; | ||||
| 	pid_t pids [BLOCK_COUNT], *pids_chain = NULL; | ||||
| 	unsigned pids [BLOCK_COUNT], *pids_chain = NULL; | ||||
| 	unsigned pids_size = 0, pids_offset = 0, new_size; | ||||
| 	struct stat statb; | ||||
| 	int len, ok; | ||||
| @@ -98,7 +98,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 	      if(s_stat(buffer, &statb) < 0) | ||||
| 		 return NULL; | ||||
| 	   } | ||||
| 	   pids_chain = g_malloc(sizeof(pid_t)); | ||||
| 	   pids_chain = g_malloc(sizeof(unsigned)); | ||||
| 	   *pids_chain = pid; | ||||
| 	   return pids_chain; | ||||
| 	} | ||||
| @@ -216,11 +216,11 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
| 	 * new size and copy pids to the beginning of the newly allocated | ||||
| 	 * block. */ | ||||
|  | ||||
| 	new_size = pids_size + count * sizeof (pid_t); | ||||
| 	new_size = pids_size + count * sizeof (unsigned); | ||||
|  | ||||
| 	pids_chain = g_realloc (pids_chain, new_size); | ||||
|  | ||||
| 	memcpy (pids_chain + pids_offset, pids, count * sizeof (pid_t)); | ||||
| 	memcpy (pids_chain + pids_offset, pids, count * sizeof (unsigned)); | ||||
|  | ||||
| 	pids_size = new_size; | ||||
|  | ||||
| @@ -231,10 +231,10 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf, | ||||
|  | ||||
| 	buf->flags = _glibtop_sysdeps_proclist; | ||||
|  | ||||
| 	buf->size = sizeof (pid_t); | ||||
| 	buf->size = sizeof (unsigned); | ||||
| 	buf->number = total; | ||||
|  | ||||
| 	buf->total = buf->number * buf->size; | ||||
| 	buf->total = total * sizeof (unsigned); | ||||
|  | ||||
| 	return pids_chain; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user