Compare commits

..

32 Commits

Author SHA1 Message Date
Benoît Dejean
6c95195787 Build daemon on linux.
svn path=/branches/linux_daemon/; revision=2615
2007-06-25 21:43:20 +00:00
Benoît Dejean
ef34cfb38a git-svn sucks. Kill r2609
svn path=/trunk/; revision=2611
2007-06-25 17:30:40 +00:00
Benoît Dejean
1e0ba1d7aa Fixed smaps parsing with linux > 2.6.21.
Closes #449595.
Improved example.

svn path=/trunk/; revision=2610
2007-06-25 17:27:29 +00:00
Benoît Dejean
6b0bafcafb New API : glibtop_get_proc_affinity.
Implemented for linux.

svn path=/trunk/; revision=2609
2007-06-25 17:27:27 +00:00
Kjartan Maraas
c0856a39bd Updated Norwegian bokmål translation.
2007-06-23  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/trunk/; revision=2608
2007-06-23 09:52:40 +00:00
Benoît Dejean
270820a05c Released 2.19.4.
svn path=/trunk/; revision=2606
2007-06-18 16:49:07 +00:00
Pema Geyleg
358660837c updated dzongkha translation
svn path=/trunk/; revision=2605
2007-06-13 08:41:43 +00:00
Benoît Dejean
e387c66aad Fixed build. Patch by Damien Carbery <damien.carbery@sun.com>. Closes
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.

svn path=/trunk/; revision=2604
2007-06-07 16:30:59 +00:00
Benoît Dejean
e774440e77 Released 2.19.3.
svn path=/trunk/; revision=2602
2007-06-03 20:04:13 +00:00
Benoît Dejean
c7295cd5f0 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2601
2007-05-31 20:31:22 +00:00
Benoît Dejean
65fe248d66 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2600
2007-05-31 20:04:32 +00:00
Daniel Nylander
5c479c9a45 sv.po: Updated Swedish translation
svn path=/trunk/; revision=2599
2007-05-27 09:59:02 +00:00
Benoît Dejean
6509ddff4c Got rid of glibtop_init_s calls. If i'm right, these are only no-op and
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.

svn path=/trunk/; revision=2598
2007-05-20 21:55:42 +00:00
Benoît Dejean
ee78aaf29c Fixed returned type.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

        * default.c:

        Fixed returned type.

svn path=/trunk/; revision=2597
2007-05-19 19:43:31 +00:00
Benoît Dejean
a5f59cb81a Fixed warnings.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

        * proclist.c: (glibtop_get_proclist_s):

        Fixed warnings.

svn path=/trunk/; revision=2596
2007-05-19 19:42:33 +00:00
Benoît Dejean
a99011fd5c Small API change. get_proclist returns pid_t instead of unsigned for
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.

svn path=/trunk/; revision=2595
2007-05-19 19:40:33 +00:00
Benoît Dejean
598374bb1c Enable example by default. Renamed option to --with-examples.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* libgtop-sysdeps.m4:
	
	Enable example by default.
	Renamed option to --with-examples.

svn path=/trunk/; revision=2594
2007-05-19 14:27:52 +00:00
Benoît Dejean
b1acd4461e Fixed wd and new simple mem example.
2007-05-19  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am:
	* mem.c: (main):
	* wd.c: (main):

	Fixed wd and new simple mem example.

svn path=/trunk/; revision=2593
2007-05-19 14:26:11 +00:00
Theppitak Karoonboonyanan
0e2fe6158c Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/trunk/; revision=2592
2007-05-18 10:26:58 +00:00
Benoît Dejean
f8b9e6f7cc Added missing sizeof.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* procopenfiles.c: (glibtop_get_proc_open_files_s):
	
	Added missing sizeof.

svn path=/trunk/; revision=2591
2007-05-17 12:10:11 +00:00
Benoît Dejean
8fc7451000 Bumped version number.
2007-05-17  Benoît Dejean  <benoit@placenet.org>

	* configure.in:

	Bumped version number.

svn path=/trunk/; revision=2590
2007-05-17 12:08:52 +00:00
Priit Laes
aaab91cc20 Updated Estonian translation by Ivar Smolin <okul@linux.ee>.
2007-05-17  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Updated Estonian translation by Ivar Smolin <okul@linux.ee>.

svn path=/trunk/; revision=2589
2007-05-17 09:37:24 +00:00
Yannig MARCHEGAY
cde89c59b1 Occitan first translation
svn path=/trunk/; revision=2588
2007-05-16 17:02:00 +00:00
Yannig MARCHEGAY
0ce04dd037 + Occitan
svn path=/trunk/; revision=2587
2007-05-16 17:00:43 +00:00
David Lodge
8e4c6df830 Updated en_GB translation
svn path=/trunk/; revision=2586
2007-05-15 21:53:32 +00:00
Benoît Dejean
da54431af5 Fixed dist.
2007-05-14  Benoît Dejean  <benoit@placenet.org>

        * include/glibtop/Makefile.am:
        * lib/Makefile.am:

        Fixed dist.

svn path=/trunk/; revision=2583
2007-05-14 08:04:19 +00:00
Jorge Gonzalez Gonzalez
ace68aa492 Updated Spanish translation
svn path=/trunk/; revision=2582
2007-05-14 07:33:38 +00:00
Benoît Dejean
eee0cad2b6 Added missing files
svn path=/trunk/; revision=2580
2007-05-13 14:28:50 +00:00
Benoît Dejean
785b30aeb6 Released 2.19.2.
2007-05-13  Benoît Dejean  <benoit@placenet.org>

	* NEWS:
	* configure.in:
	
	Released 2.19.2.

