Compare commits

...

102 Commits

Author SHA1 Message Date
Robert Roth
4dc31b6c94 Added not-working basic test 2013-12-07 00:05:36 +02:00
Robert Roth
69989d716f Moved glibtests m4 into m4 macros dir 2013-12-06 23:26:00 +02:00
Robert Roth
8204d4d450 Renamed configure.in to configure.ac 2013-12-06 23:23:36 +02:00
Robert Roth
44653a62ee Added files needed for basic testing 2013-12-06 07:58:22 +02:00
Antoine Jacoutot
2506662196 OpenBSD: add missing header
netinet6/in6_var.h is not included automatically  anymore from netinet/in_var.h
on OpenBSD, so explicitely #include <netinet6/in6_var.h>.
2013-10-16 17:09:16 +02:00
Robert Roth
b6eb0873e7 Revert "Increased major version"
This reverts commit f9e8ae8dfc.
2013-08-31 01:11:56 +03:00
Robert Roth
2c08229f04 Merge remote-tracking branch 'origin' into wip/libgtop-ng 2013-08-30 07:34:15 +03:00
Tristan Hill
753d9abb13 proclist, procarg and proctime gtkdoc updates
Added gtkdoc for proclist, procarg and proctime.

Author:    Tristan Hill <stan@saticed.me.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=616082
2013-08-30 07:31:31 +03:00
Robert Roth
af7e9cd1b6 Increased buffersize to be able to hold larger cpuinfo files (bgo #681632) 2013-08-22 01:48:12 +03:00
Robert Roth
552ea7ec3a Fixed automake warning 2013-08-22 01:37:02 +03:00
Robert Roth
43f19912e3 Fixed automake warning 2013-08-22 01:34:34 +03:00
Robert Roth
16bb5c8075 Fixed automake warning 2013-08-22 01:30:29 +03:00
Robert Roth
bebcb377af Revert "Fixed missing cache-id warning" as it breaks jhbuild.
This reverts commit 4cffb2f094.
2013-08-22 01:11:06 +03:00
Robert Roth
4cffb2f094 Fixed missing cache-id warning 2013-08-21 15:43:10 +03:00
Robert Roth
5adaa90de3 Added files created by make to .gitignore 2013-08-20 23:26:29 +03:00
Robert Roth
f9e8ae8dfc Increased major version 2013-08-20 23:26:00 +03:00
Robert Roth
efeb24a96c Added gitignore 2013-08-20 22:49:02 +03:00
Robert Roth
3c4ddb5572 release: post-release bump to 2.28.6 2013-08-19 23:49:15 +03:00
Robert Roth
fec9e956e3 Release: 2.28.5 2013-08-19 23:46:16 +03:00
Robert Roth
2ee4fa70a5 Added new maintainer in DOAP file 2013-08-09 23:41:24 +03:00
Jasper Lievisse Adriaanse
7a4b2d91ad unbreak after swapin and swapout were removed from OpenBSD uvm statistics. 2013-05-29 20:59:23 +02:00
Jasper Lievisse Adriaanse
dc7eab4329 Adjust for the fact that regular users cannot read wchan anymore in OpenBSD 5.4. 2013-04-01 13:40:11 +02:00
Jasper Lievisse Adriaanse
a44392d948 Don't error out when running on a different release than built on
https://bugzilla.gnome.org/show_bug.cgi?id=653177
2013-04-01 13:35:24 +02:00
Victor Ibragimov
b013937b2c [l10n] Added Tadjik translation 2013-03-19 22:39:27 +01:00
Changwoo Ryu
4bded8fa91 Updated Korean translation 2013-03-19 02:23:50 +09:00
Duarte Loreto
f88a38aa52 Converted Portuguese translation to New Spelling (Novo AO) 2013-03-17 01:06:48 +00:00
Cole Robinson
37774dc02d fsusage: Fix fetching rootfs stats on Fedora 17
When fsusage scans mtab, it matches on the first entry, but since 'rootfs'
isn't of the expected format '/dev/<blah>' it bails out.

Match early on any rootfs entries and skip them.

Fixes #685897
2013-01-28 23:02:04 +01:00
TmTFx
4efe3721e7 Updated Friulian translation 2012-12-28 22:26:12 -02:00
Jasper Lievisse Adriaanse
31cbc3374d sysctl.h on OpenBSD no longer pulls in proc.h. 2012-12-18 22:47:09 +01:00
Timur Zhamakeev
c8a33802c2 Updated Kyrgyz translation 2012-09-27 12:16:13 +06:00
Rūdolfs Mazurs
a3ff5fb398 Updated Latvian translation 2012-09-24 15:36:41 +03:00
Piotr Drąg
8d5b3dd86a Updated Polish translation 2012-09-04 18:42:25 +02:00
Nilamdyuti Goswami
fecedf8c72 Implemented FUEL entries to Assamese translation 2012-08-28 00:32:40 +05:30
Nilamdyuti Goswami
183b7b0cf1 Assamese translation reviewed 2012-07-11 18:14:32 +05:30
Carles Ferrando
1523fae41e [l10n]Updated Catalan (Valencian) translation 2012-04-10 21:12:29 +02:00
Jordi Serratosa
a6d0d61175 [l10n] Fixes on Catalan translation 2012-04-10 21:12:28 +02:00
Jasper Lievisse Adriaanse
b0f4bee85e sync with openbsd to use the new vmmap memory allocator 2012-04-04 19:23:07 +02:00
Alexander Shopov
1d1d3fb907 Updated Bulgarian translation 2012-04-01 18:21:12 +03:00
Kjartan Maraas
bd363a9ca6 Updated Norwegian bokmål translation 2012-01-28 16:54:28 +01:00
Kjartan Maraas
46c1169ab1 Add missing #include <config.h> 2012-01-23 21:28:10 +01:00
Antoine Jacoutot
b11aa1517e OpenBSD: kinfo_proc2 -> kinfo_proc
The kinfo_proc2 interface has been removed from OpenBSD (it was
deprecated anyway), so use the correct replacement: kinfo_proc.

https://bugzilla.gnome.org/show_bug.cgi?id=667591
2012-01-22 12:47:49 +01:00
Nilamdyuti Goswami
aa7572abfd Updated Assamese Translations:bugzilla#659595 2011-09-24 16:37:35 +05:30
Nilamdyuti Goswami
17b03f33ab Updated Assamese translation 2011-09-22 19:42:27 +02:00
Jasper Lievisse Adriaanse
dd46d6a00e Don't bother with PIDs below 20 as they are highly likely to be kernel threads anyway. 2011-09-18 13:42:13 +02:00
Jasper Lievisse Adriaanse
7bd52fc397 Extend comment a bit regarding processes dying before we get to kvm_getproc2(). 2011-09-18 13:41:20 +02:00
Jiro Matsuzawa
ff7cbcbe61 Updated Japanese translation 2011-09-17 12:46:17 +09:00
Marc-Andre Laperle
d1d565aa60 Fix Darwin support
glibtop_get_proclist_p's signature didn't match the headers prototype.

https://bugzilla.gnome.org/show_bug.cgi?id=556904
2011-09-08 09:26:58 +02:00
Piotr Drąg
169b76a88f Fixed ky.po 2011-09-05 23:46:54 +02:00
Petr Salinger
0a265d05d4 Dont add extra libs for kfreebsd
The current version fails to build on GNU/kFreeBSD.
The problem is due to cleanup in GNU/kFreeBSD world

https://bugzilla.gnome.org/show_bug.cgi?id=601319
2011-08-30 18:05:33 +02:00
Jasper Lievisse Adriaanse
08ac661b19 Apply a fix from the OpenBSD backend by using the same type to store the
temporary amounts of swap, as is used in the struct that's eventually used
to export it.
2011-08-30 17:52:40 +02:00
Petr Salinger
1baa3fcc6a kFreeBSD 8.0 build fix
fixes a couple of checks for kFreeBSD 8.0.
https://bugzilla.gnome.org/show_bug.cgi?id=608518
2011-08-30 17:00:18 +02:00
Thomas Klausner
eaff15b741 NetBSD-5.99.21 lost struct uvmexp.swap{ins,outs}
In NetBSD-5.99.21, the uarea swap-out functionality was removed, which also
removed two members from struct uvmexp, swapins and swapouts.
2011-08-30 14:44:43 +02:00
Frédéric Péters
4612e7c7eb release: post-release bump to 2.28.5 2011-08-30 13:35:14 +02:00
Frédéric Péters
f66324f84d Release: 2.28.4 2011-08-30 13:29:29 +02:00
Frédéric Péters
138889c4d6 build: roll tarballs as tar.xz 2011-08-30 13:28:56 +02:00
Jasper Lievisse Adriaanse
cac71bf6c4 Revert "Expand to support ifmedia(4) types as found on BSD."
This reverts commit 5144c3e127.

It wasn't meant to be pushed yet..
2011-07-29 11:02:23 +02:00
Jasper Lievisse Adriaanse
2ea3da9da5 Fix makeinfo(1) warning in reference.texi
doc/reference.texi:746: warning: @strong{Note...} produces a
spurious cross-reference in Info; reword to avoid that.

https://bugzilla.gnome.org/show_bug.cgi?id=653180
2011-07-28 14:19:37 +02:00
Jasper Lievisse Adriaanse
5144c3e127 Expand to support ifmedia(4) types as found on BSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652713
2011-07-28 14:19:37 +02:00
Ihar Hrachyshka
c4907672cd Updated Belarusian translation. 2011-07-24 19:42:36 +03:00
Jasper Lievisse Adriaanse
4c9a161eb5 ansify function declaration, no binary change. 2011-07-11 15:05:06 +02:00
Jasper Lievisse Adriaanse
32833323d9 Some OpenBSD cleaning:
- decrease stack usage when retrieving memory stats
- use consistent warnings when failing sysctl(3) calls

https://bugzilla.gnome.org/show_bug.cgi?id=654344
2011-07-11 14:57:55 +02:00
Jasper Lievisse Adriaanse
0de702b142 - implement GLIBTOP_MEM_CACHED on OpenBSD by retrieving buffercache stats 2011-07-10 16:44:42 +02:00
Jasper Lievisse Adriaanse
4e24854dbf Two small tweaks to the OpenBSD backend:
- correct sysctl names in two warning messages
- rename a few variables for clarity
2011-07-09 10:19:18 +02:00
Joe Marcus Clarke
08fd95d253 Fix numerous bigs in the FreeBSD backend
* Correct calculation of CPU time.
* Fix a bug on newer versions of FreeBSD where computing the process map leads
to a tight error loop.
* Add support for the new procstat API to obtain the list of open files and
cwd.
* Use kvm_openfiles instead of kvm_open to better handle error messages.
* Split some modules out into non-suid modules.
* Properly determine the number of CPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=605431
2011-06-27 16:32:20 +02:00
Jasper Lievisse Adriaanse
aa1a6766f2 Fix hardware address retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:55 +02:00
Jasper Lievisse Adriaanse
537dc1bff1 Fix scope6 and prefix6 retrieval on OpenBSD.
https://bugzilla.gnome.org/show_bug.cgi?id=652997
2011-06-22 17:26:38 +02:00
Jasper Lievisse Adriaanse
93829c8cbb Fix filesystem read/write accounting on OpenBSD
https://bugzilla.gnome.org/show_bug.cgi?id=652980
2011-06-22 17:24:37 +02:00
Jasper Lievisse Adriaanse
cecf53394b Use a more portable construct for doing substitutions.
https://bugzilla.gnome.org/show_bug.cgi?id=652981
2011-06-22 17:22:26 +02:00
Jasper Lievisse Adriaanse
62239cfe50 Explain why we undef STAT_STATVFS on OpenBSD 2011-06-16 13:14:22 +02:00
Jasper Lievisse Adriaanse
15ffb2d039 Revert vmmap-based procmap.c for OpenBSD.
vmmap was reverted in OpenBSD, so stick to the old algorithm for now.
2011-06-16 13:03:24 +02:00
Jasper Lievisse Adriaanse
7f14f4409d Various tweaks for OpenBSD uptime calculation
- implement uptime.boot_time
- put CP_IDLE instead of 0 in uptime->idletime
2011-06-16 13:02:11 +02:00
Jasper Lievisse Adriaanse
f8c573b78c Silence various warnings in the OpenBSD code 2011-06-16 13:00:47 +02:00
Jasper Lievisse Adriaanse
49641cc363 Make CPU load retrieval work.
It would sort of work on 64 bits arches, and not work at all no 32 bit arches.
Now works on both, and take CP_INTR correctly into account.
2011-06-16 12:57:43 +02:00
Jasper Lievisse Adriaanse
46706961ac Split off OpenBSD code into a separate implementation
Move OpenBSD code into its own sysdeps directory. The changes from
bsd/ were becoming to hard to maintain as a #ifdef tree. This is
what's currently being distributed as part of OpenBSD ports.
2011-06-16 12:27:00 +02:00
Kristjan SCHMIDT
edda30a4ad Updated Esperanto translation 2011-06-08 11:52:37 +02:00
Arash Mousavi
c775a536c8 Updated Persian translation 2011-04-24 17:49:20 +04:30
Jordi Serratosa
84a697a826 [l10n]Fixes on Catalan translation 2011-04-04 22:04:24 +02:00
Abduxukur Abdurixit
07c04634bc Added UG translation 2011-03-27 21:32:09 +02:00
Chris Kühl
78a4292fb4 Release: Post-release bump to 2.28.4 2011-03-25 16:09:16 +01:00
Chris Kühl
7bdc92f325 Release: 2.28.3 2011-03-25 16:04:20 +01:00
Chris Kühl
b40f210d03 Fix build issue for strict linkers.
Closes Bug #644599.
2011-03-14 16:35:09 +01:00
Maxim Ermilov
50bb0d51b3 Add Introspection support
https://bugzilla.gnome.org/show_bug.cgi?id=630915
2011-03-01 13:54:53 +01:00
Fran Diéguez
3d0dc2b36e QA of Galician translations 2011-01-27 03:18:46 +01:00
Gheyret T.Kenji
33f0825b3c Added UG translation 2010-12-23 19:26:01 +01:00
Yaakov Selkowitz
3cc7b3aecb Cygwin: Add private mountlist support.
https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:46:33 +01:00
Yaakov Selkowitz
f7e1ab5a0e Cygwin: Don't printf a string directly but use %s instead
Based on commit f41ab3beed for Linux.

https://bugzilla.gnome.org/show_bug.cgi?id=621820
2010-11-28 15:39:34 +01:00
Gheyret T.Kenji
f6edec8c76 Added UG translation 2010-11-20 12:02:41 +01:00
Gheyret T.Kenji
ccf85794e2 Added UG translation 2010-11-13 22:45:50 +01:00
Carles Ferrando
9bd7b581cd Updated Catalan (Valencian) translation 2010-10-29 21:31:26 +01:00
Sahran
825c28e04f Added UG translation 2010-10-16 20:32:37 +02:00
Alexander Kojevnikov
f787bfa0c7 freebsd: Fix get_mem() on 64-bit systems (bgo#630128) 2010-10-03 10:17:58 +11:00
Vincent Untz
93ceca1af2 release: post-release bump to 2.28.3 2010-09-28 11:39:49 +02:00
Vincent Untz
a1bc181e96 release: 2.28.2 2010-09-28 11:39:38 +02:00
Takayuki KUSANO
3db7ab8ddd Updated Japanese translation 2010-09-20 19:18:28 +09:00
Kristjan Schmidt
5b64ff7b6e Updated Esperanto translation 2010-06-27 15:25:37 +02:00
Thomas Thurman
f6347e796d Updated Shavian translation 2010-05-13 18:14:50 -04:00
Thomas Thurman
26adc05a52 Updated Shavian transliteration 2010-05-12 18:41:00 -04:00
Matej Urbančič
6a2464c4ad Updated Slovenian translation 2010-05-11 15:26:26 +02:00
Matej Urbančič
178420d1f7 Updated Slovenian translation 2010-05-11 15:25:42 +02:00
Peteris Krisjanis
81c1f668d1 Updated Latvian translation. 2010-04-26 12:20:57 +03:00
Andika Triwidada
2924b470ea Updated Indonesian translation 2010-04-18 14:58:57 +07:00
Vincent Untz
c36239c8ea [release] post-release bump to 2.28.2 2010-03-30 17:14:23 +02:00
101 changed files with 7161 additions and 1067 deletions

100
.gitignore vendored Normal file
View File

@@ -0,0 +1,100 @@
sysdeps/Makefile
sysdeps/Makefile.in
sysdeps/*/Makefile
sysdeps/*/Makefile.in
sysdeps/*/.deps
sysdeps/*/.libs
sysdeps/*/*.o
sysdeps/*/*.lo
sysdeps/*/*.la
src/*/Makefile
src/*/Makefile.in
src/*/.deps
src/Makefile
src/Makefile.in
stamp-h1
po/*.gmo
po/stamp-it
po/POTFILES
po/Makefile.in.in
po/Makefile.in
po/Makefile
missing
misc/Makefile
misc/Makefile.in
m4/
ltmain.sh
libtool
libgtopconfig.h
libgtop.spec
libgtop-2.0.pc
lib/Makefile
lib/Makefile.in
lib/.deps
lib/.libs
lib/*.o
lib/*.lo
lib/*.la
lib/lib.c
lib/GTop-2.0.gir
lib/GTop-2.0.typelib
INSTALL
Makefile
Makefile.in
aclocal.m4
autom4te.cache/
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
doc/Makefile
doc/Makefile.in
doc/libgtop2.info
doc/mdate-sh
doc/reference/Makefile
doc/reference/Makefile.in
doc/reference/html/
doc/reference/libgtop-decl-list.txt
doc/reference/libgtop-decl.txt
doc/reference/tmpl/
doc/reference/version.xml
doc/reference/xml/
doc/stamp-vti
doc/texinfo.tex
doc/version.texi
examples/.deps/
examples/.libs/
examples/*.o
examples/Makefile
examples/Makefile.in
examples/affinity
examples/df
examples/first
examples/mem
examples/mountlist
examples/netlist
examples/netload
examples/openfiles
examples/pprint
examples/procargs
examples/proclist
examples/procmap
examples/second
examples/smp
examples/sysdeps
examples/timings
examples/wd
gtk-doc.make
include/Makefile
include/Makefile.in
include/glibtop/Makefile
include/glibtop/Makefile.in
install-sh
intltool-extract.in
intltool-merge.in
intltool-update.in

View File

@@ -1,3 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
if EXAMPLES
EXAMPLES_DIR = examples
@@ -5,7 +6,7 @@ else
EXAMPLES_DIR =
endif
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc tests
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
libgtopincludedir = $(includedir)/libgtop-2.0
@@ -17,7 +18,8 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
intltool-extract.in \
intltool-merge.in \
libgtop.doap \
intltool-update.in
intltool-update.in \
m4/introspection.m4
DISTCLEANFILES = \
intltool-extract \
@@ -33,4 +35,4 @@ pkgconfig_DATA = libgtop-2.0.pc
libgtop-features.def: features.def
@LN_S@ $< $@
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection

23
NEWS
View File

@@ -1,3 +1,26 @@
19 August 2013: Overview of changes in 2.28.5
=============================================
* Fix numerous bugs in the OpenBSD backend.
* Updated translations.
30 August 2011: Overview of changes in 2.28.4
=============================================
* Fix numerous bugs in the FreeBSD backend.
* Split off OpenBSD code in its own backend, and fixes.
* Updated translations.
25 March 2011: Overview of changes in 2.28.3
================================================
* Fix build issue for strict linkers.
* Add Introspection support
* Cygwin fixes.
* FreeBSD: Fix get_mem() on 64-bit systems.
* Updated translations.
28 September 2010: Overview of changes in 2.28.2
================================================
* Updated translations.
30 March 2010: Overview of changes in 2.28.1
============================================
* Updated translations.

View File

@@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
PKG_NAME="Gnome Top Library"
(test -f $srcdir/configure.in \
(test -f $srcdir/configure.ac \
&& test -f $srcdir/copyright.txt \
&& test -d $srcdir/sysdeps) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"

View File

@@ -4,7 +4,7 @@ dnl
m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [28])
m4_define([libgtop_micro_version], [1])
m4_define([libgtop_micro_version], [6])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals.
@@ -25,7 +25,7 @@ m4_define([libgtop_server_version], [5])
# Version code calculation
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
AC_PREREQ(2.59)
AC_PREREQ(2.62)
AC_INIT([libgtop], [libgtop_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
AC_CONFIG_SRCDIR(copyright.txt)
@@ -33,7 +33,10 @@ AC_CONFIG_HEADERS(config.h)
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
AC_CONFIG_MACRO_DIR([m4])
GOBJECT_INTROSPECTION_CHECK([0.6.7])
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
@@ -86,6 +89,7 @@ AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
GNOME_LIBGTOP_SYSDEPS
GNOME_LIBGTOP_TYPES
GLIB_TESTS
GLIB_REQUIRED=2.6.0
@@ -382,6 +386,7 @@ sysdeps/aix/Makefile
sysdeps/bsd/Makefile
sysdeps/darwin/Makefile
sysdeps/cygwin/Makefile
sysdeps/openbsd/Makefile
src/Makefile
src/daemon/Makefile
lib/Makefile

View File

@@ -743,7 +743,7 @@ The description above is taken from the manual page of the @file{/proc}
filesystem under Linux and is a little bit confusing, so I make this clear
here.
@strong{Note for people porting LibGTop to other systems:}
@strong{A word for people porting LibGTop to other systems:}
Every operating system has its own idea about the memory usage of a process
and also system utilities like @code{ps} show different things on different
systems.

View File

@@ -219,17 +219,8 @@ glibtop_set_parameter_l
<INCLUDE>glibtop/procargs.h</INCLUDE>
<SECTION>
<FILE>procargs</FILE>
GLIBTOP_PROC_ARGS_SIZE
GLIBTOP_MAX_PROC_ARGS
glibtop_proc_args
glibtop_get_proc_args_l
glibtop_get_proc_args
glibtop_get_proc_args_r
glibtop_init_proc_args_p
glibtop_get_proc_args_p
glibtop_init_proc_args_s
glibtop_get_proc_args_s
glibtop_get_proc_argv_l
glibtop_get_proc_argv
</SECTION>
@@ -420,26 +411,8 @@ glibtop_get_proc_uid_s
<INCLUDE>glibtop/proctime.h</INCLUDE>
<SECTION>
<FILE>proctime</FILE>
GLIBTOP_PROC_TIME_START_TIME
GLIBTOP_PROC_TIME_RTIME
GLIBTOP_PROC_TIME_UTIME
GLIBTOP_PROC_TIME_STIME
GLIBTOP_PROC_TIME_CUTIME
GLIBTOP_PROC_TIME_CSTIME
GLIBTOP_PROC_TIME_TIMEOUT
GLIBTOP_PROC_TIME_IT_REAL_VALUE
GLIBTOP_PROC_TIME_FREQUENCY
GLIBTOP_PROC_TIME_XCPU_UTIME
GLIBTOP_PROC_TIME_XCPU_STIME
GLIBTOP_MAX_PROC_TIME
glibtop_proc_time
glibtop_get_proc_time
glibtop_get_proc_time_r
glibtop_get_proc_time_l
glibtop_init_proc_time_p
glibtop_get_proc_time_p
glibtop_init_proc_time_s
glibtop_get_proc_time_s
</SECTION>
<INCLUDE>glibtop/signal.h</INCLUDE>
@@ -515,10 +488,6 @@ glibtop_send_version
<INCLUDE>glibtop/proclist.h</INCLUDE>
<SECTION>
<FILE>proclist</FILE>
GLIBTOP_PROCLIST_NUMBER
GLIBTOP_PROCLIST_TOTAL
GLIBTOP_PROCLIST_SIZE
GLIBTOP_MAX_PROCLIST
GLIBTOP_KERN_PROC_ALL
GLIBTOP_KERN_PROC_PID
GLIBTOP_KERN_PROC_PGRP
@@ -532,12 +501,6 @@ GLIBTOP_EXCLUDE_SYSTEM
GLIBTOP_EXCLUDE_NOTTY
glibtop_proclist
glibtop_get_proclist
glibtop_get_proclist_r
glibtop_get_proclist_l
glibtop_init_proclist_p
glibtop_get_proclist_p
glibtop_init_proclist_s
glibtop_get_proclist_s
</SECTION>
<INCLUDE>glibtop/sem_limits.h</INCLUDE>

View File

@@ -1,11 +1,13 @@
## Process this file with automake to produce Makefile.in
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(AM_LDFLAGS) -o $@
INCLUDES = @INCLUDES@
DEFS = @DEFS@
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
noinst_PROGRAMS = first second pprint procargs df netlist \
mountlist procmap netload sysdeps timings \
openfiles smp proclist mem wd affinity

545
glib-tap.mk Normal file
View File

@@ -0,0 +1,545 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>glib - Low level core library</title>
<meta name='generator' content='cgit v0.9.2'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/browse/cgit-gnome.css'/>
<link rel='shortcut icon' href='http://www-old.gnome.org/img/logo/foot-16.png'/>
<link rel='alternate' title='Atom feed' href='https://git.gnome.org/browse/glib/atom/glib-tap.mk?h=master' type='application/atom+xml'/>
</head>
<body>
<div id="global_domain_bar">
<div class="maxwidth">
<div class="tab">
<a class="root" href="https://www.gnome.org/">GNOME.org</a>
</div>
</div>
</div>
<div id="page">
<div id="logo_bar" class="container_12">
<div id="logo" class="grid_3">
<a title="Go to home page" href="https://git.gnome.org/"><img src="https://static.gnome.org/img/gnome-git.png" alt="GNOME: Git Repository" /></a>
</div>
<div id="top_bar" class="grid_9">
<div class="left">
<div class="menu-globalnav-container">
<ul id="menu-globalnav" class="menu">
<li id="menu-item-1039" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1039">
<a href="https://git.gnome.org/">Home</a></li>
<li id="menu-item-1037" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1037">
<a href="https://wiki.gnome.org/Git">Git Help</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div id='cgit'><table id='header'>
<tr>
<td class='main'><a href='/browse/'>index</a> : <a title='glib' href='/browse/glib/'>glib</a></td><td class='form'><form method='get' action=''>
<select name='h' onchange='this.form.submit();'>
<option value='GLIB_1_1_3_MARTIN'>GLIB_1_1_3_MARTIN</option>
<option value='GLIB_1_1_4_THREADS'>GLIB_1_1_4_THREADS</option>
<option value='GLIB_1_3_HACKS'>GLIB_1_3_HACKS</option>
<option value='GLIB_2_15_0'>GLIB_2_15_0</option>
<option value='dispatch-data'>dispatch-data</option>
<option value='gdbus-daemon'>gdbus-daemon</option>
<option value='gdbus-daemon2'>gdbus-daemon2</option>
<option value='glib-1-2'>glib-1-2</option>
<option value='glib-2-0'>glib-2-0</option>
<option value='glib-2-10'>glib-2-10</option>
<option value='glib-2-12'>glib-2-12</option>
<option value='glib-2-14'>glib-2-14</option>
<option value='glib-2-16'>glib-2-16</option>
<option value='glib-2-18'>glib-2-18</option>
<option value='glib-2-2'>glib-2-2</option>
<option value='glib-2-20'>glib-2-20</option>
<option value='glib-2-22'>glib-2-22</option>
<option value='glib-2-24'>glib-2-24</option>
<option value='glib-2-26'>glib-2-26</option>
<option value='glib-2-28'>glib-2-28</option>
<option value='glib-2-30'>glib-2-30</option>
<option value='glib-2-32'>glib-2-32</option>
<option value='glib-2-34'>glib-2-34</option>
<option value='glib-2-36'>glib-2-36</option>
<option value='glib-2-38'>glib-2-38</option>
<option value='glib-2-4'>glib-2-4</option>
<option value='glib-2-6'>glib-2-6</option>
<option value='glib-2-8'>glib-2-8</option>
<option value='glib-main-loop'>glib-main-loop</option>
<option value='glib-threads'>glib-threads</option>
<option value='master' selected='selected'>master</option>
<option value='new-gsettings'>new-gsettings</option>
<option value='signal-performance'>signal-performance</option>
<option value='test/gobjectnew'>test/gobjectnew</option>
<option value='tizen/kdbus-dev'>tizen/kdbus-dev</option>
<option value='wip/async-io-perf'>wip/async-io-perf</option>
<option value='wip/child-catchall'>wip/child-catchall</option>
<option value='wip/coverity-fixes'>wip/coverity-fixes</option>
<option value='wip/danw/clicert'>wip/danw/clicert</option>
<option value='wip/danw/glib.mk'>wip/danw/glib.mk</option>
<option value='wip/dbusable'>wip/dbusable</option>
<option value='wip/desktop-actions'>wip/desktop-actions</option>
<option value='wip/doc-fixes'>wip/doc-fixes</option>
<option value='wip/format-errors'>wip/format-errors</option>
<option value='wip/free'>wip/free</option>
<option value='wip/g-action-print-detailed-name'>wip/g-action-print-detailed-name</option>
<option value='wip/gbytes-takeover'>wip/gbytes-takeover</option>
<option value='wip/gcleanup'>wip/gcleanup</option>
<option value='wip/gcleanup-desrt'>wip/gcleanup-desrt</option>
<option value='wip/gdesktopappinfo'>wip/gdesktopappinfo</option>
<option value='wip/gicon'>wip/gicon</option>
<option value='wip/gnotification'>wip/gnotification</option>
<option value='wip/gobjectnew'>wip/gobjectnew</option>
<option value='wip/gproperty'>wip/gproperty</option>
<option value='wip/gproperty-2'>wip/gproperty-2</option>
<option value='wip/gsettings-list'>wip/gsettings-list</option>
<option value='wip/gsettings-work'>wip/gsettings-work</option>
<option value='wip/gsubprocess'>wip/gsubprocess</option>
<option value='wip/gsubprocess-2.36'>wip/gsubprocess-2.36</option>
<option value='wip/gsubprocess-desrt'>wip/gsubprocess-desrt</option>
<option value='wip/gsubprocess-ostreams'>wip/gsubprocess-ostreams</option>
<option value='wip/gutils-splitup'>wip/gutils-splitup</option>
<option value='wip/installed-tests'>wip/installed-tests</option>
<option value='wip/latest-gsubprocess'>wip/latest-gsubprocess</option>
<option value='wip/le-gsubprocess'>wip/le-gsubprocess</option>
<option value='wip/linux'>wip/linux</option>
<option value='wip/locale-monitor'>wip/locale-monitor</option>
<option value='wip/makefile.glib'>wip/makefile.glib</option>
<option value='wip/mapped-bytes'>wip/mapped-bytes</option>
<option value='wip/new-parser'>wip/new-parser</option>
<option value='wip/pcre-jit'>wip/pcre-jit</option>
<option value='wip/pcre-mark'>wip/pcre-mark</option>
<option value='wip/private-rework-3'>wip/private-rework-3</option>
<option value='wip/resources2'>wip/resources2</option>
<option value='wip/serializable'>wip/serializable</option>
<option value='wip/settings-backend'>wip/settings-backend</option>
<option value='wip/subprocess-2013'>wip/subprocess-2013</option>
<option value='wip/symbol-visibility'>wip/symbol-visibility</option>
<option value='wip/task'>wip/task</option>
<option value='wip/test-cleanup'>wip/test-cleanup</option>
<option value='wip/threadsafe-qdata'>wip/threadsafe-qdata</option>
<option value='wip/unicode-graphemebreak'>wip/unicode-graphemebreak</option>
<option value='wip/version-bounds'>wip/version-bounds</option>
<option value='wip/win32-source-api'>wip/win32-source-api</option>
</select> <input type='submit' name='' value='switch'/></form></td></tr>
<tr><td class='sub'>Low level core library</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/browse/glib/'>summary</a><a href='/browse/glib/refs/'>refs</a><a href='/browse/glib/log/glib-tap.mk'>log</a><a class='active' href='/browse/glib/tree/glib-tap.mk'>tree</a><a href='/browse/glib/commit/glib-tap.mk'>commit</a><a href='/browse/glib/diff/glib-tap.mk'>diff</a></td><td class='form'><form class='right' method='get' action='/browse/glib/log/glib-tap.mk'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='text' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/browse/glib/tree/'>root</a>/<a href='/browse/glib/tree/glib-tap.mk'>glib-tap.mk</a></div><div class='content'>blob: c97bf3f2813a580862c7f73d7dc62b7260a848a9 (<a href='/browse/glib/plain/glib-tap.mk'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
<a class='no' id='n2' name='n2' href='#n2'>2</a>
<a class='no' id='n3' name='n3' href='#n3'>3</a>
<a class='no' id='n4' name='n4' href='#n4'>4</a>
<a class='no' id='n5' name='n5' href='#n5'>5</a>
<a class='no' id='n6' name='n6' href='#n6'>6</a>
<a class='no' id='n7' name='n7' href='#n7'>7</a>
<a class='no' id='n8' name='n8' href='#n8'>8</a>
<a class='no' id='n9' name='n9' href='#n9'>9</a>
<a class='no' id='n10' name='n10' href='#n10'>10</a>
<a class='no' id='n11' name='n11' href='#n11'>11</a>
<a class='no' id='n12' name='n12' href='#n12'>12</a>
<a class='no' id='n13' name='n13' href='#n13'>13</a>
<a class='no' id='n14' name='n14' href='#n14'>14</a>
<a class='no' id='n15' name='n15' href='#n15'>15</a>
<a class='no' id='n16' name='n16' href='#n16'>16</a>
<a class='no' id='n17' name='n17' href='#n17'>17</a>
<a class='no' id='n18' name='n18' href='#n18'>18</a>
<a class='no' id='n19' name='n19' href='#n19'>19</a>
<a class='no' id='n20' name='n20' href='#n20'>20</a>
<a class='no' id='n21' name='n21' href='#n21'>21</a>
<a class='no' id='n22' name='n22' href='#n22'>22</a>
<a class='no' id='n23' name='n23' href='#n23'>23</a>
<a class='no' id='n24' name='n24' href='#n24'>24</a>
<a class='no' id='n25' name='n25' href='#n25'>25</a>
<a class='no' id='n26' name='n26' href='#n26'>26</a>
<a class='no' id='n27' name='n27' href='#n27'>27</a>
<a class='no' id='n28' name='n28' href='#n28'>28</a>
<a class='no' id='n29' name='n29' href='#n29'>29</a>
<a class='no' id='n30' name='n30' href='#n30'>30</a>
<a class='no' id='n31' name='n31' href='#n31'>31</a>
<a class='no' id='n32' name='n32' href='#n32'>32</a>
<a class='no' id='n33' name='n33' href='#n33'>33</a>
<a class='no' id='n34' name='n34' href='#n34'>34</a>
<a class='no' id='n35' name='n35' href='#n35'>35</a>
<a class='no' id='n36' name='n36' href='#n36'>36</a>
<a class='no' id='n37' name='n37' href='#n37'>37</a>
<a class='no' id='n38' name='n38' href='#n38'>38</a>
<a class='no' id='n39' name='n39' href='#n39'>39</a>
<a class='no' id='n40' name='n40' href='#n40'>40</a>
<a class='no' id='n41' name='n41' href='#n41'>41</a>
<a class='no' id='n42' name='n42' href='#n42'>42</a>
<a class='no' id='n43' name='n43' href='#n43'>43</a>
<a class='no' id='n44' name='n44' href='#n44'>44</a>
<a class='no' id='n45' name='n45' href='#n45'>45</a>
<a class='no' id='n46' name='n46' href='#n46'>46</a>
<a class='no' id='n47' name='n47' href='#n47'>47</a>
<a class='no' id='n48' name='n48' href='#n48'>48</a>
<a class='no' id='n49' name='n49' href='#n49'>49</a>
<a class='no' id='n50' name='n50' href='#n50'>50</a>
<a class='no' id='n51' name='n51' href='#n51'>51</a>
<a class='no' id='n52' name='n52' href='#n52'>52</a>
<a class='no' id='n53' name='n53' href='#n53'>53</a>
<a class='no' id='n54' name='n54' href='#n54'>54</a>
<a class='no' id='n55' name='n55' href='#n55'>55</a>
<a class='no' id='n56' name='n56' href='#n56'>56</a>
<a class='no' id='n57' name='n57' href='#n57'>57</a>
<a class='no' id='n58' name='n58' href='#n58'>58</a>
<a class='no' id='n59' name='n59' href='#n59'>59</a>
<a class='no' id='n60' name='n60' href='#n60'>60</a>
<a class='no' id='n61' name='n61' href='#n61'>61</a>
<a class='no' id='n62' name='n62' href='#n62'>62</a>
<a class='no' id='n63' name='n63' href='#n63'>63</a>
<a class='no' id='n64' name='n64' href='#n64'>64</a>
<a class='no' id='n65' name='n65' href='#n65'>65</a>
<a class='no' id='n66' name='n66' href='#n66'>66</a>
<a class='no' id='n67' name='n67' href='#n67'>67</a>
<a class='no' id='n68' name='n68' href='#n68'>68</a>
<a class='no' id='n69' name='n69' href='#n69'>69</a>
<a class='no' id='n70' name='n70' href='#n70'>70</a>
<a class='no' id='n71' name='n71' href='#n71'>71</a>
<a class='no' id='n72' name='n72' href='#n72'>72</a>
<a class='no' id='n73' name='n73' href='#n73'>73</a>
<a class='no' id='n74' name='n74' href='#n74'>74</a>
<a class='no' id='n75' name='n75' href='#n75'>75</a>
<a class='no' id='n76' name='n76' href='#n76'>76</a>
<a class='no' id='n77' name='n77' href='#n77'>77</a>
<a class='no' id='n78' name='n78' href='#n78'>78</a>
<a class='no' id='n79' name='n79' href='#n79'>79</a>
<a class='no' id='n80' name='n80' href='#n80'>80</a>
<a class='no' id='n81' name='n81' href='#n81'>81</a>
<a class='no' id='n82' name='n82' href='#n82'>82</a>
<a class='no' id='n83' name='n83' href='#n83'>83</a>
<a class='no' id='n84' name='n84' href='#n84'>84</a>
<a class='no' id='n85' name='n85' href='#n85'>85</a>
<a class='no' id='n86' name='n86' href='#n86'>86</a>
<a class='no' id='n87' name='n87' href='#n87'>87</a>
<a class='no' id='n88' name='n88' href='#n88'>88</a>
<a class='no' id='n89' name='n89' href='#n89'>89</a>
<a class='no' id='n90' name='n90' href='#n90'>90</a>
<a class='no' id='n91' name='n91' href='#n91'>91</a>
<a class='no' id='n92' name='n92' href='#n92'>92</a>
<a class='no' id='n93' name='n93' href='#n93'>93</a>
<a class='no' id='n94' name='n94' href='#n94'>94</a>
<a class='no' id='n95' name='n95' href='#n95'>95</a>
<a class='no' id='n96' name='n96' href='#n96'>96</a>
<a class='no' id='n97' name='n97' href='#n97'>97</a>
<a class='no' id='n98' name='n98' href='#n98'>98</a>
<a class='no' id='n99' name='n99' href='#n99'>99</a>
<a class='no' id='n100' name='n100' href='#n100'>100</a>
<a class='no' id='n101' name='n101' href='#n101'>101</a>
<a class='no' id='n102' name='n102' href='#n102'>102</a>
<a class='no' id='n103' name='n103' href='#n103'>103</a>
<a class='no' id='n104' name='n104' href='#n104'>104</a>
<a class='no' id='n105' name='n105' href='#n105'>105</a>
<a class='no' id='n106' name='n106' href='#n106'>106</a>
<a class='no' id='n107' name='n107' href='#n107'>107</a>
<a class='no' id='n108' name='n108' href='#n108'>108</a>
<a class='no' id='n109' name='n109' href='#n109'>109</a>
<a class='no' id='n110' name='n110' href='#n110'>110</a>
<a class='no' id='n111' name='n111' href='#n111'>111</a>
<a class='no' id='n112' name='n112' href='#n112'>112</a>
<a class='no' id='n113' name='n113' href='#n113'>113</a>
<a class='no' id='n114' name='n114' href='#n114'>114</a>
<a class='no' id='n115' name='n115' href='#n115'>115</a>
<a class='no' id='n116' name='n116' href='#n116'>116</a>
<a class='no' id='n117' name='n117' href='#n117'>117</a>
<a class='no' id='n118' name='n118' href='#n118'>118</a>
<a class='no' id='n119' name='n119' href='#n119'>119</a>
<a class='no' id='n120' name='n120' href='#n120'>120</a>
<a class='no' id='n121' name='n121' href='#n121'>121</a>
<a class='no' id='n122' name='n122' href='#n122'>122</a>
<a class='no' id='n123' name='n123' href='#n123'>123</a>
<a class='no' id='n124' name='n124' href='#n124'>124</a>
<a class='no' id='n125' name='n125' href='#n125'>125</a>
<a class='no' id='n126' name='n126' href='#n126'>126</a>
<a class='no' id='n127' name='n127' href='#n127'>127</a>
<a class='no' id='n128' name='n128' href='#n128'>128</a>
<a class='no' id='n129' name='n129' href='#n129'>129</a>
<a class='no' id='n130' name='n130' href='#n130'>130</a>
<a class='no' id='n131' name='n131' href='#n131'>131</a>
<a class='no' id='n132' name='n132' href='#n132'>132</a>
<a class='no' id='n133' name='n133' href='#n133'>133</a>
<a class='no' id='n134' name='n134' href='#n134'>134</a>
</pre></td>
<td class='lines'><pre><code><span class="hl slc"># GLIB - Library of useful C routines</span>
TESTS_ENVIRONMENT<span class="hl opt">=</span> \
G_TEST_SRCDIR<span class="hl opt">=</span><span class="hl str">&quot;$(abs_srcdir)&quot;</span> \
G_TEST_BUILDDIR<span class="hl opt">=</span><span class="hl str">&quot;$(abs_builddir)&quot;</span> \
G_DEBUG<span class="hl opt">=</span>gc-friendly \
MALLOC_CHECK_<span class="hl opt">=</span><span class="hl num">2</span> \
MALLOC_PERTURB_<span class="hl opt">=$$(($${</span>RANDOM<span class="hl opt">:-</span><span class="hl num">256</span><span class="hl opt">} %</span> <span class="hl num">256</span><span class="hl opt">))</span>
LOG_DRIVER <span class="hl opt">=</span> env AM_TAP_AWK<span class="hl opt">=</span><span class="hl str">'$(AWK)'</span> <span class="hl opt">$(</span>SHELL<span class="hl opt">) $(</span>top_srcdir<span class="hl opt">)/</span>tap-driver.sh
LOG_COMPILER <span class="hl opt">= $(</span>top_srcdir<span class="hl opt">)/</span>tap-test
NULL <span class="hl opt">=</span>
<span class="hl slc"># initialize variables for unconditional += appending</span>
BUILT_SOURCES <span class="hl opt">=</span>
BUILT_EXTRA_DIST <span class="hl opt">=</span>
CLEANFILES <span class="hl opt">= *</span>.log <span class="hl opt">*</span>.trs
DISTCLEANFILES <span class="hl opt">=</span>
MAINTAINERCLEANFILES <span class="hl opt">=</span>
EXTRA_DIST <span class="hl opt">=</span>
TESTS <span class="hl opt">=</span>
installed_test_LTLIBRARIES <span class="hl opt">=</span>
installed_test_PROGRAMS <span class="hl opt">=</span>
installed_test_SCRIPTS <span class="hl opt">=</span>
nobase_installed_test_DATA <span class="hl opt">=</span>
noinst_LTLIBRARIES <span class="hl opt">=</span>
noinst_PROGRAMS <span class="hl opt">=</span>
noinst_SCRIPTS <span class="hl opt">=</span>
noinst_DATA <span class="hl opt">=</span>
check_LTLIBRARIES <span class="hl opt">=</span>
check_PROGRAMS <span class="hl opt">=</span>
check_SCRIPTS <span class="hl opt">=</span>
check_DATA <span class="hl opt">=</span>
<span class="hl slc"># We support a fairly large range of possible variables. It is expected that all types of files in a test suite</span>
<span class="hl slc"># will belong in exactly one of the following variables.</span>
<span class="hl slc">#</span>
<span class="hl slc"># First, we support the usual automake suffixes, but in lowercase, with the customary meaning:</span>
<span class="hl slc">#</span>
<span class="hl slc"># test_programs, test_scripts, test_data, test_ltlibraries</span>
<span class="hl slc">#</span>
<span class="hl slc"># The above are used to list files that are involved in both uninstalled and installed testing. The</span>
<span class="hl slc"># test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.</span>
<span class="hl slc"># Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is</span>
<span class="hl slc"># installed in the same way as it appears in the package layout.</span>
<span class="hl slc">#</span>
<span class="hl slc"># In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',</span>
<span class="hl slc"># like so:</span>
<span class="hl slc">#</span>
<span class="hl slc"># installed_test_programs, uninstalled_test_programs</span>
<span class="hl slc"># installed_test_scripts, uninstalled_test_scripts</span>
<span class="hl slc"># installed_test_data, uninstalled_test_data</span>
<span class="hl slc"># installed_test_ltlibraries, uninstalled_test_ltlibraries</span>
<span class="hl slc">#</span>
<span class="hl slc"># Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts</span>
<span class="hl slc"># that should not themselves be run as testcases (but exist to be used from other testcases):</span>
<span class="hl slc">#</span>
<span class="hl slc"># test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs</span>
<span class="hl slc"># test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts</span>
<span class="hl slc">#</span>
<span class="hl slc"># Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data</span>
<span class="hl slc"># file automatically end up in the tarball.</span>
<span class="hl slc">#</span>
<span class="hl slc"># dist_test_scripts, dist_test_data, dist_test_extra_scripts</span>
<span class="hl slc"># dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts</span>
<span class="hl slc"># dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts</span>
<span class="hl slc">#</span>
<span class="hl slc"># Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the</span>
<span class="hl slc"># standard automake convention of not disting programs scripts or data by default.</span>
<span class="hl slc">#</span>
<span class="hl slc"># test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted</span>
<span class="hl slc"># variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under</span>
<span class="hl slc"># gtester. That's a bit strange for scripts, but it's possible.</span>
TESTS <span class="hl opt">+= $(</span>test_programs<span class="hl opt">) $(</span>test_scripts<span class="hl opt">) $(</span>uninstalled_test_programs<span class="hl opt">) $(</span>uninstalled_test_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_scripts<span class="hl opt">)</span>
<span class="hl slc"># Note: build even the installed-only targets during 'make check' to ensure that they still work.</span>
<span class="hl slc"># We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to</span>
<span class="hl slc"># prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were</span>
<span class="hl slc"># filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.</span>
all_test_programs <span class="hl opt">= $(</span>test_programs<span class="hl opt">) $(</span>uninstalled_test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
<span class="hl opt">$(</span>test_extra_programs<span class="hl opt">) $(</span>uninstalled_test_extra_programs<span class="hl opt">) $(</span>installed_test_extra_programs<span class="hl opt">)</span>
all_test_scripts <span class="hl opt">= $(</span>test_scripts<span class="hl opt">) $(</span>uninstalled_test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>test_extra_scripts<span class="hl opt">) $(</span>uninstalled_test_extra_scripts<span class="hl opt">) $(</span>installed_test_extra_scripts<span class="hl opt">)</span>
all_dist_test_scripts <span class="hl opt">= $(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_scripts<span class="hl opt">) $(</span>dist_installed_test_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>dist_test_extra_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_extra_scripts<span class="hl opt">) $(</span>dist_installed_test_extra_scripts<span class="hl opt">)</span>
all_test_scripts <span class="hl opt">+= $(</span>all_dist_test_scripts<span class="hl opt">)</span>
EXTRA_DIST <span class="hl opt">+= $(</span>all_dist_test_scripts<span class="hl opt">)</span>
all_test_data <span class="hl opt">= $(</span>test_data<span class="hl opt">) $(</span>uninstalled_test_data<span class="hl opt">) $(</span>installed_test_data<span class="hl opt">)</span>
all_dist_test_data <span class="hl opt">= $(</span>dist_test_data<span class="hl opt">) $(</span>dist_uninstalled_test_data<span class="hl opt">) $(</span>dist_installed_test_data<span class="hl opt">)</span>
all_test_data <span class="hl opt">+= $(</span>all_dist_test_data<span class="hl opt">)</span>
EXTRA_DIST <span class="hl opt">+= $(</span>all_dist_test_data<span class="hl opt">)</span>
all_test_ltlibs <span class="hl opt">= $(</span>test_ltlibraries<span class="hl opt">) $(</span>uninstalled_test_ltlibraries<span class="hl opt">) $(</span>installed_test_ltlibraries<span class="hl opt">)</span>
if ENABLE_ALWAYS_BUILD_TESTS
noinst_LTLIBRARIES <span class="hl opt">+= $(</span>all_test_ltlibs<span class="hl opt">)</span>
noinst_PROGRAMS <span class="hl opt">+= $(</span>all_test_programs<span class="hl opt">)</span>
noinst_SCRIPTS <span class="hl opt">+= $(</span>all_test_scripts<span class="hl opt">)</span>
noinst_DATA <span class="hl opt">+= $(</span>all_test_data<span class="hl opt">)</span>
<span class="hl kwb">else</span>
check_LTLIBRARIES <span class="hl opt">+= $(</span>all_test_ltlibs<span class="hl opt">)</span>
check_PROGRAMS <span class="hl opt">+= $(</span>all_test_programs<span class="hl opt">)</span>
check_SCRIPTS <span class="hl opt">+= $(</span>all_test_scripts<span class="hl opt">)</span>
check_DATA <span class="hl opt">+= $(</span>all_test_data<span class="hl opt">)</span>
<span class="hl kwb">endif</span>
if ENABLE_INSTALLED_TESTS
installed_test_PROGRAMS <span class="hl opt">+= $(</span>test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
<span class="hl opt">$(</span>test_extra_programs<span class="hl opt">) $(</span>installed_test_extra_programs<span class="hl opt">)</span>
installed_test_SCRIPTS <span class="hl opt">+= $(</span>test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>test_extra_scripts<span class="hl opt">) $(</span>test_installed_extra_scripts<span class="hl opt">)</span>
installed_test_SCRIPTS <span class="hl opt">+= $(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_test_extra_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>dist_installed_test_scripts<span class="hl opt">) $(</span>dist_installed_test_extra_scripts<span class="hl opt">)</span>
nobase_installed_test_DATA <span class="hl opt">+= $(</span>test_data<span class="hl opt">) $(</span>installed_test_data<span class="hl opt">)</span>
nobase_installed_test_DATA <span class="hl opt">+= $(</span>dist_test_data<span class="hl opt">) $(</span>dist_installed_test_data<span class="hl opt">)</span>
installed_test_LTLIBRARIES <span class="hl opt">+= $(</span>test_ltlibraries<span class="hl opt">) $(</span>installed_test_ltlibraries<span class="hl opt">)</span>
installed_testcases <span class="hl opt">= $(</span>test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
<span class="hl opt">$(</span>test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
<span class="hl opt">$(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_installed_test_scripts<span class="hl opt">)</span>
installed_test_meta_DATA <span class="hl opt">= $(</span>installed_testcases<span class="hl opt">:=</span>.<span class="hl kwa">test</span><span class="hl opt">)</span>
<span class="hl opt">%</span>.<span class="hl kwa">test</span><span class="hl opt">: %$(</span>EXEEXT<span class="hl opt">)</span> Makefile
<span class="hl opt">$(</span>AM_V_GEN<span class="hl opt">) (</span>echo <span class="hl str">'[Test]'</span> <span class="hl opt">&gt; $</span>&#64;.tmp<span class="hl opt">;</span> \
echo <span class="hl str">'Type=session'</span> <span class="hl opt">&gt;&gt; $</span>&#64;.tmp<span class="hl opt">;</span> \
echo <span class="hl str">'Exec=$(installed_testdir)/$&lt;'</span> <span class="hl opt">&gt;&gt; $</span>&#64;.tmp<span class="hl opt">;</span> \
mv <span class="hl opt">$</span>&#64;.tmp <span class="hl opt">$</span>&#64;<span class="hl opt">)</span>
CLEANFILES <span class="hl opt">+= $(</span>installed_test_meta_DATA<span class="hl opt">)</span>
<span class="hl kwb">endif</span>
</code></pre></td></tr></table>
</div> <!-- class=content -->
</div>
<div id="footer_community"></div>
<div id="footer_grass"></div>
<div id="footer">
<div class="container_13" id="container_12">
<div class="links grid_9">
<div class="menu-footer-container">
<ul id="menu-footer" class="menu">
<li id="menu-item-1048" class=
"menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1048">
<a href="/">The GNOME Project</a>
<ul class="sub-menu">
<li id="menu-item-1049" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1049">
<a href="https://www.gnome.org/about/">About Us</a></li>
<li id="menu-item-1050" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1050">
<a href="https://www.gnome.org/get-involved/">Get Involved</a></li>
<li id="menu-item-1051" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1051">
<a href="https://www.gnome.org/teams/">Teams</a></li>
<li id="menu-item-1053" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1053">
<a href="https://www.gnome.org/support-gnome/">Support GNOME</a></li>
<li id="menu-item-1054" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1054">
<a href="https://www.gnome.org/contact/">Contact Us</a></li>
<li id="menu-item-2246" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-2246">
<a href="https://www.gnome.org/foundation/">The GNOME Foundation</a></li>
</ul>
</li>
<li id="menu-item-1047" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1047">
<a href="#">Resources</a>
<ul class="sub-menu">
<li id="menu-item-1055" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1055">
<a href="https://developer.gnome.org">Developer Center</a></li>
<li id="menu-item-1056" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1056">
<a href="https://help.gnome.org">Documentation</a></li>
<li id="menu-item-1057" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1057">
<a href="https://wiki.gnome.org">Wiki</a></li>
<li id="menu-item-1058" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1058">
<a href="https://mail.gnome.org/mailman/listinfo">Mailing Lists</a></li>
<li id="menu-item-1059" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1059">
<a href="https://wiki.gnome.org/GnomeIrcChannels">IRC Channels</a></li>
<li id="menu-item-1060" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1060">
<a href="https://bugzilla.gnome.org/">Bug Tracker</a></li>
<li id="menu-item-1061" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1061">
<a href="https://git.gnome.org/browse/">Development Code</a></li>
<li id="menu-item-1062" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1062">
<a href="https://wiki.gnome.org/Jhbuild">Build Tool</a></li>
</ul>
</li>
<li id="menu-item-1046" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1046">
<a href="/news">News</a>
<ul class="sub-menu">
<li id="menu-item-1063" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1063">
<a href="https://www.gnome.org/press/">Press Releases</a></li>
<li id="menu-item-1064" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1064">
<a href="https://www.gnome.org/start/stable">Latest Release</a></li>
<li id="menu-item-1065" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1065">
<a href="https://planet.gnome.org">Planet GNOME</a></li>
<li id="menu-item-1067" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1067">
<a href="https://news.gnome.org">Development News</a></li>
<li id="menu-item-1068" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1068">
<a href="https://identi.ca/gnome">Identi.ca</a></li>
<li id="menu-item-1069" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1069">
<a href="https://twitter.com/gnome">Twitter</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="footnotes" class="grid_9">
<p>Copyright &copy; 2004-2013, <a href="https://www.gnome.org/">The GNOME Project</a>.</p>
<br />
<small><p>Hosted by <a href="http://www.redhat.com/">Red Hat</a>.
Powered by <a href="http://hjemli.net/git/cgit/">cgit</a>.</p>
<p>To follow the commits, subscribe to <a href="http://mail.gnome.org/mailman/listinfo/commits-list">commits-list</a>. (can be limited to specific modules)</p></small>
</div>
</div>
</div>
</div> <!-- id=cgit -->
</body>
</html>

View File

@@ -36,22 +36,89 @@ G_BEGIN_DECLS
/* You can use the folowing constants as the `which' member of
* glibtop_get_proclist () to specify which processes to fetch. */
#define GLIBTOP_KERN_PROC_ALL 0 /* all processes */
/**
* GLIBTOP_KERN_PROC_ALL:
*
* Return information about all processes
**/
#define GLIBTOP_KERN_PROC_ALL 0
/**
* GLIBTOP_KERN_PROC_PID:
*
* Return all processes with the pid which is passed in @arg. You can use this to find out whether some process still exists.
**/
#define GLIBTOP_KERN_PROC_PID 1
/**
* GLIBTOP_KERN_PROC_PGRP:
*
* Return all processes in the process group passed in @arg.
**/
#define GLIBTOP_KERN_PROC_PGRP 2
/**
* GLIBTOP_KERN_PROC_SESSION:
*
* Return all processes in the session passed in @arg.
**/
#define GLIBTOP_KERN_PROC_SESSION 3
/**
* GLIBTOP_KERN_PROC_TTY:
*
* Return all processes which have the controlling tty passed in @arg
* (which is interpreted as the device number).
**/
#define GLIBTOP_KERN_PROC_TTY 4
/**
* GLIBTOP_KERN_PROC_UID:
*
* Return all processes with the effective uid passed in @arg.
**/
#define GLIBTOP_KERN_PROC_UID 5
/**
* GLIBTOP_KERN_PROC_RUID:
*
* Return all processes with the real uid passed in @arg.
**/
#define GLIBTOP_KERN_PROC_RUID 6
#define GLIBTOP_KERN_PROC_MASK 15
/**
* GLIBTOP_EXCLUDE_IDLE:
*
* Exclude idle processes.
**/
#define GLIBTOP_EXCLUDE_IDLE 0x1000
/**
* GLIBTOP_EXCLUDE_SYSTEM:
*
* Exclude system (on most UNIXes root's) processes.
**/
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
/**
* GLIBTOP_EXCLUDE_NOTTY:
*
* Exclude processes without a controlling terminal.
**/
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
typedef struct _glibtop_proclist glibtop_proclist;
/**
* glibtop_proclist:
* @number: Number of entries in the returned list.
* @total: Total size of the returned list (this equals @number * @size).
* @size: Size of a single entry in the returned list
* (this equals <type>sizeof(unsigned)</type>).
*/
struct _glibtop_proclist
{
guint64 flags;

View File

@@ -46,26 +46,50 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
/* Time section */
/**
* glibtop_proc_time:
* @start_time: Start time of process in seconds since the epoch.
* @rtime: Real time accumulated by process (should be @utime + @stime).
* @utime: User-mode CPU time accumulated by process.
* @stime: Kernel-mode CPU time accumulated by process.
* @cutime: Cumulative utime of process and reaped children.
* @cstime: Cumulative stime of process and reaped children.
* @timeout: The time (in jiffies) of the processs next timeout.
* @it_real_value: The time (in jiffies) before the next <type>SIGALRM</type>
* is sent to the process due to an interval timer.
* @frequency: Tick frequency.
* @xcpu_utime: SMP user-mode CPU time accumulated by process.
* @xcpu_stime: SMP kernel-mode CPU time accumulated by process
*
* Process time data filled by glibtop_get_proc_time().
*
* Under Linux the @start_time value may be wrong due to the information
* available from the kernel.
*
* The Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time
* shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined,
* we cannot use it to compute an accurate @start_time. On Linux 2.6,
* <type>INITIAL_JIFFIES</type> is 300 so @start_time is
* always 3s different from the real start time of the given process. You
* may also get shift results if your system clock is not synchronised
* with your hardware clock. See <command>man hwclock</command>.
*/
struct _glibtop_proc_time
{
/*< private >*/
guint64 flags;
guint64 start_time; /* start time of process --
* seconds since 1-1-70 */
guint64 rtime; /* real time accumulated by process */
guint64 utime; /* user-mode CPU time accumulated by process */
guint64 stime; /* kernel-mode CPU time accumulated by process */
guint64 cutime; /* cumulative utime of process and
* reaped children */
guint64 cstime; /* cumulative stime of process and
* reaped children */
guint64 timeout; /* The time (in jiffies) of the process's
* next timeout */
guint64 it_real_value; /* The time (in jiffies) before the
* next SIGALRM is sent to the process
* due to an interval timer. */
guint64 frequency; /* Tick frequency. */
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
/*< public >*/
guint64 start_time;
guint64 rtime;
guint64 utime;
guint64 stime;
guint64 cutime;
guint64 cstime;
guint64 timeout;
guint64 it_real_value;
guint64 frequency;
guint64 xcpu_utime [GLIBTOP_NCPU];
guint64 xcpu_stime [GLIBTOP_NCPU];
};

View File

@@ -20,3 +20,36 @@ EXTRA_DIST = lib.pl libgtop.sym
CLEANFILES = lib.c
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed
INTROSPECTION_COMPILER_ARGS =
if HAVE_INTROSPECTION
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h \
../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \
../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/version.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \
../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \
../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \
../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \
../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \
../include/glibtop/procwd.h ../include/glibtop/procaffinity.h \
../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
GTop-2.0.gir: libgtop-2.0.la
GTop_2_0_gir_INCLUDES = GObject-2.0
GTop_2_0_gir_CFLAGS = $(INCLUDES)
GTop_2_0_gir_LIBS = libgtop-2.0.la
GTop_2_0_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += GTop-2.0.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif

View File

@@ -69,12 +69,18 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes
;;
netbsd*|openbsd*|bsdi*)
netbsd*|bsdi*)
libgtop_sysdeps_dir=bsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
;;
openbsd*)
libgtop_sysdeps_dir=openbsd
libgtop_use_machine_h=yes
libgtop_need_server=yes
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
;;
freebsd*|kfreebsd*)
libgtop_sysdeps_dir=freebsd
libgtop_use_machine_h=yes
@@ -108,6 +114,7 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
libgtop_use_machine_h=no
libgtop_need_server=no
libgtop_have_sysinfo=yes
libgtop_sysdeps_private_mountlist=yes
;;
*)
if test x$hacker_mode = xyes ; then
@@ -148,13 +155,7 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
case "$host_os" in
*bsd*)
case "$host_os" in
*kfreebsd*)
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS="-lkvm -lfreebsd -lbsd", KVM_LIBS=, -lfreebsd -lbsd);;
*)
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=);;
esac
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
AC_SUBST(KVM_LIBS)
case "$host_os" in
@@ -236,10 +237,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
fi
AC_MSG_CHECKING(what we need to define to get struct msginfo)
AC_CACHE_VAL(msginfo_needs,
msginfo_needs=
AC_CACHE_VAL(msginfo_cv_needs,
msginfo_cv_needs=
for def in nothing KERNEL _KERNEL; do
AC_COMPILE_IFELSE([#define $def
AC_COMPILE_IFELSE([AC_LANG_SOURCE([#define $def
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
@@ -251,23 +252,23 @@ main (void)
struct msginfo mi;
mi.msgmax = 0;
return 0;
}],
}])],
[
msginfo_needs=$def
if test ${msginfo_needs} = KERNEL; then
msginfo_cv_needs=$def
if test ${msginfo_cv_needs} = KERNEL; then
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
elif test ${msginfo_needs} = _KERNEL; then
elif test ${msginfo_cv_needs} = _KERNEL; then
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
fi
]
)
test -n "${msginfo_needs}" && break
test -n "${msginfo_cv_needs}" && break
done
)
AC_MSG_RESULT($msginfo_needs)
if test -z "${msginfo_needs}"; then
AC_MSG_RESULT($msginfo_cv_needs)
if test -z "${msginfo_cv_needs}"; then
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
fi
;;

