Compare commits

...

34 Commits

Author SHA1 Message Date
Benoît Dejean
806a2d2d7e Released 2.23.2.
svn path=/trunk/; revision=2750
2008-05-24 16:23:07 +00:00
Benoît Dejean
af81e9be75 Put back the old behaviour (no smart pss for now).
svn path=/trunk/; revision=2749
2008-05-24 16:20:01 +00:00
Benoît Dejean
90fc3ca780 New API to retrieve process CPU affinity.
Linux implementation.

svn path=/trunk/; revision=2748
2008-05-24 09:50:04 +00:00
Benoît Dejean
99e9437b37 Fixed libtool version.
Thanks to Bastien Nocera and Matteo Settenvini.
Set to 9:0:2.

svn path=/trunk/; revision=2746
2008-05-23 22:04:24 +00:00
Djihed Afifi
6c7f40ac64 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2744
2008-05-22 22:59:38 +00:00
Djihed Afifi
e75261ada8 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2743
2008-05-19 01:14:20 +00:00
Benoît Dejean
dc5da30913 Fixed parsing of big /proc/stat for uptime.
svn path=/trunk/; revision=2741
2008-04-28 16:20:56 +00:00
Benoît Dejean
4d78d26932 First try to implement proportional set size by recyling
glibtop_proc_mem's duplicate members.x
Currently implemented on linux in rss member, for now
size,share,resident,rss are the only filled members.

svn path=/trunk/; revision=2740
2008-04-21 18:59:25 +00:00
Benoît Dejean
cd950bbf73 Added comment about get_scaled usage.
svn path=/trunk/; revision=2739
2008-04-21 18:59:23 +00:00
Benoît Dejean
c1b95643a8 Updated glibtop_get_proc_open_files API so that it also list IPv6 TCP sockets.
Patch by Mark McClelland <mark@ovcam.org>.
Closes #528175.

WTH do we not care about udp ?

Updated libtool versioning: API addition does not change the ABI, so only
increased revision. gnome-2.22 is 8.1.1 so trunk is now 8.2.1.

svn path=/trunk/; revision=2738
2008-04-21 18:59:20 +00:00
Benoît Dejean
be8a371481 Fixed debug macro name.
svn path=/trunk/; revision=2736
2008-04-14 16:22:03 +00:00
Benoît Dejean
fedd75b2b1 Dropped dead files.
svn path=/trunk/; revision=2735
2008-04-14 16:22:00 +00:00
Benoît Dejean
a02e213373 Fixed ;;. Closes #521084.
Fixed ;;.
Closes #521084.

svn path=/trunk/; revision=2734
2008-04-05 17:13:28 +00:00
Benoît Dejean
e3697c9a9e Released 2.22.1.
svn path=/trunk/; revision=2732
2008-04-04 18:27:42 +00:00
Benoît Dejean
91e2e5a1b7 Bumped version number.
svn path=/trunk/; revision=2731
2008-04-04 17:31:42 +00:00
Eskild Hustvedt
158280e297 Updated the Norwegian Nynorsk translation
svn path=/trunk/; revision=2730
2008-04-04 11:45:43 +00:00
Benoît Dejean
62c741074c Fixed dist for !linux.
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
Closes #525953.

svn path=/trunk/; revision=2729
2008-04-03 16:39:43 +00:00
Benoît Dejean
87a80ba430 Fixed warnings about proclist returning pid_t.
svn path=/trunk/; revision=2728
2008-04-03 16:29:55 +00:00
Simos Xenitellis
7bb5abb9a8 Updated Greek translation
svn path=/trunk/; revision=2727
2008-03-16 17:04:28 +00:00
Benoît Dejean
40485978ec Released 2.22.0
svn path=/trunk/; revision=2725
2008-03-10 19:04:34 +00:00
Gabor Kelemen
73c62a7bdb Translation updated
2008-03-09  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated


svn path=/trunk/; revision=2724
2008-03-09 21:03:49 +00:00
Yannig MARCHEGAY
e4d9c10a73 Updated Occitan translation
svn path=/trunk/; revision=2723
2008-03-08 09:52:17 +00:00
Marcel Telka
5d3f18e12c Updated Slovak translation.
2008-03-06  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.

svn path=/trunk/; revision=2720
2008-03-06 21:13:15 +00:00
Benoît Dejean
d97b0c3419 Fixed flags.
svn path=/trunk/; revision=2719
2008-03-02 18:07:24 +00:00
Benoît Dejean
960d12822d Really set wchan.
svn path=/trunk/; revision=2718
2008-03-02 18:07:22 +00:00
Benoît Dejean
f79f25f5ce Bumped version to 2.21.93.
svn path=/trunk/; revision=2717
2008-03-02 18:04:06 +00:00
Changwoo Ryu
3bb78c22c4 Updated Korean translation
svn path=/trunk/; revision=2716
2008-02-26 10:14:36 +00:00
Benoît Dejean
4971103dc3 Released 2.21.92.
svn path=/trunk/; revision=2714
2008-02-25 19:31:05 +00:00
Benoît Dejean
35fab4d9aa Smarter smaps parsing.
See #518145.

svn path=/trunk/; revision=2713
2008-02-24 17:52:24 +00:00
Yannig MARCHEGAY
2078320e14 Updated Occitan translation
svn path=/trunk/; revision=2711
2008-02-19 21:42:33 +00:00
Chao-Hsiung Liao
46a29ac020 Updated Traditional Chinese translation(Hong Kong). Updated Traditional
2008-02-14  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

        * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
        * zh_TW.po: Updated Traditional Chinese translation(Taiwan).



svn path=/trunk/; revision=2710
2008-02-14 12:14:40 +00:00
Pawan Chitrakar
d9c98b57c9 Updated Nepali Translation
svn path=/trunk/; revision=2709
2008-02-14 09:14:15 +00:00
Petr Kovář
9ce9de7942 cs.po: Updated Czech translation by Lucas Lommer.
svn path=/trunk/; revision=2708
2008-02-11 18:20:18 +00:00
Djihed Afifi
1409a8ef80 Updated Arabic Translation by Khaled Hosny.
svn path=/trunk/; revision=2707
2008-01-31 08:22:02 +00:00
47 changed files with 1056 additions and 1064 deletions

25
NEWS
View File

@@ -1,3 +1,28 @@
24 May 2008: Overview of changes in 2.23.2
==========================================
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
(Let's hope one day i'll find the gtk-doc documentation ...)
* linux:
- fixed parsing of big /proc/stat for uptime.
04 April 2008: Overview of changes in 2.22.1
============================================
* Fixed compilation/dist for !linux.
Closes #525953.
10 Mars 2008: Overview of changes in 2.22.0
===========================================
* linux:
- fixed proc_kernel.
25 February 2008: Overview of changes in 2.21.92
================================================
* linux:
- fixed smaps parsing on >= 2.6.24.x.
14 January 2008: Overview of changes in 2.21.5
==============================================
* freebsd:

View File