svn path=/trunk/; revision=2579
2007-05-13 13:53:27 +00:00
Benoît Dejean
3eb958dc6c Manual commit from my local git-svn which is broken :/
svn path=/trunk/; revision=2578
2007-05-13 08:20:10 +00:00
Benoît Dejean
cd389851b9 Got rid of InodeDB. This feature was optionnal and i have never heard of
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.

svn path=/trunk/; revision=2573
2007-04-27 17:37:47 +00:00
Felix I
7ee8dae9c5 updated ta translation
svn path=/trunk/; revision=2572
2007-04-27 05:48:21 +00:00
89 changed files with 1409 additions and 2035 deletions

View File

@@ -1,8 +1,57 @@
2007-05-08 Benoît Dejean <benoit@placenet.org>
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>
* NEWS:
* configure.in:
Released 2.14.9.
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.
2007-04-11 Benoît Dejean <benoit@placenet.org>

26
NEWS
View File

@@ -1,7 +1,27 @@
8 May 2007: Overview of changes in 2.14.9
=========================================
18 June 2007: Overview of changes in 2.19.4
===========================================
* solaris:
- fixed build. Damien Carbery.
3 June 2007: Overview of changes in 2.19.3
==========================================
* Small API change. get_proclist returns pid_t instead of unsigned
for consistency.
* linux:
- fixed an typo bug in open_files.
- got rid of useless glibtop_init_s calls.
* Enable example build by defaut.
* Dropped G_GNUC_INTERNAL attributes no longer needed.
This will please people trying to implement G_GNUC macro with a non
GNU Compiler.
13 May 2007: Overview of changes in 2.19.2
==========================================
* This is the first release of the 2.19.x series.
* Got rid of inodedb (you don't even know what it is ;)
* New unstable API glibtop_get_proc_wd to get working directories of
a process.
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
* Misc. cleanups.
25 February 2007: Overview of changes in 2.14.8
===============================================

View File

@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [14])
m4_define([libgtop_micro_version], [9])
m4_define([libgtop_minor_version], [19])
m4_define([libgtop_micro_version], [4])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.
m4_define([libgtop_current], [7])
m4_define([libgtop_current], [8])
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], [0])
m4_define([libgtop_age], [1])
# Increase each time you change the client/server protocol.
m4_define([libgtop_server_version], [5])
@@ -87,39 +87,12 @@ 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])
@@ -300,10 +273,6 @@ 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
@@ -413,7 +382,6 @@ sysdeps/aix/Makefile
sysdeps/bsd/Makefile
src/Makefile
src/daemon/Makefile
src/inodedb/Makefile
lib/Makefile
examples/Makefile
doc/Makefile

View File

@@ -171,7 +171,6 @@ 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"/>

View File

@@ -73,24 +73,6 @@ 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>

View File

@@ -1,3 +1,11 @@
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):

View File

@@ -8,7 +8,7 @@ DEFS = @DEFS@
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
openfiles smp proclist
openfiles smp proclist mem wd
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
@@ -51,3 +51,10 @@ 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

0
examples/affinity.c Normal file
View File

21
examples/mem.c Normal file
View File

@@ -0,0 +1,21 @@
#include <glibtop.h>
#include <glibtop/mem.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
glibtop_mem buf;
glibtop_init();
g_print("%lx\n", glibtop_global_server->features);
glibtop_get_mem(&buf);
glibtop_close();
return 0;
}

View File

@@ -35,9 +35,6 @@
#include <glibtop/procmap.h>
#ifdef GLIBTOP_INODEDB
#include <glibtop/inodedb.h>
#endif
#include <sys/resource.h>
#include <sys/mman.h>
@@ -49,9 +46,6 @@
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;
@@ -87,10 +81,6 @@ 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);
@@ -103,12 +93,6 @@ 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' : '-';
@@ -156,9 +140,9 @@ main (int argc, char *argv [])
}
g_print("smaps flags:%#llx size:%llu rss:%llu "
"shared_clean:%llu shared_dirty:%llu "
"private_clean:%llu private_dirty: %llu\n",
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
"shared_clean:%lluKib shared_dirty:%lluKiB "
"private_clean:%lluKiB private_dirty: %lluKiB\n",
maps[i].flags,
maps[i].size >> 10,
maps[i].rss >> 10,

35
examples/wd.c Normal file
View File

@@ -0,0 +1,35 @@
#include <glibtop.h>
#include <glibtop/procwd.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t pid;
glibtop_proc_wd buf;
char **dirs, **dir;
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
pid = getpid();
glibtop_init();
dirs = glibtop_get_proc_wd(&buf, pid);
g_print("Process %u:\n"
" - root: '%s'\n"
" - exe: '%s'\n"
" - working directories:\n",
(unsigned)pid, buf.root, buf.exe);
for (dir = dirs; *dir; ++dir)
g_print(" - '%s'\n", *dir);
g_strfreev(dirs);
glibtop_close();
return 0;
}

View File

@@ -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)
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
@@ -22,4 +22,5 @@ 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)

View File

@@ -7,7 +7,8 @@ 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 \
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
sysinfo.h ppp.h procargs.h netload.h \
procwd.h \
netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h

View File

@@ -57,8 +57,9 @@ 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 26
#define GLIBTOP_MAX_CMND 27
#define _GLIBTOP_PARAM_SIZE 16

View File

@@ -31,20 +31,20 @@
G_BEGIN_DECLS
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_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN;
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_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_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
void glibtop_error (const char *format, ...) G_GNUC_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);
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
G_END_DECLS

View File