View File

@@ -17,5 +17,14 @@
<gnome:userid>bdejean</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Robert Roth</foaf:name>
<foaf:mbox rdf:resource="mailto:robert.roth.off@gmail.com" />
<gnome:userid>robertroth</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

333
m4/glibtests.m4 Normal file
View File

@@ -0,0 +1,333 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>glib - Low level core library</title>
<meta name='generator' content='cgit v0.9.2'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/browse/cgit-gnome.css'/>
<link rel='shortcut icon' href='http://www-old.gnome.org/img/logo/foot-16.png'/>
<link rel='alternate' title='Atom feed' href='https://git.gnome.org/browse/glib/atom/m4macros/glibtests.m4?h=master' type='application/atom+xml'/>
</head>
<body>
<div id="global_domain_bar">
<div class="maxwidth">
<div class="tab">
<a class="root" href="https://www.gnome.org/">GNOME.org</a>
</div>
</div>
</div>
<div id="page">
<div id="logo_bar" class="container_12">
<div id="logo" class="grid_3">
<a title="Go to home page" href="https://git.gnome.org/"><img src="https://static.gnome.org/img/gnome-git.png" alt="GNOME: Git Repository" /></a>
</div>
<div id="top_bar" class="grid_9">
<div class="left">
<div class="menu-globalnav-container">
<ul id="menu-globalnav" class="menu">
<li id="menu-item-1039" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1039">
<a href="https://git.gnome.org/">Home</a></li>
<li id="menu-item-1037" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1037">
<a href="https://wiki.gnome.org/Git">Git Help</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div id='cgit'><table id='header'>
<tr>
<td class='main'><a href='/browse/'>index</a> : <a title='glib' href='/browse/glib/'>glib</a></td><td class='form'><form method='get' action=''>
<select name='h' onchange='this.form.submit();'>
<option value='GLIB_1_1_3_MARTIN'>GLIB_1_1_3_MARTIN</option>
<option value='GLIB_1_1_4_THREADS'>GLIB_1_1_4_THREADS</option>
<option value='GLIB_1_3_HACKS'>GLIB_1_3_HACKS</option>
<option value='GLIB_2_15_0'>GLIB_2_15_0</option>
<option value='dispatch-data'>dispatch-data</option>
<option value='gdbus-daemon'>gdbus-daemon</option>
<option value='gdbus-daemon2'>gdbus-daemon2</option>
<option value='glib-1-2'>glib-1-2</option>
<option value='glib-2-0'>glib-2-0</option>
<option value='glib-2-10'>glib-2-10</option>
<option value='glib-2-12'>glib-2-12</option>
<option value='glib-2-14'>glib-2-14</option>
<option value='glib-2-16'>glib-2-16</option>
<option value='glib-2-18'>glib-2-18</option>
<option value='glib-2-2'>glib-2-2</option>
<option value='glib-2-20'>glib-2-20</option>
<option value='glib-2-22'>glib-2-22</option>
<option value='glib-2-24'>glib-2-24</option>
<option value='glib-2-26'>glib-2-26</option>
<option value='glib-2-28'>glib-2-28</option>
<option value='glib-2-30'>glib-2-30</option>
<option value='glib-2-32'>glib-2-32</option>
<option value='glib-2-34'>glib-2-34</option>
<option value='glib-2-36'>glib-2-36</option>
<option value='glib-2-38'>glib-2-38</option>
<option value='glib-2-4'>glib-2-4</option>
<option value='glib-2-6'>glib-2-6</option>
<option value='glib-2-8'>glib-2-8</option>
<option value='glib-main-loop'>glib-main-loop</option>
<option value='glib-threads'>glib-threads</option>
<option value='master' selected='selected'>master</option>
<option value='new-gsettings'>new-gsettings</option>
<option value='signal-performance'>signal-performance</option>
<option value='test/gobjectnew'>test/gobjectnew</option>
<option value='tizen/kdbus-dev'>tizen/kdbus-dev</option>
<option value='wip/async-io-perf'>wip/async-io-perf</option>
<option value='wip/child-catchall'>wip/child-catchall</option>
<option value='wip/coverity-fixes'>wip/coverity-fixes</option>
<option value='wip/danw/clicert'>wip/danw/clicert</option>
<option value='wip/danw/glib.mk'>wip/danw/glib.mk</option>
<option value='wip/dbusable'>wip/dbusable</option>
<option value='wip/desktop-actions'>wip/desktop-actions</option>
<option value='wip/doc-fixes'>wip/doc-fixes</option>
<option value='wip/format-errors'>wip/format-errors</option>
<option value='wip/free'>wip/free</option>
<option value='wip/g-action-print-detailed-name'>wip/g-action-print-detailed-name</option>
<option value='wip/gbytes-takeover'>wip/gbytes-takeover</option>
<option value='wip/gcleanup'>wip/gcleanup</option>
<option value='wip/gcleanup-desrt'>wip/gcleanup-desrt</option>
<option value='wip/gdesktopappinfo'>wip/gdesktopappinfo</option>
<option value='wip/gicon'>wip/gicon</option>
<option value='wip/gnotification'>wip/gnotification</option>
<option value='wip/gobjectnew'>wip/gobjectnew</option>
<option value='wip/gproperty'>wip/gproperty</option>
<option value='wip/gproperty-2'>wip/gproperty-2</option>
<option value='wip/gsettings-list'>wip/gsettings-list</option>
<option value='wip/gsettings-work'>wip/gsettings-work</option>
<option value='wip/gsubprocess'>wip/gsubprocess</option>
<option value='wip/gsubprocess-2.36'>wip/gsubprocess-2.36</option>
<option value='wip/gsubprocess-desrt'>wip/gsubprocess-desrt</option>
<option value='wip/gsubprocess-ostreams'>wip/gsubprocess-ostreams</option>
<option value='wip/gutils-splitup'>wip/gutils-splitup</option>
<option value='wip/installed-tests'>wip/installed-tests</option>
<option value='wip/latest-gsubprocess'>wip/latest-gsubprocess</option>
<option value='wip/le-gsubprocess'>wip/le-gsubprocess</option>
<option value='wip/linux'>wip/linux</option>
<option value='wip/locale-monitor'>wip/locale-monitor</option>
<option value='wip/makefile.glib'>wip/makefile.glib</option>
<option value='wip/mapped-bytes'>wip/mapped-bytes</option>
<option value='wip/new-parser'>wip/new-parser</option>
<option value='wip/pcre-jit'>wip/pcre-jit</option>
<option value='wip/pcre-mark'>wip/pcre-mark</option>
<option value='wip/private-rework-3'>wip/private-rework-3</option>
<option value='wip/resources2'>wip/resources2</option>
<option value='wip/serializable'>wip/serializable</option>
<option value='wip/settings-backend'>wip/settings-backend</option>
<option value='wip/subprocess-2013'>wip/subprocess-2013</option>
<option value='wip/symbol-visibility'>wip/symbol-visibility</option>
<option value='wip/task'>wip/task</option>
<option value='wip/test-cleanup'>wip/test-cleanup</option>
<option value='wip/threadsafe-qdata'>wip/threadsafe-qdata</option>
<option value='wip/unicode-graphemebreak'>wip/unicode-graphemebreak</option>
<option value='wip/version-bounds'>wip/version-bounds</option>
<option value='wip/win32-source-api'>wip/win32-source-api</option>
</select> <input type='submit' name='' value='switch'/></form></td></tr>
<tr><td class='sub'>Low level core library</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/browse/glib/'>summary</a><a href='/browse/glib/refs/'>refs</a><a href='/browse/glib/log/m4macros/glibtests.m4'>log</a><a class='active' href='/browse/glib/tree/m4macros/glibtests.m4'>tree</a><a href='/browse/glib/commit/m4macros/glibtests.m4'>commit</a><a href='/browse/glib/diff/m4macros/glibtests.m4'>diff</a></td><td class='form'><form class='right' method='get' action='/browse/glib/log/m4macros/glibtests.m4'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='text' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/browse/glib/tree/'>root</a>/<a href='/browse/glib/tree/m4macros'>m4macros</a>/<a href='/browse/glib/tree/m4macros/glibtests.m4'>glibtests.m4</a></div><div class='content'>blob: 7d5920a43c76d68affa5cbc8b8c3a8fbb5cfb017 (<a href='/browse/glib/plain/m4macros/glibtests.m4'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
<a class='no' id='n2' name='n2' href='#n2'>2</a>
<a class='no' id='n3' name='n3' href='#n3'>3</a>
<a class='no' id='n4' name='n4' href='#n4'>4</a>
<a class='no' id='n5' name='n5' href='#n5'>5</a>
<a class='no' id='n6' name='n6' href='#n6'>6</a>
<a class='no' id='n7' name='n7' href='#n7'>7</a>
<a class='no' id='n8' name='n8' href='#n8'>8</a>
<a class='no' id='n9' name='n9' href='#n9'>9</a>
<a class='no' id='n10' name='n10' href='#n10'>10</a>
<a class='no' id='n11' name='n11' href='#n11'>11</a>
<a class='no' id='n12' name='n12' href='#n12'>12</a>
<a class='no' id='n13' name='n13' href='#n13'>13</a>
<a class='no' id='n14' name='n14' href='#n14'>14</a>
<a class='no' id='n15' name='n15' href='#n15'>15</a>
<a class='no' id='n16' name='n16' href='#n16'>16</a>
<a class='no' id='n17' name='n17' href='#n17'>17</a>
<a class='no' id='n18' name='n18' href='#n18'>18</a>
<a class='no' id='n19' name='n19' href='#n19'>19</a>
<a class='no' id='n20' name='n20' href='#n20'>20</a>
<a class='no' id='n21' name='n21' href='#n21'>21</a>
<a class='no' id='n22' name='n22' href='#n22'>22</a>
<a class='no' id='n23' name='n23' href='#n23'>23</a>
<a class='no' id='n24' name='n24' href='#n24'>24</a>
<a class='no' id='n25' name='n25' href='#n25'>25</a>
<a class='no' id='n26' name='n26' href='#n26'>26</a>
<a class='no' id='n27' name='n27' href='#n27'>27</a>
<a class='no' id='n28' name='n28' href='#n28'>28</a>
</pre></td>
<td class='lines'><pre><code>dnl GLIB_TESTS
dnl
AC_DEFUN([GLIB_TESTS],
[
AC_ARG_ENABLE(installed-tests,
AS_HELP_STRING([--enable-installed-tests],
[Enable installation of some test cases]),
[case ${enableval} in
yes) ENABLE_INSTALLED_TESTS='1' ;;
no) ENABLE_INSTALLED_TESTS='' ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-installed-tests]) ;;
esac])
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], test '$ENABLE_INSTALLED_TESTS' = '1')
AC_ARG_ENABLE(always-build-tests,
AS_HELP_STRING([--enable-always-build-tests],
[Enable always building tests during 'make all']),
[case ${enableval} in
yes) ENABLE_ALWAYS_BUILD_TESTS='1' ;;
no) ENABLE_ALWAYS_BUILD_TESTS='' ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;;
esac])
AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test '$ENABLE_ALWAYS_BUILD_TESTS' = '1')
if test '$ENABLE_INSTALLED_TESTS' = '1'; then
AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME)
AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
fi
])
</code></pre></td></tr></table>
</div> <!-- class=content -->
</div>
<div id="footer_community"></div>
<div id="footer_grass"></div>
<div id="footer">
<div class="container_13" id="container_12">
<div class="links grid_9">
<div class="menu-footer-container">
<ul id="menu-footer" class="menu">
<li id="menu-item-1048" class=
"menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1048">
<a href="/">The GNOME Project</a>
<ul class="sub-menu">
<li id="menu-item-1049" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1049">
<a href="https://www.gnome.org/about/">About Us</a></li>
<li id="menu-item-1050" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1050">
<a href="https://www.gnome.org/get-involved/">Get Involved</a></li>
<li id="menu-item-1051" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1051">
<a href="https://www.gnome.org/teams/">Teams</a></li>
<li id="menu-item-1053" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1053">
<a href="https://www.gnome.org/support-gnome/">Support GNOME</a></li>
<li id="menu-item-1054" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1054">
<a href="https://www.gnome.org/contact/">Contact Us</a></li>
<li id="menu-item-2246" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-2246">
<a href="https://www.gnome.org/foundation/">The GNOME Foundation</a></li>
</ul>
</li>
<li id="menu-item-1047" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1047">
<a href="#">Resources</a>
<ul class="sub-menu">
<li id="menu-item-1055" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1055">
<a href="https://developer.gnome.org">Developer Center</a></li>
<li id="menu-item-1056" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1056">
<a href="https://help.gnome.org">Documentation</a></li>
<li id="menu-item-1057" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1057">
<a href="https://wiki.gnome.org">Wiki</a></li>
<li id="menu-item-1058" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1058">
<a href="https://mail.gnome.org/mailman/listinfo">Mailing Lists</a></li>
<li id="menu-item-1059" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1059">
<a href="https://wiki.gnome.org/GnomeIrcChannels">IRC Channels</a></li>
<li id="menu-item-1060" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1060">
<a href="https://bugzilla.gnome.org/">Bug Tracker</a></li>
<li id="menu-item-1061" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1061">
<a href="https://git.gnome.org/browse/">Development Code</a></li>
<li id="menu-item-1062" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1062">
<a href="https://wiki.gnome.org/Jhbuild">Build Tool</a></li>
</ul>
</li>
<li id="menu-item-1046" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1046">
<a href="/news">News</a>
<ul class="sub-menu">
<li id="menu-item-1063" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1063">
<a href="https://www.gnome.org/press/">Press Releases</a></li>
<li id="menu-item-1064" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1064">
<a href="https://www.gnome.org/start/stable">Latest Release</a></li>
<li id="menu-item-1065" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1065">
<a href="https://planet.gnome.org">Planet GNOME</a></li>
<li id="menu-item-1067" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1067">
<a href="https://news.gnome.org">Development News</a></li>
<li id="menu-item-1068" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1068">
<a href="https://identi.ca/gnome">Identi.ca</a></li>
<li id="menu-item-1069" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1069">
<a href="https://twitter.com/gnome">Twitter</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="footnotes" class="grid_9">
<p>Copyright &copy; 2004-2013, <a href="https://www.gnome.org/">The GNOME Project</a>.</p>
<br />
<small><p>Hosted by <a href="http://www.redhat.com/">Red Hat</a>.
Powered by <a href="http://hjemli.net/git/cgit/">cgit</a>.</p>
<p>To follow the commits, subscribe to <a href="http://mail.gnome.org/mailman/listinfo/commits-list">commits-list</a>. (can be limited to specific modules)</p></small>
</div>
</div>
</div>
</div> <!-- id=cgit -->
</body>
</html>