@@ -3,21 +3,21 @@ dnl Configure script for the Gnome library
dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [21])
m4_define([libgtop_micro_version], [5])
m4_define([libgtop_minor_version], [23])
m4_define([libgtop_micro_version], [2])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.
m4_define([libgtop_current], [8])
m4_define([libgtop_current], [9])
dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT
m4_define([libgtop_revision], [1])
m4_define([libgtop_revision], [0])
dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has
dnl precedence over adding, so set to 0 if both happened.
m4_define([libgtop_age], [1])
m4_define([libgtop_age], [2])
# Increase each time you change the client/server protocol.
m4_define([libgtop_server_version], [5])

View File

@@ -8,7 +8,7 @@ DEFS = @DEFS@
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
openfiles smp proclist mem wd
openfiles smp proclist mem wd affinity
first_SOURCES = first.c
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
@@ -58,3 +58,5 @@ wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
mem_SOURCE = mem.c
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
affinity_SOURCES = affinity.c
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la

View File

@@ -0,0 +1,34 @@
#include <glibtop.h>
#include <glibtop/procaffinity.h>
#include <glib.h>
#include <unistd.h>
int main(int argc, char **argv)
{
pid_t pid;
glibtop_proc_affinity buf;
guint16 *cpus;
size_t i;
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
pid = getpid();
glibtop_init();
cpus = glibtop_get_proc_affinity(&buf, pid);
g_print("Process %u:\n"
" - all: %d\n",
(unsigned)pid, buf.all);
for (i = 0; i != buf.number; ++i)
g_print(" - CPU#%u is set\n", cpus[i]);
g_free(cpus);
glibtop_close();
return 0;
}

View File

@@ -47,9 +47,9 @@ main (int argc, char *argv [])
{
glibtop_union data;
glibtop_sysdeps sysdeps;
unsigned c, method, count, port, i, *ptr;
unsigned c, method, count, port, i;
char buffer [BUFSIZ];
pid_t pid, ppid;
pid_t pid, ppid, *ptr;
char *args;
count = PROFILE_COUNT;

View File

@@ -37,9 +37,16 @@ static void show_open_files(pid_t pid)
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
break;
case GLIBTOP_FILE_TYPE_INET6SOCKET:
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
break;
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
printf("localsocket %s\n", files[i].info.localsock.name);
break;
default:
printf("unknown type\n");
}
}

View File