@@ -1,67 +0,0 @@
/* 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

View File

View File

@@ -60,7 +60,7 @@ struct _glibtop_proclist
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
};
unsigned *
pid_t*
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
unsigned *
pid_t*
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
#if GLIBTOP_SUID_PROCLIST
void _glibtop_init_proclist_p (glibtop *server);
unsigned *
pid_t*
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
#else
void _glibtop_init_proclist_s (glibtop *server);
unsigned *
pid_t*
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg);
#endif

69
include/glibtop/procwd.h Normal file
View File

@@ -0,0 +1,69 @@
/* Copyright (C) 2007 Benoît Dejean
This file is part of LibGTop 2.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCWD_H__
#define __GLIBTOP_PROCWD_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
typedef struct _glibtop_proc_wd glibtop_proc_wd;
#define GLIBTOP_PROC_WD_NUMBER 0
#define GLIBTOP_PROC_WD_ROOT 1
#define GLIBTOP_PROC_WD_EXE 2
#define GLIBTOP_PROC_WD_MAX 3
#define GLIBTOP_PROC_WD_ROOT_LEN 215
#define GLIBTOP_PROC_WD_EXE_LEN 215
struct _glibtop_proc_wd
{
guint64 flags;
guint32 number;
char root[GLIBTOP_PROC_WD_ROOT_LEN+1];
char exe[GLIBTOP_PROC_WD_EXE_LEN+1];
};
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_WD
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_p
void _glibtop_init_proc_wd_p(glibtop *server);
char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
#else
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_s
void _glibtop_init_proc_wd_s(glibtop *server);
char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
#endif
G_END_DECLS
#endif

View File

@@ -51,8 +51,9 @@ 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 25
#define GLIBTOP_MAX_SYSDEPS 26
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
@@ -86,6 +87,7 @@ 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);

View File

@@ -42,6 +42,7 @@
#include <glibtop/procargs.h>
#include <glibtop/procmap.h>
#include <glibtop/procopenfiles.h>
#include <glibtop/procwd.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
@@ -80,6 +81,7 @@ union _glibtop_union
glibtop_netload netload;
glibtop_ppp ppp;
glibtop_proc_open_files proc_open_files;
glibtop_proc_wd proc_wd;
};
G_END_DECLS

View File

@@ -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-regex "^[^_].*"
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym
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
EXTRA_DIST = lib.pl libgtop.sym
CLEANFILES = lib.c

View File

@@ -1,115 +0,0 @@
/* 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 Normal file
View File

@@ -0,0 +1,130 @@
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

View File

@@ -46,6 +46,7 @@ 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 [] = {
@@ -109,6 +110,9 @@ 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
@@ -176,6 +180,9 @@ 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

View File

@@ -18,9 +18,9 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
AC_SUBST(libgtop_need_server)
AC_ARG_WITH(libgtop-examples,
AS_HELP_STRING([--with-libgtop-examples],
[Build the libgtop examples @<:@default=no@:>@]),[
build_examples="$withval"], [build_examples=no])
AS_HELP_STRING([--with-examples],
[Build the libgtop examples @<:@default=yes@:>@]),[
build_examples="$withval"], [build_examples=yes])
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
@@ -63,9 +63,9 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
case "$host_os" in
linux*)
libgtop_sysdeps_dir=linux
libgtop_use_machine_h=no
libgtop_use_machine_h=yes
libgtop_have_sysinfo=yes
libgtop_need_server=no
libgtop_need_server=yes
;;
netbsd*|openbsd*|bsdi*)
libgtop_sysdeps_dir=bsd

View File

@@ -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-inodedb --with-libgtop-examples --with-libgtop-smp
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --without-linux-table --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-inodedb --with-libgtop-examples --with-libgtop-smp
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --without-linux-table --with-libgtop-examples --with-libgtop-smp
%endif
fi

View File

@@ -1,3 +1,35 @@
2007-06-23 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
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.

View File

@@ -50,6 +50,7 @@ nb
ne
nl
nn
oc
or
pa
pl

View File

@@ -15,8 +15,6 @@ 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
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libgtop.HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-03-06 05:23+0100\n"
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2006-03-28 11:12-0500\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
@@ -19,224 +19,186 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: KBabel 1.10.2\n"
#: ../lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "བའིཊི་ %d ལྷག"
msgstr[1] "བའིཊི་ %d ལྷག"
#: ../lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "གནད་སྡུད་ཀྱི་ཚད་ལྷག"
#: ../lib/read_data.c:72
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "གནས་སྡུད་ བའིཊི་ %lu ལྷག"
msgstr[1] "གནས་སྡུད་ བའིཊི་ %lu ལྷག"
#: ../lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "བའིཊི་ %d བྲིས་ཡི། "
msgstr[1] "བའིཊི་ %d བྲིས་ཡི།"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:458
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"
#: ../src/daemon/gnuserv.c:498
#, fuzzy, c-format
msgid "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:28
#: ../sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "ཐོགས་རྐྱེན།"
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "བར་ཆད།"
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "སྤངས།"
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "ཁྲིམས་འགལ་བཀོད་རྒྱ།"
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "ཧིང་ རྗེས་འཚོལ་འབད།"
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "བར་བཤོལ་འབད།"
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "ཨི་ཨེམ་ཊི་འཛོལ་བ།"
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "ལྡིང་ཚད་དམིགས་བསལ།"
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "གསད།"
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "བརྡ་རྟགས་འགྲུལ་ལམ་གྱི་འཛོལ་བ།"
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "ཆ་བགོ་བའི་འགལ་བ།"
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "རིམ་ལུགས་བོད་བརྡ་ལུ་ སྒྲུབ་རྟགས་བྱང་ཉེས།"
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "རྒྱུད་དུང་ཆད་པ།"
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "འཇིགས་བརྡ་ཆེ་འཁོར།"
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "རྩ་གྲོལ།"
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "སོཀ་ཀེཊི་ལུ་ འཕྲལ་མཁོའི་གནས་སྟངས།"
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "བཀག"
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "ལྡེ་སྒྲོམ་བཀག"
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "འཕྲོ་མཐུད།"
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "རྩ་ལག་གི་གནས་ཚད་ བསྒྱུར་བཅོས་ཡར་སོ་ནུག"
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "ཊི་ཊི་ཝའི་ནང་ལས་ རྒྱབ་གཞི་ལྷག་ཡོད།"
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "ཊི་ཊི་ཝའི་ལུ་ རྒྱབ་གཞི་བྲིས།"
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "ཨའི་/ཨོ་ ད་ལྟོ་ཚུགས་པས།"
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "ལས་སྦྱོར་ལྟེ་བའི་ཚད་ལས་ ལྷག་སོ་ནུག"
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "ཡིག་སྣོད་ཀྱི་ཚད་ལས་ ལྷག་སོ་ནུག"
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "བར་ཅུ་ཡེལ་ འཇིགས་བརྡའི་ཆེ་འཁོར།"
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "གསལ་སྡུད་འཇིགས་བརྡའི་ཆེ་འཁོར།"
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "སྒོ་སྒྲིག་ཚད་ཀྱི་བསྒྱུར་བཅོས།"
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "བརྡ་དོན་གྱི་ཞུ་བ།"
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "ལག་ལེན་པའི་ ངེས་འཛིན་བརྡ་རྟགས་ ༡པ།"
#: ../sysdeps/osf1/siglist.c:58
#: ../sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "ལག་ལེན་པའི་ངེས་འཛིན་བརྡ་རྟགས་ ༢པ།"
#~ msgid "DEBUG"
#~ msgstr "རྐྱེན་སེལ།"
#~ msgid "VERBOSE"
#~ msgstr "ཚིག་མང་།"
#~ msgid "NO-DAEMON"
#~ msgstr "ཌེ་མཱོན་མིན་འདུག"
#~ msgid "INETD"
#~ msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།"

View File

@@ -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: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2004-07-29 00:24+0100\n"
"POT-Creation-Date: 2007-05-15 22:52+0100\n"
"PO-Revision-Date: 2007-05-15 22:52-0000\n"
"Last-Translator: David Lodge <dave@cirt.net>\n"
"Language-Team: English/GB <en@li.org>\n"
"MIME-Version: 1.0\n"
@@ -18,192 +18,213 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, 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:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "read data size"
#: lib/read_data.c:72
#: ../lib/read_data.c:70
#, 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:52
#: ../lib/write.c:51
#, 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:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Enable debugging"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEBUG"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Enable verbose output"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "VERBOSE"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Don't fork into background"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Invoked from inetd"
#: src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:498
#, 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"
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"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Hangup"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interrupt"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Quit"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Illegal instruction"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Trace trap"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Abort"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT error"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Floating-point exception"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Kill"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Bus error"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmentation violation"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Bad argument to system call"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Broken pipe"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarm clock"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Termination"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Urgent condition on socket"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stop"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Keyboard stop"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Continue"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Child status has changed"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Background read from tty"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Background write to tty"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O now possible"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "CPU limit exceeded"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "File size limit exceeded"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Virtual alarm clock"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Profiling alarm clock"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Window size change"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Information request"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "User defined signal 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "User defined signal 2"
#~ msgid "DEBUG"
#~ msgstr "DEBUG"
#~ msgid "VERBOSE"
#~ msgstr "VERBOSE"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON"
#~ msgid "INETD"
#~ msgstr "INETD"

126
po/es.po
View File

@@ -1,217 +1,193 @@
# 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@arrakis.es>, 2003.
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004.
#
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003, 2004.
# Jorge González <jorgegonz@svn.gnome.org>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Project-Id-Version: libgtop.HEAD.es\n"
"Report-Msgid-Bugs-To: \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"
"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"
"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.3.1\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, 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:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "leído tamaño de datos"
#: lib/read_data.c:72
#: ../lib/read_data.c:70
#, 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:52
#: ../lib/write.c:51
#, 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:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Activar depuración"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEPURACIÓN"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Activa salida detallada"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "DETALLADO"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "No se pudo abrir un proceso en segundo plano"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Invocado desde inetd"
#: src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:498
#, 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"
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"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Terminar"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interrumpir"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Salir"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Instrucción ilegal"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Atrapar traza"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Abortar"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Error EMT"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Excepción de coma flotante"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Matar"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Error de bus"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Violación de segmento"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Argumento incorrecto en llamada al sistema"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Tubería rota"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarma de reloj"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Terminación"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Condición urgente en socket"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Parada"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Parada de teclado"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Continuar"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Cambio de estado de hijo"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Lectura en segundo plano de tty"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Escritura en segundo plano a tty"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "E/S ahora posible"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Excedido límite de CPU"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Tamaño límite de archivo excedido"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Alarma de reloj virtual"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Alarma de reloj perfilada"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Cambio del tamaño de ventana"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Solicitud de información"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Señal 1 definida por el usuario"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Señal 2 definida por el usuario"

112
po/et.po
View File

@@ -2,17 +2,18 @@
# 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.
# Ivar Smolin <okul@linux.ee>, 2005, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-02-08 15:28+0100\n"
"PO-Revision-Date: 2005-03-09 10:47+0200\n"
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2007-05-14 08:09+0300\n"
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
"Language-Team: Estonian <gnome-et@linux.ee>\n"
"MIME-Version: 1.0\n"
@@ -20,193 +21,172 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/read.c:64
#: ../lib/read.c:51
#, 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:52
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "loetud andmete hulk"
#: lib/read_data.c:71
#: ../lib/read_data.c:70
#, 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:461
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Silumise lubamine"
#: src/daemon/gnuserv.c:461
msgid "DEBUG"
msgstr "SILUMINE"
#: src/daemon/gnuserv.c:463
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Teaberohke väljundi lubamine"
#: src/daemon/gnuserv.c:463
msgid "VERBOSE"
msgstr "LISATEAVE"
#: src/daemon/gnuserv.c:465
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Taustale siirdumine keelatud"
#: src/daemon/gnuserv.c:465
msgid "NO-DAEMON"
msgstr "MITTE-DEEMON"
#: src/daemon/gnuserv.c:467
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Käivitatakse inetd abil"
#: src/daemon/gnuserv.c:467
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:501
#: ../src/daemon/gnuserv.c:498
#, 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"
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"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Toru hargilepanek"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Katkestamine"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Lõpetamine"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Lubamatu instruktsioon"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Jälitamispüünis"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Katkestamine"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT viga"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Ujukomaviga"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Kõrvaldamine"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Siini viga"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmenteerimisviga"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Vigane süsteemikutsungi argument"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Katkine toru"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarmkell"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Lõpetamine"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Sokli edasilükkamatu seisund"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Seiskamine"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Seiskamine klaviatuurilt"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Jätkamine"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Lapsprotsessi olek muudetud"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Taustalugemine tty'lt"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Taustakirjutamine tty'le"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "S/V on nüüd võimalik"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Protsessoriaja piirang ületatud"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Failisuuruse piirang ületatud"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Virtuaalne alarmkell"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Alarmkella profileerimine"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Akna suuruse muutmine"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Teabepäring"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Kasutaja kirjeldatud signaal 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Kasutaja kirjeldatud signaal 2"

103
po/nb.po
View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.5.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-02 14:48+0200\n"
"PO-Revision-Date: 2005-01-28 17:05+0100\n"
"POT-Creation-Date: 2007-06-23 11:52+0200\n"
"PO-Revision-Date: 2007-06-23 11:52+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
"MIME-Version: 1.0\n"
@@ -15,193 +15,172 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "les %d byte"
msgstr[1] "les %d bytes"
#: ../lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "les størrelse på data"
#: ../lib/read_data.c:72
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "leste %lu byte med data"
msgstr[1] "leste %lu bytes med data"
#: ../lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "skrev %d byte"
msgstr[1] "skrev %d bytes"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Slå på avlusing"
#: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEBUG"
#: ../src/daemon/gnuserv.c:462
msgid "Enable verbose output"
msgstr "Slå på utfyllende utskrift"
#: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "VERBOSE"
#: ../src/daemon/gnuserv.c:464
msgid "Don't fork into background"
msgstr "Ikke forgren til bakgrunnen"
#: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: ../src/daemon/gnuserv.c:466
msgid "Invoked from inetd"
msgstr "Kalt fra inetd"
#: ../src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: ../src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:498
#, c-format
msgid ""
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Feil ved flagg %s: %s.\n"
"Kjør '%s --help' for å se en full liste av tilgjengelige "
"kommandolinjeflagg.\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Kjør '%s --help' for å se en full liste av tilgjengelige kommandolinjeflagg.\n"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Frakobling"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Avbrudd"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Avslutt"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Ugyldig instruksjon"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Spor felle"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Aborter"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT-feil"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Flyttallsunntak"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Drep"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Buss-feil"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmentoverskridelse"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Ugyldig argument til systemkall"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Brukket rør"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarmklokke"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Terminering"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Viktig tilstand på socket"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stopp"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Tastaturstopp"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Fortsett"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Barnets status er endret"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Lesing fra tty i bakgrunnen"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Skriving til tty i bakgrunnen"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O nå mulig"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "CPU-grense oversteget"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Grense for filstørrelse overskredet"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Virtuell alarmklokke"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Profilerer alarmklokken"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Endring i vindusstørrelse"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Informasjonsforespørsel"
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Brukerdefinert signal 1"
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Brukerdefinert signal 2"

201
po/oc.po Normal file
View File

@@ -0,0 +1,201 @@
# 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 ""

824
po/sv.po
View File

@@ -1,215 +1,209 @@
# Swedish messages for libgtop.
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
# Daniel Nylander <po@danielnylander.se>, 2007.
# Tomas Ögren <stric@ing.umu.se>, 1999.
# Martin Norbäck <d95mback@dtek.chalmers.se>, 2000.
# Christian Rose <menthos@menthos.com>, 2002, 2003, 2004.
#
# $Id$
# $Id: sv.po,v 1.28 2006/01/02 17:43:45 bdejean Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \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"
"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"
"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:64
#: ../lib/read.c:51
#, 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:52
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "läste datastorlek"
#: lib/read_data.c:71
#: ../lib/read_data.c:70
#, 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:461
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Aktivera felsökning"
#: src/daemon/gnuserv.c:461
msgid "DEBUG"
msgstr "FELSÖK"
#: src/daemon/gnuserv.c:463
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Aktivera utförlig utskrift"
#: src/daemon/gnuserv.c:463
msgid "VERBOSE"
msgstr "UTFÖRLIG"
#: src/daemon/gnuserv.c:465
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Grena inte i bakgrunden"
#: src/daemon/gnuserv.c:465
msgid "NO-DAEMON"
msgstr "INGEN-DEMON"
#: src/daemon/gnuserv.c:467
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Startad från inetd"
#: src/daemon/gnuserv.c:467
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:501
#: ../src/daemon/gnuserv.c:498
#, c-format
msgid ""
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Fel vid flagga %s: %s.\n"
"Kör \"%s --help\" för att se hela listan av alla tillgängliga "
"kommandoflaggor.\n"
"Kör \"%s --help\" för att se hela listan över tillgängliga "
"kommandoradsflaggor.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Avringd"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Avbruten"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Lämnad"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Otillåten instruktion"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Spårningsfälla"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Avbruten (SIGABRT)"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Emulatorfälla"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Aritmetiskt fel"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Dödad"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Bussfel"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmenteringsfel"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Felaktigt argument till systemanrop"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Brutet rör"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarmklocka"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Avslutad"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Viktigt I/O-tillstånd"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stoppad (signal)"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Stoppad"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Återupptagen"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Barnstatus ändrad"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Stoppad (terminalläsning)"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Stoppad (terminalskrivning)"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O möjligt"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Begränsning av CPU-tid överskriden"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Begränsning av filstorlek överskriden"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Alarmklocka - virtuell tid"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Profileringsklocka"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Ändrat fönster"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Informationsbegäran"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Användarsignal 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "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):"
@@ -504,697 +498,3 @@ 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)."

View File

@@ -1,4 +1,4 @@
# translation of ta.po to Tamil
# translation of ta.po to
# 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-24 16:28+0530\n"
"Last-Translator: B.Senthil Kumar <senthilb@cdac.in>\n"
"Language-Team: Tamil <tamil-DI@yahoogroups.com>\n"
"PO-Revision-Date: 2007-04-27 11:03+0530\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\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.3.1\n"
"X-Generator: KBabel 1.11.4\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
#, fuzzy, c-format
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "%d பைட்கள் படி"
msgstr[1] "%d பைட்கள் படி"
msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்"
msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்"
#: lib/write.c:52
#, fuzzy, c-format
#, 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,3 +210,4 @@ msgstr "பயனீட்டாளர் குறித்த சங்கே
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
msgid "User defined signal 2"
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2"

116
po/th.po
View File

@@ -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.
# Theppitak Karoonboonyanan <thep@linux.thai.net>, 2005-2007.
#
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.11.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-08-27 17:55+0700\n"
"PO-Revision-Date: 2006-08-27 17:56+0700\n"
"POT-Creation-Date: 2007-05-18 17:22+0700\n"
"PO-Revision-Date: 2007-05-18 17:23+0700\n"
"Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n"
"Language-Team: Thai <l10n@opentle.org>\n"
"MIME-Version: 1.0\n"
@@ -17,189 +17,181 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: lib/read.c:65
#: lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "อ่าน %d ไบต์"
#: lib/read_data.c:53
#: lib/read_data.c:51
msgid "read data size"
msgstr "อ่านขนาดข้อมูล"
#: lib/read_data.c:72
#: lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "อ่านข้อมูล %lu ไบต์"
#: lib/write.c:53
#: lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "เขียน %d ไบต์"
#: src/daemon/gnuserv.c:460
#: src/daemon/gnuserv.c:458
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:466
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#: src/daemon/gnuserv.c:498
#, 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"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "เรียก '%s --help' เพื่อดูรายการตัวเลือกบรรทัดคำสั่งทั้งหมดที่ใช้ได้\n"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "ตัดการเชื่อมต่อ"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "ขัดจังหวะ"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "ออกทันที"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "รหัสคำสั่งผิดพลาด"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "หยุดเพื่อตรวจสอบ"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "เลิกทำงาน"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "ข้อผิดพลาด EMT"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "ความผิดพลาดเลขคณิตทศนิยม"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "ฆ่า"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "บัสผิดพลาด"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "การละเมิดพื้นที่หน่วยความจำ"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "การเรียกฟังก์ชันระบบผิดพลาด"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "ไปป์หลุด"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "นาฬิกาปลุก"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "จบการทำงาน"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "เงื่อนไขเร่งด่วนของซ็อกเก็ต"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "หยุด"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "หยุดด้วยแป้นพิมพ์"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "ทำงานต่อ"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "โพรเซสลูกเปลี่ยนสถานะ"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "โพรเซสเบื้องหลังอ่านเทอร์มินัล"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "โพรเซสเบื้องหลังเขียนเทอร์มินัล"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "ข้อมูลเข้า/ออกพร้อม"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "ทะลุขีดจำกัด CPU"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "ทะลุขีดจำกัดขนาดแฟ้ม"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "นาฬิกาปลุกเสมือน"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "นาฬิกาปลุกวัดประสิทธิภาพ"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "ขนาดหน้าต่างเทอร์มินัลเปลี่ยน"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "ร้องขอข้อมูล"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "สัญญาณผู้ใช้กำหนด 1"
#: sysdeps/osf1/siglist.c:59 sysdeps/sun4/siglist.c:59
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
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"

View File

@@ -1,16 +1,10 @@
if INODEDB
inodedb_SUBDIRS = inodedb
else
inodedb_SUBDIRS =
endif
if NEED_LIBGTOP
daemon_SUBDIRS = daemon
else
daemon_SUBDIRS =
endif
SUBDIRS = $(daemon_SUBDIRS) $(inodedb_SUBDIRS)
SUBDIRS = $(daemon_SUBDIRS)
DIST_SUBDIRS = daemon inodedb
DIST_SUBDIRS = daemon

View File

@@ -40,11 +40,10 @@ 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) -lpopt $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps_suid-2.0.la \
libgtop_server2_LDADD = $(GLIB_LIBS) $(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

View File

@@ -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) G_GNUC_INTERNAL;
void handle_slave_connection (int input, int output) G_GNUC_INTERNAL;
void handle_parent_connection (int s);
void handle_slave_connection (int input, int output);
void handle_slave_command (glibtop_command *cmnd, glibtop_response *resp,
const void *parameter) G_GNUC_INTERNAL ;
const void *parameter);
void do_output (int s, glibtop_response *resp, off_t offset,
size_t data_size, const void *data) G_GNUC_INTERNAL;
int do_read (int s, void *ptr, size_t total_size) G_GNUC_INTERNAL;
size_t data_size, const void *data);
int do_read (int s, void *ptr, size_t total_size);
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);
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);
extern int enable_debug;
extern int verbose_output;
extern gboolean enable_debug;
extern gboolean verbose_output;
G_END_DECLS

View File

@@ -46,7 +46,6 @@
#include <glibtop/gnuserv.h>
#include <errno.h>
#include <popt.h>
#include "daemon.h"
@@ -79,10 +78,10 @@ static Xauth *server_xauth = NULL;
#endif /* AUTH_MAGIC_COOKIE */
int enable_debug = 0;
int verbose_output = 0;
static int no_daemon = 0;
static int invoked_from_inetd = 0;
gboolean enable_debug = FALSE;
gboolean verbose_output = FALSE;
static gboolean no_daemon = FALSE;
static gboolean invoked_from_inetd = FALSE;
static int changed_uid = 0;
void
@@ -454,27 +453,26 @@ handle_signal (int sig)
exit (1);
}
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 }
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 }
};
int
main (int argc, const char **argv)
main (int argc, char **argv)
{
const unsigned method = GLIBTOP_METHOD_PIPE;
const unsigned long features = GLIBTOP_SYSDEPS_ALL;
glibtop *server = glibtop_global_server;
poptContext context;
int nextopt;
GOptionContext *goption_context;
GError *error = NULL;
int ils = -1; /* internet domain listen socket */
@@ -488,22 +486,19 @@ main (int argc, const char **argv)
arg ? (arg + 1) : program_invocation_name;
}
context = poptGetContext ("libgtop-daemon", argc, argv,
popt_options, 0);
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);
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 (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);
}
if (enable_debug)