96
m4/introspection.m4 Normal file
View File

@@ -0,0 +1,96 @@
dnl -*- mode: autoconf -*-
dnl Copyright 2009 Johan Dahlin
dnl
dnl This file is free software; the author(s) gives unlimited
dnl permission to copy and/or distribute it, with or without
dnl modifications, as long as this notice is preserved.
dnl
# serial 1
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
dnl enable/disable introspection
m4_if([$2], [require],
[dnl
enable_introspection=yes
],[dnl
AC_ARG_ENABLE(introspection,
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
[Enable introspection for this build]),,
[enable_introspection=auto])
])dnl
AC_MSG_CHECKING([for gobject-introspection])
dnl presence/version checking
AS_CASE([$enable_introspection],
[no], [dnl
found_introspection="no (disabled, use --enable-introspection to enable)"
],dnl
[yes],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
found_introspection=yes,
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
],dnl
[auto],[dnl
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
],dnl
[dnl
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
])dnl
AC_MSG_RESULT([$found_introspection])
INTROSPECTION_SCANNER=
INTROSPECTION_COMPILER=
INTROSPECTION_GENERATE=
INTROSPECTION_GIRDIR=
INTROSPECTION_TYPELIBDIR=
if test "x$found_introspection" = "xyes"; then
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
INTROSPECTION_GIRDIR=`echo ${INTROSPECTION_GIRDIR} | sed -e "s|${datadir}|\\\$(datadir)|"`
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
INTROSPECTION_TYPELIBDIR=`echo ${INTROSPECTION_TYPELIBDIR} | sed -e "s|${libdir}|\\\$(libdir)|"`
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
fi
AC_SUBST(INTROSPECTION_SCANNER)
AC_SUBST(INTROSPECTION_COMPILER)
AC_SUBST(INTROSPECTION_GENERATE)
AC_SUBST(INTROSPECTION_GIRDIR)
AC_SUBST(INTROSPECTION_TYPELIBDIR)
AC_SUBST(INTROSPECTION_CFLAGS)
AC_SUBST(INTROSPECTION_LIBS)
AC_SUBST(INTROSPECTION_MAKEFILE)
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
])
dnl Usage:
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
[
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
])

View File

@@ -28,6 +28,7 @@ eu
fa
fi
fr
fur
ga
gl
gu
@@ -75,8 +76,10 @@ sr@latin
sv
ta
te
tg
th
tr
ug
uk
vi
xh

View File

@@ -2,68 +2,68 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Amitakhya Phukan <aphukan@fedoraproject.org>, 2009.
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: as\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
"cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2009-03-01 23:08+0000\n"
"PO-Revision-Date: 2009-03-16 11:01+0530\n"
"Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"
"Language-Team: Assamese <fedora-trans-as@redhat.com>\n"
"POT-Creation-Date: 2010-11-17 08:15+0000\n"
"PO-Revision-Date: 2011-08-17 16:13+0530\n"
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
"Language-Team: as_IN <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 0.3\n"
"X-Generator: Lokalize 1.0\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "%d বাইট পা হৈছে"
msgstr[1] "%d বাইট পা হৈছে"
msgstr[0] "%d বাইট পা হ"
msgstr[1] "%d বাইটসমূহা হ"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "তথ্যমাপা হ'ব"
msgstr "তথ্যৰ আকাৰা হ"
#: ../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[0] "তথ্যৰ %lu বাইট পা হ"
msgstr[1] "তথ্যৰ %lu বাইটসমূহ া হ"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "%d বাইট লখা হৈছে"
msgstr[1] "%d বাইট লখা হৈছে"
msgstr[0] "%d বাইট লিখা হ"
msgstr[1] "%d বাইট লিখা হ"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "ডিবাগ ব্যবস্থা সক্ৰিয় কৰক"
msgstr "ডিবাগিং সামৰ্থবান কৰক"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "বিস্তাৰিত (ভাৰ্বোস) আউটপুট সক্ৰিয় কৰা হ'ব"
msgstr "ভাৰ্বো আউটপুট সামৰ্থবান কৰক"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "পটভূমিত fork কৰা হ'ব না"
msgstr "পটভূমিত fork কৰিব"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "inetd ৰ পৰা আৰম্ভ কৰা হৈছে"
msgstr "inetd ৰ পৰা আৱাহন কৰা হৈছে"
#: ../src/daemon/gnuserv.c:495, c-format
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"কমান্ড-লাইন ৰ পৰা ব্যবহাৰযোগ্য সমস্ত উপলব্ধ বিকল্পেৰ তালিকা দেখতে '%s "
"--help' "
"ব্যবহাৰ কৰক।\n"
"উপলব্ধ কমান্ড শাৰী বিকল্পসমূহৰ এটা সম্পূৰ্ণ তালিকা চাবলে '%s --help' চলাওক। \n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
@@ -71,11 +71,11 @@ msgstr "বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "ইন্টাৰাপ্ট উৎপন্ন কৰা হ'ব"
msgstr "বাধা দিয়ক"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "প্ৰস্থান"
msgstr "প্ৰস্থান কৰক"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
@@ -83,19 +83,19 @@ msgstr "অবৈধ নিৰ্দেশ"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "ট্ৰে ট্ৰ্যাপ"
msgstr "ট্ৰেইচ ট্ৰ্যাপ"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "অস্বাভাবিক প্ৰস্থান"
msgstr "বাদ দিয়ক"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT সংক্ৰান্ত সমস্যা"
msgstr "EMT ত্ৰুটি"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "ফ্লোটিং-পয়েন্ট এক্সেপশন"
msgstr "দশমিক-বিন্দু ব্যতিক্ৰম"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
@@ -103,23 +103,23 @@ msgstr "Kill কৰক"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "বাস সংক্ৰান্ত সমস্যা"
msgstr "বাচ ত্ৰুটি"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "সেগমেন্টেশন সংক্ৰান্ত সমস্যা"
msgstr "বিভাজন অমান্যকৰণ"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "িস্টেম-কল'এ ভুল আৰ্গুমেন্ট প্ৰেৰিত হৈছে"
msgstr "িস্টেম কললে বেয়া তৰ্ক"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "ক্ষতিগ্ৰস্ত পাইপ"
msgstr "ভঙা পাইপ"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "অ্যালাৰ্ম ঘড়ি"
msgstr "লাৰ্ম ঘড়ি"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
@@ -127,7 +127,7 @@ msgstr "সমাপ্তি"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "কেট গুৰুতৰ অবস্থা"
msgstr "কেট গুৰুতৰ অবস্থা"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
@@ -135,57 +135,57 @@ msgstr "বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "কি-বোৰ্ড বন্ধ কৰক"
msgstr "কিৰ্ড বন্ধ কৰক"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "অগ্ৰসৰ হওক"
msgstr "চলাই যাওক"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "চাইল্ডৰ অবস্থা পৰিবৰ্তিত হৈছে"
msgstr "চাইল্ডৰ অবস্থা সলনি হৈছে"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "পটভূমিতে tty'ৰ পৰা পড়া হচ্ছে"
msgstr "tty ৰ পৰা পটভূমি পঢ়া"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "পটভূমিতে tty'এখা হচ্ছে"
msgstr "tty ৰ পৰা পটভূমি লিখা"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O বৰ্তমানে কৰা সম্ভব"
msgstr "I/O বৰ্তমান সম্ভব"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "CPU'ৰ সীমা অতিক্ৰান্ত"
msgstr "CPU ৰ সীমা পাৰ হৈছে"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "ফাইলমাপেৰ সীমা অতিক্ৰান্ত"
msgstr "ফাইলৰ আকাৰৰ সীমা পাৰ হৈছে"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "ভাৰ্চুয়াল অ্যালাৰ্ম ঘড়ি"
msgstr "ভাৰ্ছুৱেল এলাৰ্ম ঘড়ি"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "অ্যালাৰ্ম ঘড়ি প্ৰোফাইল কৰা হ'ব"
msgstr "লাৰ্ম ঘড়ি আলেখ্যন কৰা হৈছে"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "উইন্ডোৰ মাপে পৰিবৰ্তন"
msgstr "উইন্ডোৰ আকাৰত পৰিবৰ্তন"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "তথ্যৰ অনুৰোধ"
msgstr "তথ্যৰ অনুৰোধ"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সিগনাল ১"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ১"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সিগনাল ২"
msgstr "ব্যবহাৰকাৰী নিৰ্ধাৰিত সংকেত ২"

206
po/be.po
View File

@@ -1,213 +1,193 @@
# Беларускі пераклад libgtop.HEAD.
# Беларускі пераклад libgtop.HEAD
# Copyright (C) 1999, 2004 Free Software Foundation, Inc.
# Vital Khilko <dojlid@mova.org>, 2003.
# Ales Nyakhaychyk <nab@mail.by>, 2004.
# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop.HEAD\n"
"Project-Id-Version: libgtop.master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-07 13:38+0200\n"
"PO-Revision-Date: 2004-03-13 14:28+0200\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
"POT-Creation-Date: 2011-07-24 19:42+0300\n"
"PO-Revision-Date: 2011-07-24 19:41+0300\n"
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\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%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: KBabel 1.0.2\n"
#: ../lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "прачытаны %d байт"
msgstr[1] "прачытаны %d байты"
msgstr[1] "прачытана %d байты"
msgstr[2] "прачытана %d байтаў"
#: ../lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "памер прачытаных даньняў"
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 байты даных"
msgstr[2] "прачытана %lu байтаў даных"
#: ../lib/write.c:52
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "запісаны %d байт"
msgstr[1] "запісаны %d байты"
msgstr[1] "запісана %d байты"
msgstr[2] "запісана %d байтаў"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Уключыць адладку"
msgstr "Уключыць адладачны код"
#: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "АДЛАДКА"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Уключыць дэталёвы вывад"
msgstr "Уключыць падрабязны вывад"
#: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "ПАДРАБЯЗНА"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Ня нараджаць у рэжыме тла"
msgstr "Не адгаліноўваць фонавы працэс"
#: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "БЯЗ-ДЭМАНУ"
#: ../src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Выкліканы з inetd"
msgstr "Запушчаны з дапамогай inetd"
#: ../src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: ../src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:495
#, 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"
"Каб убачыць спіс наяўных опцый загаднага радка, запусціце \"%s --help\".\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Абрыў сувязі (HUP)"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Перарыў (INT)"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Hangup"
msgstr "Разарваць"
msgid "Quit"
msgstr "Выхад (QUIT)"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Interrupt"
msgstr "Перарваць"
msgid "Illegal instruction"
msgstr "Забароненая інструкцыя (ILL)"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Quit"
msgstr "Выйсьці"
msgid "Trace trap"
msgstr "Захоп трасіроўкі (TRAP)"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Illegal instruction"
msgstr "Недапушчальная інструкцыя"
msgid "Abort"
msgstr "Перарванне (ABRT)"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "Trace trap"
msgstr "Захоп трасыроўкі"
msgid "EMT error"
msgstr "Памылка (EMT)"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Abort"
msgstr "Перарываньне"
msgid "Floating-point exception"
msgstr "Выключэнне float (FPE)"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "EMT error"
msgstr "Памылка EMT"
msgid "Kill"
msgstr "Забойства (KILL)"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Floating-point exception"
msgstr "Выключэньне пункту, які плавае"
msgid "Bus error"
msgstr "Памылка магістралі (BUS)"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Kill"
msgstr "Забіць"
msgid "Segmentation violation"
msgstr "Парушэнне сегментацыі (SEGV)"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bus error"
msgstr "Памылка шыны"
msgid "Bad argument to system call"
msgstr "Хібны аргумент сістэмнага выкліку (SYS)"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Segmentation violation"
msgstr "Парушэньне сэгментацыі"
msgid "Broken pipe"
msgstr "Зламаны канал (PIPE)"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Bad argument to system call"
msgstr "Кепскі аргумэнт у сыстэмным выкліку"
msgid "Alarm clock"
msgstr "Таймер (ALRM)"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Broken pipe"
msgstr "Парушаны канал"
msgid "Termination"
msgstr "Знішчэнне (TERM)"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Alarm clock"
msgstr "Таймэр"
msgid "Urgent condition on socket"
msgstr "Тэрміновыя даныя на сокеце (URG)"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Termination"
msgstr "Завяршэньне"
msgid "Stop"
msgstr "Прыпыненне (STOP)"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Urgent condition on socket"
msgstr "Тэрміновыя умовы сокету"
msgid "Keyboard stop"
msgstr "Прыпыненне з клавіятуры (TSTP)"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Stop"
msgstr "Спыніць"
msgid "Continue"
msgstr "Працяг працы (CONT)"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Keyboard stop"
msgstr "Спыненьне клявіятуры"
msgid "Child status has changed"
msgstr "Змена стану нашчадка (CHLD)"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Continue"
msgstr "Працягнуць"
msgid "Background read from tty"
msgstr "Фонавае чытанне з tty (TTIN)"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Child status has changed"
msgstr "Стан нашчадку быў зьменены"
msgid "Background write to tty"
msgstr "Фонавы запіс у tty (TTOU)"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "Background read from tty"
msgstr "Чытаньне ў тле з tty"
msgid "I/O now possible"
msgstr "Магчымасць уводу/вываду (IO)"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "Background write to tty"
msgstr "Запіс у тле ў tty"
msgid "CPU limit exceeded"
msgstr "Абмежаванне працэсара (XCPU)"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "I/O now possible"
msgstr "Зараз магчымы ўвод/вывад"
msgid "File size limit exceeded"
msgstr "Абмежаванне памеру файла (XFSZ)"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "CPU limit exceeded"
msgstr "Перавышана мяжа ЦПУ"
msgid "Virtual alarm clock"
msgstr "Віртуальны таймер (VTALRM)"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "File size limit exceeded"
msgstr "Перавышана мяжа памеру файлу"
msgid "Profiling alarm clock"
msgstr "Таймер прафілявання (PROF)"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Virtual alarm clock"
msgstr "Віртуальны таймэр"
msgid "Window size change"
msgstr "Змена памераў акна (WINCH)"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Profiling alarm clock"
msgstr "Прафіляваны таймэр"
msgid "Information request"
msgstr "Запыт інфармацыі (INFO)"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "Window size change"
msgstr "Зьмена памераў акна"
msgid "User defined signal 1"
msgstr "Карыстальніцкі сігнал 1 (USR1)"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "Information request"
msgstr "Запыт інфармацыі"
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58
msgid "User defined signal 1"
msgstr "Сыгнал карыстальніку 1"
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59
msgid "User defined signal 2"
msgstr "Сыгнал карыстальніку 2"
msgstr "Карыстальніцкі сігнал 2 (USR2)"

View File

@@ -3,21 +3,22 @@
# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2002.
# Yanko Kaneti <yaneti@declera.com>, 2002.
# Rostislav Raykov <zbrox@i-space.org>, 2004.
# Vladimir Petkov <vpetkov@i-space.org>, 2005.
# Alexander Shopov <ash@contact.bg>, 2007.
# Vladimir Petkov <kaladan@gmail.com>, 2005.
# Alexander Shopov <ash@kambanaria.org>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop trunk\n"
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-18 10:43+0300\n"
"PO-Revision-Date: 2007-09-18 10:43+0300\n"
"Last-Translator: Alexander Shopov <ash@contact.bg>\n"
"POT-Creation-Date: 2012-04-01 18:21+0300\n"
"PO-Revision-Date: 2012-04-01 18:20+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:51
#, c-format
@@ -44,23 +45,23 @@ msgid_plural "wrote %d bytes"
msgstr[0] "записан %d байт"
msgstr[1] "записани %d байта"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Включване на изчистване на грешките"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Включване на подробен изход"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Не се поражда процес във фонов режим"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Извикан от inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Изпълнете „%s --help“ за пълния списък от опции за командата.\n"

View File

@@ -2,13 +2,15 @@
# Copyright © 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# Softcatalà <gnome@softcatala.net>, 2000, 2001, 2002.
# Jordi Mallach <jordi@sindominio.net>, 2002, 2003, 2004, 2005.
# Jordi Serratosa <jordis@softcatala.cat>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.9.91\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-16 22:33+0200\n"
"PO-Revision-Date: 2005-09-04 01:16+0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-04-04 20:06+0000\n"
"PO-Revision-Date: 2011-04-04 22:04+0200\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
"MIME-Version: 1.0\n"
@@ -41,27 +43,27 @@ msgid_plural "wrote %d bytes"
msgstr[0] "s'ha escrit %d octet"
msgstr[1] "s'ha escrit %d octets"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Activa la depuració"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Activa la sortida detallada"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "No bifurquis al segon pla"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Ha estat cridat des d'inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Executeu «%s --help» per a veure una llista completa de les opcions "
"Executeu «%s --help» per veure una llista completa de les opcions "
"disponibles de la línia d'ordres.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
@@ -86,7 +88,7 @@ msgstr "Captura traça"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Avorta"
msgstr "Interromp"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
@@ -178,7 +180,7 @@ msgstr "Canvi de la mida de la finestra"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Petició d'informació"
msgstr "Sol·licitud d'informació"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"

View File

