Compare commits
32 Commits
gnome-2-14
...
linux_daem
Author | SHA1 | Date | |
---|---|---|---|
|
6c95195787 | ||
|
ef34cfb38a | ||
|
1e0ba1d7aa | ||
|
6b0bafcafb | ||
|
c0856a39bd | ||
|
270820a05c | ||
|
358660837c | ||
|
e387c66aad | ||
|
e774440e77 | ||
|
c7295cd5f0 | ||
|
65fe248d66 | ||
|
5c479c9a45 | ||
|
6509ddff4c | ||
|
ee78aaf29c | ||
|
a5f59cb81a | ||
|
a99011fd5c | ||
|
598374bb1c | ||
|
b1acd4461e | ||
|
0e2fe6158c | ||
|
f8b9e6f7cc | ||
|
8fc7451000 | ||
|
aaab91cc20 | ||
|
cde89c59b1 | ||
|
0ce04dd037 | ||
|
8e4c6df830 | ||
|
da54431af5 | ||
|
ace68aa492 | ||
|
eee0cad2b6 | ||
|
785b30aeb6 | ||
|
3eb958dc6c | ||
|
cd389851b9 | ||
|
7ee8dae9c5 |
55
ChangeLog
55
ChangeLog
@@ -1,3 +1,58 @@
|
||||
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.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>
|
||||
|
||||
* *:
|
||||
|
25
NEWS
25
NEWS
@@ -1,3 +1,28 @@
|
||||
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.
|
||||
|
||||
25 February 2007: Overview of changes in 2.14.8
|
||||
===============================================
|
||||
* bsd implementations have been splitted by Joe Marcus Clarke
|
||||
|
40
configure.in
40
configure.in
@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
m4_define([libgtop_major_version], [2])
|
||||
m4_define([libgtop_minor_version], [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
|
||||
|
@@ -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"/>
|
||||
|
@@ -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>
|
||||
|
@@ -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):
|
||||
|
@@ -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
0
examples/affinity.c
Normal file
21
examples/mem.c
Normal file
21
examples/mem.c
Normal 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;
|
||||
}
|
||||
|
@@ -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
35
examples/wd.c
Normal 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;
|
||||
}
|
||||
|
@@ -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)
|
||||
|
||||
|
155
gtk-doc.make
155
gtk-doc.make
@@ -1,155 +0,0 @@
|
||||
# -*- mode: makefile -*-
|
||||
|
||||
####################################
|
||||
# Everything below here is generic #
|
||||
####################################
|
||||
|
||||
if GTK_DOC_USE_LIBTOOL
|
||||
GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
else
|
||||
GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
endif
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
|
||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(content_files) \
|
||||
$(HTML_IMAGES) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_MODULE)-sections.txt \
|
||||
$(DOC_MODULE)-overrides.txt
|
||||
|
||||
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
||||
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
all-local: html-build.stamp
|
||||
else
|
||||
all-local:
|
||||
endif
|
||||
|
||||
docs: html-build.stamp
|
||||
|
||||
#### scan ####
|
||||
|
||||
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
|
||||
@echo 'gtk-doc: Scanning header files'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
|
||||
else \
|
||||
cd $(srcdir) ; \
|
||||
for i in $(SCANOBJ_FILES) ; do \
|
||||
test -f $$i || touch $$i ; \
|
||||
done \
|
||||
fi
|
||||
cd $(srcdir) && \
|
||||
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
|
||||
touch scan-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
|
||||
@true
|
||||
|
||||
#### templates ####
|
||||
|
||||
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
|
||||
@echo 'gtk-doc: Rebuilding template files'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
|
||||
touch tmpl-build.stamp
|
||||
|
||||
tmpl.stamp: tmpl-build.stamp
|
||||
@true
|
||||
|
||||
#### xml ####
|
||||
|
||||
sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
|
||||
@echo 'gtk-doc: Building XML'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
cd $(srcdir) && \
|
||||
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
|
||||
touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
#### html ####
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
|
||||
@echo 'gtk-doc: Building HTML'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
rm -rf $(srcdir)/html
|
||||
mkdir $(srcdir)/html
|
||||
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
|
||||
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
|
||||
@echo 'gtk-doc: Fixing cross-references'
|
||||
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
touch html-build.stamp
|
||||
|
||||
##############
|
||||
|
||||
clean-local:
|
||||
rm -f *~ *.bak
|
||||
rm -rf .libs
|
||||
|
||||
maintainer-clean-local: clean
|
||||
cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
|
||||
install-data-local:
|
||||
installfiles=`echo $(srcdir)/html/*`; \
|
||||
if test "$$installfiles" = '$(srcdir)/html/*'; \
|
||||
then echo '-- Nothing to install' ; \
|
||||
else \
|
||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
|
||||
for i in $$installfiles; do \
|
||||
echo '-- Installing '$$i ; \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
||||
done; \
|
||||
echo '-- Installing $(srcdir)/html/index.sgml' ; \
|
||||
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
|
||||
fi
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)$(TARGET_DIR)/*
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
if ENABLE_GTK_DOC
|
||||
dist-check-gtkdoc:
|
||||
else
|
||||
dist-check-gtkdoc:
|
||||
@echo "*** gtk-doc must be installed and enabled in order to make dist"
|
||||
@false
|
||||
endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/tmpl
|
||||
mkdir $(distdir)/xml
|
||||
mkdir $(distdir)/html
|
||||
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
||||
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
||||
-cp $(srcdir)/html/* $(distdir)/html
|
||||
if test -f $(srcdir)/$(DOC_MODULE).types; then \
|
||||
cp $(srcdir)/$(DOC_MODULE).types $(distdir)/$(DOC_MODULE).types; \
|
||||
fi
|
||||
|
||||
.PHONY : dist-hook-local docs
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
0
include/glibtop/procaffinity.h
Normal file
0
include/glibtop/procaffinity.h
Normal 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
69
include/glibtop/procwd.h
Normal 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
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
115
lib/inodedb.c
115
lib/inodedb.c
@@ -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
130
lib/libgtop.sym
Normal 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
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
32
po/ChangeLog
32
po/ChangeLog
@@ -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.
|
||||
|
@@ -50,6 +50,7 @@ nb
|
||||
ne
|
||||
nl
|
||||
nn
|
||||
oc
|
||||
or
|
||||
pa
|
||||
pl
|
||||
|
@@ -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
140
po/dz.po
@@ -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 "ཨའི་ཨེན་ཨི་ཊི་ཌི།"
|
||||
|
153
po/en_GB.po
153
po/en_GB.po
@@ -3,14 +3,14 @@
|
||||
# This file is distributed under the same license as the libgtop package.
|
||||
# Gareth Owen <gowen72@yahoo.com>, David Lodge <dave@cirt.net>, 2004.
|
||||
# Gareth Owen <gowen72@yahoo.comg>, 2004.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 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
126
po/es.po
@@ -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
112
po/et.po
@@ -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
103
po/nb.po
@@ -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
201
po/oc.po
Normal 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
824
po/sv.po
@@ -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)."
|
||||
|
21
po/ta.po
21
po/ta.po
@@ -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
116
po/th.po
@@ -1,15 +1,15 @@
|
||||
# Thai translation of libgtop.
|
||||
# Copyright (C) 2005 Free Software Foundation
|
||||
# This file is distributed under the same license as the libgtop package.
|
||||
# Theppitak Karoonboonyanan <thep@linux.thai.net>, 2005.
|
||||
# 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"
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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,
|
||||
|
@@ -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>
|
||||
|
@@ -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
|
@@ -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>
|
@@ -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);
|
||||
}
|
@@ -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);
|
||||
}
|
@@ -1,3 +1,11 @@
|
||||
2007-05-08 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* fsusage.c: (_glibtop_bsd_get_fsusage_read_write):
|
||||
* netload.c: (glibtop_get_netload_p):
|
||||
|
||||
Fixed build on OpenBSD.
|
||||
Patch by Jasper Lievisse Adriaanse <jasper@nedbsd.nl>.
|
||||
|
||||
2007-02-18 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* AUTHORS:
|
||||
|
@@ -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)
|
||||
@@ -54,7 +53,9 @@ _glibtop_bsd_get_fsusage_read_write(glibtop *server,
|
||||
return;
|
||||
}
|
||||
|
||||
#if !defined(__OpenBSD__)
|
||||
buf->read = sfs.f_syncreads + sfs.f_asyncreads;
|
||||
#endif
|
||||
buf->write = sfs.f_syncwrites + sfs.f_asyncwrites;
|
||||
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
|
||||
}
|
||||
|
@@ -233,7 +233,11 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
|
||||
buf->flags |= GLIBTOP_NETLOAD_ADDRESS6;
|
||||
}
|
||||
/* FIXME prefix6, scope6 */
|
||||
#if defined (__OpenBSD__)
|
||||
ifaddraddr = (u_long) ifaddr.ifa.ifa_list.tqe_next;
|
||||
#else
|
||||
ifaddraddr = (u_long) ifaddr.ifa.ifa_link.tqe_next;
|
||||
#endif
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@@ -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):
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
@@ -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)
|
||||
|
@@ -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):
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
|
@@ -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)
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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");
|
||||
|
@@ -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)) {
|
||||
|
0
sysdeps/linux/procaffinity.c
Normal file
0
sysdeps/linux/procaffinity.c
Normal 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);
|
||||
|
@@ -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))
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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))
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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))
|
||||
|
@@ -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))
|
||||
|
@@ -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
|
||||
|
@@ -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))
|
||||
|
@@ -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
96
sysdeps/linux/procwd.c
Normal 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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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
94
sysdeps/linux/suid.c
Normal 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. */
|
||||
}
|
@@ -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);
|
||||
|
@@ -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 */
|
||||
|
@@ -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);
|
||||
|
@@ -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:
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user