View File

@@ -150,6 +150,15 @@ 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,

View File

@@ -51,6 +51,8 @@ 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>

View File

@@ -1,14 +0,0 @@
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

View File

@@ -1,73 +0,0 @@
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>

View File

@@ -1,64 +0,0 @@
/* 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);
}

View File

@@ -1,134 +0,0 @@
/* 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);
}

View File

@@ -27,12 +27,11 @@
#include <stdlib.h>
void
G_GNUC_INTERNAL
_glibtop_bsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path);
void G_GNUC_INTERNAL
void
_glibtop_bsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path)

View File

@@ -1,3 +1,9 @@
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):

View File

@@ -1,24 +1,13 @@
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 \
$(inodedb_SRCLIST)
default.c
# libgtop_common_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtop_common_2_0_la_LIBADD = $(LIBGTOP_EXTRA_LIBS)
@@ -27,4 +16,3 @@ 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

View File

@@ -211,7 +211,7 @@ glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid, unsigned max_len)
}
unsigned *
pid_t*
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg)
{
return glibtop_get_proclist_l(glibtop_global_server, buf, which, arg);
@@ -352,5 +352,19 @@ 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);
}

View File

@@ -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) G_GNUC_INTERNAL;
const char *path);
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 G_GNUC_INTERNAL
void
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path);

View File

@@ -1,115 +0,0 @@
/* 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);
}

View File

@@ -22,12 +22,11 @@
#include <stdlib.h>
void
G_GNUC_INTERNAL
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path);
void G_GNUC_INTERNAL
void
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path)

View File

@@ -1,3 +1,50 @@
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):

View File

@@ -1,6 +1,6 @@
INCLUDES = @INCLUDES@
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
uptime.c loadavg.c shm_limits.c msg_limits.c \
@@ -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
fsusage.c netlist.c procopenfiles.c procwd.c
libgtop_sysdeps_2_0_la_LIBADD = @GLIB_LIBS@
@@ -18,3 +18,7 @@ libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h
libgtopincludedir = $(includedir)/libgtop-2.0
noinst_HEADERS = glibtop_private.h
libgtop_sysdeps_suid_2_0_la_SOURCES = suid.c
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)

View File

@@ -73,8 +73,6 @@ 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);

View File

@@ -18,7 +18,7 @@
void
_glibtop_linux_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path) G_GNUC_INTERNAL;
const char *path);
/*
* Linux 2.6.x
@@ -127,7 +127,7 @@ static void linux_2_4_0(glibtop *server, glibtop_fsusage *buf, const char *path)
}
void G_GNUC_INTERNAL
void
_glibtop_linux_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path)

View File

@@ -184,3 +184,20 @@ 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;
}

View File

@@ -42,7 +42,7 @@ next_token(const char *p)
}
char *
skip_token (const char *p) G_GNUC_INTERNAL;
skip_token (const char *p);
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) G_GNUC_INTERNAL;
get_scaled(const char *buffer, const char *key);
/* aborts on error */
void G_GNUC_INTERNAL
void
file_to_buffer(glibtop *server, char *buffer, const char *filename);
/* return < 0 on error, otherwise 0 on success */
int G_GNUC_INTERNAL
int
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) G_GNUC_INTERNAL;
get_boot_time(glibtop *server);
size_t
get_page_size(void) G_GNUC_INTERNAL;
get_page_size(void);
gboolean
check_cpu_line(glibtop *server, const char *line, unsigned n) G_GNUC_INTERNAL;
check_cpu_line(glibtop *server, const char *line, unsigned n);
static inline gboolean
@@ -143,7 +143,9 @@ check_cpu_line_warn(glibtop *server, const char *line, unsigned i)
gboolean
has_sysfs(void) G_GNUC_INTERNAL G_GNUC_CONST;
has_sysfs(void) G_GNUC_CONST;
gboolean safe_readlink(const char *path, char *buf, size_t bufsiz);
G_END_DECLS