@@ -1,23 +1,22 @@
# translation of libgtop.gnome-2-26.po to catalan
# Catalan translation of libgtop.
# Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
#
# Copyright © 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# Softcatalà <gnome@softcatala.net>, 2000, 2001, 2002.
# Jordi Mallach <jordi@sindominio.net>, 2002, 2003, 2004, 2005.
# Carles Ferrando Garcia <carles.ferrando@gmail.com>, 2009.
# Jordi Serratosa <jordis@softcatala.cat>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop.gnome-2-26\n"
"Project-Id-Version: libgtop 2.9.91\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-09-02 18:32+0200\n"
"PO-Revision-Date: 2009-08-29 10:37+0200\n"
"Last-Translator: Carles Ferrando Garcia <carles.ferrando@gmail.com>\n"
"Language-Team: catalan <tradgnome@softcatala.org>\n"
"POT-Creation-Date: 2012-04-10 21:12+0200\n"
"PO-Revision-Date: 2011-04-04 22:04+0200\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca-XV\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1;\n"
"X-Generator: KBabel 1.11.4\n"
#: ../lib/read.c:51
#, c-format
@@ -54,7 +53,7 @@ msgstr "Activa l'eixida detallada"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "No bifurques al segon pla"
msgstr "No bifurquis al segon pla"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
@@ -64,7 +63,7 @@ msgstr "Ha estat cridat des d'inetd"
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Executeu «%s --help» per a veure una llista completa de les opcions "
"Executeu «%s --help» per veure una llista completa de les opcions "
"disponibles de la línia d'ordes.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
@@ -89,7 +88,7 @@ msgstr "Captura traça"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Avorta"
msgstr "Interromp"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
@@ -181,7 +180,7 @@ msgstr "Canvi de la mida de la finestra"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Petició d'informació"
msgstr "Sol·licitud d'informació"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
@@ -190,3 +189,15 @@ msgstr "Senyal 1 definit per l'usuari"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Senyal 2 definit per l'usuari"
#~ msgid "DEBUG"
#~ msgstr "DEPURACIÓ"
#~ msgid "VERBOSE"
#~ msgstr "DETALLA"
#~ msgid "NO-DAEMON"
#~ msgstr "SENSE DIMONI"
#~ msgid "INETD"
#~ msgstr "INETD"

View File

@@ -1,20 +1,21 @@
# Shavian translation for libgtop.
# Copyright (C) 2009 The Gnome Foundation.
# Copyright (C) 2010 The Gnome Foundation.
# Thomas Thurman <tthurman@gnome.org>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: metacity\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2009-11-06 19:17+0200\n"
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2010-05-11 13:26+0000\n"
"PO-Revision-Date: 2010-05-12 18:37 -0400\n"
"Last-Translator: Thomas Thurman <tthurman@gnome.org>\n"
"Language-Team: Shavian <ubuntu-l10n-en-shaw@lists.launchpad.net>\n"
"Language-Team: Shavian <ubuntu-l10n-en-shaw@launchpad.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1\n"
"Plural-Forms: nplurals=2; plural=n!=1;\n"
#: ../lib/read.c:51
#, c-format
#: ../lib/read.c:51
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "𐑮𐑧𐑛 %d 𐑚𐑲𐑑"
@@ -24,15 +25,15 @@ msgstr[1] "𐑮𐑧𐑛 %d 𐑚𐑲𐑑𐑕"
msgid "read data size"
msgstr "𐑮𐑧𐑛 𐑛𐑱𐑑𐑩 𐑕𐑲𐑟"
#: ../lib/read_data.c:70
#, c-format
#: ../lib/read_data.c:70
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "𐑮𐑧𐑛 %lu 𐑚𐑲𐑑 𐑝 𐑛𐑱𐑑𐑩"
msgstr[1] "𐑮𐑧𐑛 %lu 𐑚𐑲𐑑𐑕 𐑝 𐑛𐑱𐑑𐑩"
#: ../lib/write.c:51
#, c-format
#: ../lib/write.c:51
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "𐑮𐑴𐑑 %d 𐑚𐑲𐑑"
@@ -42,13 +43,22 @@ msgstr[1] "𐑮𐑴𐑑 %d 𐑚𐑲𐑑𐑕"
msgid "Enable debugging"
msgstr "𐑦𐑯𐑱𐑚𐑩𐑤 𐑛𐑰𐑚𐑳𐑜𐑦𐑙"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "𐑦𐑯𐑱𐑚𐑩𐑤 𐑝𐑻𐑚𐑴𐑕 𐑬𐑑𐑐𐑫𐑑"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "𐑛𐑴𐑯𐑑 𐑓𐑹𐑒 𐑦𐑯𐑑𐑫 𐑚𐑨𐑒𐑜𐑮𐑬𐑯𐑛"
#: ../src/daemon/gnuserv.c:495
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "𐑦𐑯𐑝𐑴𐑒𐑑 𐑓𐑮𐑪𐑥 inetd"
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
#: ../src/daemon/gnuserv.c:495
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
@@ -75,6 +85,10 @@ msgstr "𐑑𐑮𐑱𐑕 𐑑𐑮𐑨𐑐"
msgid "Abort"
msgstr "𐑩𐑚𐑹𐑑"
#: ../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
msgid "Floating-point exception"
msgstr "𐑓𐑤𐑴𐑑𐑦𐑙-𐑐𐑶𐑯𐑑 𐑦𐑒𐑕𐑧𐑐𐑖𐑩𐑯"
@@ -127,13 +141,21 @@ msgstr "𐑒𐑩𐑯𐑑𐑦𐑯𐑿"
msgid "Child status has changed"
msgstr "𐑗𐑲𐑤𐑛 𐑕𐑑𐑱𐑑𐑫𐑕 𐑣𐑨𐑟 𐑗𐑱𐑯𐑡𐑛"
#: ../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
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 "CPU limit exceeded"
msgstr "CPU·𐑿 𐑤𐑦𐑥𐑦𐑑 𐑩𐑒𐑕𐑰𐑛𐑩𐑛"
msgstr "CPU 𐑤𐑦𐑥𐑦𐑑 𐑩𐑒𐑕𐑰𐑛𐑩𐑛"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
@@ -162,3 +184,4 @@ msgstr "𐑿𐑟𐑼 𐑛𐑦𐑓𐑲𐑯𐑛 𐑕𐑦𐑜𐑯𐑩𐑤 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "𐑿𐑟𐑼 𐑛𐑦𐑓𐑲𐑯𐑛 𐑕𐑦𐑜𐑯𐑩𐑤 2"

181
po/eo.po
View File

@@ -1,208 +1,193 @@
# Esperanto translation of libgtop
# Copyright (C) 2006 THE libgtop'S COPYRIGHT HOLDER
# Esperanto translation for libgtop.
# Copyright (C) 2006-2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the libgtop package.
# Dominique PELLE <dominique.pelle@free.fr>, 2006.
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-06-08 00:34+0530\n"
"PO-Revision-Date: 2006-06-06 21:30+1200\n"
"Last-Translator: Dominique PELLE <dominique.pelle@free.fr>\n"
"Language-Team: Esperanto <eo-tradukado@lists.tuxfamily.org>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&component=general\n"
"POT-Creation-Date: 2011-03-31 17:35+0000\n"
"PO-Revision-Date: 2011-06-08 11:49+0200\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <ubuntu-l10n-eo@lists.launchpad.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"X-Launchpad-Export-Date: 2011-06-08 09:44+0000\n"
"X-Generator: Launchpad (build 13144)\n"
#: ../lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "legis %d bajton"
msgstr[1] "legis %d bajtojn"
#: ../lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "grandeco de legita datumo"
msgstr "grando de legita datumo"
#: ../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] "legis %lu bajton da datumo"
msgstr[1] "legis %lu bajtojn da datumo"
#: ../lib/write.c:53
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "skribis %d bajton"
msgstr[1] "skribis %d bajtojn"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Ebligu sencimigon"
msgstr "Enŝalti sencimigon"
#: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "SENCIMIGO"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Ebligu babileman eligon"
msgstr "Enŝalti babileman eligon"
#: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "BABILEMA"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Ne forku fone"
msgstr "Ne forki fonen"
#: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NE-DEMONO"
#: ../src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Alvokita de inetd"
msgstr "Alvokita de \"inetd\""
#: ../src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: ../src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:495
#, 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 ""
"Eraro en opcio %s: %s.\n"
"Lanĉu '%s --help' por vidi plenan liston de uzeblaj opcioj de komanda "
"linio.\n"
"Ruli '%s --help' por vidigi tutan liston de disponeblajn komandliniaj "
"opciojn.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Malkonekti"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interrompi"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Hangup"
msgstr "Malkontaktu"
msgid "Quit"
msgstr "Ĉesi"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Interrupt"
msgstr "Interrompu"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Quit"
msgstr "Adiaŭu"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Illegal instruction"
msgstr "Nevalida komando"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Spura escepto"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Ĉesigu"
msgstr "Ĉesigi"
#: ../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 eraro"
msgstr "EMT-eraro"
#: ../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 "Glitpunkta escepto"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Mortigu"
msgstr "Mortigi"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Busa eraro"
msgstr "Bus-eraro"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Aliro al nerezervita memoro"
#: ../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 "Nevalida argumento de kornovoko"
msgstr "Nevalida argumento al sistemvoko"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Rompita dukto"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Vekhorloĝo"
msgstr "Alarm-takto"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Ĉesigo"
msgstr "Finiĝo"
#: ../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 "Urĝa kondiĉo ĉe kontaktoskatolo"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Ĉesigu"
msgstr "Haltigi"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Klavara halto"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Daŭrigi"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Keyboard stop"
msgstr "Klavara ĉesigo"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Continue"
msgstr "Daŭrigu"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Child status has changed"
msgstr "Stato de ido ŝanĝiĝis"
#: ../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 "Fona lego el tty"
msgstr "Fona lego de \"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 "Fona skribo al tty"
msgstr "Fona skribo al \"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 "Eneligo nun eblas"
#: ../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 "Limo de procesilo superitas"
#: ../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 "Limo de dosiergrandeco superitas"
msgstr "Limo de dosiergrando superitas"
#: ../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 "Virtuala alarm-takto"
#: ../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 "Profila alarm-takto"
#: ../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 "Ŝanĝo de grandeco de fenestro"
msgstr "Ŝanĝo de fenestrogrando"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Informpeto"
#: ../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 "Uzant-difinita signalo 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 "Uzant-difinita signalo 2"

173
po/fa.po
View File

@@ -1,206 +1,233 @@
# Persian translation of libgtop.
# Copyright (C) 2010, 2011 Iranian Free Software Users Group (IFSUG.org)translation team.
# Copyright (C) 2003, 2005 Sharif FarsiWeb, Inc.
# Roozbeh Pournader <roozbeh@farsiweb.info>, 2003.
# Azin Azadi <aazadi@gmail.com>, 2005.
# Arash Mousavi <mousavi.arash@gmail.com>, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2005-02-03 13:40+0330\n"
"Last-Translator: Azin Azadi <aazadi@gmail.com>\n"
"Language-Team: Persian <farsi@lists.sharif.edu>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-04-04 20:06+0000\n"
"PO-Revision-Date: 2011-04-24 17:45+0330\n"
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
"Language-Team: Persian <translate@ifsug.org>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-Language: Persian\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-SourceCharset: utf-8\n"
#: lib/read.c:65
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "خوانده شد %Id بایت"
#: lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "‌اندازه‌ی داده‌های خوانده شده"
#: 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] "خوانده شد %Id بایت"
msgstr[0] "%lu بایت اطلاعات خوانده شد"
#: lib/write.c:52
#, fuzzy, c-format
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "%Id بایت نوشته شد"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "به کار انداختن اشکال‌زدایی"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "اشکال‌زدایی"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "به کار انداختن خروجی مفصل"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "مفصل"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:459
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:461
msgid "Invoked from inetd"
msgstr "از inetd احضار شد"
#: src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid ""
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"خطا در گزینه‌ی .\n"
"%s: %sبرای دیدن فهرست کاملی از گزینه‌های موجود برای سطر فرمان، «%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 "پایان دادن"
#: 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
#, fuzzy
#: ../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 ""
msgstr "درحال تنظیم زنگ هشدار"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "تغییر اندازه‌ی پنجره"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "درخواست اطلاعات"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "سیگنال تعریف شده توسط کاربر ۱"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "سیگنال تعریف شده توسط کاربر ۲"
#~ msgid "DEBUG"
#~ msgstr "اشکال‌زدایی"
#~ msgid "VERBOSE"
#~ msgstr "مفصل"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON"
#~ msgid "INETD"
#~ msgstr "INETD"

191
po/fur.po Normal file
View File

@@ -0,0 +1,191 @@
# Friulian translation for libgtop.
# Copyright (C) 2012 libgtop's COPYRIGHT HOLDER
# This file is distributed under the same license as the libgtop package.
# TmTFx <f.t.public@gmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-12-18 21:48+0000\n"
"PO-Revision-Date: 2012-12-28 13:37+0100\n"
"Last-Translator: TmTFx <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "let %d byte"
msgstr[1] "lets %d bytes"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "Dimension dai dâts lets"
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "let %lu byte di dâts"
msgstr[1] "lets %lu bytes di dâts"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "scrit %d byte"
msgstr[1] "scrits %d bytes"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Abilite debug"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Abilite jessude verbôs"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "No stâ fâ fork in background"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Clamât di inetd"
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Fâs partî '%s --help' par viodi une liste complete dis opzions par la rie di "
"comant.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Hangup"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interrupt"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Quit"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Istruzion no legâl"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Trace trap"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Abort"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "EMT error"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Floating-point exception"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Kill"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Bus error"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Segmentation violation"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Bad argument to system call"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Broken pipe"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Alarm clock"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Termination"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Urgent condition on socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stop"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Keyboard stop"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Continue"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Il stât dal fî al è cambiât"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Leture in background di tty"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Scriture in background su tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "I/O cumò pussibil"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Limit CPU superât"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Limit di dimension di file superât"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Virtual alarm clock"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Profiling alarm clock"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Window size change"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Information request"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Segnâl definît da l'utent 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Segnâl definît da l'utent 2"

View File

@@ -19,14 +19,14 @@ msgid ""
msgstr ""
"Project-Id-Version: gl\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-02-15 17:53+0100\n"
"POT-Creation-Date: 2011-01-27 03:18+0100\n"
"PO-Revision-Date: 2010-01-10 03:46+0100\n"
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:51

177
po/id.po
View File

@@ -1,207 +1,218 @@
# SOME DESCRIPTIVE TITLE.
# Translation of libtop into Indonesian
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# This file is distributed under the same license as the libgtop package.
# Mohammad DAMT <mdamt@bisnisweb.com>, 2003.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop libgtop-GNOME-2-0-port\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
"PO-Revision-Date: 2003-02-10 18:01+0700\n"
"Last-Translator: Mohammad DAMT <mdamt@bisnisweb.com>\n"
"Language-Team: Indonesia <id@li.org>\n"
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2010-03-30 15:14+0000\n"
"PO-Revision-Date: 2010-04-18 14:46+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: GNOME Indonesian Translation Team <gnome@i15n.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-Language: Indonesian\n"
"X-Poedit-Country: Indonesia\n"
#: lib/read.c:65
#, fuzzy, c-format
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "baca %d byte"
msgstr[1] "baca %d byte"
#: lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "ukuran data saat membaca"
#: 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] "baca %d byte"
msgstr[1] "baca %d byte"
msgstr[0] "baca data %lu byte"
#: lib/write.c:52
#, fuzzy, c-format
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "tulis %d byte"
msgstr[1] "tulis %d byte"
#: src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Aktifkan debuging"
#: src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEBUG"
#: src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Aktifkan output yang lengkap"
#: src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "VERBOSE"
#: src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Jangan fork ke background"
#: src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: src/daemon/gnuserv.c:466
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Diaktifkan dari inetd"
#: src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid ""
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Error pada pilihan %s: %s.\n"
"Jalankan '%s --help' untuk melihat daftar penuh pilihan perintah yang "
"tersedia\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Jalankan '%s --help' untuk melihat daftar penuh pilihan perintah yang tersedia.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Hangup"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Interupsi"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Keluar"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Instruksi ilegal"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Jebakan trace"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Batal"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Error EMT"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Eksepsi Floating-point"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Matikan"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Error bus"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Pelanggaran segmentasi"
#: 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 "Parameter ke sistem call salah"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Pipa rusak"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Jam alarm"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Penghentian"
#: 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 "Kondisi gawat pada soket"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Stop"
msgstr "Berhenti"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Stop keyboard"
msgstr "Hentikan papan tik"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Lanjutkan"
#: 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 anak telah berubah"
#: 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 "Baca diam-diam dari 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 "Tulis diam-diam ke 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 dimungkinkan"
#: 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 "Batasan CPU terlampaui"
msgstr "Batas CPU terlampaui"
#: 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 "Batasan ukuran file terlampaui"
msgstr "Batas ukuran file terlampaui"
#: 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 "Jam alarm virtual"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Melakukan profil jam 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 "Ukuran window berubah"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Permintaan informasi"
#: 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 "Sinyal 1 milik user"
#: 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 "Sinyal 2 milik user"

View File

@@ -1,7 +1,7 @@
# libgtop ja.po.
# Copyright (C) 1998,2000,2002-2007,2009 Free Software Foundation, Inc.
# Copyright (C) 1998,2000,2002-2007,2009-2010 Free Software Foundation, Inc.
# Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1998
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002.
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002, 2010.
# Yukihiro Nakai <nakai@gnome.gr.jp>, 2000.
# KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>, 2003.
# Takeshi AIHANA <takeshi.aihana@gmail.com>, 2004-2007,2009.
@@ -9,22 +9,22 @@
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-04 17:38+0900\n"
"PO-Revision-Date: 2009-10-04 17:38+0900\n"
"Last-Translator: Takeshi AIHANA <takeshi.aihana@gmail.com>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-09-08 07:27+0000\n"
"PO-Revision-Date: 2011-09-11 07:40+0900\n"
"Last-Translator: Jiro Matsuzawa <jmatsuzawa@src.gnome.org>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "%dバイト読み込み"
msgstr[1] "%dバイト読み込み"
#: ../lib/read_data.c:51
msgid "read data size"
@@ -35,14 +35,12 @@ msgstr "データの読み込みサイズ"
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "%luバイトデータの読み込み"
msgstr[1] "%luバイトデータの読み込み"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "%dバイトの書き込み"
msgstr[1] "%dバイトの書き込み"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
@@ -65,7 +63,7 @@ msgstr "`inetd` から起動する"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"利用可能なコマンド・ラインのオプション一覧を表示する場合は '%s --help' を実行"
"してさい\n"
"してください\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
@@ -185,8 +183,8 @@ msgstr "情報リクエスト"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "ユーザ定義のシグナル"
msgstr "ユーザ定義のシグナル1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "ユーザ定義のシグナル"
msgstr "ユーザ定義のシグナル2"

View File

@@ -1,15 +1,15 @@
# libgtop ko.po
# Sung-Hyun Nam <namsh@lgic.co.kr>, 1998
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005, 2008.
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005, 2008, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2008-02-26 19:13+0900\n"
"PO-Revision-Date: 2009-01-29 16:18+0900\n"
"PO-Revision-Date: 2013-03-19 02:23+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr-hackers@lists.kldp.net>\n"
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -51,7 +51,7 @@ msgstr "백그라운드로 실행 안 함"
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "inetd에 의해 불림"
msgstr "inetd가 호출"
#: ../src/daemon/gnuserv.c:498
#, c-format
@@ -181,15 +181,3 @@ msgstr "사용자 정의 신호 1"
#: ../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"

142
po/ky.po
View File

@@ -1,210 +1,192 @@
# translation of ky.po to Kitghiz
# translation of libgtop to Kyrgyz
# Kirghiz translation of libgtop.
# Copyright (C) 1999, 2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the libgtop package.
# Timur Jamakeev <ztimur@gmail.com>, 2005.
#
# Timur Zhamakeev <ztimur@gmail.com>, 2005, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: ky\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-11-17 17:07+0500\n"
"PO-Revision-Date: 2005-11-17 17:42+0500\n"
"Last-Translator: Timur Jamakeev <ztimur@gmail.com>\n"
"Language-Team: Kitghiz\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-09-05 21:47+0000\n"
"PO-Revision-Date: 2012-09-27 12:10+0600\n"
"Last-Translator: Timur Zhamakeev <ztimur@gmail.com>\n"
"Language-Team: Kirghiz <gnome-i18n@gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ky\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: KBabel 1.9.1\n"
"X-Generator: Lokalize 1.4\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] ""
#: ../lib/read_data.c:53
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "окулган берилиштердин көлөмү"
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] ""
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 байт жазылды"
msgstr[1] ""
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Дебагды иштетүү"
msgstr "Ката издөөнү иштетүү"
#: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "ДЕБАГ"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Кеңири чыгаруу"
#: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "КЕҢИРИ"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:459
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:461
msgid "Invoked from inetd"
msgstr "inetd аркылуу чакырылган"
#: ../src/daemon/gnuserv.c:466
msgid "INETD"
msgstr "INETD"
#: ../src/daemon/gnuserv.c:500
#: ../src/daemon/gnuserv.c:495
#, 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"
"Командалык саптын мүмкүн болгон бардык параметрлерин көрүү үчүн \"%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 ""
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 "Тукумдун абалы өзгөрүлдү"
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 "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 "Файл көлөмүнүн пределинен ашты"
msgstr "Файл көлөмү пределинен ашты"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Виртуалдык таймер"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Профилдик таймер"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Терезе өлчөмүн өзгөртүү"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Маалымат талап кылуу"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Колдонуучу сигналы 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"
msgstr "Колдонуучу аныктаган сигналы 2"

View File

@@ -4,19 +4,23 @@
#
# Peteris Krisjanis <peteris.krisjanis@os.lv>, 2002.
# Raivis Dejus <orvils@gmail.com>, 2006, 2009.
# Peteris Krisjanis <pecisk@gmail.com>, 2010.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: lv\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-11-07 14:35+0100\n"
"PO-Revision-Date: 2009-01-25 17:52+0200\n"
"Last-Translator: Raivis Dejus <orvils@gmail.com>\n"
"Language-Team: Latvian <locale@laka.lv>\n"
"POT-Creation-Date: 2012-09-24 15:33+0300\n"
"PO-Revision-Date: 2012-09-24 15:36+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\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 != 0 ? 1 : 2);\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
"X-Generator: Lokalize 1.4\n"
#: ../lib/read.c:51
#, c-format
@@ -42,31 +46,31 @@ msgstr[2] "lasīt %lu baitu datus"
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "ierakstīju %d baitu"
msgstr[1] "ierakstīju %d baitus"
msgstr[2] "ierakstīju %d baitu"
msgstr[0] "ierakstīts %d baits"
msgstr[1] "ierakstīti %d baiti"
msgstr[2] "ierakstīti %d baitu"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Aktivizēt atkļūdošanu"
msgstr "Aktivēt atkļūdošanu"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Aktivizēt vārdisku izvadi"
msgstr "Aktivēt detalizētu izvadi"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Nesadalīties fona"
msgstr "Nesadalīties fonā"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Izsaukts no inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Palaidiet '%s --help' lai redzētu pilnu pieejamo komandrindas iespēju "
"Palaidiet %s --help”, lai redzētu pilnu pieejamo komandrindas opciju "
"sarakstu.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
@@ -91,7 +95,7 @@ msgstr "Izsekot slazdu"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Pātraukt"
msgstr "Pārtraukt"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
@@ -99,7 +103,7 @@ msgstr "EMT kļūda"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Peldošā punkta izņēmums"
msgstr "Peldošā komata izņēmums"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
@@ -107,7 +111,7 @@ msgstr "Nobeigt"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Šinas kļūda"
msgstr "Kopnes kļūda"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
@@ -115,7 +119,7 @@ msgstr "Segmentācijas pārkāpums"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Slikts arguments sistēmas izsaukumam"
msgstr "Slikts parametrs sistēmas izsaukumam"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
@@ -127,11 +131,11 @@ msgstr "Modinātājs"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Pātraukšana"
msgstr "Pārtraukšana"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Steidzama situācija kontaktā"
msgstr "Steidzama situācija ligzdā"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
@@ -167,7 +171,7 @@ msgstr "CPU limits pārsniegts"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Faila izmēra limits pārsniegts"
msgstr "Datnes izmēra limits pārsniegts"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"

View File

@@ -1,15 +1,16 @@
# Norwegian translation for Libgtop (bokmål dialect)
# Norwegian bokmål translation for libgtop
# Copyright (C) 1998-2004 Free Software Foundation, Inc.
# Kjartan Maraas <kmaraas@gnome.org>, 1998-2007.
# Kjartan Maraas <kmaraas@gnome.org>, 1998-2012.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop 2.21.x\n"
"Project-Id-Version: libgtop 2.28.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-06-23 11:52+0200\n"
"PO-Revision-Date: 2007-06-23 11:52+0200\n"
"POT-Creation-Date: 2012-01-28 16:53+0100\n"
"PO-Revision-Date: 2012-01-28 16:54+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
@@ -40,26 +41,28 @@ msgid_plural "wrote %d bytes"
msgstr[0] "skrev %d byte"
msgstr[1] "skrev %d bytes"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Slå på avlusing"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Slå på utfyllende utskrift"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Ikke forgren til bakgrunnen"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Kalt fra inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Kjør '%s --help' for å se en full liste av tilgjengelige kommandolinjeflagg.\n"
msgstr ""
"Kjør '%s --help' for å se en full liste av tilgjengelige "
"kommandolinjeflagg.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"

View File

@@ -4,14 +4,19 @@
# pomóc w jego rozwijaniu i pielęgnowaniu, napisz do nas:
# gnomepl@aviary.pl
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Zbigniew Chyla <chyla@alice.ci.pwr.wroc.pl>, 1999-2002.
# Artur Flinta <aflinta@at.kernel.pl>, 2004-2007.
# Piotr Drąg <piotrdrag@gmail.com>, 2010-2012.
# Aviary.pl <gnomepl@aviary.pl>, 2010-2012.
msgid ""
msgstr ""
"Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-02-25 12:52+0100\n"
"PO-Revision-Date: 2010-02-25 12:47+0100\n"
"Last-Translator: Tomasz Dominikowski <dominikowski@gmail.com>\n"
"POT-Creation-Date: 2012-09-04 18:37+0200\n"
"PO-Revision-Date: 2012-09-04 18:42+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -68,7 +73,8 @@ msgstr "Wywołanie przez inetd"
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Proszę wykonać \"%s --help\", aby wyświetlić pełną listę dostępnych opcji.\n"
"Polecenie \"%s --help\" wyświetli pełną listę dostępnych opcji wiersza "
"poleceń.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
@@ -164,7 +170,7 @@ msgstr "Wejście/wyjście jest teraz dostępne"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Przekroczenie ograniczenia procesora"
msgstr "Przekroczono ograniczenie procesora"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"

View File

@@ -1,16 +1,17 @@
# libgtop's Portuguese Translation
# Copyright © 2001, 2002, 2003, 2004, 2005, 2007 libgtop
# Distributed under the same licence as the libgtop package
# Duarte Loreto <happyguy_pt@hotmail.com>, 2001, 2002, 2003, 2004, 2005, 2007.
#
# libgtop's Portuguese Translation
# Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2013 libgtop
# Distributed under the same licence as the libgtop package
# Duarte Loreto <happyguy_pt@hotmail.com>, 2001, 2002, 2003, 2004, 2005, 2007, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: 2.20\n"
"Project-Id-Version: 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-08 01:57+0100\n"
"PO-Revision-Date: 2007-09-08 02:00+0000\n"
"POT-Creation-Date: 2013-03-17 01:06+0000\n"
"PO-Revision-Date: 2013-03-17 01:10+0000\n"
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n"
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -41,23 +42,23 @@ msgid_plural "wrote %d bytes"
msgstr[0] "%d byte escrito"
msgstr[1] "%d bytes escritos"
#: ../src/daemon/gnuserv.c:458
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "Activar depuração"
msgstr "Ativar depuração"
#: ../src/daemon/gnuserv.c:460
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "Activar resultados extensos"
msgstr "Ativar resultados extensos"
#: ../src/daemon/gnuserv.c:462
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "Não efectuar fork em fundo"
msgstr "Não efetuar fork em fundo"
#: ../src/daemon/gnuserv.c:464
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "Invocado pelo inetd"
#: ../src/daemon/gnuserv.c:498
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
@@ -94,7 +95,7 @@ msgstr "Erro EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Excepção de vírgula flutuante"
msgstr "Exceção de vírgula flutuante"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
@@ -170,7 +171,7 @@ msgstr "Alarme virtual"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Alarme de optimização"
msgstr "Alarme de otimização"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change"

467
po/sl.po
View File

@@ -1,236 +1,231 @@
# Andraz Tori <andraz.tori1@guest.arnes.si>, 2000.
# Matic Žgur <mr.zgur@gmail.com>, 2006.
# Matej Urbančič <mateju@svn.gnome.org>, 2007 - 2009.
#
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-10-18 16:10+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-SourceCharset: utf-8\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "prebranih %d bajtov"
msgstr[1] "prebran %d bajt"
msgstr[2] "prebrana %d bajta"
msgstr[3] "prebrani %d bajti"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "prebrana velikost podatkov"
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "prebranih %lu bajtov podatkov"
msgstr[1] "prebran %lu bajt podatkov"
msgstr[2] "prebrana %lu bajta podatkov"
msgstr[3] "prebrani %lu bajti podatkov"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "zapisanih %d bajtov"
msgstr[1] "zapisan %d bajt"
msgstr[2] "zapisana %d bajta"
msgstr[3] "zapisani %d bajti"
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Omogoči razhroščevanje"
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Omogoči podroben izpis"
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Ne razveji se v ozadje"
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Poklican iz programa inetd"
#: ../src/daemon/gnuserv.c:498
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Z zastavico '%s --help' se izpiše popoln seznam možnosti ukaza.\n"
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Odloži"
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Prekinitev"
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Izhod"
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Neveljaven ukaz"
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Past sledenja"
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Prekini"
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Napaka EMT"
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Izjema plavajoče vejice"
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Ubij"
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Napaka vodila"
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Napaka razčlenjevanja"
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Slab argument za sistemski klic"
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Pretrgana cev"
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Budilka"
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Zaključek"
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Nujno stanje na vtiču"
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Ustavi"
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Zaustavitev tipkovnice"
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Nadaljuj"
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Stanje podrejenega procesa se je spremenilo"
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Branje s tty v ozadju"
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Pisanje na tty v ozadju"
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "V/I sedaj mogoč"
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Prekoračena omejitev procesorja"
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Prekoračena omejitev dolžine datoteke"
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Navidezna budilka"
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Budilka profiliranja"
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Sprememba velikosti okna"
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Zahteva po podatkih"
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Uporabniško določen signal 1"
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Uporabniško določen signal 2"
#~ msgid "DEBUG"
#~ msgstr "RAZHROŠČUJ"
#~ msgid "VERBOSE"
#~ msgstr "ZGOVOREN"
#~ msgid "NO-DAEMON"
#~ msgstr "NI-DEAMON"
#~ msgid "INETD"
#~ msgstr "INETD"
# Slovenian translation of libgtop.
# Copyright (C) 2005-2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the libgtop package.
#
# Andraž Tori <andraz.tori1@guest.arnes.si>, 2000.
# Matic Žgur <mr.zgur@gmail.com>, 2006.
# Matej Urbančič <mateju@svn.gnome.org>, 2007 - 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2010-05-11 15:26+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-SourceCharset: utf-8\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "prebranih %d bajtov"
msgstr[1] "prebran %d bajt"
msgstr[2] "prebrana %d bajta"
msgstr[3] "prebrani %d bajti"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "prebrana velikost podatkov"
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] "prebranih %lu bajtov podatkov"
msgstr[1] "prebran %lu bajt podatkov"
msgstr[2] "prebrana %lu bajta podatkov"
msgstr[3] "prebrani %lu bajti podatkov"
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "zapisanih %d bajtov"
msgstr[1] "zapisan %d bajt"
msgstr[2] "zapisana %d bajta"
msgstr[3] "zapisani %d bajti"
#: ../src/daemon/gnuserv.c:458
msgid "Enable debugging"
msgstr "Omogoči razhroščevanje"
#: ../src/daemon/gnuserv.c:460
msgid "Enable verbose output"
msgstr "Omogoči podroben izpis"
#: ../src/daemon/gnuserv.c:462
msgid "Don't fork into background"
msgstr "Ne razveji v ozadje"
#: ../src/daemon/gnuserv.c:464
msgid "Invoked from inetd"
msgstr "Poklican s programom inetd"
#: ../src/daemon/gnuserv.c:498
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "Za popoln seznam možnosti ukazne vrstice zaženite '%s --help'.\n"
#: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr "Odloži"
#: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "Prekinitev"
#: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Končaj"
#: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "Neveljaven ukaz"
#: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "Past sledenja"
#: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Prekliči"
#: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr "Napaka EMT"
#: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception"
msgstr "Izjema plavajoče vejice"
#: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "Uniči"
#: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "Napaka vodila"
#: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "Napaka razčlenjevanja"
#: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call"
msgstr "Slab argument za sistemski klic"
#: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe"
msgstr "Pretrgana cev"
#: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Budilka"
#: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Zaključek"
#: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "Nujno stanje na vtiču"
#: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "Zaustavi"
#: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "Zaustavitev tipkovnice"
#: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Nadaljuj"
#: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed"
msgstr "Stanje podrejenega procesa se je spremenilo"
#: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty"
msgstr "Branje s tty v ozadju"
#: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr "Pisanje na tty v ozadju"
#: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible"
msgstr "V/I je sedaj mogoč"
#: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded"
msgstr "Prekoračena omejitev CPE"
#: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded"
msgstr "Prekoračena omejitev dolžine datoteke"
#: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock"
msgstr "Navidezna budilka"
#: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock"
msgstr "Budilka profiliranja"
#: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change"
msgstr "Sprememba velikosti okna"
#: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "Zahteva po podatkih"
#: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr "Uporabniško določen signal 1"
#: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr "Uporabniško določen signal 2"