@@ -11,7 +11,7 @@
static void print_pids(guint64 which, guint64 arg)
{
unsigned *pids;
pid_t *pids;
unsigned i;
glibtop_proclist buf;

View File

@@ -239,7 +239,8 @@ main (int argc, char *argv [])
{
glibtop_proclist proclist;
glibtop_sysdeps sysdeps;
unsigned *ptr, pid, i;
unsigned i;
pid_t *ptr, pid;
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);

View File

@@ -73,11 +73,11 @@ int
main (int argc, char *argv [])
{
glibtop_union data;
unsigned c, count, *ptr;
unsigned c, count;
struct rusage total_start, total_end;
struct rusage rusage_start, rusage_end;
struct timeval elapsed_utime, elapsed_stime;
pid_t pid;
pid_t pid, *ptr;
count = PROFILE_COUNT;

View File

@@ -23,4 +23,5 @@ void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_to
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
char **|netlist|unsigned(number)
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)

View File

@@ -8,7 +8,7 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
procsignal.h union.h gnuserv.h \
parameter.h mountlist.h fsusage.h procmap.h signal.h \
sysinfo.h ppp.h procargs.h netload.h \
procwd.h \
procwd.h procaffinity.h \
netlist.h procopenfiles.h open.h
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h

View File

@@ -58,8 +58,9 @@ G_BEGIN_DECLS
#define GLIBTOP_CMND_NETLIST 24
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
#define GLIBTOP_CMND_PROC_WD 26
#define GLIBTOP_CMND_PROC_AFFINITY 27
#define GLIBTOP_MAX_CMND 27
#define GLIBTOP_MAX_CMND 28
#define _GLIBTOP_PARAM_SIZE 16

View File

@@ -1,68 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 2.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_SERVER_H__
#define __GLIBTOP_SERVER_H__
#include <glibtop/global.h>
#include <glibtop/sysdeps.h>
G_BEGIN_DECLS
typedef struct _glibtop_server glibtop_server;
typedef struct _glibtop_server_info glibtop_server_info;
typedef struct _glibtop_closure glibtop_closure;
struct _glibtop_server_info
{
int ncpu; /* Number of CPUs, zero if single-processor */
unsigned long features; /* Server is required for this features */
glibtop_sysdeps sysdeps; /* Detailed feature list */
glibtop_sysdeps required; /* Required feature list */
glibtop_sysdeps wanted; /* We only want this features */
};
struct _glibtop_server
{
glibtop_server_info *info;
int refcount;
unsigned flags;
const char *name;
void *_priv;
};
glibtop_server *
glibtop_server_new (void);
void
glibtop_server_ref (glibtop_server *server);
void
glibtop_server_unref (glibtop_server *server);
G_END_DECLS
#endif

View File

@@ -0,0 +1,61 @@
/* 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_PROCAFFINITY_H__
#define __GLIBTOP_PROCAFFINITY_H__
#include <glibtop.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
#define GLIBTOP_PROC_AFFINITY_ALL 1
struct _glibtop_proc_affinity
{
guint64 flags;
guint32 number;
gboolean all;
};
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_AFFINITY
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
void _glibtop_init_proc_affinity_p(glibtop *server);
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#else
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
void _glibtop_init_proc_affinity_s(glibtop *server);
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
#endif
G_END_DECLS
#endif

View File

@@ -53,7 +53,8 @@ enum glibtop_file_type {
GLIBTOP_FILE_TYPE_FILE = 1,
GLIBTOP_FILE_TYPE_PIPE = 2,
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
};
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
@@ -65,7 +66,8 @@ struct _glibtop_open_files_entry
int fd;
guint16 type; /* An "enum glibtop_file_type" value. */
union {
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
struct {
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
int dest_port;

View File

@@ -52,8 +52,9 @@ G_BEGIN_DECLS
#define GLIBTOP_SYSDEPS_NETLIST 23
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
#define GLIBTOP_SYSDEPS_PROC_WD 25
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
#define GLIBTOP_MAX_SYSDEPS 26
#define GLIBTOP_MAX_SYSDEPS 27
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
@@ -88,6 +89,7 @@ struct _glibtop_sysdeps
guint64 netload; /* glibtop_netload */
guint64 ppp; /* glibtop_ppp */
guint64 proc_wd; /* glibtop_proc_wd */
guint64 proc_affinity; /* glibtop_proc_affinity */
};
void glibtop_get_sysdeps (glibtop_sysdeps *buf);

View File

@@ -43,6 +43,7 @@
#include <glibtop/procmap.h>
#include <glibtop/procopenfiles.h>
#include <glibtop/procwd.h>
#include <glibtop/procaffinity.h>
#include <glibtop/mountlist.h>
#include <glibtop/fsusage.h>
@@ -82,6 +83,7 @@ union _glibtop_union
glibtop_ppp ppp;
glibtop_proc_open_files proc_open_files;
glibtop_proc_wd proc_wd;
glibtop_proc_affinity proc_affinity;
};
G_END_DECLS

View File

@@ -1,173 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* 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/error.h>
#include <glib/gstrfuncs.h>
#include <errno.h>
#define DEFAULT_NAME "LibGTop-Server"
/* Prints error message and exits. */
static void
print_server_name (glibtop_server *server)
{
fprintf (stderr, "%s: ", server ?
(server->name ? server->name : DEFAULT_NAME)
: DEFAULT_NAME);
}
void
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, "\n");
#ifdef LIBGTOP_ENABLE_DEBUG
abort ();
#else
exit (1);
#endif
}
void
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error));
#ifdef LIBGTOP_ENABLE_DEBUG
abort ();
#else
exit (1);
#endif
}
void
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, "\n");
#ifdef LIBGTOP_FATAL_WARNINGS
abort ();
#endif
}
void
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
{
print_server_name (server);
vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error));
#ifdef LIBGTOP_FATAL_WARNINGS
abort ();
#endif
}
void
glibtop_error_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (server, format, args);
va_end (args);
}
void
glibtop_warn_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (server, format, args);
va_end (args);
}
void
glibtop_error_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (server, format, errno, args);
va_end (args);
}
void
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (server, format, errno, args);
va_end (args);
}
#ifndef __GNUC__
static void
glibtop_error (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_warn (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_vr (glibtop_global_server, format, args);
va_end (args);
}
static void
glibtop_error_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
static void
glibtop_warn_io (char *format, ...)
{
va_list args;
va_start (args, format);
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
va_end (args);
}
#endif /* no __GNUC__ */

View File

@@ -1,36 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* 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_SERVER_PRIVATE_H__
#define __GLIBTOP_SERVER_PRIVATE_H__
#include <glib.h>
typedef struct _glibtop_server_private glibtop_server_private;
struct _glibtop_server_private
{
GSList *backend_list;
};
#endif

View File

@@ -1,57 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 2.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-server-private.h>
glibtop_server *
glibtop_server_new (void)
{
glibtop_server *retval;
retval = g_new0 (glibtop_server, 1);
retval->info = g_new0 (glibtop_server_info, 1);
retval->_priv = g_new0 (glibtop_server_private, 1);
retval->refcount = 1;
return retval;
}
void
glibtop_server_ref (glibtop_server *server)
{
server->refcount++;
}
void
glibtop_server_unref (glibtop_server *server)
{
server->refcount--;
if (server->refcount <= 0) {
g_free (server->_priv);
g_free (server->info);
g_free (server);
}
}

View File

@@ -50,6 +50,8 @@ glibtop_get_sem_limits
glibtop_get_sem_limits_l
glibtop_get_shm_limits
glibtop_get_shm_limits_l
glibtop_get_proc_affinity
glibtop_get_proc_affinity_l
glibtop_get_swap
glibtop_get_swap_l
glibtop_get_sysdeps

View File

@@ -47,6 +47,7 @@ GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD +
GLIBTOP_SUID_PROC_AFFINITY +
GLIBTOP_SUID_PPP;
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
@@ -113,6 +114,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
#if !GLIBTOP_SUID_PROC_WD
_glibtop_init_proc_wd_s,
#endif
#if !GLIBTOP_SUID_PROC_AFFINITY
_glibtop_init_proc_affinity_s,
#endif
#if !GLIBTOP_SUID_PPP
_glibtop_init_ppp_s,
#endif
@@ -183,6 +187,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
#if GLIBTOP_SUID_PROC_WD
_glibtop_init_proc_wd_p,
#endif
#if GLIBTOP_SUID_PROC_AFFINITY
_glibtop_init_proc_affinity_p,
#endif
#if GLIBTOP_SUID_PPP
_glibtop_init_ppp_p,
#endif

View File

@@ -1,3 +1,48 @@
2008-05-22 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-05-19 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-04-04 Eskild Hustvedt <eskildh@gnome.org>
* nn.po: Updated Norwegian Nynorsk translation
2008-03-16 Simos Xenitellis <simos@gnome.org>
* el.po: Updated Greek translation.
2008-03-09 Gabor Kelemen <kelemeng@gnome.hu>
* hu.po: Translation updated
2008-03-06 Marcel Telka <marcel@telka.sk>
* sk.po: Updated Slovak translation.
2008-02-26 Changwoo Ryu <cwryu@debian.org>
* ko.po: Updated Korean translation.
2008-02-14 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
2008-02-14 Pawan Chitrakar <chautari@gmail.com>
* ne.po: Updated Nepali Translation.
2008-02-11 Petr Kovar <pknbe@volny.cz>
* cs.po: Updated Czech translation by Lucas Lommer.
2008-01-31 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-01-12 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.

View File

@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libgtop.HEAD.ar\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-08-26 14:20-0700\n"
"POT-Creation-Date: 2008-01-12 01:07+0000\n"
"PO-Revision-Date: 2008-01-11 23:29+0200\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@eglug.org>\n"
@@ -18,7 +18,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && "
"n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
#: ../lib/read.c:51
#, c-format
@@ -78,158 +79,126 @@ msgstr "استُحضرت من inetd "
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "شغّل '%s --help' لرؤية قائمة كاملة لخيارات سطر الأوامر.\n"
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "علّق"
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "قاطِع"
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "اخرج"
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "توجيه ممنوع"
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "تتبع الأثر"
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "اجهض"
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "خطأ EMT"
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "استثناء أرقام عشرية"
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "اقتل"
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "خطأ في ناقل"
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "انتهاك اﻻنقسام"
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "معطى سيء لنداء النظام"
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "أنبوب مكسور"
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "ساعة منبهة"
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "إنهاء"
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "حالة عاجلة عند المقبس"
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "قف"
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "إيقاف من لوحة المفاتيح"
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "تابع"
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "تغيرت حالة الابن"
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "قراءة من tty في الخلفية"
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "كتابة لـ tty في الخلفية"
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "الدخْل/الخرْج ممكن الآن"
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "تجاوز حد الـمعالج"
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "تجاوز حد حجم الملف"
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "ساعة تنبيه تخيّلية"
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "تشخيص ساعة التنبيه"
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "تغير حجم النافذة"
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "طلب معلومات"
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "إشارة 1 معرفة من طرف المستخدم"
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "إشارة 2 معرفة من طرف المستخدم"

133
po/cs.po
View File

@@ -1,23 +1,24 @@
# Czech translation of libgtop
# Czech translation of libgtop.
# This file is distributed under the same license as the libgtop package.
# Copyright (C) 2004 Miloslav Trmac <mitr@volny.cz>
# Miloslav Trmac <mitr@volny.cz>, 2002, 2003, 2004
# Copyright (C) 2004 Miloslav Trmac <mitr@volny.cz>.
# Miloslav Trmac <mitr@volny.cz>, 2002, 2003, 2004.
# Lucas Lommer <llommer@svn.gnome.org>, 2008.
# Petr Kovar <pknbe@volny.cz>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop VERSION\n"
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2005-01-02 15:10+0100\n"
"Last-Translator: Miloslav Trmac <mitr@volny.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
"POT-Creation-Date: 2008-02-11 19:20+0100\n"
"PO-Revision-Date: 2008-02-11 19:17+0100\n"
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
@@ -25,11 +26,11 @@ msgstr[0] "přečten %d bajt"
msgstr[1] "přečteny %d bajty"
msgstr[2] "přečteno %d bajtů"
#: lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "velikost přečtených dat"
#: 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"
@@ -37,7 +38,7 @@ msgstr[0] "přečten %lu bajt dat"
msgstr[1] "přečteny %lu bajty dat"
msgstr[2] "přečteno %lu bajtů dat"
#: lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
@@ -45,167 +46,149 @@ msgstr[0] "zapsán %d bajt"
msgstr[1] "zapsány %d bajty"
msgstr[2] "zapsáno %d bajtů"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Povolit ladění"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "LADĚNÍ"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Povolit podrobný výstup"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "PODROBNĚ"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Neforkovat do pozadí"
msgstr "Nevětvit do pozadí"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NE-DÉMON"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Spuštěn z inetd"
msgstr "Spuštěno z 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"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Chyba v přepínači %s: %s.\n"
"Úplný seznam dostupných přepínačů zobrazíte spuštěním '%s --help'.\n"
"Spusťte prosím \"%s --help\", chcete-li zobrazit všechny dostupné přepínače "
"příkazové řádky.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Zavěšení"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Přerušení"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Konec"
msgstr "Ukončení"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Neplatná instrukce"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Trasovací zachycení"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Přerušení"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Chyba 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 "Výjimka v plovoucí řádové čárce"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Zabití"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Chyba sběrnice"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Porušení segmentace"
#: 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 "Špatný argument systémového volání"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Přerušená roura"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarm"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Přerušení"
#: 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 "Urgentní stav soketu"
msgstr "Urgentní stav socketu"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Zastavení"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Zastavení z klávesnice"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Pokračování"
#: 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 "Stav potomka se změnil"
#: 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 "Čtení tty z pozadí"
#: 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 "Zápis na tty z pozadí"
#: 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 je nyní možné"
#: 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 "Překročen limit 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 "Překročen limit velikosti souboru"
#: 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 "Virtuální alarm"
#: 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 "Profilovací alarm"
#: 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 "Změna velikosti okna"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Požadavek na informaci"
#: 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 "Uživatelem definovaný signál 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 "Uživatelem definovaný signál 2"

115
po/el.po
View File

@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"POT-Creation-Date: 2008-03-16 17:03+0000\n"
"PO-Revision-Date: 2005-02-18 13:40+0200\n"
"Last-Translator: Kostas Papadimas <pkst@gnome.org>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -29,195 +29,188 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.3.1\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "ανάγνωση %d byte"
msgstr[1] "ανάγνωση %d bytes"
#: 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 byte δεδομένων"
msgstr[1] "ανάγνωση %lu bytes δεδομένων"
#: lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "εγγραφή %d byte"
msgstr[1] "εγγραφή %d bytes"
#: 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
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Ενεργοποίηση περιφραστικής εξόδου"
#: 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 "Να μη γίνει δικράνωση στο παρασκήνιο"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "ΧΩΡΊΣ-ΔΑΊΜΟΝΑ"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:464
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"
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 "Σφάλμα 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 "Εξαίρεση κιν. υποδιαστολής"
#: 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 "Ανάγνωση παρασκηνίου από 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 "Εγγραφή παρασκηνίου σε 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 "Η Ε/Ε είναι τώρα δυνατή"
#: 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/names/procsignal.c:49
#: 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 "Σήμα 1 οριζόμενο από το χρήστη"
# sysdeps/names/procsignal.c:49
#: 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 "Σήμα 2 οριζόμενο από το χρήστη"
#~ msgid "DEBUG"
#~ msgstr "ΕΚΣΦΑΛΜΑΤΩΣΗ"
#~ msgid "VERBOSE"
#~ msgstr "VERBOSE"
#~ msgid "NO-DAEMON"
#~ msgstr "ΧΩΡΊΣ-ΔΑΊΜΟΝΑ"
#~ msgid "INETD"
#~ msgstr "INETD"

View File

@@ -1,19 +1,19 @@
# Hungarian translation of libgtop.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the libgtop package.
#
# Robert Vanyi <robi@mora.u-szeged.hu>, 2000, 2001.
# Andras Timar <timar@gnome.hu>, 2002, 2003.
# Laszlo Dvornik <dvornik@gnome.hu>, 2004.
# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005, 2007.
# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005, 2007, 2008.
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2007-09-13 23:08+0200\n"
"POT-Creation-Date: 2007-09-13 23:10+0100\n"
"PO-Revision-Date: 2008-03-09 22:02+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <gnome@gnome.hu>\n"
"Language-Team: Hungarian <gnome@fsf.hu>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -64,7 +64,7 @@ msgstr "inetd-ből indítva"
#: ../src/daemon/gnuserv.c:498
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Futtassa a(z) \"%s --help\" parancsot a parancssori kapcsolók listájáért.\n"
msgstr "Futtassa a(z) %s --help parancsot a parancssori kapcsolók listájáért.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"

124
po/ko.po
View File

@@ -1,13 +1,13 @@
# libgtop ko.po
# Sung-Hyun Nam <namsh@lgic.co.kr>, 1998
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005.
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.9.92\n"
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2005-02-18 21:24+0900\n"
"POT-Creation-Date: 2008-02-26 19:13+0900\n"
"PO-Revision-Date: 2008-02-26 19:13+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr-hackers@lists.kldp.net>\n"
"MIME-Version: 1.0\n"
@@ -15,189 +15,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:52
#: ../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 "디버그"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "많은 출력 사용"
#: 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 "백그라운드로 실행 안 함"
#: 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 "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: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 "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 "실수연산 예외"
#: 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 "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 "소켓에 위급한 조건"
#: 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 "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 "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 이제 가능"
#: 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 한계 초과"
#: 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 "Profiling 알람 클럭"
#: 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 "사용자 정의 신호 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 "사용자 정의 신호 2"
#~ msgid "DEBUG"
#~ msgstr "디버그"
#~ msgid "VERBOSE"
#~ msgstr "VERBOSE"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON"
#~ msgid "INETD"
#~ msgstr "INETD"

158
po/ne.po
View File

@@ -1,23 +1,21 @@
# translation of libgtop.HEAD.ne.po to Nepali
# translation of libgtop.gnome-2-10.ne.po to Nepali
# translation of libgtop.gnome-2-10.po to Nepali
# translation of libgtop.HEAD.po to Nepali
# translation of libgtop.gnome-2-20.ne.po to Nepali
# Nepali Translation Project.
# This file is distributed under the same license as the libgtop package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Pawan Chitrakar <pawan@nplinux.org>, 2004.
# Jaydeep Bhusal <zaydeep@hotmail.com>, 2005.
# Bishnu Adhikari <bsn_adk@hotmail.com>, 2005.
# Shiva Pokharel <pokharelshiva@hotmail.com>, 2005.
# Mahesh subedi <submanesh@hotmail.com>, 2006.
#
# Nabin Gautam <nabin@mpp.org.np>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: libgtop.HEAD.ne\n"
"Project-Id-Version: libgtop.gnome-2-20.ne\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-07-14 22:35+0200\n"
"PO-Revision-Date: 2006-07-20 14:58+0545\n"
"Last-Translator: Mahesh subedi <submanesh@hotmail.com>\n"
"POT-Creation-Date: 2007-09-30 03:40+0100\n"
"PO-Revision-Date: 2007-12-19 12:53+0545\n"
"Last-Translator: Nabin Gautam <nabin@mpp.org.np>\n"
"Language-Team: Nepali <info@mpp.org.np>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,196 +23,176 @@ msgstr ""
"X-Poedit-Language: Nepali\n"
"X-Poedit-Country: NEPAL\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: KBabel 1.10.2\n"
"Plural-Forms: nplurals=2;plural=(n!=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] "%d बाइट पढ्नुहोस्"
msgstr[1] "%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 बाइट्स पढ्नुहोस्"
msgstr[1] "डेटाको %lu बाइट पढ्नुहोस्"
#: ../lib/write.c:53
#: ../lib/write.c:51
#, 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
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "डिबग सक्षम पार्नुहोस्"
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 "पृष्ठभूमिमा फोर्क नगर्नुहोस्"
msgstr "पृष्ठभूमिमा बिभाजन नगर्नुहोस्"
#: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: ../src/daemon/gnuserv.c:466
msgid "Invoked from inetd"
msgstr "इनेट्डबाट आव्हान गरिएको"
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 --मद्दत' चलाउनुहोस्।\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "उपलब्ध आदेश लाइन विकल्पको पूरै सूची हेर्न '%s --मद्दत' चलाउनुहोस् ।\n"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "ह्याङ अप"
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 त्रुटि"
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 "खण्डीकरण खण्डन"
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 "सचेतक घडि"
msgstr "सचेतक घड"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "समाप्ति"
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 "कुञ्जिपाटी बन्द"
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 "टिटिवाइ बाट पृष्ठभूमि पढ्नुहोस्"
msgstr "tty बाट पृष्ठभूमि पढ्नुहोस्"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "tty मा पृष्ठभूमि लेख्नुहोस्"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O अब सम्भव छ"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "Background write to tty"
msgstr "टिटिवाइ बाट पृष्ठभूमि लेख्नुहोस्"
msgid "CPU limit exceeded"
msgstr "सीपीयू (CPU) सीमा नाघ्यो"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "I/O now possible"
msgstr "I/O अब सम्भव"
msgid "File size limit exceeded"
msgstr "फाइल साइज सीमा नाघ्यो"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "CPU limit exceeded"
msgstr "CPU को सीमा नाघ्यो"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "File size limit exceeded"
msgstr "फाइल साइजको सीमा नाघ्यो"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
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 "प्रयोगकर्ता परिभषित सङ्केत १"
#: ../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 "प्रयोगकर्ता परिभषित सङ्केत २"

131
po/nn.po
View File

@@ -9,202 +9,195 @@ msgid ""
msgstr ""
"Project-Id-Version: nn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2004-03-23 12:02+0100\n"
"Last-Translator: Åsmund Skjæveland\n"
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
"POT-Creation-Date: 2008-04-04 13:45+0200\n"
"PO-Revision-Date: 2008-04-04 13:45+0200\n"
"Last-Translator: Eskild Hustvedt <eskildh@gnome.org>\n"
"Language-Team: Norwegian Nynorsk <i18n-no@lister.ping.uio.no>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.3.1\n"
"X-Generator: VIM\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] "las %d byte"
msgstr[1] "las %d byte"
#: lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "lesestorleik på data"
#: lib/read_data.c:72
#, fuzzy, c-format
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "las %d byte"
msgstr[1] "las %d byte"
msgstr[0] "las %d byte data"
msgstr[1] "las %d byte data"
#: lib/write.c:52
#, fuzzy, c-format
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "skriv %d byte"
msgstr[1] "skriv %d byte"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Skru på feilsøking"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "FEILSØK"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Skru på ordrike utdata"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "ORDRIK"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Ikkje fork av inn i bakgrunnen"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "UTAN-NISSE"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Starta frå 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"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Feil på valet «%s»: %s.\n"
"Køyr «%s --help» for å sjå full liste over tilgjengelege kommandlinjeval.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Legg på"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Avbrot"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Avslutt"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Ulovleg instruksjon."
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Sporingsfelle"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Avbryt"
#: 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-feil"
#: 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 "Flyttaluttrykk"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Drep"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Bussfeil"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmenteringsovertramp"
#: 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 "Ugyldig argument til systemkall"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Brote røyr"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarmklokke"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Avlustting"
#: 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 "Hastesituasjon på sokkelen"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stopp"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Tastaturstopp"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Fortset"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Status på born er endra"
#: 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 "Les frå tty i bakgrunnen"
#: 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 "Skriv til tty i bakgrunnen"
#: 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 no mogleg"
#: 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-grense passert"
#: 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 "Filstorleikgrense passert"
#: 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 "Virtuel alarmklokke"
#: 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 "Profilerer alarmklokke"
#: 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 "Endring i vindaugsstorleik"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Informasjonsførespurnad"
#: 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 "Eigendefinert 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 "Eigendefinert 2"
#~ msgid "DEBUG"
#~ msgstr "FEILSØK"
#~ msgid "VERBOSE"
#~ msgstr "ORDRIK"
#~ msgid "NO-DAEMON"
#~ msgstr "UTAN-NISSE"
#~ msgid "INETD"
#~ msgstr "INETD"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: oc\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-27 13:30+0100\n"
"POT-Creation-Date: 2008-03-07 10:22+0100\n"
"PO-Revision-Date: 2007-11-20 14:32+0100\n"
"Last-Translator: Yannig Marchegay (Kokoyaya) <yannig@marchegay.org>\n"
"Language-Team: Occitan (post 1500) <ubuntu-l10n-oci@lists.ubuntu.com>\n"

115
po/sk.po
View File

@@ -1,15 +1,13 @@
# libgtop sk.po
# Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004.
#
# $Id$
# Copyright (C) 2001, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004, 2008.
#
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-12-29 10:21+0100\n"
"POT-Creation-Date: 2008-03-06 22:12+0100\n"
"PO-Revision-Date: 2008-03-06 22:12+0100\n"
"Last-Translator: Marcel Telka <Marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"MIME-Version: 1.0\n"
@@ -17,7 +15,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
@@ -25,11 +23,11 @@ msgstr[0] "načítaných %d bajtov"
msgstr[1] "načítaný %d bajt"
msgstr[2] "načítané %d bajty"
#: lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "veľkosť načítaných dát"
#: 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"
@@ -37,7 +35,7 @@ msgstr[0] "načítaných %lu bajtov dát"
msgstr[1] "načítaný %lu bajt dát"
msgstr[2] "načítané %lu bajty dát"
#: lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
@@ -45,168 +43,149 @@ msgstr[0] "zapísaných %d bajtov"
msgstr[1] "zapísaný %d bajt"
msgstr[2] "zapísané %d bajty"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Povoliť ladenie"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "LADENIE"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Povoliť detailný výpis"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "DETAILNE"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Nerozvetvuj sa do pozadia"
#: 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 "Vyvolaný cez 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"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Chyba vo voľbe %s: %s.\n"
"Výpis všetkých dostupných volieb príkazového riadku získate spustením '%s --"
"help'.\n"
"Spustite '%s --help', aby ste videli úplný zoznam dostupných volieb "
"príkazového riadku.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Zavesenie"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Prerušenie"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Ukončiť"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Neplatná inštrukcia"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Ladiaci bod"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Prerušiť"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Chyba 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 "Výnimka pri práci s pohyblivou rádovou čiarkou"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Zabiť"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Chyba na spoji"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Chyba segmentácie"
#: 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 "Nesprávny argument v systémvom volaní"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Prerušená rúra"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Budík"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Ukončenie"
#: 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 "Naliehavá situácia na zásuvke"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Zastaviť"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Prerušenie klávesnice"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Pokračovanie"
#: 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 "Stav potomka bol zmenený"
#: 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 "Čítanie z tty na pozadí"
#: 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 "Zápis do tty na pozadí"
#: 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 "V/V je možné"
#: 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 "Prekročený limit procesora"
#: 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 "Prekročený limit veľkosti súboru"
#: 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 "Virtuálny budík"
#: 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 "Nastavenie budíka"
#: 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 "Zmena veľkosti okna"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Požiadavka na informáciu"
#: 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 "Používateľom definovaný signál 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 "Používateľom definovaný signál 2"

View File

@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.9.92\n"
"Project-Id-Version: libgtop 2.2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-06-26 23:04+0800\n"
"PO-Revision-Date: 2006-06-26 23:06+0800\n"
"POT-Creation-Date: 2008-02-14 20:10+0800\n"
"PO-Revision-Date: 2008-02-14 20:12+0800\n"
"Last-Translator: Abel Cheung <abel@oaka.org>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"MIME-Version: 1.0\n"
@@ -15,189 +15,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 "偵錯"
#: ../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 "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 "掛斷 (Hangup)"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "中斷 (Interrupt)"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "退出 (Quit)"
#: ../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 "TRAP 硬件錯誤"
#: ../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 "強行中止 (Kill)"
#: ../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 "強行中止 (Term)"
#: ../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 "socket 緊急情況"
#: ../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 "背景進程從 tty 讀入資料"
#: ../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 "背景進程向 tty 輸出資料"
#: ../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 "偵錯"
#~ msgid "VERBOSE"
#~ msgstr "詳細訊息"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON"
#~ msgid "INETD"
#~ msgstr "INETD"

View File

@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.9.92\n"
"Project-Id-Version: libgtop 2.2.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-06-26 23:04+0800\n"
"PO-Revision-Date: 2006-06-26 23:04+0800\n"
"POT-Creation-Date: 2008-02-14 20:10+0800\n"
"PO-Revision-Date: 2008-02-14 23:04+0800\n"
"Last-Translator: Abel Cheung <abel@oaka.org>\n"
"Language-Team: Chinese (Taiwan) <community@linuxhall.org>\n"
"MIME-Version: 1.0\n"
@@ -15,189 +15,182 @@ 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 "偵錯"
#: ../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 "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"
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:29 ../sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "掛斷 (Hangup)"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "中斷 (Interrupt)"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "退出 (Quit)"
#: ../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 "TRAP 硬體錯誤"
#: ../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 "強行中止 (Kill)"
#: ../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 "強行中止 (Term)"
#: ../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 "socket 緊急情況"
#: ../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 "背景進程從 tty 讀入資料"
#: ../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 "背景進程向 tty 輸出資料"
#: ../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 "偵錯"
#~ msgid "VERBOSE"
#~ msgstr "詳細訊息"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON"
#~ msgid "INETD"
#~ msgstr "INETD"

View File

@@ -27,7 +27,7 @@ void
do_output (int s, glibtop_response *resp, off_t offset,
size_t data_size, const void *data)
{
#ifdef REAL_DEBUG
#ifdef DEBUG
fprintf (stderr, "Really writing %d bytes at offset %lu.\n",
sizeof (glibtop_response), offset);
#endif
@@ -44,7 +44,7 @@ do_output (int s, glibtop_response *resp, off_t offset,
}
if (resp->data_size) {
#ifdef REAL_DEBUG
#ifdef DEBUG
fprintf (stderr, "Writing %d bytes of data.\n", resp->data_size);
#endif
@@ -88,7 +88,7 @@ do_read (int s, void *ptr, size_t total_size)
tmp_ptr += nread;
ptr = tmp_ptr;
#ifdef REAL_DEBUG
#ifdef DEBUG
fprintf (stderr, "READ (%d): %d - %d - %d\n",
nread, already_read, remaining, total_size);
#endif

View File

@@ -53,6 +53,7 @@ GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD +
GLIBTOP_SUID_PROC_AFFINITY +
GLIBTOP_SUID_PPP;
#include <fcntl.h>

View File

@@ -3,18 +3,18 @@ INCLUDES = @INCLUDES@
noinst_LTLIBRARIES = libgtop_common-2.0.la libgtop_suid_common-2.0.la
libgtop_common_2_0_la_SOURCES = error.c gnuslib.c \
procargs.c \
default.c
if !LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST
libgtop_common_2_0_la_SOURCES += mountlist.c
mountlist_src = mountlist.c
endif
if !LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE
libgtop_common_2_0_la_SOURCES += fsusage.c
fsusage_src = fsusage.c
endif
libgtop_common_2_0_la_SOURCES = error.c gnuslib.c \
procargs.c \
default.c \
$(mountlist_src) $(fsusage_src)
# libgtop_common_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtop_common_2_0_la_LIBADD = $(LIBGTOP_EXTRA_LIBS)

View File

@@ -368,3 +368,17 @@ glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid)
}
/**
* glibtop_get_proc_affinity:
* @buf:
* @pid: Process id to get the affinity
*
* Get the processor affinity list for a process
*
* Returns: A list of processor ID of 'buf.number' elements.
*/
guint16 *
glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid)
{
return glibtop_get_proc_affinity_l(glibtop_global_server, buf, pid);
}