View File

@@ -42,6 +42,7 @@
#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

View File

@@ -50,8 +50,6 @@ 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);

View File

@@ -48,8 +48,6 @@ 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);

View File

@@ -46,8 +46,6 @@ 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);

View File

@@ -44,8 +44,6 @@ 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");

View File

@@ -180,8 +180,6 @@ 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)) {

View File

View File

@@ -47,8 +47,6 @@ 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);

View File

@@ -47,8 +47,6 @@ 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))

View File

@@ -55,7 +55,7 @@ _glibtop_init_proclist_s (glibtop *server)
*
* On error, NULL is returned and buf->flags is zero. */
unsigned *
pid_t*
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg)
{
@@ -66,8 +66,6 @@ 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");
@@ -75,12 +73,12 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
if(stat("/proc", &statb)) return NULL;
pids = g_array_sized_new(FALSE, FALSE, sizeof(unsigned), statb.st_nlink);
pids = g_array_sized_new(FALSE, FALSE, sizeof(pid_t), statb.st_nlink);
/* read every every entry in /proc */
while((entry = readdir (proc))) {
unsigned pid;
pid_t pid;
if (entry->d_type != DT_DIR)
continue;
@@ -92,7 +90,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
case GLIBTOP_KERN_PROC_ALL:
break;
case GLIBTOP_KERN_PROC_PID:
if ((unsigned) arg != pid)
if ((pid_t) arg != pid)
continue;
break;
case GLIBTOP_KERN_PROC_UID:
@@ -100,7 +98,7 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
char path[32];
struct stat path_stat;
snprintf(path, sizeof path, "/proc/%u", pid);
snprintf(path, sizeof path, "/proc/%u", (unsigned)pid);
if (stat(path, &path_stat))
continue;
@@ -163,9 +161,9 @@ glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
closedir (proc);
buf->flags = _glibtop_sysdeps_proclist;
buf->size = sizeof (unsigned);
buf->size = sizeof(pid_t);
buf->number = pids->len;
buf->total = buf->number * buf->size;
return (unsigned*) g_array_free(pids, FALSE);
return (pid_t*)g_array_free(pids, FALSE);
}

View File

@@ -133,8 +133,6 @@ 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);
@@ -166,11 +164,10 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
if (getline(&line, &line_size, maps) == -1)
break;
/* 8 arguments */
if (sscanf(line, PROC_MAPS_FORMAT,
&start, &end, flags, &offset,
&dev_major, &dev_minor, &inode, &line_end) != 7)
break;
continue;
filename = line + line_end;
g_strstrip(filename);