190
po/tg.po Normal file
View File

@@ -0,0 +1,190 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Victor Ibragimov <victor.ibragimov@gmail.com>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: Tajik Gnome\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-12-29 00:29+0000\n"
"PO-Revision-Date: 2013-01-21 15:11+0500\n"
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
"Language-Team: \n"
"Language: Tajik\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.4\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] ""
msgstr[1] ""
#: ../lib/read_data.c:51
msgid "read data size"
msgstr ""
#: ../lib/read_data.c:70
#, c-format
msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data"
msgstr[0] ""
msgstr[1] ""
#: ../lib/write.c:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] ""
msgstr[1] ""
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr ""
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr ""
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr ""
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr ""
#: ../src/daemon/gnuserv.c:495
#, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup"
msgstr ""
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr ""
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "Баромад"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr ""
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr ""
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "Қатъ кардан"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error"
msgstr ""
#: ../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
msgid "Kill"
msgstr ""
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr ""
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr ""
#: ../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
msgid "Broken pipe"
msgstr ""
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "Соати зангдор\t"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "Анҷоми кор"
#: ../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
msgid "Stop"
msgstr "Истодан"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr ""
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "Идома додан"
#: ../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
msgid "Background read from tty"
msgstr ""
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty"
msgstr ""
#: ../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
msgid "CPU limit exceeded"
msgstr ""
#: ../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
msgid "Virtual alarm clock"
msgstr ""
#: ../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
msgid "Window size change"
msgstr ""
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr ""
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1"
msgstr ""
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2"
msgstr ""

185
po/ug.po Normal file
View File

@@ -0,0 +1,185 @@
# Uyghur translation for libgtop.
# Copyright (C) 2010 libgtop's COPYRIGHT HOLDER
# This file is distributed under the same license as the libgtop package.
# Gheyret Kenji <gheyret@yahoo.com>, 2010.
# Sahran <sahran@live.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: libgtop master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n"
"POT-Creation-Date: 2010-12-23 18:26+0000\n"
"PO-Revision-Date: 2010-10-08 10:12+0600\n"
"Last-Translator: Sahran <sahran@live.com>\n"
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../lib/read.c:51
#, c-format
msgid "read %d byte"
msgid_plural "read %d bytes"
msgstr[0] "%d بايت ئوقۇ"
#: ../lib/read_data.c:51
msgid "read data size"
msgstr "ئوقۇلىدىغان سانلىق-مەلۇماتنىڭ چوڭلۇقى"
#: ../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:51
#, c-format
msgid "wrote %d byte"
msgid_plural "wrote %d bytes"
msgstr[0] "%d بايت سانلىق-مەلۇمات يازدى"
#: ../src/daemon/gnuserv.c:455
msgid "Enable debugging"
msgstr "سازلاشنى قوزغات"
#: ../src/daemon/gnuserv.c:457
msgid "Enable verbose output"
msgstr "تەپسىلىي چىقىرىشنى قوزغات"
#: ../src/daemon/gnuserv.c:459
msgid "Don't fork into background"
msgstr "ئارقا سۇپىدا تارماق جەريان ھاسىل قىلما"
#: ../src/daemon/gnuserv.c:461
msgid "Invoked from inetd"
msgstr "«inetd» ئارقىلىق قوزغىتىلغان"
#: ../src/daemon/gnuserv.c:495
#, c-format
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
msgid "Hangup"
msgstr "ئېسىپ قوي"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt"
msgstr "ئۆزەك"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit"
msgstr "چېكىن"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction"
msgstr "خاتا بۇيرۇق"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap"
msgstr "ئىزلاش توزىقى"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort"
msgstr "توختات"
#: ../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
msgid "Floating-point exception"
msgstr "كەسىر سان خاتالىق"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill"
msgstr "ئاخىرلاشتۇر"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error"
msgstr "باش لىنىيە خاتالىقى"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation"
msgstr "جەريان بۆلىكى توقۇنۇشى"
#: ../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
msgid "Broken pipe"
msgstr "بۇزۇلغان نەيچە"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock"
msgstr "قوڭغۇراقلىق سائەت"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination"
msgstr "توختات"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket"
msgstr "socket دىكى جىددىي ئەھۋال"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop"
msgstr "توختا"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop"
msgstr "ھەرپتاختا توختات"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue"
msgstr "داۋاملاشتۇر"
#: ../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
msgid "Background read from tty"
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 "CPU limit exceeded"
msgstr "CPU نىڭ چەكلىمىسىدىن ئېشىپ كەتتى"
#: ../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
msgid "Virtual alarm clock"
msgstr "مەۋھۇم قوڭغۇراقلىق سائەت"
#: ../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
msgid "Window size change"
msgstr "كۆزنەك چوڭلۇقىنىڭ ئۆزگىرىشى"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request"
msgstr "ئۇچۇر ئىلتىماسى"
#: ../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
msgid "User defined signal 2"
msgstr "ئىشلەتكۈچى بېكىتكەن سىگنال 2"

View File

@@ -90,11 +90,13 @@ main(int argc, char *argv[])
if (strcmp (uts.sysname, LIBGTOP_COMPILE_SYSTEM) ||
strcmp (uts.release, LIBGTOP_COMPILE_RELEASE) ||
strcmp (uts.machine, LIBGTOP_COMPILE_MACHINE)) {
fprintf (stderr, "Can only run on %s %s %s\n",
fprintf (stderr, "This libgtop was compiled on %s %s %s\n",
LIBGTOP_COMPILE_SYSTEM,
LIBGTOP_COMPILE_RELEASE,
LIBGTOP_COMPILE_MACHINE);
_exit (1);
fprintf (stderr, "If you see strange problems caused by it,\n");
fprintf (stderr, "you should recompile libgtop and dependent "
"applications.\n");
}
#endif

View File

@@ -2,4 +2,5 @@
SUBDIRS = common @sysdeps_dir@
DIST_SUBDIRS = bsd common linux osf1 \
stub stub_suid sun4 freebsd solaris aix darwin cygwin
stub stub_suid sun4 freebsd solaris aix darwin \
cygwin openbsd

View File

@@ -153,7 +153,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
#endif
int nswap, i;
int avail = 0, inuse = 0;
guint64 avail = 0, inuse = 0;
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
struct uvmexp uvmexp;
@@ -195,29 +195,32 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
buf->pagein = vmm.v_swappgsin - swappgsin;
buf->pageout = vmm.v_swappgsout - swappgsout;
#else
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 599002100)
/* no uvmexp.swap{ins,outs} */
buf->pagein = 0;
buf->pageout = 0;
#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
buf->pagein = uvmexp.swapins - swappgsin;
buf->pageout = uvmexp.swapouts - swappgsout;
#else
buf->pagein = vmm.v_swpin - swappgsin;
buf->pageout = vmm.v_swpout - swappgsout;
#endif
#endif
}
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
swappgsin = vmm.v_swappgsin;
swappgsout = vmm.v_swappgsout;
#else
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 599002100)
swappgsin = 0;
swappgsout = 0;
#elif defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
swappgsin = uvmexp.swapins;
swappgsout = uvmexp.swapouts;
#else
swappgsin = vmm.v_swpin;
swappgsout = vmm.v_swpout;
#endif
#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)

View File

@@ -134,19 +134,19 @@ glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid)
}
/**
* SECTION:proctime
* @title: Process Time
* @short_description: Get process time information
* @stability: Stable
*/
/**
* glibtop_get_proc_time:
* @buf:
* @pid: Process id to get the user and tty information
* @buf: Returned process time information - see #glibtop_proc_time.
* @pid: Process id
*
* Please note that under Linux, #start_time value may be strange.
* Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time
* shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined,
* we cannot use it to compute accurate @code{start_time}. On Linux2.6,
* <type>INITIAL_JIFFIES</type> is 300 so <type>start_time</type> is
* always 3s different from real start time of the given process. You
* may also get shift results if your system clock is not synchronised
* with your hardware clock. See <command>man hwclock</command>.
* Get process time information.
*/
void
glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid)
@@ -197,6 +197,26 @@ glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid)
}
/**
* SECTION:procargs
* @title: Process Arguments
* @short_description: Get process command line arguments
* @see_also: #libgtop-Process-List
* @stability: Stable
*/
/**
* glibtop_get_proc_args:
* @buf: Struct with @size of returned string.
* @pid: Process id
* @max_len: Maximum length of string to return (use zero to get all arguments).
*
* Get process command line arguments.
*
* Returns: @pid's command line arguments separated by null bytes; the length of
* this string is returned in the @buf size field. You are required to free
* the string when done.
*/
char *
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid, unsigned max_len)
{
@@ -204,6 +224,18 @@ glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid, unsigned max_len)
}
/**
* glibtop_get_proc_argv
* @buf: Struct with @size of combined returned arguments.
* @pid: Process id
* @max_len: Maximum length of all arguments combined (use zero to get all arguments).
*
* Get process command line arguments.
*
* Returns: A NULL-terminated array of strings with all arguments of process pid
* (up to @max_len characters). Remember to <function>g_strfreev</function>
* the returned array to avoid a memory leak.
*/
char **
glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid, unsigned max_len)
{
@@ -211,6 +243,23 @@ glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid, unsigned max_len)
}
/**
* SECTION:proclist
* @title: Process List
* @short_description: List running processes
* @stability: Stable
*/
/**
* glibtop_get_proclist
* @buf: Extra return information, see #glibtop_proclist.
* @which: Criteria for processes in returned list. See the <type>GLIBTOP_KERN_PROC_*</type> and <type>GLIBTOP_EXCLUDE_*</type> constants.
* @arg: Extra arguments applied to @which. Only <type>GLIBTOP_KERN_PROC_*</type> constants take arguments, see each constant definition for particular @arg description.
*
* Returns: A list of running processes or <type>NULL</type> on error. The
* returned list is allocated using <function>g_malloc</function> and must be
* freed using <function>g_free</function> to avoid a memory leak.
*/
pid_t*
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg)
{

View File

@@ -149,6 +149,15 @@ _glibtop_freebsd_get_fsusage_read_write(glibtop *server,
#define _glibtop_get_fsusage_read_write(S, B, P) \
_glibtop_freebsd_get_fsusage_read_write(S, B, P)
#elif defined(__OpenBSD__)
void
_glibtop_openbsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path);
#define _glibtop_get_fsusage_read_write(S, B, P) \
_glibtop_openbsd_get_fsusage_read_write(S, B, P)
#else /* default fallback */
#warning glibtop_get_fsusage .read .write are not implemented.
static inline void
@@ -270,7 +279,7 @@ glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf,
return;
#if (defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__)) \
|| defined(__FreeBSD__)
|| defined(__FreeBSD__) || defined(__OpenBSD__)
/* Solaris but not SunOS and FreeBSD */
buf->block_size = fsd.f_frsize;
#else

View File

@@ -3,7 +3,7 @@ INCLUDES = @INCLUDES@
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
uptime.c loadavg.c shm_limits.c msg_limits.c \
uptime.c loadavg.c mountlist.c shm_limits.c msg_limits.c \
sem_limits.c proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c prockernel.c \
procsegment.c procargs.c procmap.c siglist.c \

View File

@@ -124,7 +124,7 @@ int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
void
file_to_buffer(glibtop *server, char *buffer, size_t bufsiz, const char *filename)
{
switch(try_file_to_buffer(buffer, bufsiz, filename))
switch(try_file_to_buffer(buffer, bufsiz, "%s", filename))
{
case TRY_FILE_TO_BUFFER_OPEN:
glibtop_error_io_r (server, "open (%s)", filename);

164
sysdeps/cygwin/mountlist.c Normal file
View File

@@ -0,0 +1,164 @@
/* mountlist.c -- return a list of mounted filesystems
Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is a fork of sysdeps/common/mountlist.c.
This program 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, or (at your option)
any later version.
This program 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 this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/*
Local Variables:
mode: C
c-file-style: "gnu"
End:
*/
#include <config.h>
#include <stdio.h>
#include <mntent.h>
#include <glibtop.h>
#include <glibtop/mountlist.h>
#include <glibtop/error.h>
/* IgnoreList */
typedef struct
{
GHashTable *table;
} IgnoreList;
static IgnoreList*
ignore_list_new(void)
{
IgnoreList* ig;
ig = g_new(IgnoreList, 1);
ig->table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
return ig;
}
static void
ignore_list_delete(IgnoreList* ig)
{
if (ig) {
g_hash_table_destroy(ig->table);
g_free(ig);
}
}
static void
ignore_list_add(IgnoreList* ig, const char* fs)
{
g_hash_table_insert(ig->table, g_strdup(fs), GINT_TO_POINTER(1));
}
static gboolean
ignore_list_has(IgnoreList* ig, const char* fs)
{
gpointer data;
data = g_hash_table_lookup(ig->table, fs);
return data != NULL;
}
/* ~IgnoreList */
static gboolean
ignore_fs(const char *fstype, IgnoreList** ig)
{
if (!*ig) {
FILE* fs;
char line[128];
*ig = ignore_list_new();
ignore_list_add(*ig, "none");
if ((fs = fopen("/proc/filesystems", "r")) != NULL) {
while (fgets(line, sizeof line, fs)) {
if (!strncmp(line, "nodev", 5)) {
char *type;
type = g_strstrip(line + 5);
ignore_list_add(*ig, type);
}
}
fclose(fs);
}
}
return ignore_list_has(*ig, fstype);
}
glibtop_mountentry *
glibtop_get_mountlist_s(glibtop *server, glibtop_mountlist *buf, int all_fs)
{
const struct mntent *mnt;
FILE *fp;
GArray* entries;
IgnoreList* ig = NULL;
memset(buf, 0, sizeof(glibtop_mountlist));
/* wild guess, preallocate 8 entries
on a desktop, almost everyone has / and a tmpfs for udev
if all_fs, there are also proc, sys, fuse, binfmt, etc */
entries = g_array_sized_new(FALSE, FALSE, sizeof(glibtop_mountentry), 8);
if (!(fp = setmntent(MOUNTED, "r"))) {
glibtop_warn_io_r(server, "Could not open %s", MOUNTED);
goto out;
}
while ((mnt = getmntent(fp)))
{
glibtop_mountentry *me;
gsize len;
if (!all_fs && ignore_fs(mnt->mnt_type, &ig))
continue;
len = entries->len;
g_array_set_size(entries, len + 1);
me = &g_array_index(entries, glibtop_mountentry, len);
g_strlcpy(me->devname, mnt->mnt_fsname, sizeof me->devname);
g_strlcpy(me->mountdir, mnt->mnt_dir, sizeof me->mountdir);
g_strlcpy(me->type, mnt->mnt_type, sizeof me->type);
}
endmntent(fp);
out:
ignore_list_delete(ig);
buf->size = sizeof(glibtop_mountentry);
buf->number = entries->len;
buf->total = buf->number * buf->size;
buf->flags = (1 << GLIBTOP_MOUNTLIST_SIZE)
| (1 << GLIBTOP_MOUNTLIST_NUMBER)
| (1 << GLIBTOP_MOUNTLIST_TOTAL);
return (glibtop_mountentry*) g_array_free(entries, FALSE);
}

View File

@@ -43,7 +43,7 @@ _glibtop_init_proclist_p (glibtop *server)
pid_t *
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
int64_t which, int64_t arg)
gint64 which, gint64 arg)
{
unsigned count, total, i;
pid_t *pids_chain;

View File

@@ -7,12 +7,12 @@ libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c shm_limits.c \
cpu.c msg_limits.c sem_limits.c loadavg.c \
uptime.c netlist.c fsusage.c mem.c \
mountlist.c procopenfiles.c procwd.c \
procaffinity.c glibtop_private.c
procaffinity.c glibtop_private.c open.c
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtop_sysdeps_suid_2_0_la_LIBADD = $(KVM_LIBS) $(EXTRA_SYSDEPS_LIBS)
libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c swap.c \
libgtop_sysdeps_suid_2_0_la_SOURCES = suid_open.c close.c swap.c \
proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c \
prockernel.c procsegment.c procargs.c \

View File

@@ -54,6 +54,7 @@ void
glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf)
{
long cpts [CPUSTATES];
long *cp_times = NULL;
struct clockinfo ci;
size_t length;
int ncpu, i;
@@ -75,6 +76,16 @@ glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf)
return;
}
length = 0;
if (sysctlbyname ("kern.cp_times", NULL, &length, NULL, 0) == 0) {
cp_times = g_malloc (length);
length = sizeof(long) * CPUSTATES * (length / (sizeof(long) * CPUSTATES));
if (sysctlbyname ("kern.cp_times", cp_times, &length, NULL, 0)) {
g_free (cp_times);
cp_times = NULL;
}
}
/* set user time */
buf->user = cpts [CP_USER];
/* set nice time */
@@ -89,22 +100,32 @@ glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf)
/* set frequency */
buf->frequency = (ci.stathz ? ci.stathz : ci.hz);
/* set total */
buf->total = cpts [CP_USER] + cpts [CP_NICE]
buf->total = cpts [CP_USER] + cpts [CP_NICE] \
+ cpts [CP_SYS] + cpts [CP_IDLE] + cpts [CP_INTR];
ncpu = server->ncpu + 1;
for (i = 0; i < ncpu; i++) {
buf->xcpu_user[i] = cpts [CP_USER] / ncpu;
buf->xcpu_nice[i] = cpts [CP_NICE] / ncpu;
buf->xcpu_sys[i] = cpts [CP_SYS] / ncpu;
buf->xcpu_idle[i] = cpts [CP_IDLE] / ncpu;
buf->xcpu_irq[i] = cpts [CP_INTR] / ncpu;
if (cp_times) {
buf->xcpu_user[i] = cp_times[i * CPUSTATES + CP_USER];
buf->xcpu_nice[i] = cp_times[i * CPUSTATES + CP_NICE];
buf->xcpu_sys[i] = cp_times[i * CPUSTATES + CP_SYS];
buf->xcpu_idle[i] = cp_times[i * CPUSTATES + CP_IDLE];
buf->xcpu_irq[i] = cp_times[i * CPUSTATES + CP_INTR];
} else {
buf->xcpu_user[i] = cpts [CP_USER] / ncpu;
buf->xcpu_nice[i] = cpts [CP_NICE] / ncpu;
buf->xcpu_sys[i] = cpts [CP_SYS] / ncpu;
buf->xcpu_idle[i] = cpts [CP_IDLE] / ncpu;
buf->xcpu_irq[i] = cpts [CP_INTR] / ncpu;
}
buf->xcpu_total[i] = buf->xcpu_user[i] + buf->xcpu_nice[i] \
+ buf->xcpu_sys[i] + buf->xcpu_idle[i] \
+ buf->xcpu_irq[i];
}
g_free (cp_times);
/* Set the flags last. */
buf->flags = _glibtop_sysdeps_cpu;

View File

@@ -24,6 +24,7 @@
#include <sys/param.h>
#include <nlist.h>
#include <limits.h>
#include <kvm.h>
#include <sys/dkstat.h>
#include <time.h>

View File

@@ -79,10 +79,10 @@ glibtop_get_mem_s (glibtop *server, glibtop_mem *buf)
buffers = 0;
buf->total = memtotal;
buf->used = (memused * pagesize);
buf->used = (memused * (gulong) pagesize);
buf->free = (buf->total - buf->used);
buf->shared = 0;
buf->cached = (cached * pagesize);
buf->cached = (cached * (gulong) pagesize);
buf->buffer = buffers;
buf->user = buf->total - buf->free - buf->cached - buf->buffer;

View File

@@ -21,16 +21,8 @@
#include <config.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
void
glibtop_open_s (glibtop *server,
const char *program_name,
const unsigned long features,
const unsigned flags)
{ }
void
glibtop_close_s (glibtop *server)
{ }

View File

@@ -20,76 +20,33 @@
*/
#include <config.h>
#include <sys/types.h>
#include <sys/sysctl.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/open.h>
#include <glibtop/init_hooks.h>
#include <glibtop/cpu.h>
#include <glibtop/error.h>
#include <glibtop_private.h>
/* !!! THIS FUNCTION RUNS SUID ROOT - CHANGE WITH CAUTION !!! */
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags)
{
const _glibtop_init_func_t *init_fkt;
if (server == NULL)
glibtop_error_r (NULL, "glibtop_init_p (server == NULL)");
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_p (server, "glibtop", features, flags);
for (init_fkt = _glibtop_init_hook_p; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
}
void
glibtop_open_p (glibtop *server, const char *program_name,
glibtop_open_s (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags)
{
#ifdef DEBUG
fprintf (stderr, "DEBUG (%d): glibtop_open_p ()\n", getpid ());
#endif
int ncpus;
size_t len;
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
len = sizeof (ncpus);
sysctlbyname ("hw.ncpu", &ncpus, &len, NULL, 0);
server->real_ncpu = ncpus - 1;
server->ncpu = MIN(GLIBTOP_NCPU - 1, server->real_ncpu);
server->machine.uid = getuid ();
server->machine.euid = geteuid ();
server->machine.gid = getgid ();
server->machine.egid = getegid ();
#if defined(__FreeBSD_kernel__)
server->os_version_code = __FreeBSD_kernel_version;
#else
server->os_version_code = __FreeBSD_version;
#endif
/* Setup machine-specific data */
server->machine.kd = kvm_open (NULL, NULL, NULL, O_RDONLY, "kvm_open");
if (server->machine.kd == NULL)
glibtop_error_io_r (server, "kvm_open");
/* Drop priviledges. */
if (setreuid (server->machine.euid, server->machine.uid))
_exit (1);
if (setregid (server->machine.egid, server->machine.gid))
_exit (1);
/* !!! END OF SUID ROOT PART !!! */
/* Our effective uid is now those of the user invoking the server,
* so we do no longer have any priviledges. */
/* NOTE: On FreeBSD, we do not need to be suid root, we just need to
* be sgid kmem.
*
* The server will only use setegid() to get back it's priviledges,
* so it will fail if it is suid root and not sgid kmem. */
}

View File

@@ -42,7 +42,7 @@
#include <sys/pipe.h>
#include <sys/conf.h>
#undef _KERNEL
#if __FreeBSD_version >= 800038
#if (__FreeBSD_version >= 800038) || (__FreeBSD_kernel_version >= 800038)
#define _WANT_FILE
#include <sys/file.h>
#undef _WANT_FILE
@@ -85,7 +85,9 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
char tagstr[12];
struct inode inode;
struct cdev_priv priv;
#if __FreeBSD_version < 800039
struct cdev si;
#endif
*inum = 0;
*dev = 0;
@@ -111,18 +113,18 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
return;
}
if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
sizeof (si)) != sizeof (si) ||
#if __FreeBSD_version >= 800039
kvm_read (server->machine.kd, (gulong) cdev2priv(&si), (char *) &priv,
#if (__FreeBSD_version >= 800039) || (__FreeBSD_kernel_version >= 800039)
if (kvm_read (server->machine.kd, (gulong) cdev2priv(inode.i_dev), (char *) &priv,
sizeof (priv))
#else
if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
sizeof (si)) != sizeof (si) ||
kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv,
sizeof (priv))
#endif
!= sizeof (priv))
{
glibtop_warn_io_r (server, "kvm_read (si)");
glibtop_warn_io_r (server, "kvm_read (priv)");
return;
}

View File