View File

@@ -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 \
mountlist.c \
mountlist.c procaffinity.c \
fsusage.c netlist.c procopenfiles.c procwd.c
libgtop_sysdeps_2_0_la_LIBADD = @GLIB_LIBS@

View File

@@ -17,27 +17,31 @@
unsigned long long
get_scaled(const char *buffer, const char *key)
{
const char *ptr;
const char *ptr = buffer;
char *next;
unsigned long long value = 0;
unsigned long long value;
if (G_LIKELY((ptr = strstr(buffer, key))))
{
ptr += strlen(key);
value = strtoull(ptr, &next, 0);
for ( ; *next; ++next) {
if (*next == 'k') {
value *= 1024;
break;
} else if (*next == 'M') {
value *= 1024 * 1024;
break;
}
if (key) {
if (G_LIKELY((ptr = strstr(buffer, key))))
ptr += strlen(key);
else {
g_warning("Could not read key '%s' in buffer '%s'",
key, buffer);
return 0;
}
} else
g_warning("Could not read key '%s' in buffer '%s'",
key, buffer);
}
value = strtoull(ptr, &next, 0);
for ( ; *next; ++next) {
if (*next == 'k') {
value *= 1024;
break;
} else if (*next == 'M') {
value *= 1024 * 1024;
break;
}
}
return value;
}
@@ -115,20 +119,27 @@ file_to_buffer(glibtop *server, char *buffer, size_t bufsiz, const char *filenam
static unsigned long
read_boot_time(glibtop *server)
{
char buffer[BUFSIZ];
char *btime;
char* line = NULL;
size_t size = 0;
FILE* stat;
unsigned long btime = 0;
file_to_buffer(server, buffer, sizeof buffer, "/proc/stat");
btime = strstr(buffer, "btime");
if (!btime) {
glibtop_warn_io_r(server, "cannot find btime in /proc/stat");
return 0UL;
if (!(stat = fopen("/proc/stat", "r"))) {
glibtop_error_io_r(server, "fopen(\"/proc/stat\")");
goto out;
}
btime = skip_token(btime);
return strtoul(btime, NULL, 10);
while (getline(&line, &size, stat) != -1) {
if (!strncmp(line, "btime", 5)) {
btime = strtoul(skip_token(line), NULL, 10);
break;
}
}
free(line);
fclose(stat);
out:
return btime;
}

View File

@@ -61,7 +61,11 @@ skip_line (const char *p)
return (char *) (*p ? p+1 : p);
}
/*
* Smart strtoul which handles binary suffixes
* e.g: get_scaled("Size: 32 kB", "Size:") == 32768
* key can be NULL if there's not prefix to strip (or prefix size is known
*/
unsigned long long
get_scaled(const char *buffer, const char *key);

View File

@@ -43,6 +43,7 @@
#define GLIBTOP_SUID_NETLOAD 0
#define GLIBTOP_SUID_NETLIST 0
#define GLIBTOP_SUID_PROC_WD 0
#define GLIBTOP_SUID_PROC_AFFINITY 0
#define GLIBTOP_SUID_PPP 0
#define GLIBTOP_SUID_PROC_FILE 0

View File

@@ -0,0 +1,69 @@
/* Copyright (C) 2007 Benoît Dejean
This file is part of LibGTop 2.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop/procaffinity.h>
#include <glibtop/error.h>
#include <glibtop_private.h>
#include <sched.h>
void
_glibtop_init_proc_affinity_s(glibtop *server)
{
server->sysdeps.proc_affinity =
(1 << GLIBTOP_PROC_AFFINITY_NUMBER) |
(1 << GLIBTOP_PROC_AFFINITY_ALL);
}
guint16 *
glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid)
{
cpu_set_t set;
size_t i;
GArray* cpus;
memset(buf, 0, sizeof *buf);
if (sched_getaffinity(pid, sizeof set, &set) == -1) {
glibtop_error_r(server, "sched_getaffinity failed");
return NULL;
}
cpus = g_array_new(FALSE, FALSE, sizeof(guint16));
for (i = 0; i < MIN(CPU_SETSIZE, (size_t)(server->ncpu + 1)); i++) {
if (CPU_ISSET(i, &set)) {
guint16 n = i;
g_array_append_val(cpus, n);
}
}
buf->number = cpus->len;
buf->all = (cpus->len == (size_t)(server->ncpu + 1));
buf->flags = (1 << GLIBTOP_PROC_AFFINITY_NUMBER)
| (1 << GLIBTOP_PROC_AFFINITY_ALL);
return (guint16*) g_array_free(cpus, FALSE);
}

View File

@@ -30,7 +30,8 @@ static const unsigned long _glibtop_sysdeps_proc_kernel =
(1L << GLIBTOP_PROC_KERNEL_K_FLAGS) + (1L << GLIBTOP_PROC_KERNEL_MIN_FLT) +
(1L << GLIBTOP_PROC_KERNEL_MAJ_FLT) + (1L << GLIBTOP_PROC_KERNEL_CMIN_FLT) +
(1L << GLIBTOP_PROC_KERNEL_CMAJ_FLT) + (1L << GLIBTOP_PROC_KERNEL_KSTK_ESP) +
(1L << GLIBTOP_PROC_KERNEL_KSTK_EIP) + (1L << GLIBTOP_PROC_KERNEL_WCHAN);
(1L << GLIBTOP_PROC_KERNEL_KSTK_EIP) + (1L << GLIBTOP_PROC_KERNEL_NWCHAN) +
(1L << GLIBTOP_PROC_KERNEL_WCHAN);
/* Init function. */
@@ -72,5 +73,7 @@ glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid)
buf->nwchan = strtoull (p, &p, 0);
proc_file_to_buffer(buf->wchan, sizeof buf->wchan, "/proc/%d/wchan", pid),
buf->flags = _glibtop_sysdeps_proc_kernel;
}