View File

@@ -52,8 +52,6 @@ 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))

View File

@@ -182,8 +182,6 @@ 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);
@@ -195,7 +193,6 @@ 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] == '.')
@@ -204,9 +201,8 @@ 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);
rv = readlink(fn, tgt, sizeof(tgt) - 1);
if(rv < 0) continue;
tgt[rv] = '\0';
if (!safe_readlink(fn, tgt, sizeof tgt))
continue;
entry.fd = atoi(direntry->d_name);

View File

@@ -55,8 +55,6 @@ 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))

View File

@@ -45,8 +45,6 @@ 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))

View File

@@ -51,8 +51,6 @@ 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

View File

@@ -56,8 +56,6 @@ 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))

View File

@@ -53,8 +53,6 @@ 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))

96
sysdeps/linux/procwd.c Normal file
View File

@@ -0,0 +1,96 @@
/* 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);
}

View File

@@ -63,8 +63,6 @@ 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;

View File

@@ -45,8 +45,6 @@ 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);

94
sysdeps/linux/suid.c Normal file
View File

@@ -0,0 +1,94 @@
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 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/open.h>
#include <glibtop/init_hooks.h>
/* !!! THIS FUNCTION RUNS SUID ROOT - CHANGE WITH CAUTION !!! */
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags)
{
const _glibtop_init_func_t *init_fkt;
if (server == NULL)
glibtop_error_r (NULL, "glibtop_init_p (server == NULL)");
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_p (server, "glibtop", features, flags);
for (init_fkt = _glibtop_init_hook_p; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
}
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags)
{
#ifdef DEBUG
fprintf (stderr, "DEBUG (%d): glibtop_open_p ()\n", getpid ());
#endif
#if 0
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
server->machine.uid = getuid ();
server->machine.euid = geteuid ();
server->machine.gid = getgid ();
server->machine.egid = getegid ();
server->os_version_code = __FreeBSD_version;
/* Setup machine-specific data */
server->machine.kd = kvm_open (NULL, NULL, NULL, O_RDONLY, "kvm_open");
if (server->machine.kd == NULL)
glibtop_error_io_r (server, "kvm_open");
/* Drop priviledges. */
if (setreuid (server->machine.euid, server->machine.uid))
_exit (1);
if (setregid (server->machine.egid, server->machine.gid))
_exit (1);
#endif
/* !!! END OF SUID ROOT PART !!! */
/* Our effective uid is now those of the user invoking the server,
* so we do no longer have any priviledges. */
/* NOTE: On FreeBSD, we do not need to be suid root, we just need to
* be sgid kmem.
*
* The server will only use setegid() to get back it's priviledges,
* so it will fail if it is suid root and not sgid kmem. */
}

View File

@@ -54,8 +54,6 @@ 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);

View File

@@ -41,8 +41,6 @@ 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 */

View File

@@ -49,8 +49,6 @@ 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);

View File

@@ -1,3 +1,11 @@
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:

View File

@@ -46,7 +46,7 @@ _glibtop_init_proclist_s (glibtop *server)
}
#define BLOCK_COUNT 256
#define BLOCK_SIZE (BLOCK_COUNT * sizeof (unsigned))
#define BLOCK_SIZE (BLOCK_COUNT * sizeof (pid_t))
/* 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. */
unsigned *
pid_t*
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;
unsigned pids [BLOCK_COUNT], *pids_chain = NULL;
pid_t 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(unsigned));
pids_chain = g_malloc(sizeof(pid_t));
*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 (unsigned);
new_size = pids_size + count * sizeof (pid_t);
pids_chain = g_realloc (pids_chain, new_size);
memcpy (pids_chain + pids_offset, pids, count * sizeof (unsigned));
memcpy (pids_chain + pids_offset, pids, count * sizeof (pid_t));
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 (unsigned);
buf->size = sizeof (pid_t);
buf->number = total;
buf->total = total * sizeof (unsigned);
buf->total = buf->number * buf->size;
return pids_chain;
}