@@ -35,6 +35,9 @@
#include <sys/user.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#ifdef HAVE_KINFO_GETFILE
#include <libutil.h>
#endif
#include <string.h>
#include <stdlib.h>
@@ -263,9 +266,13 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
{
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
struct kinfo_file *freep, *kif;
#ifndef HAVE_KINFO_GETFILE
int name[4];
size_t len;
size_t i;
#else
int cnt;
#endif
ssize_t i;
#else
char *output;
#endif
@@ -274,6 +281,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
memset(buf, 0, sizeof (glibtop_proc_open_files));
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
#ifndef HAVE_KINFO_GETFILE
name[0] = CTL_KERN;
name[1] = KERN_PROC;
name[2] = KERN_PROC_FILEDESC;
@@ -287,12 +295,25 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
g_free(freep);
return NULL;
}
#else
freep = kinfo_getfile(pid, &cnt);
#endif
entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
#ifndef HAVE_KINFO_GETFILE
for (i = 0; i < len / sizeof(*kif); i++, kif++) {
glibtop_open_files_entry entry = {0};
if (kif->kf_structsize != sizeof(*kif))
continue;
#else
for (i = 0; i < cnt; i++) {
glibtop_open_files_entry entry = {0};
kif = &freep[i];
#endif
if (kif->kf_fd < 0)
continue;

View File

@@ -27,6 +27,9 @@
#include <sys/sysctl.h>
#include <sys/param.h>
#include <sys/user.h>
#ifdef HAVE_KINFO_GETFILE
#include <libutil.h>
#endif
#include <string.h>
static const unsigned long _glibtop_sysdeps_proc_wd =
@@ -40,7 +43,7 @@ _glibtop_init_proc_wd_s(glibtop *server)
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
}
#if (__FreeBSD_version >= 800000 && __FreeBSD_version < 800019) || _FreeBSD_version < 700104
#if (__FreeBSD_version >= 800000 && __FreeBSD_version < 800019) || __FreeBSD_version < 700104
static GPtrArray *
parse_output(const char *output, glibtop_proc_wd *buf)
{
@@ -97,24 +100,39 @@ parse_output(const char *output, glibtop_proc_wd *buf)
char**
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
{
char path[MAXPATHLEN];
int exe_mib[4];
size_t len;
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
struct kinfo_file *freep, *kif;
GPtrArray *dirs;
size_t len;
int i;
#ifndef HAVE_KINFO_GETFILE
int name[4];
#else
int cnt;
#endif
int i;
#else
char *output;
#endif
memset (buf, 0, sizeof (glibtop_proc_wd));
len = 0;
g_snprintf(path, sizeof(path), "/proc/%u/file", pid);
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
exe_mib[0] = CTL_KERN;
exe_mib[1] = KERN_PROC;
exe_mib[2] = KERN_PROC_PATHNAME;
exe_mib[3] = pid;
if (sysctl(exe_mib, 4, NULL, &len, NULL, 0) == 0) {
if (len > sizeof(buf->exe))
len = sizeof(buf->exe);
if (sysctl(exe_mib, 4, buf->exe, &len, NULL, 0) == 0)
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
}
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
#ifndef HAVE_KINFO_GETFILE
len = 0;
name[0] = CTL_KERN;
name[1] = KERN_PROC;
name[2] = KERN_PROC_FILEDESC;
@@ -127,10 +145,21 @@ glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
g_free(freep);
return NULL;
}
#else
freep = kinfo_getfile(pid, &cnt);
#endif
dirs = g_ptr_array_sized_new(1);
#ifndef HAVE_KINFO_GETFILE
for (i = 0; i < len / sizeof(*kif); i++, kif++) {
if (kif->kf_structsize != sizeof(*kif))
continue;
#else
for (i = 0; i < cnt; i++) {
kif = &freep[i];
#endif
switch (kif->kf_fd) {
case KF_FD_TYPE_ROOT:
g_strlcpy(buf->root, kif->kf_path,

View File

@@ -0,0 +1,92 @@
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/cpu.h>
#include <glibtop/open.h>
#include <glibtop/init_hooks.h>
/* !!! THIS FUNCTION RUNS SUID ROOT - CHANGE WITH CAUTION !!! */
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags)
{
const _glibtop_init_func_t *init_fkt;
if (server == NULL)
glibtop_error_r (NULL, "glibtop_init_p (server == NULL)");
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_p (server, "glibtop", features, flags);
for (init_fkt = _glibtop_init_hook_p; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
}
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags)
{
char errbuf[_POSIX2_LINE_MAX];
#ifdef DEBUG
fprintf (stderr, "DEBUG (%d): glibtop_open_p ()\n", getpid ());
#endif
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
server->machine.uid = getuid ();
server->machine.euid = geteuid ();
server->machine.gid = getgid ();
server->machine.egid = getegid ();
/* Setup machine-specific data */
server->machine.kd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, errbuf);
if (server->machine.kd == NULL)
glibtop_error_io_r (server, "kvm_open");
/* Drop priviledges. */
if (setreuid (server->machine.euid, server->machine.uid))
_exit (1);
if (setregid (server->machine.egid, server->machine.gid))
_exit (1);
/* !!! END OF SUID ROOT PART !!! */
/* Our effective uid is now those of the user invoking the server,
* so we do no longer have any priviledges. */
/* NOTE: On FreeBSD, we do not need to be suid root, we just need to
* be sgid kmem.
*
* The server will only use setegid() to get back it's priviledges,
* so it will fail if it is suid root and not sgid kmem. */
}

View File

@@ -45,8 +45,8 @@ init_sysinfo (glibtop *server)
glibtop_init_s (&server, GLIBTOP_SYSDEPS_CPU, 0);
len = sizeof (ncpus);
sysctlbyname ("hw.ncpu", &ncpus, &len, NULL, 0);
ncpus = server->ncpu + 1;
len = 0;
sysctlbyname ("hw.model", NULL, &len, NULL, 0);
model = g_malloc (len);

View File

@@ -41,6 +41,10 @@ get_device(glibtop* server, const char *mountpoint,
while ((mnt = getmntent(fp)))
{
/* There can be multiple root mount entries, skip the unuseful one */
if (!strcmp(mnt->mnt_fsname, "rootfs"))
continue;
if (!strcmp(mountpoint, mnt->mnt_dir)) {
if (!strncmp(mnt->mnt_fsname, "/dev/", 5)) {
g_strlcpy(device, mnt->mnt_fsname + 5, device_size);

View File

@@ -1,3 +1,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
/* ANSI-C code produced by gperf version 3.0.3 */
/* Command-line: gperf sysdeps/linux/procmap_smaps.gperf */
/* Computed positions: -k'9' */

View File

@@ -36,7 +36,7 @@ static glibtop_sysinfo sysinfo = { .flags = 0 };
static void
init_sysinfo (glibtop *server)
{
char buffer [16384];
char buffer [65536];
gchar ** processors;
if(G_LIKELY(sysinfo.flags)) return;

7
sysdeps/openbsd/AUTHORS Normal file
View File

@@ -0,0 +1,7 @@
Martin Baulig (martin@home-of-linux.org)
Josh Sled (jsled@scam.XCF.Berkeley.EDU)
Contributions/bugfixes by:
Antoine Jacoutot <ajacoutot@openbsd.org>
Ariane van der Steldt <ariane@stack.nl>
Jasper Lievisse Adriaanse <jasper@openbsd.org>

View File

@@ -0,0 +1,25 @@
# $OpenBSD: Makefile.am,v 1.2 2011/05/23 19:35:52 jasper Exp $
INCLUDES = @INCLUDES@
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtop_sysdeps_suid_2_0_la_LIBADD = $(KVM_LIBS)
libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
uptime.c loadavg.c shm_limits.c msg_limits.c \
sem_limits.c proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c prockernel.c \
procsegment.c procargs.c procmap.c netlist.c \
netload.c ppp.c procopenfiles.c fsusage.c \
procwd.c procaffinity.c glibtop_private.c
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h \
glibtop_suid.h glibtop_private.h
libgtopincludedir = $(includedir)/libgtop-2.0

32
sysdeps/openbsd/close.c Normal file
View File

@@ -0,0 +1,32 @@
/* $OpenBSD: close.c,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/close.h>
/* Closes pipe to gtop server. */
void
glibtop_close_p (glibtop *server)
{ }

103
sysdeps/openbsd/cpu.c Normal file
View File

@@ -0,0 +1,103 @@
/* $OpenBSD: cpu.c,v 1.7 2011/07/10 15:23:01 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/cpu.h>
#include <glibtop_suid.h>
#include <sys/sched.h>
static const unsigned long _glibtop_sysdeps_cpu =
(1L << GLIBTOP_CPU_TOTAL) + (1L << GLIBTOP_CPU_USER) +
(1L << GLIBTOP_CPU_NICE) + (1L << GLIBTOP_CPU_SYS) +
(1L << GLIBTOP_CPU_IDLE) + (1L << GLIBTOP_CPU_FREQUENCY) +
(1L << GLIBTOP_CPU_IRQ);
/* MIB array for sysctl */
static int mib_length=2;
static int mib [] = { CTL_KERN, KERN_CLOCKRATE };
static int mib2 [] = { CTL_KERN, KERN_CPTIME };
/* Init function. */
void
_glibtop_init_cpu_p (glibtop *server)
{
server->sysdeps.cpu = _glibtop_sysdeps_cpu;
}
/* Provides information about cpu usage. */
void
glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf)
{
gulong cpts [CPUSTATES];
/* sysctl vars*/
struct clockinfo ci;
size_t length;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_CPU), 0);
memset (buf, 0, sizeof (glibtop_cpu));
/* If this fails, the nlist may not be valid. */
if (server->sysdeps.cpu == 0)
return;
length = sizeof (cpts);
if (sysctl (mib2, mib_length, cpts, &length, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (kern.cptime)");
return;
}
/* Get the clockrate data */
length = sizeof (struct clockinfo);
if (sysctl (mib, mib_length, &ci, &length, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (kern.clockrate)");
return;
}
/* set user time */
buf->user = cpts [CP_USER];
/* set nice time */
buf->nice = cpts [CP_NICE];
/* set sys time */
buf->sys = cpts [CP_SYS];
/* set idle time */
buf->idle = cpts [CP_IDLE];
/* set interrupt time */
buf->irq = cpts [CP_INTR];
/* set frequency */
buf->frequency = ci.hz;
/* set total */
buf->total = cpts [CP_USER] + cpts [CP_NICE]
+ cpts [CP_SYS] + cpts [CP_IDLE] + cpts [CP_INTR];
/* Set the flags last. */
buf->flags = _glibtop_sysdeps_cpu;
}

63
sysdeps/openbsd/fsusage.c Normal file
View File

@@ -0,0 +1,63 @@
/* $OpenBSD: fsusage.c,v 1.4 2011/05/31 19:25:31 jasper Exp $ */
#include <config.h>
/*
* statvfs is lacking various members which are present in statfs,
* like f_(a)syncreads and f_(a)syncwrites. So eventhough we have
* statvfs, undef it here untill those members are added.
*/
#undef HAVE_SYS_STATVFS_H
#undef STAT_STATVFS
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/fsusage.h>
#include <glibtop_suid.h>
#include <glib.h>
#include <unistd.h>
#include <sys/param.h>
#if defined (HAVE_SYS_STATVFS_H)
#include <sys/statvfs.h>
#else
#include <sys/mount.h>
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void
_glibtop_openbsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path);
void
_glibtop_openbsd_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
const char *path)
{
int result;
#if defined (STAT_STATVFS)
struct statvfs sfs;
#else
struct statfs sfs;
#endif
#if defined (STAT_STATVFS)
result = statvfs (path, &sfs);
#else
result = statfs (path, &sfs);
#endif
if (result == -1) {
return;
}
buf->read = sfs.f_syncreads + sfs.f_asyncreads;
buf->write = sfs.f_syncwrites + sfs.f_asyncwrites;
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
}

View File

@@ -0,0 +1,56 @@
/* $OpenBSD: glibtop_machine.h,v 1.3 2011/05/23 19:35:53 jasper Exp $ */
/* 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_MACHINE_H__
#define __GLIBTOP_MACHINE_H__
#include <sys/param.h>
#include <nlist.h>
#include <kvm.h>
#include <sys/dkstat.h>
#include <time.h>
#include <sys/user.h>
#include <sys/types.h>
#include <sys/proc.h>
#include <sys/sysctl.h>
#include <fcntl.h>
G_BEGIN_DECLS
typedef struct _glibtop_machine glibtop_machine;
struct _glibtop_machine
{
uid_t uid, euid;
gid_t gid, egid;
/* The kernel descriptor, used by kvm_* calls. We keep and re-use
* it rather than re-getting it for almost all function
* invocations. */
kvm_t *kd;
};
G_END_DECLS
#endif /* __GLIBTOP_MACHINE_H__ */

View File

@@ -0,0 +1,56 @@
/* $OpenBSD: glibtop_private.c,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include "glibtop_private.h"
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <glib.h>
#include <errno.h>
char *
execute_lsof(pid_t pid) {
char *output = NULL;
char *lsof;
char *command;
int exit_status;
lsof = g_find_program_in_path("lsof");
if (lsof == NULL)
return NULL;
command = g_strdup_printf("%s -n -P -Fftn -p %d", lsof, pid);
g_free(lsof);
if (g_spawn_command_line_sync (command, &output, NULL, &exit_status, NULL)) {
if (exit_status != 0) {
g_warning("Could not execute \"%s\" (%i)\nMake sure lsof(8) is installed sgid kmem.",
command, exit_status);
output = NULL;
}
}
g_free(command);
return output;
}
/* Ported from linux/glibtop_private.c */
gboolean
safe_readlink(const char *path, char *buf, int bufsiz)
{
int ret;
ret = readlink(path, buf, bufsiz - 1);
if (ret == -1) {
g_warning("Could not read link %s : %s", path, strerror(errno));
return FALSE;
}
buf[ret] = '\0';
return TRUE;
}

View File

@@ -0,0 +1,42 @@
/* $OpenBSD: glibtop_private.h,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
/* Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 2.0.
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 __OPENBSD__GLIBTOP_PRIVATE_H__
#define __OPENBSD__GLIBTOP_PRIVATE_H__
#include <glibtop.h>
#include <glibtop/error.h>
#include <glib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
G_BEGIN_DECLS
char *execute_lsof(pid_t pid);
gboolean safe_readlink(const char *path, char *buf, int bufsiz);
G_END_DECLS
#endif /* __OPENBSD__GLIBTOP_PRIVATE_H__ */

View File

@@ -0,0 +1,55 @@
/* $OpenBSD: glibtop_server.h,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
/* 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_H__
#define __GLIBTOP_SERVER_H__
G_BEGIN_DECLS
#define GLIBTOP_SUID_CPU (1 << GLIBTOP_SYSDEPS_CPU)
#define GLIBTOP_SUID_MEM (1 << GLIBTOP_SYSDEPS_MEM)
#define GLIBTOP_SUID_SWAP (1 << GLIBTOP_SYSDEPS_SWAP)
#define GLIBTOP_SUID_UPTIME (1 << GLIBTOP_SYSDEPS_UPTIME)
#define GLIBTOP_SUID_LOADAVG (1 << GLIBTOP_SYSDEPS_LOADAVG)
#define GLIBTOP_SUID_SHM_LIMITS (1 << GLIBTOP_SYSDEPS_SHM_LIMITS)
#define GLIBTOP_SUID_MSG_LIMITS (1 << GLIBTOP_SYSDEPS_MSG_LIMITS)
#define GLIBTOP_SUID_SEM_LIMITS (1 << GLIBTOP_SYSDEPS_SEM_LIMITS)
#define GLIBTOP_SUID_PROCLIST (1 << GLIBTOP_SYSDEPS_PROCLIST)
#define GLIBTOP_SUID_PROC_STATE (1 << GLIBTOP_SYSDEPS_PROC_STATE)
#define GLIBTOP_SUID_PROC_UID (1 << GLIBTOP_SYSDEPS_PROC_UID)
#define GLIBTOP_SUID_PROC_MEM (1 << GLIBTOP_SYSDEPS_PROC_MEM)
#define GLIBTOP_SUID_PROC_TIME (1 << GLIBTOP_SYSDEPS_PROC_TIME)
#define GLIBTOP_SUID_PROC_SIGNAL (1 << GLIBTOP_SYSDEPS_PROC_SIGNAL)
#define GLIBTOP_SUID_PROC_KERNEL (1 << GLIBTOP_SYSDEPS_PROC_KERNEL)
#define GLIBTOP_SUID_PROC_SEGMENT (1 << GLIBTOP_SYSDEPS_PROC_SEGMENT)
#define GLIBTOP_SUID_PROC_ARGS (1 << GLIBTOP_SYSDEPS_PROC_ARGS)
#define GLIBTOP_SUID_PROC_MAP (1 << GLIBTOP_SYSDEPS_PROC_MAP)
#define GLIBTOP_SUID_NETLOAD (1 << GLIBTOP_SYSDEPS_NETLOAD)
#define GLIBTOP_SUID_NETLIST 0
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
#define GLIBTOP_SUID_PROC_WD 0
#define GLIBTOP_SUID_PROC_AFFINITY 0
G_END_DECLS
#endif

View File

@@ -0,0 +1,58 @@
/* $OpenBSD: glibtop_suid.h,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
/* 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_SUID_H__
#define __GLIBTOP_SUID_H__
G_BEGIN_DECLS
#if _IN_LIBGTOP
#include <sys/param.h>
#endif
#define KI_PROC(ki) (&(ki))->kp_proc)
#define KI_EPROC(ki) (&(ki))->kp_eproc)
#define FORCEUREAD 1
#define UREADOK(ki) (FORCEUREAD || (KI_PROC(ki)->p_flag & P_INMEM))
static inline void glibtop_suid_enter (glibtop *server) {
setregid (server->machine.gid, server->machine.egid);
};
static inline void glibtop_suid_leave (glibtop *server) {
if (setregid (server->machine.egid, server->machine.gid))
_exit (1);
};
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags);
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags);
G_END_DECLS
#endif

61
sysdeps/openbsd/loadavg.c Normal file
View File

@@ -0,0 +1,61 @@
/* $OpenBSD: loadavg.c,v 1.2 2011/05/23 19:35:53 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/loadavg.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_loadavg =
(1L << GLIBTOP_LOADAVG_LOADAVG);
/* Init function. */
void
_glibtop_init_loadavg_p (glibtop *server)
{
server->sysdeps.loadavg = _glibtop_sysdeps_loadavg;
}
/* Provides load averange. */
void
glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf)
{
double ldavg[3];
int i;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_LOADAVG), 0);
memset (buf, 0, sizeof (glibtop_loadavg));
getloadavg (ldavg, 3);
/* fill in the struct */
buf->flags = _glibtop_sysdeps_loadavg;
for (i = 0; i < 3; i++) {
buf->loadavg [i] = ldavg [i];
} /* end for */
}

152
sysdeps/openbsd/mem.c Normal file
View File

@@ -0,0 +1,152 @@
/* $OpenBSD: mem.c,v 1.11 2011/07/10 15:23:01 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/mem.h>
#include <glibtop_suid.h>
#include <sys/mount.h>
#include <sys/sysctl.h>
#include <sys/vmmeter.h>
#include <uvm/uvm_extern.h>
#include <uvm/uvm_param.h>
static const unsigned long _glibtop_sysdeps_mem =
(1L << GLIBTOP_MEM_TOTAL) + (1L << GLIBTOP_MEM_USED) +
(1L << GLIBTOP_MEM_FREE) + (1L << GLIBTOP_MEM_SHARED) +
(1L << GLIBTOP_MEM_BUFFER) + (1L << GLIBTOP_MEM_CACHED) +
(1L << GLIBTOP_MEM_USER) + (1L << GLIBTOP_MEM_LOCKED);
#ifndef LOG1024
#define LOG1024 10
#endif
/* these are for getting the memory statistics */
static int pageshift; /* log base 2 of the pagesize */
/* define pagetok in terms of pageshift */
#define pagetok(size) ((size) << pageshift)
/* nlist structure for kernel access */
static struct nlist nlst [] = {
{ "_bufpages" },
{ 0 }
};
/* MIB array for sysctl */
static int vmmeter_mib [] = { CTL_VM, VM_METER };
static int uvmexp_mib [] = { CTL_VM, VM_UVMEXP };
static int bcstats_mib [] = { CTL_VFS, VFS_GENERIC, VFS_BCACHESTAT };
/* Init function. */
void
_glibtop_init_mem_p (glibtop *server)
{
register int pagesize;
if (kvm_nlist (server->machine.kd, nlst) < 0) {
glibtop_warn_io_r (server, "kvm_nlist (mem)");
return;
}
/* get the page size and calculate pageshift from it */
pagesize = sysconf(_SC_PAGESIZE);
pageshift = 0;
while (pagesize > 1) {
pageshift++;
pagesize >>= 1;
}
/* we only need the amount of log(2)1024 for our conversion */
pageshift -= LOG1024;
server->sysdeps.mem = _glibtop_sysdeps_mem;
}
void
glibtop_get_mem_p (glibtop *server, glibtop_mem *buf)
{
struct vmtotal vmt;
struct uvmexp uvmexp;
struct bcachestats bcstats;
u_int v_used_count;
u_int v_total_count;
u_int v_free_count;
size_t length;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_MEM), 0);
memset (buf, 0, sizeof (glibtop_mem));
if (server->sysdeps.mem == 0)
return;
/* Get the data from sysctl */
length = sizeof (vmt);
if (sysctl (vmmeter_mib, 2, &vmt, &length, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (vm.vmmeter)");
bzero(&vmt, sizeof(length));
return;
}
length = sizeof (uvmexp);
if (sysctl (uvmexp_mib, 2, &uvmexp, &length, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (vm.uvmexp)");
bzero(&uvmexp, sizeof(length));
return;
}
length = sizeof (bcstats);
if (sysctl (bcstats_mib, 3, &bcstats, &length, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (vfs.generic.bcstats)");
bzero(&bcstats, sizeof(length));
return;
}
/*
* t_arm = active real memory
* t_rm = total real memory in use
* t_free = free memory pages
*/
v_total_count = vmt.t_rm + vmt.t_free;
v_used_count = vmt.t_rm;
v_free_count = vmt.t_free;
/* convert memory stats to Kbytes */
buf->total = (guint64) pagetok (v_total_count) << LOG1024;
buf->used = (guint64) pagetok (v_used_count) << LOG1024;
buf->free = (guint64) pagetok (v_free_count) << LOG1024;
buf->locked = (guint64) pagetok (uvmexp.wired) << LOG1024;
buf->shared = (guint64) pagetok (vmt.t_rmshr) << LOG1024;
buf->cached = (guint64) pagetok (bcstats.numbufpages) << LOG1024;
buf->buffer = 0;
buf->user = buf->total - buf->free - buf->cached - buf->buffer;
/* Set the values to return */
buf->flags = _glibtop_sysdeps_mem;
}

View File

@@ -0,0 +1,96 @@
/* $OpenBSD: msg_limits.c,v 1.3 2011/05/23 19:35:54 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, August 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/msg_limits.h>
#include <glibtop_suid.h>
/* Define the appropriate macro (if any) to get declaration of `struct
* msginfo'. Needed on, at least, FreeBSD. */
#if defined (STRUCT_MSGINFO_NEEDS_KERNEL)
#define KERNEL 1
#elif defined (STRUCT_MSGINFO_NEEDS__KERNEL)
#define _KERNEL 1
#endif
#include <sys/ipc.h>
#include <sys/msg.h>
static const unsigned long _glibtop_sysdeps_msg_limits =
(1L << GLIBTOP_IPC_MSGMAX) + (1L << GLIBTOP_IPC_MSGMNI) +
(1L << GLIBTOP_IPC_MSGMNB) + (1L << GLIBTOP_IPC_MSGTQL) +
(1L << GLIBTOP_IPC_MSGSSZ);
/* The values in this structure never change at runtime, so we only
* read it once during initialization. We have to use the name `_msginfo'
* since `msginfo' is already declared external in <sys/msg.h>. */
static struct msginfo _msginfo;
/* nlist structure for kernel access */
static struct nlist nlst [] = {
{ "_msginfo" },
{ 0 }
};
/* Init function. */
void
_glibtop_init_msg_limits_p (glibtop *server)
{
if (kvm_nlist (server->machine.kd, nlst) < 0) {
glibtop_warn_io_r (server, "kvm_nlist (msg_limits)");
return;
}
if (kvm_read (server->machine.kd, nlst [0].n_value,
&_msginfo, sizeof (_msginfo)) != sizeof (_msginfo)) {
glibtop_warn_io_r (server, "kvm_read (msginfo)");
return;
}
server->sysdeps.msg_limits = _glibtop_sysdeps_msg_limits;
}
/* Provides information about sysv ipc limits. */
void
glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf)
{
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_MSG_LIMITS), 0);
memset (buf, 0, sizeof (glibtop_msg_limits));
if (server->sysdeps.msg_limits == 0)
return;
buf->msgmax = _msginfo.msgmax;
buf->msgmni = _msginfo.msgmni;
buf->msgmnb = _msginfo.msgmnb;
buf->msgtql = _msginfo.msgtql;
buf->msgssz = _msginfo.msgtql;
buf->flags = _glibtop_sysdeps_msg_limits;
}

68
sysdeps/openbsd/netlist.c Normal file
View File

@@ -0,0 +1,68 @@
/* $OpenBSD: netlist.c,v 1.2 2011/05/23 19:35:54 jasper Exp $ */
/*
This file is part of LibGTop 2.0.
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/netlist.h>
#include <glibtop/error.h>
#include <net/if.h>
static const unsigned long _glibtop_sysdeps_netlist = (1 << GLIBTOP_NETLIST_NUMBER);
/* Init function. */
void
_glibtop_init_netlist_s (glibtop *server)
{
server->sysdeps.netlist = _glibtop_sysdeps_netlist;
}
char**
glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf)
{
struct if_nameindex *ifstart, *ifs;
GPtrArray *devices;
glibtop_init_s (&server, GLIBTOP_SYSDEPS_NETLIST, 0);
memset (buf, 0, sizeof (glibtop_netlist));
ifs = ifstart = if_nameindex();
devices = g_ptr_array_new();
while(ifs && ifs->if_name) {
g_ptr_array_add(devices, g_strdup(ifs->if_name));
buf->number++;
ifs++;
}
if_freenameindex(ifstart);
buf->flags = _glibtop_sysdeps_netlist;
g_ptr_array_add(devices, NULL);
return (char **) g_ptr_array_free(devices, FALSE);
}

239
sysdeps/openbsd/netload.c Normal file
View File

@@ -0,0 +1,239 @@
/* $OpenBSD: netload.c,v 1.4 2011/06/20 09:50:04 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, October 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/netload.h>
#include <glibtop_suid.h>
#include <string.h>
#include <net/if.h>
#include <net/if_dl.h>
#include <net/if_types.h>
#include <sys/ioctl.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <netinet/in.h>
#include <netinet/in_var.h>
#include <netinet6/in6_var.h>
static const unsigned long _glibtop_sysdeps_netload =
(1L << GLIBTOP_NETLOAD_IF_FLAGS) +
(1L << GLIBTOP_NETLOAD_PACKETS_IN) +
(1L << GLIBTOP_NETLOAD_PACKETS_OUT) +
(1L << GLIBTOP_NETLOAD_PACKETS_TOTAL) +
(1L << GLIBTOP_NETLOAD_BYTES_IN) +
(1L << GLIBTOP_NETLOAD_BYTES_OUT) +
(1L << GLIBTOP_NETLOAD_BYTES_TOTAL) +
(1L << GLIBTOP_NETLOAD_ERRORS_IN) +
(1L << GLIBTOP_NETLOAD_ERRORS_OUT) +
(1L << GLIBTOP_NETLOAD_ERRORS_TOTAL) +
(1L << GLIBTOP_NETLOAD_COLLISIONS);
static const unsigned _glibtop_sysdeps_netload_data =
(1L << GLIBTOP_NETLOAD_ADDRESS) +
(1L << GLIBTOP_NETLOAD_SUBNET) +
(1L << GLIBTOP_NETLOAD_MTU);
/* nlist structure for kernel access */
static struct nlist nlst [] = {
{ "_ifnet" },
{ 0 }
};
/* Init function. */
void
_glibtop_init_netload_p (glibtop *server)
{
server->sysdeps.netload = _glibtop_sysdeps_netload;
if (kvm_nlist (server->machine.kd, nlst) < 0)
glibtop_error_io_r (server, "kvm_nlist");
}
/* Provides Network statistics. */
void
glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
const char *interface)
{
struct ifnet ifnet;
u_long ifnetaddr, ifnetfound;
struct sockaddr *sa = NULL;
char name [32];
union {
struct ifaddr ifa;
struct in_ifaddr in;
} ifaddr;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_NETLOAD), 0);
memset (buf, 0, sizeof (glibtop_netload));
if (kvm_read (server->machine.kd, nlst [0].n_value,
&ifnetaddr, sizeof (ifnetaddr)) != sizeof (ifnetaddr))
glibtop_error_io_r (server, "kvm_read (ifnet)");
while (ifnetaddr) {
struct sockaddr_in *sin;
register char *cp;
u_long ifaddraddr;
{
ifnetfound = ifnetaddr;
if (kvm_read (server->machine.kd, ifnetaddr, &ifnet,
sizeof (ifnet)) != sizeof (ifnet))
glibtop_error_io_r (server, "kvm_read (ifnetaddr)");
g_strlcpy (name, ifnet.if_xname, sizeof(name));
ifnetaddr = (u_long) ifnet.if_list.tqe_next;
if (strcmp (name, interface) != 0)
continue;
ifaddraddr = (u_long) ifnet.if_addrlist.tqh_first;
}
if (ifnet.if_flags & IFF_UP)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_UP);
if (ifnet.if_flags & IFF_BROADCAST)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_BROADCAST);
if (ifnet.if_flags & IFF_DEBUG)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_DEBUG);
if (ifnet.if_flags & IFF_LOOPBACK)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_LOOPBACK);
if (ifnet.if_flags & IFF_POINTOPOINT)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_POINTOPOINT);
#ifdef IFF_DRV_RUNNING
if (ifnet.if_drv_flags & IFF_DRV_RUNNING)
#else
if (ifnet.if_flags & IFF_RUNNING)
#endif
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_RUNNING);
if (ifnet.if_flags & IFF_NOARP)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_NOARP);
if (ifnet.if_flags & IFF_PROMISC)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_PROMISC);
if (ifnet.if_flags & IFF_ALLMULTI)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_ALLMULTI);
#ifdef IFF_DRV_OACTIVE
if (ifnet.if_drv_flags & IFF_DRV_OACTIVE)
#else
if (ifnet.if_flags & IFF_OACTIVE)
#endif
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_OACTIVE);
if (ifnet.if_flags & IFF_SIMPLEX)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_SIMPLEX);
if (ifnet.if_flags & IFF_LINK0)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_LINK0);
if (ifnet.if_flags & IFF_LINK1)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_LINK1);
if (ifnet.if_flags & IFF_LINK2)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_LINK2);
if (ifnet.if_flags & IFF_MULTICAST)
buf->if_flags |= (1L << GLIBTOP_IF_FLAGS_MULTICAST);
buf->packets_in = ifnet.if_ipackets;
buf->packets_out = ifnet.if_opackets;
buf->packets_total = buf->packets_in + buf->packets_out;
buf->bytes_in = ifnet.if_ibytes;
buf->bytes_out = ifnet.if_obytes;
buf->bytes_total = buf->bytes_in + buf->bytes_out;
buf->errors_in = ifnet.if_ierrors;
buf->errors_out = ifnet.if_oerrors;
buf->errors_total = buf->errors_in + buf->errors_out;
buf->collisions = ifnet.if_collisions;
buf->flags = _glibtop_sysdeps_netload;
while (ifaddraddr) {
if ((kvm_read (server->machine.kd, ifaddraddr, &ifaddr,
sizeof (ifaddr)) != sizeof (ifaddr)))
glibtop_error_io_r (server, "kvm_read (ifaddraddr)");
#define CP(x) ((char *)(x))
cp = (CP(ifaddr.ifa.ifa_addr) - CP(ifaddraddr)) +
CP(&ifaddr);
sa = (struct sockaddr *)cp;
if (sa->sa_family == AF_LINK) {
struct sockaddr_dl *dl = (struct sockaddr_dl *) sa;
memcpy (buf->hwaddress, LLADDR (dl), sizeof (buf->hwaddress));
buf->flags |= (1L << GLIBTOP_NETLOAD_HWADDRESS);
} else if (sa->sa_family == AF_INET) {
sin = (struct sockaddr_in *)sa;
buf->subnet = ifaddr.in.ia_netmask;
buf->address = sin->sin_addr.s_addr;
buf->mtu = ifnet.if_mtu;
buf->flags |= _glibtop_sysdeps_netload_data;
} else if (sa->sa_family == AF_INET6) {
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) sa;
int in6fd;
memcpy (buf->address6, &sin6->sin6_addr,
sizeof (buf->address6));
buf->flags |= (1L << GLIBTOP_NETLOAD_ADDRESS6);
if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
sin6->sin6_scope_id =
ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0;
}
buf->scope6 = (guint8) sin6->sin6_scope_id;
buf->flags |= (1L << GLIBTOP_NETLOAD_SCOPE6);
in6fd = socket (AF_INET6, SOCK_DGRAM, 0);
if (in6fd >= 0) {
struct in6_ifreq ifr;
memset (&ifr, 0, sizeof (ifr));
ifr.ifr_addr = *sin6;
g_strlcpy (ifr.ifr_name, interface,
sizeof (ifr.ifr_name));
if (ioctl (in6fd, SIOCGIFNETMASK_IN6, (char *) &ifr) >= 0) {
memcpy (buf->prefix6, &ifr.ifr_addr.sin6_addr,
sizeof (buf->prefix6));
buf->flags |= (1L << GLIBTOP_NETLOAD_PREFIX6);
}
close (in6fd);
}
}
ifaddraddr = (u_long) ifaddr.ifa.ifa_list.tqe_next;
}
return;
}
}

38
sysdeps/openbsd/nosuid.c Normal file
View File

@@ -0,0 +1,38 @@
/* $OpenBSD: nosuid.c,v 1.2 2011/05/23 19:35:54 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/open.h>
#include <glibtop/close.h>
void
glibtop_open_s (glibtop *server,
const char *program_name,
const unsigned long features,
const unsigned flags)
{ }
void
glibtop_close_s (glibtop *server)
{ }

95
sysdeps/openbsd/open.c Normal file
View File

@@ -0,0 +1,95 @@
/* $OpenBSD: open.c,v 1.4 2011/05/23 19:35:54 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/open.h>
#include <glibtop/init_hooks.h>
/* !!! THIS FUNCTION RUNS SUID ROOT - CHANGE WITH CAUTION !!! */
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags)
{
const _glibtop_init_func_t *init_fkt;
if (server == NULL)
glibtop_error_r (NULL, "glibtop_init_p (server == NULL)");
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_p (server, "glibtop", features, flags);
for (init_fkt = _glibtop_init_hook_p; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
}
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags)
{
#ifdef DEBUG
fprintf (stderr, "DEBUG (%d): glibtop_open_p ()\n", getpid ());
#endif
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
server->machine.uid = getuid ();
server->machine.euid = geteuid ();
server->machine.gid = getgid ();
server->machine.egid = getegid ();
server->os_version_code = OpenBSD;
/* Setup machine-specific data */
server->machine.kd = kvm_open (NULL, NULL, NULL, O_RDONLY, "kvm_open");
if (server->machine.kd == NULL)
glibtop_error_io_r (server, "kvm_open");
/* Drop priviledges. */
if (setreuid (server->machine.euid, server->machine.uid))
_exit (1);
if (setregid (server->machine.egid, server->machine.gid))
_exit (1);
/* !!! END OF SUID ROOT PART !!! */
/* Our effective uid is now those of the user invoking the server,
* so we do no longer have any priviledges. */
/* NOTE: On FreeBSD, we do not need to be suid root, we just need to
* be sgid kmem.
*
* The server will only use setegid() to get back it's priviledges,
* so it will fail if it is suid root and not sgid kmem. */
}

141
sysdeps/openbsd/ppp.c Normal file
View File

@@ -0,0 +1,141 @@
/* $OpenBSD: ppp.c,v 1.3 2011/05/23 19:35:54 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, October 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/ppp.h>
#include <glibtop_suid.h>
#ifdef HAVE_I4B
#include <net/if.h>
#include <net/if_types.h>
#ifdef HAVE_NET_IF_VAR_H
#include <net/if_var.h>
#endif
#include <net/netisr.h>
#include <net/route.h>
#include <net/if_sppp.h>
/* Read `misc/i4b_acct.txt' for details ... */
#ifdef HAVE_I4B_ACCT
#include <machine/i4b_acct.h>
#endif
static const unsigned long _glibtop_sysdeps_ppp =
(1L << GLIBTOP_PPP_STATE);
#ifdef HAVE_I4B_ACCT
static const unsigned long _glibtop_sysdeps_ppp_acct =
(1L << GLIBTOP_PPP_BYTES_IN) + (1L << GLIBTOP_PPP_BYTES_OUT);
#endif
#endif /* HAVE_I4B */
/* nlist structure for kernel access */
static struct nlist nlst [] = {
#ifdef HAVE_I4B
{ "_i4bisppp_softc" },
#endif
{ 0 }
};
/* Init function. */
void
_glibtop_init_ppp_p (glibtop *server)
{
#ifdef HAVE_I4B
#ifdef HAVE_I4B_ACCT
server->sysdeps.ppp = _glibtop_sysdeps_ppp |
_glibtop_sysdeps_ppp_acct;
#else
server->sysdeps.ppp = _glibtop_sysdeps_ppp;
#endif
#endif /* HAVE_I4B */
if (kvm_nlist (server->machine.kd, nlst) < 0)
glibtop_error_io_r (server, "kvm_nlist");
}
/* Provides information about ppp usage. */
void
glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device)
{
#ifdef HAVE_I4B
#ifdef HAVE_I4B_ACCT
struct i4bisppp_softc data;
#else
struct sppp data;
#endif
int phase;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PPP), 0);
memset (buf, 0, sizeof (glibtop_ppp));
if (kvm_read (server->machine.kd, nlst [0].n_value,
&data, sizeof (data)) != sizeof (data))
glibtop_error_io_r (server, "kvm_read (i4bisppp_softc)");
#ifdef HAVE_I4B_ACCT
phase = data.sc_if_un.scu_sp.pp_phase;
#else
/* FIXME: Which FreeBSD version have this field and
* which not. */
#if 0
phase = data.pp_phase;
#endif
#endif
switch (phase) {
#ifdef HAVE_I4B_ACCT
case PHASE_DEAD:
case PHASE_TERMINATE:
buf->state = GLIBTOP_PPP_STATE_HANGUP;
break;
case PHASE_ESTABLISH:
case PHASE_NETWORK:
buf->state = GLIBTOP_PPP_STATE_ONLINE;
break;
#endif
default:
buf->state = GLIBTOP_PPP_STATE_UNKNOWN;
break;
}
buf->flags = _glibtop_sysdeps_ppp;
#ifdef HAVE_I4B_ACCT
buf->bytes_in = data.sc_inb;
buf->bytes_out = data.sc_outb;
buf->flags |= _glibtop_sysdeps_ppp_acct;
#endif
#endif /* HAVE_I4B */
}