View File

@@ -66,49 +66,78 @@ _glibtop_init_proc_map_s (glibtop *server)
/* Provides detailed information about a process. */
static void
add_smaps(glibtop *server, FILE *smaps, glibtop_map_entry *entry)
struct smap_value {
char name[16];
size_t name_len;
ptrdiff_t offset;
};
static int
compare(const void* a_key, const void* a_smap)
{
const char* key = a_key;
const struct smap_value* smap = a_smap;
return strncmp(key, smap->name, smap->name_len);
}
static gboolean
is_smap_value(const char* s)
{
for ( ; *s; ++s) {
if (isspace(*s))
return FALSE;
if (*s == ':')
return TRUE;
}
return FALSE;
}
/*
Returns whether line is a 'value' line
and add if we know its meaning
*/
static gboolean
parse_smaps(glibtop_map_entry *entry, const char* line)
{
#define SMAP_OFFSET(MEMBER) offsetof(glibtop_map_entry, MEMBER)
#define STR_AND_LEN(X) (X), (sizeof X - 1)
struct smap_value {
char name[15];
ptrdiff_t offset;
};
/* keep sorted */
const struct smap_value values[] = {
{ "Size:", SMAP_OFFSET(size) },
{ "Rss:", SMAP_OFFSET(rss) },
{ "Shared_Clean:", SMAP_OFFSET(shared_clean) },
{ "Shared_Dirty:", SMAP_OFFSET(shared_dirty) },
{ "Private_Clean:", SMAP_OFFSET(private_clean) },
{ "Private_Dirty:", SMAP_OFFSET(private_dirty) }
{ STR_AND_LEN("Private_Clean:"), SMAP_OFFSET(private_clean) },
{ STR_AND_LEN("Private_Dirty:"), SMAP_OFFSET(private_dirty) },
{ STR_AND_LEN("Rss:"), SMAP_OFFSET(rss) },
{ STR_AND_LEN("Shared_Clean:"), SMAP_OFFSET(shared_clean) },
{ STR_AND_LEN("Shared_Dirty:"), SMAP_OFFSET(shared_dirty) },
{ STR_AND_LEN("Size:"), SMAP_OFFSET(size) }
};
size_t i;
#undef STR_AND_LEN
#undef SMAP_OFFSET
for (i = 0; i < G_N_ELEMENTS(values); ++i) {
char line[80];
struct smap_value* smap;
smap = bsearch(line, values, G_N_ELEMENTS(values), sizeof values[0], compare);
if (smap) {
char *offset;
guint64 *value;
if (!fgets(line, sizeof line, smaps) || !g_str_has_prefix(line, values[i].name)) {
glibtop_warn_io_r(server,
"Could not read smaps value %s",
values[i].name);
return;
}
offset = (void*) entry;
offset += values[i].offset;
offset += smap->offset;
value = (void*) offset;
*value = get_scaled(line, values[i].name);
*value = get_scaled(line + smap->name_len, NULL);
return TRUE;
}
entry->flags |= _glibtop_sysdeps_map_entry_smaps;
#undef SMAP_OFFSET
return is_smap_value(line);
}
@@ -150,7 +179,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
while(TRUE)
{
unsigned long perm = 0;
unsigned long perm;
guint len;
int line_end;
@@ -164,6 +193,8 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
if (getline(&line, &line_size, maps) == -1)
break;
new_entry_line:
if (sscanf(line, PROC_MAPS_FORMAT,
&start, &end, flags, &offset,
&dev_major, &dev_minor, &inode, &line_end) != 7)
@@ -173,6 +204,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
g_strstrip(filename);
/* Compute access permissions. */
perm = 0;
if (flags [0] == 'r')
perm |= GLIBTOP_MAP_PERM_READ;
@@ -205,11 +237,22 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
entry->inode = inode;
g_strlcpy(entry->filename, filename, sizeof entry->filename);
if (has_smaps)
add_smaps(server, maps, entry);
if (has_smaps) {
ssize_t ret;
entry->flags |= _glibtop_sysdeps_map_entry_smaps;
while ((ret = getline(&line, &line_size, maps)) != -1) {
if (!parse_smaps(entry, line))
goto new_entry_line;
}
if (ret == -1)
goto eof;
}
}
eof:
free(line);
fclose (maps);

View File

@@ -27,21 +27,53 @@
#include "glibtop_private.h"
static const unsigned long _glibtop_sysdeps_proc_mem =
(1L << GLIBTOP_PROC_MEM_VSIZE) + (1L << GLIBTOP_PROC_MEM_RSS) +
(1L << GLIBTOP_PROC_MEM_RSS_RLIM);
static const unsigned long _glibtop_sysdeps_proc_mem_statm =
(1L << GLIBTOP_PROC_MEM_SIZE) + (1L << GLIBTOP_PROC_MEM_RESIDENT) +
(1L << GLIBTOP_PROC_MEM_SHARE);
static const unsigned long _glibtop_sysdeps_proc_mem_pss =
(1L << GLIBTOP_PROC_MEM_RSS);
static unsigned long
get_pss(glibtop* server, pid_t pid)
{
char filepath[128];
FILE* smaps;
char* line = NULL;
size_t line_size = 0;
unsigned long pss = 0;
snprintf(filepath, sizeof filepath, "/proc/%u/smaps", (unsigned)pid);
if (!(smaps = fopen(filepath, "r"))) {
glibtop_error_io_r(server, "Cannot open %s", filepath);
goto out;
}
while (getline(&line, &line_size, smaps) != -1) {
if (strncmp(line, "Pss:", 4))
continue;
pss += get_scaled(line + 4, NULL);
}
out:
if (smaps)
fclose(smaps);
free(line);
return pss;
}
/* Init function. */
void
_glibtop_init_proc_mem_s (glibtop *server)
{
server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem |
_glibtop_sysdeps_proc_mem_statm;
server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem;
if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25))
server->sysdeps.proc_mem |= _glibtop_sysdeps_proc_mem_pss;
}
/* Provides detailed information about a process. */
@@ -54,19 +86,34 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
memset (buf, 0, sizeof (glibtop_proc_mem));
if (proc_stat_to_buffer(buffer, sizeof buffer, pid))
return;
/* As of 2.6.24 in fs/proc/*.c
p = proc_stat_after_cmd (buffer);
if (!p) return;
== rss vs. resident ==
p = skip_multiple_token (p, 20);
stat/rss:
get_mm_rss where
#define get_mm_rss(mm) \
(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss))
buf->vsize = strtoull (p, &p, 0);
buf->rss = strtoull (p, &p, 0);
buf->rss_rlim = strtoull (p, &p, 0);
statm/resident:
*shared = get_mm_counter(mm, file_rss);
*resident = *shared + get_mm_counter(mm, anon_rss);
buf->flags = _glibtop_sysdeps_proc_mem;
== vsize vs. size ==
stat/vsize:
task_vsize(mm) ... total_vm * pagesize
statm/size
mm->total_vm
=================
rss == resident
vsize == size
rss_lim is not implemented in statm, but there's limits which
provides all limits
share is only implemented in statm
*/
if (proc_statm_to_buffer(buffer, sizeof buffer, pid))
return;
@@ -78,7 +125,20 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
buf->size *= pagesize;
buf->resident *= pagesize;
buf->share *= pagesize;
buf->rss *= pagesize;
buf->flags |= _glibtop_sysdeps_proc_mem_statm;
/* dummy values */
buf->vsize = buf->size;
buf->rss_rlim = ~0;
buf->flags |= _glibtop_sysdeps_proc_mem;
#if 0
/* FIXME: see previous comment */
if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25)) {
buf->rss = get_pss(server, pid);
buf->flags |= _glibtop_sysdeps_proc_mem_pss;
}
#else
buf->rss = buf->resident;
#endif
}