View File

@@ -0,0 +1,27 @@
/*
* $OpenBSD: procaffinity.c,v 1.1 2009/10/16 10:56:04 jasper Exp $
* procaffinity stub.
*/
#include <config.h>
#include <glibtop/procaffinity.h>
#include <glibtop/error.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)
{
memset(buf, 0, sizeof *buf);
return NULL;
}

104
sysdeps/openbsd/procargs.c Normal file
View File

@@ -0,0 +1,104 @@
/* $OpenBSD: procargs.c,v 1.3 2011/05/23 19:35:54 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procargs.h>
#include <glibtop_suid.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/proc.h>
static const unsigned long _glibtop_sysdeps_proc_args =
(1L << GLIBTOP_PROC_ARGS_SIZE);
/* Init function. */
void
_glibtop_init_proc_args_p (glibtop *server)
{
server->sysdeps.proc_args = _glibtop_sysdeps_proc_args;
}
/* Provides detailed information about a process. */
char *
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
pid_t pid, unsigned max_len)
{
struct kinfo_proc *pinfo;
char *retval, **args, **ptr;
size_t size = 0, pos = 0;
int count;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_ARGS), 0);
memset (buf, 0, sizeof (glibtop_proc_args));
/*
* Don't bother with PIDs below 20, because everything below this
* number is highly likely to be a kernel thread.
*/
if (pid < 19) return NULL;
glibtop_suid_enter (server);
/* Get the process data */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count < 1)) {
glibtop_suid_leave (server);
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return NULL;
}
args = kvm_getargv (server->machine.kd, pinfo, max_len);
if (args == NULL) {
glibtop_suid_leave (server);
glibtop_warn_io_r (server, "kvm_getargv (%d)", pid);
return NULL;
}
glibtop_suid_leave (server);
for (ptr = args; *ptr; ptr++)
size += strlen (*ptr)+1;
size += 2;
retval = g_malloc0 (size);
for (ptr = args; *ptr; ptr++) {
const size_t len = strlen (*ptr)+1;
memcpy (retval+pos, *ptr, len);
pos += len;
}
buf->size = pos ? pos-1 : 0;
buf->flags = _glibtop_sysdeps_proc_args;
return retval;
}

View File

@@ -0,0 +1,89 @@
/* $OpenBSD: prockernel.c,v 1.4 2011/05/31 14:02:26 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/prockernel.h>
#include <glibtop_suid.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/proc.h>
#include <unistd.h>
#include <fcntl.h>
static const unsigned long _glibtop_sysdeps_proc_kernel_pstats =
(1L << GLIBTOP_PROC_KERNEL_MIN_FLT) +
(1L << GLIBTOP_PROC_KERNEL_MAJ_FLT);
static const unsigned long _glibtop_sysdeps_proc_kernel_wchan =
(1L << GLIBTOP_PROC_KERNEL_NWCHAN) +
(1L << GLIBTOP_PROC_KERNEL_WCHAN);
/* Init function. */
void
_glibtop_init_proc_kernel_p (glibtop *server)
{
server->sysdeps.proc_kernel = _glibtop_sysdeps_proc_kernel_pstats |
_glibtop_sysdeps_proc_kernel_wchan;
}
void
glibtop_get_proc_kernel_p (glibtop *server,
glibtop_proc_kernel *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_KERNEL), 0);
memset (buf, 0, sizeof (glibtop_proc_kernel));
if (server->sysdeps.proc_time == 0)
return;
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process information */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof(*pinfo), &count);
if ((pinfo == NULL) || (count != 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
if (pinfo->p_wmesg[0])
g_strlcpy(buf->wchan, pinfo->p_wmesg[0], sizeof(buf->wchan));
buf->min_flt = pinfo[0].p_uru_minflt;
buf->maj_flt = pinfo[0].p_uru_majflt;
buf->flags |= (_glibtop_sysdeps_proc_kernel_wchan
| _glibtop_sysdeps_proc_kernel_pstats);
}

108
sysdeps/openbsd/proclist.c Normal file
View File

@@ -0,0 +1,108 @@
/* $OpenBSD: proclist.c,v 1.3 2011/05/23 19:35:55 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/proclist.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_proclist =
(1L << GLIBTOP_PROCLIST_TOTAL) + (1L << GLIBTOP_PROCLIST_NUMBER) +
(1L << GLIBTOP_PROCLIST_SIZE);
/* Fetch list of currently running processes.
* The interface of this function is a little bit different from the others:
* buf->flags is only set if the call succeeded, in this case pids_chain,
* a list of the pids of all currently running processes is returned,
* buf->number is the number of elements of this list and buf->size is
* the size of one single element (sizeof (unsigned)). The total size is
* stored in buf->total.
*
* The calling function has to free the memory to which a pointer is returned.
*
* IMPORTANT NOTE:
* On error, this function MUST return NULL and set buf->flags to zero !
* On success, it returnes a pointer to a list of buf->number elements
* each buf->size big. The total size is stored in buf->total.
* The calling function has to free the memory to which a pointer is returned.
*
* On error, NULL is returned and buf->flags is zero. */
/* Init function. */
void
_glibtop_init_proclist_p (glibtop *server)
{
server->sysdeps.proclist = _glibtop_sysdeps_proclist;
}
pid_t *
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 real_which, gint64 arg)
{
struct kinfo_proc *pinfo;
unsigned *pids = NULL;
int which, count;
int i,j;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROCLIST), 0);
memset (buf, 0, sizeof (glibtop_proclist));
which = (int)(real_which & GLIBTOP_KERN_PROC_MASK);
/* Get the process data */
pinfo = kvm_getprocs (server->machine.kd, which, arg,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count < 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (proclist)");
return NULL;
}
count--;
/* Allocate count objects in the pids_chain array
* Same as malloc is pids is NULL, which it is. */
pids = g_realloc (pids, count * sizeof (unsigned));
/* Copy the pids over to this chain */
for (i=j=0; i < count; i++) {
#define PROC_STAT p_stat
#define PROC_RUID p_ruid
#define PROC_PID p_pid
if ((real_which & GLIBTOP_EXCLUDE_IDLE) &&
(pinfo[i].PROC_STAT != SRUN))
continue;
else if ((real_which & GLIBTOP_EXCLUDE_SYSTEM) &&
(pinfo[i].PROC_RUID == 0))
continue;
pids [j++] = (unsigned) pinfo[i].PROC_PID;
} /* end for */
/* Set the fields in buf */
buf->number = j;
buf->size = sizeof (unsigned);
buf->total = j * sizeof (unsigned);
buf->flags = _glibtop_sysdeps_proclist;
return pids;
}

301
sysdeps/openbsd/procmap.c Normal file
View File

@@ -0,0 +1,301 @@
/* $OpenBSD: patch-sysdeps_openbsd_procmap_c,v 1.7 2012/03/11 08:45:24 ajacoutot Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procmap.h>
#include <glibtop_suid.h>
#include <kvm.h>
#include <stdlib.h>
#include <sys/param.h>
#include <sys/proc.h>
#include <sys/resource.h>
#include <uvm/uvm_extern.h>
#include <sys/vnode.h>
#include <sys/mount.h>
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <sys/ucred.h>
#include <sys/sysctl.h>
#undef _KERNEL
#define _UVM_UVM_AMAP_I_H_ 1
#define _UVM_UVM_MAP_I_H_ 1
#include <uvm/uvm.h>
static const unsigned long _glibtop_sysdeps_proc_map =
(1L << GLIBTOP_PROC_MAP_TOTAL) + (1L << GLIBTOP_PROC_MAP_NUMBER) +
(1L << GLIBTOP_PROC_MAP_SIZE);
static const unsigned long _glibtop_sysdeps_map_entry =
(1L << GLIBTOP_MAP_ENTRY_START) + (1L << GLIBTOP_MAP_ENTRY_END) +
(1L << GLIBTOP_MAP_ENTRY_OFFSET) + (1L << GLIBTOP_MAP_ENTRY_PERM) +
(1L << GLIBTOP_MAP_ENTRY_INODE) + (1L << GLIBTOP_MAP_ENTRY_DEVICE);
/* Local helper functions. */
ssize_t load_vmmap_entries(glibtop*, unsigned long, struct vm_map_entry**,
struct vm_map_entry*);
void unload_vmmap_entries(struct vm_map_entry *);
/* Init function. */
void
_glibtop_init_proc_map_p (glibtop *server)
{
server->sysdeps.proc_map = _glibtop_sysdeps_proc_map;
}
/*
* Download vmmap_entries from the kernel into our address space.
* We fix up the addr tree while downloading.
*
* Returns: the size of the tree on succes, or -1 on failure.
* On failure, *rptr needs to be passed to unload_vmmap_entries to free
* the lot.
*/
ssize_t
load_vmmap_entries(glibtop *server, unsigned long kptr,
struct vm_map_entry **rptr, struct vm_map_entry *parent)
{
struct vm_map_entry *entry;
unsigned long left_kptr, right_kptr;
ssize_t left_sz;
ssize_t right_sz;
if (kptr == 0)
return 0;
/* Need space. */
entry = malloc(sizeof(*entry));
if (entry == NULL)
return -1;
/* Download entry at kptr. */
if (kvm_read (server->machine.kd, kptr,
(char *)entry, sizeof(*entry)) != sizeof(*entry)) {
free(entry);
return -1;
}
/*
* Update addr pointers to have sane values in this address space.
* We save the kernel pointers in {left,right}_kptr, so we have them
* available to download children.
*/
left_kptr = (unsigned long) RB_LEFT(entry, daddrs.addr_entry);
right_kptr = (unsigned long) RB_RIGHT(entry, daddrs.addr_entry);
RB_LEFT(entry, daddrs.addr_entry) =
RB_RIGHT(entry, daddrs.addr_entry) = NULL;
/* Fill in parent pointer. */
RB_PARENT(entry, daddrs.addr_entry) = parent;
/*
* Consistent state reached, fill in *rptr.
*/
*rptr = entry;
/*
* Download left, right.
* On failure, our map is in a state that can be handled by
* unload_vmmap_entries.
*/
left_sz = load_vmmap_entries(server, left_kptr,
&RB_LEFT(entry, daddrs.addr_entry), entry);
if (left_sz == -1)
return -1;
right_sz = load_vmmap_entries(server, right_kptr,
&RB_RIGHT(entry, daddrs.addr_entry), entry);
if (right_sz == -1)
return -1;
return 1 + left_sz + right_sz;
}
/*
* Free the vmmap entries in the given tree.
*/
void
unload_vmmap_entries(struct vm_map_entry *entry)
{
if (entry == NULL)
return;
unload_vmmap_entries(RB_LEFT(entry, daddrs.addr_entry));
unload_vmmap_entries(RB_RIGHT(entry, daddrs.addr_entry));
free(entry);
}
/*
* Provides detailed information about a process.
* Due to the fact we are only requested info about one process, it's possible
* the process has been reaped before we get to kvm_getprocs. Tough luck.
*/
glibtop_map_entry *
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
struct vm_map_entry *entry;
struct uvm_map_addr root;
struct vmspace vmspace;
struct vnode vnode;
struct inode inode;
ssize_t nentries;
GArray *maps = g_array_sized_new(FALSE, FALSE,
sizeof(glibtop_map_entry),
100);
int count = 0;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MAP), 0);
memset (buf, 0, sizeof (glibtop_proc_map));
/* It does not work for the swapper task. */
if (pid == 0) return (glibtop_map_entry*) g_array_free(maps, TRUE);
glibtop_suid_enter (server);
/* Get the process data */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &count);
if ((pinfo == NULL) || (count < 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return (glibtop_map_entry*) g_array_free(maps, TRUE);
}
/* Now we get the memory maps. */
if (kvm_read (server->machine.kd,
(unsigned long) pinfo [0].p_vmspace,
(char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace))
glibtop_error_io_r (server, "kvm_read (vmspace)");
RB_INIT(&root);
nentries = load_vmmap_entries(server,
(unsigned long) RB_ROOT(&vmspace.vm_map.addr),
&RB_ROOT(&root), NULL);
if (nentries == -1) {
unload_vmmap_entries(RB_ROOT(&root));
glibtop_error_io_r (server, "kvm_read (entry)");
}
/* Allocate space. */
buf->number = nentries;
buf->size = sizeof (glibtop_map_entry);
buf->total = buf->number * buf->size;
buf->flags = _glibtop_sysdeps_proc_map;
/* Walk through the `vm_map_entry' list ... */
/* I tested this a few times with `mmap'; as soon as you write
* to the mmap'ed area, the object type changes from OBJT_VNODE
* to OBJT_DEFAULT so it seems this really works.
*/
RB_FOREACH(entry, uvm_map_addr, &root) {
glibtop_map_entry *mentry;
unsigned long inum, dev;
guint len;
if (UVM_ET_ISSUBMAP(entry))
continue;
if (!entry->object.uvm_obj)
continue;
/* We're only interested in vnodes */
if (kvm_read (server->machine.kd,
(unsigned long) entry->object.uvm_obj,
&vnode, sizeof (vnode)) != sizeof (vnode)) {
glibtop_warn_io_r (server, "kvm_read (vnode)");
unload_vmmap_entries(RB_ROOT(&root));
return (glibtop_map_entry*) g_array_free(maps, TRUE);
}
#if defined(UVM_VNODE_VALID)
if (!vnode.v_uvm.u_flags & UVM_VNODE_VALID)
continue;
#endif
if ((vnode.v_type != VREG) || (vnode.v_tag != VT_UFS) ||
!vnode.v_data) continue;
if (kvm_read (server->machine.kd,
(unsigned long) vnode.v_data,
&inode, sizeof (inode)) != sizeof (inode))
glibtop_error_io_r (server, "kvm_read (inode)");
inum = inode.i_number;
dev = inode.i_dev;
len = maps->len;
g_array_set_size(maps, len + 1);
mentry = &g_array_index(maps, glibtop_map_entry, len);
mentry->flags = _glibtop_sysdeps_map_entry;
mentry->start = (guint64) entry->start;
mentry->end = (guint64) entry->end;
mentry->offset = (guint64) entry->offset;
mentry->device = (guint64) dev;
mentry->inode = (guint64) inum;
mentry->perm = (guint64) 0;
if (entry->protection & VM_PROT_READ)
mentry->perm |= GLIBTOP_MAP_PERM_READ;
if (entry->protection & VM_PROT_WRITE)
mentry->perm |= GLIBTOP_MAP_PERM_WRITE;
if (entry->protection & VM_PROT_EXECUTE)
mentry->perm |= GLIBTOP_MAP_PERM_EXECUTE;
}
buf->flags = _glibtop_sysdeps_proc_map;
buf->number = maps->len;
buf->size = sizeof (glibtop_map_entry);
buf->total = buf->number * buf->size;
unload_vmmap_entries(RB_ROOT(&root));
return (glibtop_map_entry*) g_array_free(maps, FALSE);
}
/*
* Don't implement address comparison.
*/
static __inline int
no_impl(void *p, void *q)
{
abort(); /* Should not be called. */
return 0;
}
RB_GENERATE(uvm_map_addr, vm_map_entry, daddrs.addr_entry, no_impl);

134
sysdeps/openbsd/procmem.c Normal file
View File

@@ -0,0 +1,134 @@
/* $OpenBSD: procmem.c,v 1.4 2011/05/24 10:40:47 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procmem.h>
#include <glibtop_suid.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/proc.h>
#include <sys/resource.h>
#include <uvm/uvm_extern.h>
#include <sys/vnode.h>
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <sys/ucred.h>
#include <sys/sysctl.h>
#include <uvm/uvm.h>
/* Fixme ... */
#undef _KERNEL
#define _UVM_UVM_AMAP_I_H_ 1
#define _UVM_UVM_MAP_I_H_ 1
#include <uvm/uvm.h>
static const unsigned long _glibtop_sysdeps_proc_mem =
(1L << GLIBTOP_PROC_MEM_SIZE) +
(1L << GLIBTOP_PROC_MEM_VSIZE) +
(1L << GLIBTOP_PROC_MEM_RESIDENT) +
(1L << GLIBTOP_PROC_MEM_RSS) +
(1L << GLIBTOP_PROC_MEM_RSS_RLIM);
static const unsigned long _glibtop_sysdeps_proc_mem_share =
(1L << GLIBTOP_PROC_MEM_SHARE);
#ifndef LOG1024
#define LOG1024 10
#endif
/* these are for getting the memory statistics */
static int pageshift; /* log base 2 of the pagesize */
/* define pagetok in terms of pageshift */
#define pagetok(size) ((size) << pageshift)
/* Init function. */
void
_glibtop_init_proc_mem_p (glibtop *server)
{
register int pagesize;
/* get the page size and calculate pageshift from it */
pagesize = sysconf(_SC_PAGESIZE);
pageshift = 0;
while (pagesize > 1) {
pageshift++;
pagesize >>= 1;
}
/* we only need the amount of log(2)1024 for our conversion */
pageshift -= LOG1024;
server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem |
_glibtop_sysdeps_proc_mem_share;
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MEM), 0);
memset (buf, 0, sizeof (glibtop_proc_mem));
if (server->sysdeps.proc_mem == 0)
return;
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process data */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count < 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
buf->rss_rlim = pinfo[0].p_uru_maxrss;
buf->vsize = buf->size = (guint64)pagetok
(pinfo[0].p_vm_tsize + pinfo[0].p_vm_dsize + pinfo[0].p_vm_ssize)
<< LOG1024;
buf->resident = buf->rss = (guint64)pagetok
(pinfo[0].p_vm_rssize) << LOG1024;
/* Now we get the shared memory. */
buf->share = pinfo[0].p_uru_ixrss;
buf->flags = _glibtop_sysdeps_proc_mem |
_glibtop_sysdeps_proc_mem_share;
}

View File

@@ -0,0 +1,225 @@
/* $OpenBSD: procopenfiles.c,v 1.2 2011/05/23 19:35:55 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
Copyright (C) 2004 Nicol\ufffds Lichtmaier
Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 1.0.
Modified by Nicol\ufffds Lichtmaier to give a process open files.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procopenfiles.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <stdlib.h>
#include "glibtop_private.h"
static const unsigned long _glibtop_sysdeps_proc_open_files =
(1L << GLIBTOP_PROC_OPEN_FILES_NUMBER)|
(1L << GLIBTOP_PROC_OPEN_FILES_TOTAL)|
(1L << GLIBTOP_PROC_OPEN_FILES_SIZE);
/* Init function. */
void
_glibtop_init_proc_open_files_s (glibtop *server)
{
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
}
static GArray *
parse_output(const char *output) {
GArray *entries;
char **lines;
char *ftype = NULL;
char *fname = NULL;
guint i;
guint len;
int fd = -1;
entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
lines = g_strsplit(output, "\n", 0);
len = g_strv_length(lines);
for (i = 0; i < len && lines[i]; i++) {
glibtop_open_files_entry entry = {0};
if (strlen(lines[i]) < 2)
continue;
if (!g_str_has_prefix(lines[i], "f") &&
!g_str_has_prefix(lines[i], "t") &&
!g_str_has_prefix(lines[i], "n"))
continue;
if (g_str_has_prefix(lines[i], "f")) {
if (!g_ascii_isdigit(*(lines[i] + 1)))
i += 2;
else
fd = atoi(lines[i] + 1);
continue;
}
if (g_str_has_prefix(lines[i], "t")) {
ftype = lines[i];
ftype++;
continue;
} else {
fname = lines[i];
fname++;
}
if (ftype == NULL || fname == NULL)
continue;
if (!strcmp(ftype, "unix")) {
entry.type = GLIBTOP_FILE_TYPE_LOCALSOCKET;
g_strlcpy(entry.info.localsock.name, fname,
sizeof(entry.info.localsock.name));
} else if (!strcmp(ftype, "PIPE")) {
entry.type = GLIBTOP_FILE_TYPE_PIPE;
} else if (!strcmp(ftype, "VREG") ||
!strcmp(ftype, "GDIR") ||
!strcmp(ftype, "GREG") ||
!strcmp(ftype, "VCHR") ||
!strcmp(ftype, "VBLK") ||
!strcmp(ftype, "DIR") ||
!strcmp(ftype, "LINK") ||
!strcmp(ftype, "REG") ||
!strcmp(ftype, "VDIR")) {
entry.type = GLIBTOP_FILE_TYPE_FILE;
g_strlcpy(entry.info.file.name, fname,
sizeof(entry.info.file.name));
} else if (!strcmp(ftype, "IPv4")) {
char **hosts;
char **remote_host;
if (!strstr(fname, "->")) {
remote_host = g_strsplit(fname, ":", 0);
} else {
hosts = g_strsplit(fname, "->", 0);
if (g_strv_length(hosts) < 2) {
g_strfreev(hosts);
continue;
}
remote_host = g_strsplit(hosts[1], ":", 0);
g_strfreev(hosts);
}
if (g_strv_length(remote_host) < 2) {
g_strfreev(remote_host);
continue;
}
entry.type = GLIBTOP_FILE_TYPE_INETSOCKET;
if (!strcmp(remote_host[0], "*"))
g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
sizeof(entry.info.sock.dest_host));
else
g_strlcpy(entry.info.sock.dest_host,
remote_host[0],
sizeof(entry.info.sock.dest_host));
entry.info.sock.dest_port = atoi(remote_host[1]);
g_strfreev(remote_host);
} else if (!strcmp(ftype, "IPv6")) {
char **hosts;
char **remote_host;
if (!strstr(fname, "->")) {
remote_host = g_strsplit(fname, ":", 0);
} else {
hosts = g_strsplit(fname, "->", 0);
if (g_strv_length(hosts) < 2) {
g_strfreev(hosts);
continue;
}
remote_host = g_strsplit(hosts[1], "]", 0);
g_strfreev(hosts);
}
if (g_strv_length(remote_host) < 2) {
g_strfreev(remote_host);
continue;
}
entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
if (!strcmp(remote_host[0], "*"))
g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
sizeof(entry.info.sock.dest_host));
else
g_strlcpy(entry.info.sock.dest_host,
remote_host[0] + 1,
sizeof(entry.info.sock.dest_host));
entry.info.sock.dest_port = atoi(remote_host[1] + 1);
g_strfreev(remote_host);
} else
continue;
entry.fd = fd;
fd = -1;
ftype = NULL;
fname = NULL;
g_array_append_val(entries, entry);
}
g_strfreev(lines);
return entries;
}
glibtop_open_files_entry *
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
{
char *output;
GArray *entries;
memset(buf, 0, sizeof (glibtop_proc_open_files));
output = execute_lsof(pid);
if (output == NULL) return NULL;
entries = parse_output(output);
g_free(output);
buf->flags = _glibtop_sysdeps_proc_open_files;
buf->number = entries->len;
buf->size = sizeof(glibtop_open_files_entry);
buf->total = buf->number * buf->size;
return (glibtop_open_files_entry*)g_array_free(entries, FALSE);
}

View File

@@ -0,0 +1,83 @@
/* $OpenBSD: procsegment.c,v 1.2 2011/05/23 19:35:55 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procsegment.h>
#include <glibtop_suid.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
static const unsigned long _glibtop_sysdeps_proc_segment = 0;
/* Init function. */
void
_glibtop_init_proc_segment_p (glibtop *server)
{
server->sysdeps.proc_segment = _glibtop_sysdeps_proc_segment;
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_segment_p (glibtop *server,
glibtop_proc_segment *buf,
pid_t pid)
{
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_SEGMENT), 0);
memset (buf, 0, sizeof (glibtop_proc_segment));
#if 0
/* Get the process info from the kernel */
kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, count);
if (*count != 1) {
return; /* the zeroed-out buffer indicating no data */
}
/* trs: text resident set size
pinfo[0]->kp_eproc.e_xrssize;
*/
/* buf->trs = pinfo[0]->kp_eproc.e_xrssize; */
/* lrs: shared-lib resident set size
? */
/* drs: data resident set size
pinfo[0]->kp_eproc.e_vm.vm_map.vm_dsize;
*/
/* dt: dirty pages
*/
/* start_code: address of beginning of code segment
*/
/* end_code: address of end of code segment
*/
/* start_stack: address of the bottom of stack segment
*/
#endif
}

View File

@@ -0,0 +1,91 @@
/* $OpenBSD: procsignal.c,v 1.3 2011/05/23 19:35:55 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procsignal.h>
#include <glibtop_suid.h>
#include <sys/param.h>
static const unsigned long _glibtop_sysdeps_proc_signal =
(1L << GLIBTOP_PROC_SIGNAL_SIGNAL) +
(1L << GLIBTOP_PROC_SIGNAL_BLOCKED) +
(1L << GLIBTOP_PROC_SIGNAL_SIGIGNORE) +
(1L << GLIBTOP_PROC_SIGNAL_SIGCATCH);
/* Init function. */
void
_glibtop_init_proc_signal_p (glibtop *server)
{
server->sysdeps.proc_signal = _glibtop_sysdeps_proc_signal;
}
void
glibtop_get_proc_signal_p (glibtop *server,
glibtop_proc_signal *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count = 0;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_SIGNAL), 0);
memset (buf, 0, sizeof (glibtop_proc_signal));
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process information */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count != 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
/* signal: mask of pending signals.
* pinfo [0].kp_proc.p_siglist
*/
buf->signal [0] = pinfo [0].p_siglist;
/* blocked: mask of blocked signals.
* pinfo [0].kp_proc.p_sigmask
*/
buf->blocked [0] = pinfo [0].p_sigmask;
/* sigignore: mask of ignored signals.
* pinfo [0].kp_proc.p_sigignore
*/
buf->sigignore [0] = pinfo [0].p_sigignore;
/* sigcatch: mask of caught signals.
* pinfo [0].kp_proc.p_sigcatch
*/
buf->sigcatch [0] = pinfo [0].p_sigcatch;
buf->flags = _glibtop_sysdeps_proc_signal;
}

133
sysdeps/openbsd/procstate.c Normal file
View File

@@ -0,0 +1,133 @@
/* $OpenBSD: procstate.c,v 1.3 2011/05/23 19:35:55 jasper Exp $ */
/* Copyright (C) 1998 Joshua Sled
This file is part of LibGTop 1.0.
Contributed by Joshua Sled <jsled@xcf.berkeley.edu>, July 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procstate.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_proc_state =
(1L << GLIBTOP_PROC_STATE_CMD) + (1L << GLIBTOP_PROC_STATE_UID) +
(1L << GLIBTOP_PROC_STATE_GID);
static const unsigned long _glibtop_sysdeps_proc_state_new =
0;
/* Init function. */
void
_glibtop_init_proc_state_p (glibtop *server)
{
server->sysdeps.proc_state = _glibtop_sysdeps_proc_state |
_glibtop_sysdeps_proc_state_new;
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_state_p (glibtop *server,
glibtop_proc_state *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count = 0;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_STATE), 0);
memset (buf, 0, sizeof (glibtop_proc_state));
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process information */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count != 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
#define PROC_COMM p_comm
#define PROC_SVUID p_svuid
#define PROC_SVGID p_svgid
#define PROC_STAT p_stat
g_strlcpy (buf->cmd, pinfo [0].PROC_COMM, sizeof buf->cmd);
buf->uid = pinfo [0].PROC_SVUID;
buf->gid = pinfo [0].PROC_SVGID;
/* Set the flags for the data we're about to return*/
buf->flags = _glibtop_sysdeps_proc_state |
_glibtop_sysdeps_proc_state_new;
#if LIBGTOP_VERSION_CODE >= 1001000
switch (pinfo [0].PROC_STAT) {
case SIDL:
buf->state = 0;
break;
case SRUN:
buf->state = GLIBTOP_PROCESS_RUNNING;
break;
#ifdef SSLEEP
case SSLEEP:
buf->state = GLIBTOP_PROCESS_INTERRUPTIBLE;
break;
#endif
case SSTOP:
buf->state = GLIBTOP_PROCESS_STOPPED;
break;
case SZOMB:
buf->state = GLIBTOP_PROCESS_ZOMBIE;
break;
default:
return;
}
#else
switch (pinfo [0].PROC_STAT) {
case SIDL:
buf->state = 'D';
break;
case SRUN:
buf->state = 'R';
break;
#ifdef SSLEEP
case SSLEEP:
buf->state = 'S';
break;
#endif
case SSTOP:
buf->state = 'T';
break;
case SZOMB:
buf->state = 'Z';
break;
default:
return;
}
#endif
buf->flags |= (1L << GLIBTOP_PROC_STATE_STATE);
}

156
sysdeps/openbsd/proctime.c Normal file
View File

@@ -0,0 +1,156 @@
/* $OpenBSD: proctime.c,v 1.5 2011/07/10 15:29:26 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/proctime.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_proc_time =
(1L << GLIBTOP_PROC_TIME_RTIME) + (1L << GLIBTOP_PROC_TIME_FREQUENCY);
static const unsigned long _glibtop_sysdeps_proc_time_user =
(1L << GLIBTOP_PROC_TIME_UTIME) + (1L << GLIBTOP_PROC_TIME_STIME) +
(1L << GLIBTOP_PROC_TIME_CUTIME) + (1L << GLIBTOP_PROC_TIME_CSTIME) +
(1L << GLIBTOP_PROC_TIME_START_TIME);
#define tv2sec(tv) (((guint64) tv.tv_sec * 1000000) + (guint64) tv.tv_usec)
static unsigned int clockrate;
static int mib [] = { CTL_KERN, KERN_CLOCKRATE };
/* Init function. */
void
_glibtop_init_proc_time_p (glibtop *server)
{
struct clockinfo ci;
size_t length;
length = sizeof (ci);
if (sysctl (mib, 2, &ci, &length, NULL, 0) == 0)
clockrate = ci.hz;
if (!clockrate)
clockrate = 1; /* XXX avoid div by 0 later */
server->sysdeps.proc_time = _glibtop_sysdeps_proc_time |
_glibtop_sysdeps_proc_time_user;
}
/* Taken from /usr/src/sys/kern/kern_resource.c */
/*
* Transform the running time and tick information in proc p into user,
* system, and interrupt time usage.
*/
static void
calcru(struct proc *p, struct timeval *up, struct timeval *sp,
struct timeval *ip)
{
quad_t totusec;
u_quad_t u, st, ut, it, tot;
long sec, usec;
struct timeval tv;
st = p->p_sticks;
ut = p->p_uticks;
it = p->p_iticks;
tot = st + ut + it;
if (tot == 0) {
st = 1;
tot = 1;
}
sec = p->p_rtime.tv_sec;
usec = p->p_rtime.tv_usec;
totusec = (quad_t)sec * 1000000 + usec;
if (totusec < 0) {
/* XXX no %qd in kernel. Truncate. */
fprintf (stderr, "calcru: negative time: %ld usec\n",
(long)totusec);
totusec = 0;
}
u = totusec;
st = (u * st) / tot;
sp->tv_sec = st / 1000000;
sp->tv_usec = st % 1000000;
ut = (u * ut) / tot;
up->tv_sec = ut / 1000000;
up->tv_usec = ut % 1000000;
if (ip != NULL) {
it = (u * it) / tot;
ip->tv_sec = it / 1000000;
ip->tv_usec = it % 1000000;
}
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_TIME), 0);
memset (buf, 0, sizeof (glibtop_proc_time));
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process information */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count != 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
buf->rtime = pinfo[0].p_rtime_sec * clockrate
+ pinfo[0].p_rtime_usec * clockrate / 1000000;
buf->frequency = clockrate;
buf->flags = _glibtop_sysdeps_proc_time;
buf->utime = pinfo[0].p_uutime_sec * 1000000
+ pinfo[0].p_uutime_usec;
buf->stime = pinfo[0].p_ustime_sec * 1000000
+ pinfo[0].p_ustime_usec;
buf->cutime = pinfo[0].p_uctime_sec * 1000000
+ pinfo[0].p_uctime_usec; /* XXX is u+s */
buf->cstime = 0; /* XXX */
buf->start_time = pinfo[0].p_ustart_sec;
buf->flags |= _glibtop_sysdeps_proc_time_user;
}