View File

@@ -97,6 +97,48 @@ get_all(const char *filename, LineParser parser)
struct Inet6SocketEntry
{
char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
int port;
};
static void
inet6_socket_parser(GHashTable *dict, const char* line)
{
struct Inet6SocketEntry *se;
int sock;
struct in6_addr addr;
se = g_malloc0(sizeof *se);
if(sscanf(line, "%*d: %*s %8x%8x%8x%8x:%4x %*x %*x:%*x %*x:%*x %*d %*d %*d %d",
&addr.s6_addr32[0], &addr.s6_addr32[1], &addr.s6_addr32[2],
&addr.s6_addr32[3], &se->port, &sock) != 6)
goto error;
if(!inet_ntop(AF_INET6, &addr, se->host, sizeof se->host))
goto error;
g_hash_table_insert(dict, GINT_TO_POINTER(sock), se);
return;
error:
g_free(se);
}
static inline GHashTable *
get_all_inet6_sockets()
{
return get_all("/proc/net/tcp6", inet6_socket_parser);
}
struct InetSocketEntry
{
char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
@@ -178,7 +220,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
{
char fn [BUFSIZ];
GArray *entries;
GHashTable *inet_sockets = NULL, *local_sockets = NULL;
GHashTable *inet6_sockets = NULL, *inet_sockets = NULL, *local_sockets = NULL;
struct dirent *direntry;
DIR *dir;
@@ -209,14 +251,27 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
if(g_str_has_prefix(tgt, "socket:["))
{
int sockfd;
struct Inet6SocketEntry *i6se;
struct InetSocketEntry *ise;
struct LocalSocketEntry *lse;
if(!inet6_sockets) inet6_sockets = get_all_inet6_sockets();
if(!inet_sockets) inet_sockets = get_all_inet_sockets();
if(!local_sockets) local_sockets = get_all_local_sockets();
sockfd = atoi(tgt + 8);
i6se = g_hash_table_lookup(inet6_sockets,
GINT_TO_POINTER(sockfd));
if(i6se) {
entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
entry.info.sock.dest_port = i6se->port;
g_strlcpy(entry.info.sock.dest_host, i6se->host,
sizeof entry.info.sock.dest_host);
goto found;
}
ise = g_hash_table_lookup(inet_sockets,
GINT_TO_POINTER(sockfd));
@@ -257,6 +312,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
closedir (dir);
if(inet_sockets) g_hash_table_destroy(inet_sockets);
if(inet6_sockets) g_hash_table_destroy(inet6_sockets);
if(local_sockets) g_hash_table_destroy(local_sockets);
buf->flags = _glibtop_sysdeps_proc_open_files;