104
sysdeps/openbsd/procuid.c Normal file
View File

@@ -0,0 +1,104 @@
/* $OpenBSD: procuid.c,v 1.3 2011/05/23 19:35:56 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procuid.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_proc_uid =
(1L << GLIBTOP_PROC_UID_UID) + (1L << GLIBTOP_PROC_UID_EUID) +
(1L << GLIBTOP_PROC_UID_GID) +
(1L << GLIBTOP_PROC_UID_EGID) + (1L << GLIBTOP_PROC_UID_PID) +
(1L << GLIBTOP_PROC_UID_PPID) + (1L << GLIBTOP_PROC_UID_PGRP) +
(1L << GLIBTOP_PROC_UID_TPGID) + (1L << GLIBTOP_PROC_UID_PRIORITY) +
(1L << GLIBTOP_PROC_UID_NICE);
static const unsigned long _glibtop_sysdeps_proc_uid_groups =
0L;
/* Init function. */
void
_glibtop_init_proc_uid_p (glibtop *server)
{
server->sysdeps.proc_uid = _glibtop_sysdeps_proc_uid |
_glibtop_sysdeps_proc_uid_groups;
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf,
pid_t pid)
{
struct kinfo_proc *pinfo;
int count = 0;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_UID), 0);
memset (buf, 0, sizeof (glibtop_proc_uid));
/* It does not work for the swapper task. */
if (pid == 0) return;
/* Get the process information */
pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid,
sizeof (*pinfo), &count);
if ((pinfo == NULL) || (count != 1)) {
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return;
}
#define PROC_RUID p_ruid
#define PROC_SVUID p_svuid
#define PROC_RGID p_rgid
#define PROC_SVGID p_svgid
#define PROC_PID p_pid
#define PROC_PPID p_ppid
#define PROC_PGID p__pgid
#define PROC_TPGID p_tpgid
#define PROC_NICE p_nice
#define PROC_PRIORITY p_priority
buf->uid = pinfo [0].PROC_RUID;
buf->euid = pinfo [0].PROC_SVUID;
buf->gid = pinfo [0].PROC_RGID;
buf->egid = pinfo [0].PROC_SVGID;
buf->pid = pinfo [0].PROC_PID;
buf->ppid = pinfo [0].PROC_PPID;
buf->pgrp = pinfo [0].PROC_PGID;
buf->tpgid = pinfo [0].PROC_TPGID;
buf->nice = pinfo [0].PROC_NICE;
buf->priority = pinfo [0].PROC_PRIORITY;
/* Set the flags for the data we're about to return*/
buf->flags = _glibtop_sysdeps_proc_uid;
/* Use LibGTop conditionals here so we can more easily merge this
* code into the LIBGTOP_STABLE_1_0 branch. */
}

124
sysdeps/openbsd/procwd.c Normal file
View File

@@ -0,0 +1,124 @@
/* $OpenBSD: procwd.c,v 1.2 2011/05/23 19:35:56 jasper Exp $ */
/* Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 2.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop/procwd.h>
#include <glibtop/error.h>
#include <glibtop_private.h>
#include <sys/types.h>
#include <sys/sysctl.h>
#include <sys/param.h>
#include <string.h>
static const unsigned long _glibtop_sysdeps_proc_wd =
(1 << GLIBTOP_PROC_WD_EXE) |
(1 << GLIBTOP_PROC_WD_ROOT) |
(1 << GLIBTOP_PROC_WD_NUMBER);
void
_glibtop_init_proc_wd_s(glibtop *server)
{
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
}
static GPtrArray *
parse_output(const char *output, glibtop_proc_wd *buf)
{
GPtrArray *dirs;
char **lines;
gboolean nextwd = FALSE;
gboolean nextrtd = FALSE;
gboolean havertd = FALSE;
guint i;
guint len;
dirs = g_ptr_array_sized_new(1);
lines = g_strsplit(output, "\n", 0);
len = g_strv_length(lines);
for (i = 0; i < len && lines[i]; i++) {
if (strlen(lines[i]) < 2)
continue;
if (!strcmp(lines[i], "fcwd")) {
nextwd = TRUE;
continue;
}
if (!strcmp(lines[i], "frtd")) {
nextrtd = TRUE;
continue;
}
if (!g_str_has_prefix(lines[i], "n"))
continue;
if (nextwd) {
g_ptr_array_add(dirs, g_strdup(lines[i] + 1));
nextwd = FALSE;
}
if (nextrtd && !havertd) {
g_strlcpy(buf->root, lines[i] + 1,
sizeof(buf->root));
buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
nextrtd = FALSE;
havertd = TRUE;
}
}
g_strfreev(lines);
return dirs;
}
char**
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
{
char path[MAXPATHLEN];
char *output;
memset (buf, 0, sizeof (glibtop_proc_wd));
g_snprintf(path, sizeof(path), "/proc/%u/file", pid);
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
output = execute_lsof(pid);
if (output != NULL) {
GPtrArray *dirs;
dirs = parse_output(output, buf);
g_free(output);
buf->number = dirs->len;
buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
g_ptr_array_add(dirs, NULL);
return (char **)g_ptr_array_free(dirs, FALSE);
}
return NULL;
}

View File

@@ -0,0 +1,96 @@
/* $OpenBSD: sem_limits.c,v 1.3 2011/05/23 19:35:56 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, August 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/sem_limits.h>
#include <glibtop_suid.h>
/* #define _KERNEL to get declaration of `struct seminfo'. */
#define _KERNEL 1
#include <sys/ipc.h>
#include <sys/sem.h>
static unsigned long _glibtop_sysdeps_sem_limits =
(1L << GLIBTOP_IPC_SEMMNI) +
(1L << GLIBTOP_IPC_SEMMNS) + (1L << GLIBTOP_IPC_SEMMNU) +
(1L << GLIBTOP_IPC_SEMMSL) + (1L << GLIBTOP_IPC_SEMOPM) +
(1L << GLIBTOP_IPC_SEMUME) + (1L << GLIBTOP_IPC_SEMUSZ) +
(1L << GLIBTOP_IPC_SEMVMX) + (1L << GLIBTOP_IPC_SEMAEM);
/* The values in this structure never change at runtime, so we only
* read it once during initialization. We have to use the name `_seminfo'
* since `seminfo' is already declared external in <sys/sem.h>. */
static struct seminfo _seminfo;
/* nlist structure for kernel access */
static struct nlist nlst [] = {
{ "_seminfo" },
{ 0 }
};
/* Init function. */
void
_glibtop_init_sem_limits_p (glibtop *server)
{
if (kvm_nlist (server->machine.kd, nlst) < 0) {
glibtop_warn_io_r (server, "kvm_nlist (sem_limits)");
return;
}
if (kvm_read (server->machine.kd, nlst [0].n_value,
&_seminfo, sizeof (_seminfo)) != sizeof (_seminfo)) {
glibtop_warn_io_r (server, "kvm_read (seminfo)");
return;
}
server->sysdeps.sem_limits = _glibtop_sysdeps_sem_limits;
}
/* Provides information about sysv sem limits. */
void
glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf)
{
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_SEM_LIMITS), 0);
memset (buf, 0, sizeof (glibtop_sem_limits));
if (server->sysdeps.sem_limits == 0)
return;
buf->semmni = _seminfo.semmni;
buf->semmns = _seminfo.semmns;
buf->semmnu = _seminfo.semmnu;
buf->semmsl = _seminfo.semmsl;
buf->semopm = _seminfo.semopm;
buf->semvmx = _seminfo.semvmx;
buf->semaem = _seminfo.semaem;
buf->flags = _glibtop_sysdeps_sem_limits;
}

View File

@@ -0,0 +1,88 @@
/* $OpenBSD: shm_limits.c,v 1.3 2011/05/23 19:35:56 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, August 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/shm_limits.h>
#include <glibtop_suid.h>
#include <sys/ipc.h>
#include <sys/shm.h>
static unsigned long _glibtop_sysdeps_shm_limits =
(1L << GLIBTOP_IPC_SHMMAX) + (1L << GLIBTOP_IPC_SHMMIN) +
(1L << GLIBTOP_IPC_SHMMNI) + (1L << GLIBTOP_IPC_SHMSEG) +
(1L << GLIBTOP_IPC_SHMALL);
/* The values in this structure never change at runtime, so we only
* read it once during initialization. We have to use the name `_shminfo'
* since `shminfo' is already declared external in <sys/shm.h>. */
static struct shminfo _shminfo;
/* nlist structure for kernel access */
static struct nlist nlst [] = {
{ "_shminfo" },
{ 0 }
};
/* Init function. */
void
_glibtop_init_shm_limits_p (glibtop *server)
{
if (kvm_nlist (server->machine.kd, nlst) < 0) {
glibtop_warn_io_r (server, "kvm_nlist (shm_limits)");
return;
}
if (kvm_read (server->machine.kd, nlst [0].n_value,
&_shminfo, sizeof (_shminfo)) != sizeof (_shminfo)) {
glibtop_warn_io_r (server, "kvm_read (shminfo)");
return;
}
server->sysdeps.shm_limits = _glibtop_sysdeps_shm_limits;
}
/* Provides information about sysv ipc limits. */
void
glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf)
{
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_SHM_LIMITS), 0);
memset (buf, 0, sizeof (glibtop_shm_limits));
if (server->sysdeps.shm_limits == 0)
return;
buf->shmmax = _shminfo.shmmax;
buf->shmmin = _shminfo.shmmin;
buf->shmmni = _shminfo.shmmni;
buf->shmseg = _shminfo.shmseg;
buf->shmall = _shminfo.shmall;
buf->flags = _glibtop_sysdeps_shm_limits;
}

62
sysdeps/openbsd/siglist.c Normal file
View File

@@ -0,0 +1,62 @@
/* $OpenBSD: siglist.c,v 1.2 2011/05/23 19:35:56 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/signal.h>
const glibtop_signame glibtop_sys_siglist [] =
{ { 1, "SIGHUP", "Hangup" },
{ 2, "SIGINT", "Interrupt" },
{ 3, "SIGQUIT", "Quit" },
{ 4, "SIGILL", "Illegal Instruction" },
{ 5, "SIGTRAP", "Trace/Breakpoint Trap" },
{ 6, "SIGABRT", "Abort" },
{ 7, "SIGEMT", "Emulation Trap" },
{ 8, "SIGFPE", "Arithmetic Exception" },
{ 9, "SIGKILL", "Killed" },
{ 10, "SIGBUS", "Bus Error" },
{ 11, "SIGSEGV", "Segmentation Fault" },
{ 12, "SIGSYS", "Bad System Call" },
{ 13, "SIGPIPE", "Broken Pipe" },
{ 14, "SIGALRM", "Alarm Clock" },
{ 15, "SIGTERM", "Terminated" },
{ 16, "SIGURG", "Urgent Condition Present On Socket" },
{ 17, "SIGSTOP", "Stop (cannot be caught or ignored)" },
{ 18, "SIGTSTP", "Stop Signal Generated From Keyboard" },
{ 19, "SIGCONT", "Continue After Stop" },
{ 20, "SIGCHLD", "Child Status Has Changed" },
{ 21, "SIGTTIN", "Background Read Attempted From Control Terminal" },
{ 22, "SIGTTOU", "Background Write Attempted To Control Terminal" },
{ 23, "SIGIO", "I/O Is Possible On A Descriptor" },
{ 24, "SIGXCPU", "CPU Time Limit Exceeded" },
{ 25, "SIGXFSZ", "File Size Limit Exceeded" },
{ 26, "SIGVTALRM","Virtual Time Alarm" },
{ 27, "SIGPROF", "Profiling Timer Alarm" },
{ 28, "SIGWINCH","Window Size Change" },
{ 29, "SIGINFO", "Status Request From Keyboard" },
{ 30, "SIGUSR1", "User Defined Signal 1" },
{ 31, "SIGUSR2", "User Defined Signal 2" },
{ 32, "SIGTHR", "Thread Interrupt" },
{ 0, NULL, NULL }
};

131
sysdeps/openbsd/swap.c Normal file
View File

@@ -0,0 +1,131 @@
/* $OpenBSD: swap.c,v 1.7 2011/07/10 15:23:01 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/swap.h>
#include <glibtop_suid.h>
static const unsigned long _glibtop_sysdeps_swap =
(1L << GLIBTOP_SWAP_TOTAL) + (1L << GLIBTOP_SWAP_USED) +
(1L << GLIBTOP_SWAP_FREE) + (1L << GLIBTOP_SWAP_PAGEIN) +
(1L << GLIBTOP_SWAP_PAGEOUT);
#include <sys/vmmeter.h>
#include <uvm/uvm_extern.h>
#include <sys/swap.h>
static int mib_uvmexp [] = { CTL_VM, VM_UVMEXP };
/* Init function. */
void
_glibtop_init_swap_p (glibtop *server)
{
server->sysdeps.swap = _glibtop_sysdeps_swap;
}
/* Provides information about swap usage. */
/*
* This function is based on a program called swapinfo written
* by Kevin Lahey <kml@rokkaku.atl.ga.us>.
*/
void
glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
{
struct swapent *swaplist;
int nswap, i;
guint64 avail = 0, inuse = 0;
int blocksize = 512; /* Default blocksize, use getbize() ? */
int blockdiv = blocksize / DEV_BSIZE;
struct uvmexp uvmexp;
size_t length_uvmexp;
static int swappgsin = -1;
static int swappgsout = -1;
glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_SWAP), 0);
memset (buf, 0, sizeof (glibtop_swap));
if (server->sysdeps.swap == 0)
return;
length_uvmexp = sizeof (uvmexp);
if (sysctl (mib_uvmexp, 2, &uvmexp, &length_uvmexp, NULL, 0)) {
glibtop_warn_io_r (server, "sysctl (vm.uvmexp)");
return;
}
if (swappgsin < 0) {
buf->pagein = 0;
buf->pageout = 0;
} else {
buf->pagein = uvmexp.pgswapin - swappgsin;
buf->pageout = uvmexp.pgswapout - swappgsout;
}
swappgsin = uvmexp.pgswapin;
swappgsout = uvmexp.pgswapout;
nswap = swapctl (SWAP_NSWAP, 0, 0);
if (nswap < 0) {
glibtop_warn_io_r (server, "swapctl (SWAP_NSWAP)");
return;
}
swaplist = g_malloc (nswap * sizeof (struct swapent));
if (swapctl (SWAP_STATS, swaplist, nswap) != nswap) {
glibtop_warn_io_r (server, "swapctl (SWAP_STATS)");
g_free (swaplist);
return;
}
/* Total things up, returns in 512 bytes blocks! */
for (i = 0; i < nswap; i++) {
if (swaplist[i].se_flags & SWF_ENABLE) {
avail += (swaplist[i].se_nblks / blockdiv);
inuse += (swaplist[i].se_inuse / blockdiv);
}
}
/* Convert back to bytes, the libgtop2 is not clear about unites... */
avail *= 512;
inuse *= 512;
g_free (swaplist);
buf->flags = _glibtop_sysdeps_swap;
buf->used = inuse;
buf->free = avail;
buf->total = inuse + avail;
}

116
sysdeps/openbsd/sysinfo.c Normal file
View File

@@ -0,0 +1,116 @@
/* $OpenBSD: sysinfo.c,v 1.4 2011/05/31 14:02:26 jasper Exp $ */
/* 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 <sys/param.h>
#include <sys/types.h>
#include <sys/sysctl.h>
#include <glibtop/error.h>
#include <glibtop/cpu.h>
#include <glibtop/sysinfo.h>
static const unsigned long _glibtop_sysdeps_sysinfo =
(1L << GLIBTOP_SYSINFO_CPUINFO);
static glibtop_sysinfo sysinfo = { .flags = 0 };
static void
init_sysinfo (glibtop *server)
{
char *model = NULL;
int mib[2];
guint ncpus = 1;
guint mhz = 0;
size_t len;
if (G_LIKELY (sysinfo.flags))
return;
glibtop_init_s (&server, GLIBTOP_SYSDEPS_CPU, 0);
mib[0] = CTL_HW;
/* Get the number of CPU's present */
mib[1] = HW_NCPU;
len = sizeof(ncpus);
if (sysctl(mib, 2, &ncpus, &len, NULL, 0) != 0)
printf("Couldn't determine hw.ncpu.\n");
/* Get the CPU model */
mib[1] = HW_MODEL;
len = 0;
if (sysctl(mib, 2, NULL, &len, NULL, 0) != -1) {
model = g_malloc (len);
sysctl(mib, 2, model, &len, NULL, 0);
} else {
printf("Couldn't determine hw.model.\n");
}
/* Get the clockrate */
mib[1] = HW_CPUSPEED;
len = sizeof(mhz);
if (sysctl(mib, 2, &mhz, &len, NULL, 0) != 0)
printf("Couldn't determine hw.cpuspeed.\n");
for (sysinfo.ncpu = 0;
sysinfo.ncpu < GLIBTOP_NCPU && sysinfo.ncpu < ncpus;
sysinfo.ncpu++) {
glibtop_entry * const cpuinfo = &sysinfo.cpuinfo[sysinfo.ncpu];
cpuinfo->labels = g_ptr_array_new ();
cpuinfo->values = g_hash_table_new_full(g_str_hash,
g_str_equal,
NULL, g_free);
g_ptr_array_add (cpuinfo->labels, "processor");
g_hash_table_insert (cpuinfo->values, "processor",
g_strdup_printf("%u", (guint)sysinfo.ncpu));
g_ptr_array_add (cpuinfo->labels, "vendor_id");
g_hash_table_insert (cpuinfo->values, "vendor_id",
g_strdup(model));
g_ptr_array_add (cpuinfo->labels, "model name");
g_hash_table_insert (cpuinfo->values, "model name",
g_strdup(model));
g_ptr_array_add (cpuinfo->labels, "cpu MHz");
g_hash_table_insert (cpuinfo->values, "cpu MHz",
g_strdup_printf("%d", mhz));
}
g_free (model);
sysinfo.flags = _glibtop_sysdeps_sysinfo;
}
const glibtop_sysinfo *
glibtop_get_sysinfo_s (glibtop *server)
{
init_sysinfo (server);
return &sysinfo;
}

75
sysdeps/openbsd/uptime.c Normal file
View File

@@ -0,0 +1,75 @@
/* $OpenBSD: uptime.c,v 1.6 2011/06/01 07:24:49 jasper Exp $ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/uptime.h>
#include <glibtop/cpu.h>
static const unsigned long _glibtop_sysdeps_uptime =
(1L << GLIBTOP_UPTIME_UPTIME) + (1L << GLIBTOP_UPTIME_IDLETIME) +
(1UL << GLIBTOP_UPTIME_BOOT_TIME);
static const unsigned long _required_cpu_flags =
(1L << GLIBTOP_CPU_TOTAL) + (1L << GLIBTOP_CPU_IDLE) +
(1L << GLIBTOP_CPU_FREQUENCY);
/* Init function. */
void
_glibtop_init_uptime_p (glibtop *server)
{
server->sysdeps.uptime = _glibtop_sysdeps_uptime;
}
/* Provides uptime and idle time. */
void
glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf)
{
time_t now;
int mib[2];
struct timeval boottime;
size_t size;
glibtop_cpu cpu;
mib[0] = CTL_KERN;
mib[1] = KERN_BOOTTIME;
size = sizeof(boottime);
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 &&
boottime.tv_sec != 0) {
time(&now);
buf->uptime = now - boottime.tv_sec;
buf->boot_time = boottime.tv_sec;
}
glibtop_get_cpu_p (server, &cpu);
/* Put something clever in buf->idletime: CP_IDLE. */
buf->idletime = (double) cpu.idle / (double) cpu.frequency;
buf->idletime /= (double) (server->ncpu + 1);
buf->flags = _glibtop_sysdeps_uptime;
}

287
tap-test Normal file
View File

@@ -0,0 +1,287 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>glib - Low level core library</title>
<meta name='generator' content='cgit v0.9.2'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/browse/cgit-gnome.css'/>
<link rel='shortcut icon' href='http://www-old.gnome.org/img/logo/foot-16.png'/>
<link rel='alternate' title='Atom feed' href='https://git.gnome.org/browse/glib/atom/tap-test?h=master' type='application/atom+xml'/>
</head>
<body>
<div id="global_domain_bar">
<div class="maxwidth">
<div class="tab">
<a class="root" href="https://www.gnome.org/">GNOME.org</a>
</div>
</div>
</div>
<div id="page">
<div id="logo_bar" class="container_12">
<div id="logo" class="grid_3">
<a title="Go to home page" href="https://git.gnome.org/"><img src="https://static.gnome.org/img/gnome-git.png" alt="GNOME: Git Repository" /></a>
</div>
<div id="top_bar" class="grid_9">
<div class="left">
<div class="menu-globalnav-container">
<ul id="menu-globalnav" class="menu">
<li id="menu-item-1039" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1039">
<a href="https://git.gnome.org/">Home</a></li>
<li id="menu-item-1037" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1037">
<a href="https://wiki.gnome.org/Git">Git Help</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div id='cgit'><table id='header'>
<tr>
<td class='main'><a href='/browse/'>index</a> : <a title='glib' href='/browse/glib/'>glib</a></td><td class='form'><form method='get' action=''>
<select name='h' onchange='this.form.submit();'>
<option value='GLIB_1_1_3_MARTIN'>GLIB_1_1_3_MARTIN</option>
<option value='GLIB_1_1_4_THREADS'>GLIB_1_1_4_THREADS</option>
<option value='GLIB_1_3_HACKS'>GLIB_1_3_HACKS</option>
<option value='GLIB_2_15_0'>GLIB_2_15_0</option>
<option value='dispatch-data'>dispatch-data</option>
<option value='gdbus-daemon'>gdbus-daemon</option>
<option value='gdbus-daemon2'>gdbus-daemon2</option>
<option value='glib-1-2'>glib-1-2</option>
<option value='glib-2-0'>glib-2-0</option>
<option value='glib-2-10'>glib-2-10</option>
<option value='glib-2-12'>glib-2-12</option>
<option value='glib-2-14'>glib-2-14</option>
<option value='glib-2-16'>glib-2-16</option>
<option value='glib-2-18'>glib-2-18</option>
<option value='glib-2-2'>glib-2-2</option>
<option value='glib-2-20'>glib-2-20</option>
<option value='glib-2-22'>glib-2-22</option>
<option value='glib-2-24'>glib-2-24</option>
<option value='glib-2-26'>glib-2-26</option>
<option value='glib-2-28'>glib-2-28</option>
<option value='glib-2-30'>glib-2-30</option>
<option value='glib-2-32'>glib-2-32</option>
<option value='glib-2-34'>glib-2-34</option>
<option value='glib-2-36'>glib-2-36</option>
<option value='glib-2-38'>glib-2-38</option>
<option value='glib-2-4'>glib-2-4</option>
<option value='glib-2-6'>glib-2-6</option>
<option value='glib-2-8'>glib-2-8</option>
<option value='glib-main-loop'>glib-main-loop</option>
<option value='glib-threads'>glib-threads</option>
<option value='master' selected='selected'>master</option>
<option value='new-gsettings'>new-gsettings</option>
<option value='signal-performance'>signal-performance</option>
<option value='test/gobjectnew'>test/gobjectnew</option>
<option value='tizen/kdbus-dev'>tizen/kdbus-dev</option>
<option value='wip/async-io-perf'>wip/async-io-perf</option>
<option value='wip/child-catchall'>wip/child-catchall</option>
<option value='wip/coverity-fixes'>wip/coverity-fixes</option>
<option value='wip/danw/clicert'>wip/danw/clicert</option>
<option value='wip/danw/glib.mk'>wip/danw/glib.mk</option>
<option value='wip/dbusable'>wip/dbusable</option>
<option value='wip/desktop-actions'>wip/desktop-actions</option>
<option value='wip/doc-fixes'>wip/doc-fixes</option>
<option value='wip/format-errors'>wip/format-errors</option>
<option value='wip/free'>wip/free</option>
<option value='wip/g-action-print-detailed-name'>wip/g-action-print-detailed-name</option>
<option value='wip/gbytes-takeover'>wip/gbytes-takeover</option>
<option value='wip/gcleanup'>wip/gcleanup</option>
<option value='wip/gcleanup-desrt'>wip/gcleanup-desrt</option>
<option value='wip/gdesktopappinfo'>wip/gdesktopappinfo</option>
<option value='wip/gicon'>wip/gicon</option>
<option value='wip/gnotification'>wip/gnotification</option>
<option value='wip/gobjectnew'>wip/gobjectnew</option>
<option value='wip/gproperty'>wip/gproperty</option>
<option value='wip/gproperty-2'>wip/gproperty-2</option>
<option value='wip/gsettings-list'>wip/gsettings-list</option>
<option value='wip/gsettings-work'>wip/gsettings-work</option>
<option value='wip/gsubprocess'>wip/gsubprocess</option>
<option value='wip/gsubprocess-2.36'>wip/gsubprocess-2.36</option>
<option value='wip/gsubprocess-desrt'>wip/gsubprocess-desrt</option>
<option value='wip/gsubprocess-ostreams'>wip/gsubprocess-ostreams</option>
<option value='wip/gutils-splitup'>wip/gutils-splitup</option>
<option value='wip/installed-tests'>wip/installed-tests</option>
<option value='wip/latest-gsubprocess'>wip/latest-gsubprocess</option>
<option value='wip/le-gsubprocess'>wip/le-gsubprocess</option>
<option value='wip/linux'>wip/linux</option>
<option value='wip/locale-monitor'>wip/locale-monitor</option>
<option value='wip/makefile.glib'>wip/makefile.glib</option>
<option value='wip/mapped-bytes'>wip/mapped-bytes</option>
<option value='wip/new-parser'>wip/new-parser</option>
<option value='wip/pcre-jit'>wip/pcre-jit</option>
<option value='wip/pcre-mark'>wip/pcre-mark</option>
<option value='wip/private-rework-3'>wip/private-rework-3</option>
<option value='wip/resources2'>wip/resources2</option>
<option value='wip/serializable'>wip/serializable</option>
<option value='wip/settings-backend'>wip/settings-backend</option>
<option value='wip/subprocess-2013'>wip/subprocess-2013</option>
<option value='wip/symbol-visibility'>wip/symbol-visibility</option>
<option value='wip/task'>wip/task</option>
<option value='wip/test-cleanup'>wip/test-cleanup</option>
<option value='wip/threadsafe-qdata'>wip/threadsafe-qdata</option>
<option value='wip/unicode-graphemebreak'>wip/unicode-graphemebreak</option>
<option value='wip/version-bounds'>wip/version-bounds</option>
<option value='wip/win32-source-api'>wip/win32-source-api</option>
</select> <input type='submit' name='' value='switch'/></form></td></tr>
<tr><td class='sub'>Low level core library</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/browse/glib/'>summary</a><a href='/browse/glib/refs/'>refs</a><a href='/browse/glib/log/tap-test'>log</a><a class='active' href='/browse/glib/tree/tap-test'>tree</a><a href='/browse/glib/commit/tap-test'>commit</a><a href='/browse/glib/diff/tap-test'>diff</a></td><td class='form'><form class='right' method='get' action='/browse/glib/log/tap-test'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='text' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/browse/glib/tree/'>root</a>/<a href='/browse/glib/tree/tap-test'>tap-test</a></div><div class='content'>blob: 481e333ec90cb9667b097643f9c1dd79afca4ab2 (<a href='/browse/glib/plain/tap-test'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
<a class='no' id='n2' name='n2' href='#n2'>2</a>
<a class='no' id='n3' name='n3' href='#n3'>3</a>
<a class='no' id='n4' name='n4' href='#n4'>4</a>
<a class='no' id='n5' name='n5' href='#n5'>5</a>
</pre></td>
<td class='lines'><pre><code>#! /bin/sh
# run a GTest in tap mode. The test binary is passed as $1
$1 -k --tap
</code></pre></td></tr></table>
</div> <!-- class=content -->
</div>
<div id="footer_community"></div>
<div id="footer_grass"></div>
<div id="footer">
<div class="container_13" id="container_12">
<div class="links grid_9">
<div class="menu-footer-container">
<ul id="menu-footer" class="menu">
<li id="menu-item-1048" class=
"menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1048">
<a href="/">The GNOME Project</a>
<ul class="sub-menu">
<li id="menu-item-1049" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1049">
<a href="https://www.gnome.org/about/">About Us</a></li>
<li id="menu-item-1050" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1050">
<a href="https://www.gnome.org/get-involved/">Get Involved</a></li>
<li id="menu-item-1051" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1051">
<a href="https://www.gnome.org/teams/">Teams</a></li>
<li id="menu-item-1053" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1053">
<a href="https://www.gnome.org/support-gnome/">Support GNOME</a></li>
<li id="menu-item-1054" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1054">
<a href="https://www.gnome.org/contact/">Contact Us</a></li>
<li id="menu-item-2246" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-2246">
<a href="https://www.gnome.org/foundation/">The GNOME Foundation</a></li>
</ul>
</li>
<li id="menu-item-1047" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1047">
<a href="#">Resources</a>
<ul class="sub-menu">
<li id="menu-item-1055" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1055">
<a href="https://developer.gnome.org">Developer Center</a></li>
<li id="menu-item-1056" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1056">
<a href="https://help.gnome.org">Documentation</a></li>
<li id="menu-item-1057" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1057">
<a href="https://wiki.gnome.org">Wiki</a></li>
<li id="menu-item-1058" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1058">
<a href="https://mail.gnome.org/mailman/listinfo">Mailing Lists</a></li>
<li id="menu-item-1059" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1059">
<a href="https://wiki.gnome.org/GnomeIrcChannels">IRC Channels</a></li>
<li id="menu-item-1060" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1060">
<a href="https://bugzilla.gnome.org/">Bug Tracker</a></li>
<li id="menu-item-1061" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1061">
<a href="https://git.gnome.org/browse/">Development Code</a></li>
<li id="menu-item-1062" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1062">
<a href="https://wiki.gnome.org/Jhbuild">Build Tool</a></li>
</ul>
</li>
<li id="menu-item-1046" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1046">
<a href="/news">News</a>
<ul class="sub-menu">
<li id="menu-item-1063" class=
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1063">
<a href="https://www.gnome.org/press/">Press Releases</a></li>
<li id="menu-item-1064" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1064">
<a href="https://www.gnome.org/start/stable">Latest Release</a></li>
<li id="menu-item-1065" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1065">
<a href="https://planet.gnome.org">Planet GNOME</a></li>
<li id="menu-item-1067" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1067">
<a href="https://news.gnome.org">Development News</a></li>
<li id="menu-item-1068" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1068">
<a href="https://identi.ca/gnome">Identi.ca</a></li>
<li id="menu-item-1069" class=
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1069">
<a href="https://twitter.com/gnome">Twitter</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="footnotes" class="grid_9">
<p>Copyright &copy; 2004-2013, <a href="https://www.gnome.org/">The GNOME Project</a>.</p>
<br />
<small><p>Hosted by <a href="http://www.redhat.com/">Red Hat</a>.
Powered by <a href="http://hjemli.net/git/cgit/">cgit</a>.</p>
<p>To follow the commits, subscribe to <a href="http://mail.gnome.org/mailman/listinfo/commits-list">commits-list</a>. (can be limited to specific modules)</p></small>
</div>
</div>
</div>
</div> <!-- id=cgit -->
</body>
</html>

22
tests/Makefile.am Normal file
View File

@@ -0,0 +1,22 @@
include $top_srcdir/glib-tap.mk
noinst_PROGRAMS = test
TESTS = test
test_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
@sysdeps_suid_lib@ \
$(suid_sysdeps) $(suid_common) \
$(LIBGTOP_LIBS) \
@libs_xauth@
test_CPPFLAGS = \
$(GLIB_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/include/glibtop \
$(NULL)
test_SOURCES = \
cpuinfo-tests.c

Some files were not shown because too many files have changed in this diff Show More