Compare commits
78 Commits
benoit/add
...
2.41.3
Author | SHA1 | Date | |
---|---|---|---|
|
526a516981 | ||
|
35972c6a3d | ||
|
e07a0a005d | ||
|
b8460a20ff | ||
|
c7be349744 | ||
|
1efbbd1297 | ||
|
f579574b86 | ||
|
079b9e17c5 | ||
|
306f5d0c8f | ||
|
80cfde7c7f | ||
|
f7a00681a9 | ||
|
9d385bdd1a | ||
|
5e97014fea | ||
|
66721198b6 | ||
|
507809b648 | ||
|
9159e25804 | ||
|
b08c3d8685 | ||
|
99803b3959 | ||
|
3b078fafa5 | ||
|
3d7870c961 | ||
|
f92f6ea029 | ||
|
e89475c0b2 | ||
|
629097436a | ||
|
04bf093412 | ||
|
69457ccfa9 | ||
|
1e3547406a | ||
|
3f4dac881b | ||
|
4c686019fa | ||
|
854d0c7547 | ||
|
1352f06f6a | ||
|
b381fe4e5c | ||
|
fca7a38be8 | ||
|
df6393ac0c | ||
|
7e9fed1513 | ||
|
f5ced2028d | ||
|
1cb23c7b83 | ||
|
b1b05985b1 | ||
|
cfe1ef95d4 | ||
|
246ec92cab | ||
|
e68d20f739 | ||
|
48ad21d329 | ||
|
e48d1a9c38 | ||
|
027c959fa0 | ||
|
a5b2b6db98 | ||
|
6b60695f99 | ||
|
c4ff3788b8 | ||
|
336d2480d3 | ||
|
24555c48d0 | ||
|
b51925dbd9 | ||
|
b9bbdf4c9f | ||
|
d4ac1eda07 | ||
|
7889113b99 | ||
|
dd342f6486 | ||
|
3644ac0f80 | ||
|
ae99056bdf | ||
|
572b195407 | ||
|
d8603f7692 | ||
|
b738a0ae09 | ||
|
2ec1815e6c | ||
|
48595809ed | ||
|
a067db0569 | ||
|
68b5269607 | ||
|
43e4c52579 | ||
|
fd162f9cb8 | ||
|
b8a0475a42 | ||
|
76c2e7178a | ||
|
7c14ffaf54 | ||
|
cfabe09ad8 | ||
|
72124ab005 | ||
|
9e68eb94c3 | ||
|
5714b6089c | ||
|
e1b249d6b7 | ||
|
757d90b2ab | ||
|
065a021a82 | ||
|
61093d22d9 | ||
|
cc042e1833 | ||
|
38b8e65e00 | ||
|
32f8317d04 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -58,6 +58,7 @@ doc/texinfo.tex
|
||||
doc/version.texi
|
||||
examples/affinity
|
||||
examples/df
|
||||
examples/disk
|
||||
examples/diskio
|
||||
examples/first
|
||||
examples/free
|
||||
@@ -74,6 +75,7 @@ examples/smp
|
||||
examples/sysdeps
|
||||
examples/timings
|
||||
examples/wd
|
||||
examples/sysinfo
|
||||
gtk-doc.make
|
||||
install-sh
|
||||
lib/GTop-2.0.gir
|
||||
|
101
.gitlab-ci.yml
101
.gitlab-ci.yml
@@ -1,8 +1,28 @@
|
||||
stages:
|
||||
- build
|
||||
- deploy
|
||||
- package
|
||||
- test
|
||||
- abi
|
||||
|
||||
variables:
|
||||
FEDORA_DEPENDENCIES:
|
||||
gettext-devel
|
||||
gobject-introspection-devel
|
||||
gtk-doc
|
||||
util-linux
|
||||
texinfo-tex
|
||||
FEDORA_DEPENDENCIES_ABI_CHECK:
|
||||
libabigail
|
||||
intltool
|
||||
LAST_ABI_BREAK: "d4ac1eda0752d559db8737773d6894aadc700ce3"
|
||||
UBUNTU_DEPENDENCIES:
|
||||
automake
|
||||
autopoint
|
||||
gettext
|
||||
gtk-doc-tools
|
||||
libgirepository1.0-dev
|
||||
libtool
|
||||
make
|
||||
texinfo
|
||||
texlive
|
||||
|
||||
build-fedora:
|
||||
image: fedora:latest
|
||||
@@ -11,50 +31,39 @@ build-fedora:
|
||||
- tags
|
||||
before_script:
|
||||
- dnf update -y --nogpgcheck
|
||||
- dnf -y install --nogpgcheck
|
||||
gawk gettext-devel glib2-devel gobject-introspection-devel gtk-doc perl
|
||||
texinfo texinfo-tex
|
||||
- dnf install -y --nogpgcheck $FEDORA_DEPENDENCIES
|
||||
script:
|
||||
- ./autogen.sh --disable-dependency-tracking
|
||||
- mkdir _build
|
||||
- cd _build
|
||||
- ../autogen.sh --disable-dependency-tracking
|
||||
- make
|
||||
- make install
|
||||
- make distcheck
|
||||
|
||||
deploy-install:
|
||||
stage: deploy
|
||||
extends: build-fedora
|
||||
script:
|
||||
- ./autogen.sh --disable-dependency-tracking
|
||||
- make install
|
||||
|
||||
package-distcheck:
|
||||
stage: package
|
||||
extends: build-fedora
|
||||
script:
|
||||
- ./autogen.sh --disable-dependency-tracking
|
||||
- make distcheck
|
||||
|
||||
|
||||
test-examples:
|
||||
stage: test
|
||||
extends: build-fedora
|
||||
script:
|
||||
- ./autogen.sh --disable-dependency-tracking
|
||||
- make
|
||||
- ./examples/affinity
|
||||
- ./examples/df
|
||||
- ./examples/diskio
|
||||
- ./examples/first
|
||||
- ./examples/free
|
||||
- ./examples/mountlist
|
||||
- ./examples/netlist
|
||||
- ./examples/netload lo
|
||||
- ./examples/openfiles
|
||||
- ./examples/pprint
|
||||
- ./examples/procargs
|
||||
- ./examples/proclist
|
||||
- ./examples/procmap
|
||||
- ./examples/second
|
||||
- ./examples/smp
|
||||
- ./examples/sysdeps
|
||||
- ./examples/timings
|
||||
- ./examples/wd
|
||||
abi-fedora:
|
||||
image: fedora:latest
|
||||
stage: abi
|
||||
needs:
|
||||
- build-fedora
|
||||
before_script:
|
||||
- dnf update -y --nogpgcheck
|
||||
- dnf install -y --nogpgcheck $FEDORA_DEPENDENCIES $FEDORA_DEPENDENCIES_ABI_CHECK
|
||||
script:
|
||||
- curl https://gitlab.freedesktop.org/hadess/check-abi/-/raw/main/contrib/check-abi-fedora.sh | bash
|
||||
- check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
||||
|
||||
build-ubuntu:
|
||||
image: ubuntu:latest
|
||||
stage: build
|
||||
except:
|
||||
- tags
|
||||
before_script:
|
||||
- apt-get update
|
||||
- DEBIAN_FRONTEND=noninteractive apt-get install -y $UBUNTU_DEPENDENCIES
|
||||
script:
|
||||
- mkdir _build
|
||||
- cd _build
|
||||
- ../autogen.sh
|
||||
- make
|
||||
- make install
|
||||
- make distcheck
|
||||
|
34
NEWS
34
NEWS
@@ -1,3 +1,37 @@
|
||||
16 February 2024: Overview of changes in 2.41.3
|
||||
================================================
|
||||
|
||||
* Fixed daemon buffer overflow #72
|
||||
* Updated translations
|
||||
|
||||
15 October 2023: Overview of changes in 2.41.2
|
||||
================================================
|
||||
|
||||
* Solaris
|
||||
- Fix build #47
|
||||
* Linux
|
||||
- Change disk example read/write unit to bytes
|
||||
- Fixed potential Buffer overflow when reading disk stats
|
||||
- Changed disk read/write unit to bytes in example
|
||||
* CI
|
||||
- Fixed CI by adding missing dependency
|
||||
|
||||
|
||||
10 January 2023 : Overview of changes in 2.41.1
|
||||
================================================
|
||||
|
||||
* FreeBSD
|
||||
- Build fixes
|
||||
- Support FreeBSD 13.0-CURRENT >= 1300062 vm_map_entry
|
||||
* OpenBSD
|
||||
- Build fixes
|
||||
* Linux
|
||||
- skip loop and rom devices
|
||||
* Allow building with gettext >= 0.20
|
||||
* Updated translations
|
||||
* CI build setup
|
||||
|
||||
|
||||
11 March 2019: Overview of changes in 2.40.0
|
||||
================================================
|
||||
|
||||
|
@@ -263,8 +263,7 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
|
||||
[
|
||||
ok=
|
||||
if test $ac_cv_func_getmntinfo = yes; then
|
||||
AC_EGREP_HEADER(f_type;, sys/mount.h,
|
||||
ok=yes)
|
||||
AC_EGREP_HEADER(getmntinfo, sys/mount.h, ok=yes)
|
||||
fi
|
||||
test -n "$ok" \
|
||||
&& fu_cv_sys_mounted_getmntinfo=yes \
|
||||
|
28
autogen.sh
28
autogen.sh
@@ -1,5 +1,33 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
case "$(uname -s)" in
|
||||
Linux)
|
||||
if ! [ -x "$(command -v lsblk)" ]; then
|
||||
echo '' >&2
|
||||
echo -e "${RED}*** ERROR:${NC} lsblk cannot be found. Try installing util-linux or util-linux-ng ${RED}***${NC}" >&2
|
||||
echo '' >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! [ -x "$(command -v sed)" ]; then
|
||||
echo '' >&2
|
||||
echo -e "${RED}*** ERROR:${NC} sed cannot be found. ***" >&2
|
||||
echo '' >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! [ -x "$(command -v tr)" ]; then
|
||||
echo '' >&2
|
||||
echo -e "${RED}*** ERROR:${NC} tr cannot be found. ***" >&2
|
||||
echo '' >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -n "$srcdir" || srcdir=$(dirname "$0")
|
||||
test -n "$srcdir" || srcdir=.
|
||||
|
||||
|
34
configure.ac
34
configure.ac
@@ -3,21 +3,21 @@ dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
m4_define([libgtop_major_version], [2])
|
||||
m4_define([libgtop_minor_version], [40])
|
||||
m4_define([libgtop_micro_version], [0])
|
||||
m4_define([libgtop_minor_version], [41])
|
||||
m4_define([libgtop_micro_version], [3])
|
||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||
|
||||
dnl increment if the interface has additions, changes, removals.
|
||||
m4_define([libgtop_current], [11])
|
||||
m4_define([libgtop_current], [12])
|
||||
|
||||
dnl increment any time the source changes; set to
|
||||
dnl 0 if you increment CURRENT
|
||||
m4_define([libgtop_revision], [1])
|
||||
m4_define([libgtop_revision], [0])
|
||||
|
||||
dnl increment if any interfaces have been added; set to 0
|
||||
dnl if any interfaces have been removed. removal has
|
||||
dnl precedence over adding, so set to 0 if both happened.
|
||||
m4_define([libgtop_age], [0])
|
||||
m4_define([libgtop_age], [1])
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
m4_define([libgtop_server_version], [5])
|
||||
@@ -27,7 +27,7 @@ m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + lib
|
||||
|
||||
AC_PREREQ(2.62)
|
||||
AC_INIT([libgtop], [libgtop_version],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
||||
[https://gitlab.gnome.org/GNOME/libgtop/-/issues/])
|
||||
AC_CONFIG_SRCDIR(copyright.txt)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
@@ -71,6 +71,16 @@ dnl Most people should have a working perl interpreter on their system
|
||||
AC_CHECK_PROGS(PERL, perl5 perl)
|
||||
test -z "$PERL" && AC_MSG_ERROR([You need to have a working perl interpreter.])
|
||||
|
||||
case "${host_os}" in
|
||||
linux*)
|
||||
AC_CHECK_TOOL(LSBLK,lsblk)
|
||||
AC_CHECK_TOOL(SED,sed)
|
||||
AC_CHECK_TOOL(TR,tr)
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_TOOL(CC,gcc)
|
||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||
AC_CHECK_TOOL(AS,as)
|
||||
@@ -110,10 +120,12 @@ AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_STRUCT_ST_RDEV
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
|
||||
dnl Check sys/time.h
|
||||
AC_CHECK_HEADERS([sys/time.h])
|
||||
|
||||
dnl For SunOS
|
||||
AC_CHECK_TYPE(ssize_t, int)
|
||||
AC_CHECK_HEADERS(memory.h)
|
||||
@@ -272,8 +284,8 @@ AC_ARG_ENABLE(fatal-warnings,
|
||||
[Define to enable fatal warnings]))
|
||||
|
||||
dnl These definitions are expanded in make.
|
||||
LIBGTOP_LIBS='-L$(libdir)'
|
||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
||||
LIBGTOP_LIBS='-L=$(libdir)'
|
||||
LIBGTOP_INCS='-I=$(includedir)/libgtop-2.0'
|
||||
|
||||
if test x$libgtop_have_sysinfo = xyes ; then
|
||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||
@@ -285,8 +297,8 @@ libgtop_save_prefix="$prefix"
|
||||
libgtop_save_exec_prefix="$exec_prefix"
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
||||
LIBGTOP_BINDIR=`eval echo "${bindir}"`
|
||||
LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
|
||||
LIBGTOP_BINDIR=`eval echo "${libexecdir}"`
|
||||
LIBGTOP_SERVER=`eval echo "${libexecdir}/libgtop_server2"`
|
||||
prefix="$libgtop_save_prefix"
|
||||
exec_prefix="$libgtop_save_exec_prefix"
|
||||
|
||||
|
@@ -49,6 +49,7 @@ System Dependent Functions
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
* glibtop_disk:: DISK Usage.
|
||||
|
||||
Common Functions
|
||||
|
||||
|
@@ -28,6 +28,7 @@
|
||||
* glibtop_proc_map:: Process Memory Maps.
|
||||
* glibtop_netload:: Network Load.
|
||||
* glibtop_ppp:: PPP Usage.
|
||||
* glibtop_disk:: DISK Usage.
|
||||
@end menu
|
||||
|
||||
@node glibtop_cpu, glibtop_mem, System Dependent, System Dependent
|
||||
@@ -1343,7 +1344,7 @@ enum @{
|
||||
@end example
|
||||
|
||||
@page
|
||||
@node glibtop_ppp, , glibtop_netload, System Dependent
|
||||
@node glibtop_ppp, glibtop_disk, glibtop_netload, System Dependent
|
||||
@subsection PPP Statistics
|
||||
|
||||
Library function @code{glibtop_get_ppp}:
|
||||
@@ -1403,6 +1404,62 @@ We're currently offline.
|
||||
We're currently online.
|
||||
@end table
|
||||
|
||||
@page
|
||||
@node glibtop_disk, , glibtop_ppp, System Dependent
|
||||
@subsection DISK Usage
|
||||
|
||||
Library function @code{glibtop_get_disk}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
void glibtop_get_disk (glibtop_disk *buf);
|
||||
void glibtop_get_disk_l (glibtop *server, glibtop_disk *buf);
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
Declaration of @code{glibtop_disk} in @file{<glibtop/disk.h>}:
|
||||
|
||||
@example
|
||||
@cartouche
|
||||
typedef struct _glibtop_disk glibtop_disk;
|
||||
|
||||
struct _glibtop_disk
|
||||
@{
|
||||
xdisk_sectors_read [GLIBTOP_NDISK],
|
||||
xdisk_time_read [GLIBTOP_NDISK],
|
||||
xdisk_sectors_write [GLIBTOP_NDISK],
|
||||
xdisk_time_write [GLIBTOP_NDISK],
|
||||
@};
|
||||
@end cartouche
|
||||
@end example
|
||||
|
||||
All DISK reads and writes are measured by @dfn{sectors} which are normally 512 bytes each.
|
||||
All disk time are measured in milliseconds which is 1/1000th of a second.
|
||||
|
||||
@table @code
|
||||
@item xdisk_sectors_read
|
||||
Number of sectors read since system boot.
|
||||
|
||||
@item xdisk_time_read
|
||||
Number of milliseconds spent reading since system boot.
|
||||
|
||||
@item xdisk_sectors_write
|
||||
Number of sectors written since system boot.
|
||||
|
||||
@item xdisk_time_write
|
||||
Number of milliseconds spent writing since system boot.
|
||||
|
||||
@end table
|
||||
|
||||
The @samp{xdisk_} are values from arrays of @code{GLIBTOP_NDISK} (defined in
|
||||
@file{<glibtop/disk.h>}) elements and contain one value for each DISK
|
||||
in the system.
|
||||
|
||||
Please note that all of the disk values are absolute values measured in
|
||||
certain units since system boot. To get bandwidth values (bytes/s), you need to call @code{glibtop_disk}, save the
|
||||
result, wait some time and then call it again and divide the differences of
|
||||
the two values by the time spent reading or writing.
|
||||
|
||||
@page
|
||||
@node Common Functions, Library Functions, System Dependent, Reference Manual
|
||||
@section Common Functions
|
||||
|
@@ -29,6 +29,7 @@ glibtop_close_p
|
||||
GLIBTOP_CMND_QUIT
|
||||
GLIBTOP_CMND_SYSDEPS
|
||||
GLIBTOP_CMND_CPU
|
||||
GLIBTOP_CMND_DISK
|
||||
GLIBTOP_CMND_MEM
|
||||
GLIBTOP_CMND_SWAP
|
||||
GLIBTOP_CMND_UPTIME
|
||||
@@ -678,6 +679,25 @@ glibtop_init_cpu_s
|
||||
glibtop_get_cpu_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/disk.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>disk</FILE>
|
||||
LIBTOP_XDISK_SECTORS_READ
|
||||
GLIBTOP_XDISK_TIME_READ
|
||||
GLIBTOP_XDISK_SECTORS_WRITE
|
||||
GLIBTOP_XDISK_TIME_WRITE
|
||||
GLIBTOP_MAX_DISK
|
||||
GLIBTOP_NDISK
|
||||
glibtop_disk
|
||||
glibtop_get_disk
|
||||
glibtop_get_disk_r
|
||||
glibtop_get_disk_l
|
||||
glibtop_init_disk_p
|
||||
glibtop_get_disk_p
|
||||
glibtop_init_disk_s
|
||||
glibtop_get_disk_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/swap.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>swap</FILE>
|
||||
|
@@ -11,7 +11,7 @@ AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
||||
|
||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||
mountlist procmap netload sysdeps timings \
|
||||
openfiles smp proclist free wd affinity diskio
|
||||
openfiles smp proclist free wd affinity disk diskio sysinfo
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
@@ -34,6 +34,9 @@ mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
smp_SOURCES = smp.c
|
||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
||||
|
||||
disk_SOURCES = disk.c
|
||||
disk_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
||||
|
||||
timings_SOURCES = timings.c
|
||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
@@ -67,3 +70,6 @@ affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
diskio_SOURCES = diskio.c
|
||||
diskio_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
sysinfo_SOURCES = sysinfo.c
|
||||
sysinfo_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
65
examples/disk.c
Normal file
65
examples/disk.c
Normal file
@@ -0,0 +1,65 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_disk disk;
|
||||
char separator [BUFSIZ];
|
||||
int ndisk, i;
|
||||
|
||||
glibtop_init();
|
||||
|
||||
glibtop_get_disk (&disk);
|
||||
|
||||
ndisk = glibtop_global_server->ndisk ? glibtop_global_server->ndisk : 1;
|
||||
|
||||
memset (separator, '-', 91);
|
||||
separator [92] = '\0';
|
||||
|
||||
printf("\n\n");
|
||||
printf ("ELAPSE ");
|
||||
printf ("Read (b) Time Read (ms) Write (b) Time Write (ms)\n");
|
||||
printf ("%s\n", separator);
|
||||
|
||||
for (i = 0; i < ndisk; i++) {
|
||||
printf ("DISK %3d : %15lu %15lu %15lu %15lu\n", i,
|
||||
(unsigned long) disk.xdisk_sectors_read [i] * 512,
|
||||
(unsigned long) disk.xdisk_time_read [i],
|
||||
(unsigned long) disk.xdisk_sectors_write [i] * 512,
|
||||
(unsigned long) disk.xdisk_time_write [i]);
|
||||
|
||||
}
|
||||
|
||||
printf ("%s\n\n\n", separator);
|
||||
|
||||
exit (0);
|
||||
}
|
@@ -66,7 +66,7 @@ main (int argc, char *argv [])
|
||||
glibtop_netload netload;
|
||||
unsigned method, count, port;
|
||||
struct in_addr addr, subnet;
|
||||
char *address_string, *subnet_string;
|
||||
char address_string[INET_ADDRSTRLEN], subnet_string[INET_ADDRSTRLEN];
|
||||
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
|
||||
char *hwaddress_string;
|
||||
char buffer [BUFSIZ];
|
||||
@@ -105,9 +105,8 @@ main (int argc, char *argv [])
|
||||
addr.s_addr = netload.address;
|
||||
subnet.s_addr = netload.subnet;
|
||||
|
||||
address_string = g_strdup (inet_ntoa (addr));
|
||||
subnet_string = g_strdup (inet_ntoa (subnet));
|
||||
|
||||
inet_ntop (AF_INET, &addr, address_string, INET_ADDRSTRLEN);
|
||||
inet_ntop (AF_INET, &subnet, subnet_string, INET_ADDRSTRLEN);
|
||||
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
|
||||
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
|
||||
|
||||
@@ -153,9 +152,6 @@ main (int argc, char *argv [])
|
||||
hwaddress_string);
|
||||
|
||||
|
||||
g_free (address_string);
|
||||
g_free (subnet_string);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
|
48
examples/sysinfo.c
Normal file
48
examples/sysinfo.c
Normal file
@@ -0,0 +1,48 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Dr. James Dominic P. Guana <jdpguana@histark.com>, August 2021.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <locale.h>
|
||||
#include <libintl.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/sysinfo.h>
|
||||
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
char *model;
|
||||
const glibtop_sysinfo * sysinfo;
|
||||
|
||||
glibtop_init();
|
||||
sysinfo = glibtop_get_sysinfo ();
|
||||
model = g_hash_table_lookup (sysinfo->cpuinfo [1].values, "model name");
|
||||
|
||||
printf ("\nProcessor Model: %s\n", g_strdup (model));
|
||||
printf ("Number of Cores: %lu\n\n", sysinfo->ncpu);
|
||||
|
||||
glibtop_close ();
|
||||
|
||||
exit (0);
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
void|cpu
|
||||
void|disk
|
||||
void|mem
|
||||
void|swap
|
||||
void|uptime
|
||||
|
@@ -98,6 +98,9 @@ struct _glibtop
|
||||
gid_t egid;
|
||||
|
||||
glibtop_machine *machine; /* Machine dependent data */
|
||||
|
||||
int ndisk; /* Number of DISKs, zero if single-disk. This pertains to disk volumes */
|
||||
int real_ndisk; /* Number of PHYSICAL DISKs. Only ndisk is monitored for now */
|
||||
};
|
||||
|
||||
extern glibtop *glibtop_global_server;
|
||||
|
@@ -2,7 +2,7 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
||||
|
||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
||||
sem_limits.h uptime.h command.h mem.h proclist.h \
|
||||
proctime.h shm_limits.h cpu.h msg_limits.h \
|
||||
proctime.h shm_limits.h cpu.h disk.h msg_limits.h \
|
||||
procmem.h procuid.h swap.h \
|
||||
procsegment.h sysdeps.h global.h \
|
||||
procsignal.h union.h gnuserv.h \
|
||||
|
@@ -60,8 +60,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_CMND_PROC_WD 26
|
||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||
#define GLIBTOP_CMND_PROC_IO 28
|
||||
#define GLIBTOP_CMND_DISK 29
|
||||
|
||||
#define GLIBTOP_MAX_CMND 29
|
||||
#define GLIBTOP_MAX_CMND 30
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
|
86
include/glibtop/disk.h
Normal file
86
include/glibtop/disk.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_DISK_H__
|
||||
#define __GLIBTOP_DISK_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_XDISK_SECTORS_READ 0
|
||||
#define GLIBTOP_XDISK_TIME_READ 1
|
||||
#define GLIBTOP_XDISK_SECTORS_WRITE 2
|
||||
#define GLIBTOP_XDISK_TIME_WRITE 3
|
||||
|
||||
#define GLIBTOP_MAX_DISK 4
|
||||
|
||||
/* Nobody should really be using more than 4 disk.
|
||||
Yes we are :)
|
||||
Nobody should really be using more than 32 disk.
|
||||
*/
|
||||
#define GLIBTOP_NDISK 1024
|
||||
|
||||
typedef struct _glibtop_disk glibtop_disk;
|
||||
|
||||
struct _partition_info
|
||||
{
|
||||
char name[256];
|
||||
char type[256];
|
||||
char raid_num[256];
|
||||
int max;
|
||||
};
|
||||
|
||||
typedef struct _partition_info partition_info;
|
||||
|
||||
struct _glibtop_disk
|
||||
{
|
||||
guint64 flags; /* NOT USED YET */
|
||||
guint64 xdisk_sectors_read [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_SECTORS_READ */
|
||||
guint64 xdisk_time_read [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_TIME_READ */
|
||||
guint64 xdisk_sectors_write [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_SECTORS_WRITE */
|
||||
guint64 xdisk_time_write [GLIBTOP_NDISK]; /* GLIBTOP_XDISK_TIME_WRITE */
|
||||
guint64 xdisk_flags;
|
||||
};
|
||||
|
||||
void glibtop_get_disk (glibtop_disk *buf);
|
||||
|
||||
#if GLIBTOP_SUID_DISK
|
||||
#define glibtop_get_disk_r glibtop_get_disk_p
|
||||
#else
|
||||
#define glibtop_get_disk_r glibtop_get_disk_s
|
||||
#endif
|
||||
|
||||
void glibtop_get_disk_l (glibtop *server, glibtop_disk *buf);
|
||||
|
||||
#if GLIBTOP_SUID_DISK
|
||||
void _glibtop_init_disk_p (glibtop *server);
|
||||
void glibtop_get_disk_p (glibtop *server, glibtop_disk *buf);
|
||||
#else
|
||||
void _glibtop_init_disk_s (glibtop *server);
|
||||
void glibtop_get_disk_s (glibtop *server, glibtop_disk *buf);
|
||||
#endif
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -28,17 +28,11 @@
|
||||
|
||||
#endif /* _IN_LIBGTOP */
|
||||
|
||||
#if TIME_WITH_SYS_TIME
|
||||
#if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
@@ -54,8 +54,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||
#define GLIBTOP_SYSDEPS_PROC_IO 27
|
||||
#define GLIBTOP_SYSDEPS_DISK 28
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 28
|
||||
#define GLIBTOP_MAX_SYSDEPS 29
|
||||
|
||||
/* The 'features' args to glibtop_init_* is an unsigned long */
|
||||
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
|
||||
@@ -95,7 +96,7 @@ struct _glibtop_sysdeps
|
||||
guint64 proc_wd; /* glibtop_proc_wd */
|
||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||
guint64 proc_io; /* glibtop_proc_io */
|
||||
guint64 reserved0;
|
||||
guint64 disk; /* glibtop_disk */
|
||||
guint64 reserved1;
|
||||
guint64 reserved2;
|
||||
guint64 reserved3;
|
||||
|
@@ -23,6 +23,7 @@
|
||||
#define __GLIBTOP_UNION_H__
|
||||
|
||||
#include <glibtop/cpu.h>
|
||||
#include <glibtop/disk.h>
|
||||
#include <glibtop/mem.h>
|
||||
#include <glibtop/swap.h>
|
||||
#include <glibtop/uptime.h>
|
||||
@@ -60,6 +61,7 @@ typedef union _glibtop_union glibtop_union;
|
||||
union _glibtop_union
|
||||
{
|
||||
glibtop_cpu cpu;
|
||||
glibtop_disk disk;
|
||||
glibtop_mem mem;
|
||||
glibtop_swap swap;
|
||||
glibtop_uptime uptime;
|
||||
|
@@ -29,7 +29,7 @@ if HAVE_INTROSPECTION
|
||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.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/cpu.h ../include/glibtop/msg_limits.h \
|
||||
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/disk.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 \
|
||||
|
@@ -43,6 +43,7 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
||||
CHECK_CMND(GLIBTOP_CMND_QUIT);
|
||||
CHECK_CMND(GLIBTOP_CMND_SYSDEPS);
|
||||
CHECK_CMND(GLIBTOP_CMND_CPU);
|
||||
CHECK_CMND(GLIBTOP_CMND_DISK);
|
||||
CHECK_CMND(GLIBTOP_CMND_MEM);
|
||||
CHECK_CMND(GLIBTOP_CMND_SWAP);
|
||||
CHECK_CMND(GLIBTOP_CMND_UPTIME);
|
||||
|
@@ -3,6 +3,8 @@ glibtop_close
|
||||
glibtop_close_r
|
||||
glibtop_get_cpu
|
||||
glibtop_get_cpu_l
|
||||
glibtop_get_disk
|
||||
glibtop_get_disk_l
|
||||
glibtop_get_fsusage
|
||||
glibtop_get_fsusage_l
|
||||
glibtop_get_loadavg
|
||||
|
@@ -27,6 +27,7 @@
|
||||
|
||||
const unsigned long glibtop_server_features =
|
||||
GLIBTOP_SUID_CPU +
|
||||
GLIBTOP_SUID_DISK +
|
||||
GLIBTOP_SUID_MEM +
|
||||
GLIBTOP_SUID_SWAP +
|
||||
GLIBTOP_SUID_UPTIME +
|
||||
@@ -56,6 +57,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
#if !GLIBTOP_SUID_CPU
|
||||
_glibtop_init_cpu_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_DISK
|
||||
_glibtop_init_disk_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_MEM
|
||||
_glibtop_init_mem_s,
|
||||
#endif
|
||||
@@ -135,6 +139,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
||||
#if GLIBTOP_SUID_CPU
|
||||
_glibtop_init_cpu_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_DISK
|
||||
_glibtop_init_disk_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_MEM
|
||||
_glibtop_init_mem_p,
|
||||
#endif
|
||||
|
@@ -36,43 +36,43 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
libgtop_need_server=yes
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
libgtop_postinstall='chown root $(bindir)/libgtop_server2 && chmod 4755 $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chown root $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 4755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
netbsd*|bsdi*)
|
||||
libgtop_sysdeps_dir=bsd
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
openbsd*)
|
||||
libgtop_sysdeps_dir=openbsd
|
||||
libgtop_need_server=yes
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2555 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
freebsd*|kfreebsd*)
|
||||
libgtop_sysdeps_dir=freebsd
|
||||
libgtop_need_server=yes
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
solaris*)
|
||||
libgtop_sysdeps_dir=solaris
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||
libgtop_postinstall='chgrp sys $(DESTDIR)$(libexecdir)/libgtop_server && chmod 2755 $(DESTDIR)$(libexecdir)/libgtop_server'
|
||||
;;
|
||||
aix*)
|
||||
libgtop_sysdeps_dir=aix
|
||||
libgtop_need_server=yes
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chgrp system $(DESTDIR)$(libexecdir)/libgtop_server && chmod g+s $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
darwin*)
|
||||
libgtop_sysdeps_dir=darwin
|
||||
libgtop_need_server=yes
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
|
||||
libgtop_postinstall='chgrp kmem $(DESTDIR)$(libexecdir)/libgtop_server2 && chmod g+s $(DESTDIR)$(libexecdir)/libgtop_server2'
|
||||
;;
|
||||
cygwin*)
|
||||
libgtop_sysdeps_dir=cygwin
|
||||
|
@@ -6,8 +6,9 @@
|
||||
|
||||
<name xml:lang="en">libgtop</name>
|
||||
<shortdesc xml:lang="en">LibGTop2</shortdesc>
|
||||
<description xml:lang="en">A library for collecting system monitoring data</description>
|
||||
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
|
||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
|
||||
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/libgtop/issues/" />
|
||||
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
||||
<programming-language>C</programming-language>
|
||||
|
||||
|
@@ -1,5 +1,6 @@
|
||||
#
|
||||
# please keep this list sorted alphabetically
|
||||
ab
|
||||
am
|
||||
ar
|
||||
as
|
||||
|
189
po/ab.po
Normal file
189
po/ab.po
Normal file
@@ -0,0 +1,189 @@
|
||||
# Abkhazian translation for libgtop.
|
||||
# Copyright (C) 2022 libgtop's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the libgtop package.
|
||||
# Нанба Наала <naala-nanba@rambler.ru>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2021-09-12 23:06+0000\n"
|
||||
"PO-Revision-Date: 2021-09-12 23:06+0000\n"
|
||||
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>\n"
|
||||
"Language-Team: Abkhazian <ab@li.org>\n"
|
||||
"Language: ab\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-DamnedLies-Scope: partial\n"
|
||||
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "%d баит шәрыԥхьахьеит"
|
||||
msgstr[1] "%d баит шәрыԥхьахьеит"
|
||||
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "егьырҭ адыррақәа ршәага"
|
||||
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
msgstr[0] "%lu баитк адыррақәа ирыԥхьоуп"
|
||||
msgstr[1] "%lu баитк адыррақәа ирыԥхьоуп"
|
||||
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "иҭаҩҩуп %d баитк"
|
||||
msgstr[1] "иҭаҩҩуп %d баитк"
|
||||
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr "Аиқәыршәара аҿакра"
|
||||
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Иԥкаау алкаа аҿакра"
|
||||
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "Ақәыԥшыларатә режим аиҿымгара"
|
||||
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "inetd аҟынтә ицәыргоуп"
|
||||
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
msgid "Run “%s --help” to see a full list of available command line options.\n"
|
||||
msgstr "Инашәыгӡа адҵа «%s --help», ишәзыманшәалоу адҵатә цәаҳәа алшарақәа резыкхьӡынҵа нарҭбааны ишәбарц азы.\n"
|
||||
|
||||
#: 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 "Азҿлымҳара зҭаху асокет азыҳәарақәа"
|
||||
|
||||
#: 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 "Уажәы иалшахоит аҭагалара/аҭгара"
|
||||
|
||||
#: 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 "Ахархәаҩ 1 идырга "
|
||||
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Ахархәаҩ 2 идырга "
|
10
po/fr.po
10
po/fr.po
@@ -7,14 +7,14 @@
|
||||
# Christophe Merlet <redfox@redfoxcenter.org>, 2000-2004.
|
||||
# Benoit Dejean <tazforever@dlfp.org>, 2004.
|
||||
# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007.
|
||||
# Charles Monzat <charles.monzat@free.fr>, 2018-2021.
|
||||
# Charles Monzat <charles.monzat@free.fr>, 2018-2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 2.9.91\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2020-05-29 05:44+0000\n"
|
||||
"PO-Revision-Date: 2021-03-11 10:22+0100\n"
|
||||
"POT-Creation-Date: 2021-08-23 22:54+0000\n"
|
||||
"PO-Revision-Date: 2022-04-08 15:50+0200\n"
|
||||
"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
@@ -22,7 +22,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Gtranslator 3.38.0\n"
|
||||
"X-Generator: Gtranslator 40.0\n"
|
||||
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
@@ -63,7 +63,7 @@ msgstr "Ne pas lancer en tâche de fond"
|
||||
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invoqué à partir de inetd"
|
||||
msgstr "Invoqué à partir de inetd"
|
||||
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
|
105
po/he.po
105
po/he.po
@@ -3,191 +3,196 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# Gil 'Dolfin' Osher <dolfin@rpg.org.il>, 2003
|
||||
# Yosef Or Boczko <yoseforb@gmail.com>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop.libgtop-GNOME-2-0-port.he\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-09-30 03:40+0100\n"
|
||||
"PO-Revision-Date: 2003-03-18 18:06+0200\n"
|
||||
"Last-Translator: Yair Hershkovitz <yairhr@gmail.com>\n"
|
||||
"Language-Team: Hebrew <he@li.org>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2020-05-29 05:44+0000\n"
|
||||
"PO-Revision-Date: 2022-02-14 16:59+0200\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: Hebrew <>\n"
|
||||
"Language: he\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.0\n"
|
||||
"X-Generator: Gtranslator 40.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
# *** This library should not be translated (only copy the english msgs) ***
|
||||
# *** Old hebrew translation is commented for backup sake ***
|
||||
#: ../lib/read.c:51
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "read %d byte"
|
||||
msgstr[1] "read %d bytes"
|
||||
|
||||
#: ../lib/read_data.c:51
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "read data size"
|
||||
|
||||
#: ../lib/read_data.c:70
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
msgstr[0] "read %lu byte of data"
|
||||
msgstr[1] "read %lu bytes of data"
|
||||
|
||||
#: ../lib/write.c:51
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "wrote %d byte"
|
||||
msgstr[1] "wrote %d bytes"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:458
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr "Enable debugging"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Enable verbose output"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Don't fork into background"
|
||||
#: src/daemon/gnuserv.c:460
|
||||
#| msgid "Don't fork into background"
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "Don’t fork into background"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invoked from inetd"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:498
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr "Run '%s --help' to see a full list of available command line options.\n"
|
||||
#| msgid ""
|
||||
#| "Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgid "Run “%s --help” to see a full list of available command line options.\n"
|
||||
msgstr ""
|
||||
"Run “%s --help” to see a full list of available command line options.\n"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
msgstr "Hangup"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr "Interrupt"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "Quit"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Illegal instruction"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
#: 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
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "Abort"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "EMT error"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Floating-point exception"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
msgstr "Kill"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
#: 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
|
||||
#: 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
|
||||
#: 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
|
||||
#: 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
|
||||
#: 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
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
msgstr "Termination"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Urgent condition on socket"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
#: 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
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "Continue"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr "Child status has changed"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "Background read from tty"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "Background write to tty"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O now possible"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "CPU limit exceeded"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "File size limit exceeded"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Virtual alarm clock"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Profiling alarm clock"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "Window size change"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
#: 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
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "User defined signal 1"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "User defined signal 2"
|
||||
|
||||
|
213
po/ka.po
213
po/ka.po
@@ -1,221 +1,186 @@
|
||||
# translation of libgtop.po to Georgian
|
||||
# Copyright (C) 2006 Gnome Georgian Translators
|
||||
# This file is distributed under the same license as the libgtop package.
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# 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.
|
||||
#
|
||||
# Alexander Didebulidze <didebuli@in.tum.de>, 2006.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-02-25 08:57+0100\n"
|
||||
"PO-Revision-Date: 2006-03-18 03:28+0100\n"
|
||||
"Last-Translator: Alexander Didebulidze <didebuli@in.tum.de>\n"
|
||||
"Language-Team: Georgian <gnome@inet.ge>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2022-03-28 13:02+0000\n"
|
||||
"PO-Revision-Date: 2022-07-21 17:28+0200\n"
|
||||
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
|
||||
"Language-Team: Georgian <(nothing)>\n"
|
||||
"Language: ka\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"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.1.1\n"
|
||||
|
||||
#: ../lib/read.c:65
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
#, fuzzy
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "byte"
|
||||
msgstr[0] "წაკითხულია %d ბაიტი"
|
||||
|
||||
#: ../lib/read_data.c:53
|
||||
#, fuzzy
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "სიდიდე"
|
||||
msgstr "წაკითხული მონაცემების ზომა"
|
||||
|
||||
#: ../lib/read_data.c:72
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
#, fuzzy
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
msgstr[0] "byte"
|
||||
msgstr[0] "წაკითხულია %lu ბაიტი ინფორმაცა"
|
||||
|
||||
#: ../lib/write.c:52
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
#, fuzzy
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "byte"
|
||||
msgstr[0] "ჩაწერილია %d ბაიტი"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr ""
|
||||
msgstr "გამართვის კოდის ჩართვა"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
msgid "DEBUG"
|
||||
msgstr "DEBUG"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr ""
|
||||
msgstr "უფრო მეტის ჩვენება"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
msgid "VERBOSE"
|
||||
msgstr "VERBOSE"
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "ფონზე გადასვლის გათიშვა"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
msgid "Don't fork into background"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
msgid "NO-DAEMON"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/daemon/gnuserv.c:466
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr ""
|
||||
msgstr "გაშვებულია inetd-დან"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:466
|
||||
msgid "INETD"
|
||||
msgstr "INETD"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:500
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Error on option %s: %s.\n"
|
||||
"Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr "შეცდომა -სკენ a ხაზი n"
|
||||
msgid "Run “%s --help” to see a full list of available command line options.\n"
|
||||
msgstr "გაშვების ხელმისაწვდომი პარამეტრების სანახავად გაუშვით \"%s --help\".\n"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
msgstr ""
|
||||
msgstr "გათიშვა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr ""
|
||||
msgstr "შეწყვეტა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "გამოსვლა"
|
||||
msgstr "გასვლა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
msgstr "არალეგალური ინსტრუქცია"
|
||||
msgstr "არასწორი ინსტრუქცია"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Trace trap"
|
||||
msgstr "გამოთვალე"
|
||||
msgstr "ტრეისის ჩაჭერა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "შეწყვეტა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "EMT შეცდომა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr ""
|
||||
msgstr "წილადი რიცხვების ანგარიშის შეცდომა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
msgstr ""
|
||||
msgstr "მოკვლა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "შეცდომა"
|
||||
msgstr "მატარებლის შეცდომა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
msgstr ""
|
||||
msgstr "სეგმენტაციის შეცდომა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "-სკენ"
|
||||
msgstr "სისტემური ფუნქციის არასწორი არგუმენტები"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
||||
msgid "Broken pipe"
|
||||
msgstr ""
|
||||
msgstr "გაფუჭებული მილი"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
||||
msgid "Alarm clock"
|
||||
msgstr ""
|
||||
msgstr "მაღვიძარა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
msgstr ""
|
||||
msgstr "შეწყვეტა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr ""
|
||||
msgstr "სოკეტის სასწრაფო მდგომარეობა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
msgstr "შეჩერება"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Keyboard stop"
|
||||
msgstr "კლავიატურა"
|
||||
msgstr "კლავიაუტით გაჩერება"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "გაგრძელება"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr ""
|
||||
msgstr "შვილის სტატუსი შეცვლილია"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "ფონი"
|
||||
msgstr "TTY-დან ფონურად კითხვა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "ფონი -სკენ"
|
||||
msgstr "TTY-ში ფონურად ჩაწერა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O ახლა შესაძლებელია"
|
||||
msgstr "I/O ახლა შესაძელებელია"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "CPU"
|
||||
msgstr "CPU-ის ლიმიტი გადაჭარბებულია"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "ფაილი სიდიდე"
|
||||
msgstr "ფაილის ზომის ლიმიტი გადაჭარბებულია"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr ""
|
||||
msgstr "ვირტუალური მაღვიძარა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr ""
|
||||
msgstr "მაღვიძარის ზარის პროფილირება"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "ფანჯარა სიდიდე"
|
||||
msgstr "ფანჯრის ზომის შეცვლა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
||||
msgid "Information request"
|
||||
msgstr "ინფორმაცია"
|
||||
msgstr "ინფორმაციის მოთხოვნა"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "მომხმარებელი 1"
|
||||
msgstr "მომხმარებლის მიერ განსაზღვრული სიგნალი 1"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59
|
||||
#, fuzzy
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "მომხმარებელი 2"
|
||||
|
||||
msgstr "მომხმარებლის მიერ განსაზღვრული სიგნალი 2"
|
||||
|
105
po/ne.po
105
po/ne.po
@@ -12,188 +12,187 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop.gnome-2-20.ne\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-09-30 03:40+0100\n"
|
||||
"PO-Revision-Date: 2007-12-19 12:53+0545\n"
|
||||
"Last-Translator: Nabin Gautam <nabin@mpp.org.np>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2020-05-29 05:44+0000\n"
|
||||
"PO-Revision-Date: 2021-05-16 14:57+0545\n"
|
||||
"Last-Translator: Pawan Chitrakar <chautari@gmail.com>\n"
|
||||
"Language-Team: Nepali <info@mpp.org.np>\n"
|
||||
"Language: ne\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Nepali\n"
|
||||
"X-Poedit-Country: NEPAL\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"Plural-Forms: nplurals=2; plural=n !=1\n"
|
||||
"X-Generator: Poedit 1.8.4\n"
|
||||
"Plural-Forms: nplurals=2; plural=n !=1;\n"
|
||||
|
||||
#: ../lib/read.c:51
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "%d बाइट पढ्नुहोस्"
|
||||
msgstr[1] "%d बाइट पढ्नुहोस्"
|
||||
|
||||
#: ../lib/read_data.c:51
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "डेटा साइज पढ्नुहोस्"
|
||||
|
||||
#: ../lib/read_data.c:70
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
msgstr[0] "डेटाको %lu बाइट पढ्नुहोस्"
|
||||
msgstr[1] "डेटाको %lu बाइट पढ्नुहोस्"
|
||||
|
||||
#: ../lib/write.c:51
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "%d बाइट लेख्यो"
|
||||
msgstr[1] "%d बाइट लेख्यो"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:458
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr "डिबगिङ सक्षम पार्नुहोस्"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr "भर्बोज निर्गत सक्षम पार्नुहोस्"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
msgid "Don't fork into background"
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "पृष्ठभूमिमा बिभाजन नगर्नुहोस्"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "inetd बाट आह्वान गरिएको"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:498
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||
msgstr "उपलब्ध आदेश लाइन विकल्पको पूरै सूची हेर्न '%s --मद्दत' चलाउनुहोस् ।\n"
|
||||
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
|
||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
msgstr "ह्याङअप"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr "रोकावट"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "अन्त्य गर्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
msgstr "अवैध निर्देशन"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Trace trap"
|
||||
msgstr "पदचिन्ह ट्रयाप"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "परित्याग गर्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "इएमटी (EMT) त्रुटि"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr "उत्प्लावन बिन्दु अपवाद"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
msgstr "नष्ट गर्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "बस त्रुटि"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
msgstr "खण्डीकरण बिखण्डन"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "प्रणाली कलमा खराब तर्क"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
||||
msgid "Broken pipe"
|
||||
msgstr "विच्छेद पाइप"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
||||
msgid "Alarm clock"
|
||||
msgstr "सचेतक घडी"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
msgstr "अन्त्य"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "सकेटमा आकस्मिक अवस्था"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
msgstr "रोक्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Keyboard stop"
|
||||
msgstr "कुञ्जिपाटी बन्द गर्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "जारी राख्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr "चाइल्ड वस्तुस्थिति परिवर्तन गरिएको छ"
|
||||
msgstr "शाखा वस्तुस्थिति परिवर्तन गरिएको छ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "tty बाट पृष्ठभूमि पढ्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "tty मा पृष्ठभूमि लेख्नुहोस्"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "I/O अब सम्भव छ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "सीपीयू (CPU) सीमा नाघ्यो"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "फाइल साइज सीमा नाघ्यो"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "अवास्तविक सचेतक घडी"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "सचेतक घडीको प्रोफाइल हुँदैछ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "सञ्झ्याल साइज परिवर्तन"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
||||
msgid "Information request"
|
||||
msgstr "सूचना अनुरोध"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "प्रयोगकर्ता परिभषित सङ्केत १"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "प्रयोगकर्ता परिभषित सङ्केत २"
|
||||
|
||||
|
102
po/oc.po
102
po/oc.po
@@ -7,188 +7,188 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop 2.9.91\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=libgtop&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2016-05-05 20:08+0000\n"
|
||||
"PO-Revision-Date: 2016-05-05 21:47+0200\n"
|
||||
"Last-Translator: Cédric Valmary (totenoc.eu) <cvalmary@yahoo.fr>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2020-05-29 05:44+0000\n"
|
||||
"PO-Revision-Date: 2021-07-04 18:57+0200\n"
|
||||
"Last-Translator: Quentin PAGÈS\n"
|
||||
"Language-Team: Tot En Òc\n"
|
||||
"Language: oc\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: Virtaal 0.7.1\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../lib/read.c:49
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
msgstr[0] "%d octet legit"
|
||||
msgstr[1] "%d octets legits"
|
||||
|
||||
#: ../lib/read_data.c:49
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "talha de las donadas legidas"
|
||||
|
||||
#: ../lib/read_data.c:66
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
msgstr[0] "lectura de %lu octet de donadas"
|
||||
msgstr[1] "lectura de %lu octets de donadas"
|
||||
|
||||
#: ../lib/write.c:49
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "escritura de %d octet"
|
||||
msgstr[1] "escritura de %d octets"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:456
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr "Activa lo desbugatge"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:458
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Activa la sortida verbosa"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
msgid "Don't fork into background"
|
||||
msgstr "Aviar pas en prètzfait de fons"
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "Aviar pas en prètzfait de rèireplan"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Invocat a partir d'inetd"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:498
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
msgid "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 ""
|
||||
"Aviar « %s --help » per afichar la lista de las opcions de la linha de "
|
||||
"comanda.\n"
|
||||
"Executar « %s --help » per afichar la lista de las opcions de la linha "
|
||||
"de comanda.\n"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
msgstr "Hangup"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr "Interrupcion"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "Quitar"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Instruccion illegala"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Trace trap"
|
||||
msgstr "Punt d'arrèst rencontrat"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "Anullacion"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "Error EMT"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Excepcion virgula flotanta"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
msgstr "Tuar"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "Error bus"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
msgstr "Violacion de segmentacion"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "Marrit argument d'apèl sistèma"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
||||
msgid "Broken pipe"
|
||||
msgstr "Tub copat"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
||||
msgid "Alarm clock"
|
||||
msgstr "Alarma de relòtge"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
msgstr "Senhal de fin"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Condicion urgenta sus socket"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
msgstr "Arrèst"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Keyboard stop"
|
||||
msgstr "Arrèst dempuèi lo clavièr"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "Contunhar"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr "L'estat del filh a cambiat"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "Lectura sus tty en rèireplan"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "Escritura sus tty en rèireplan"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "E/S ara possibla"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Limit de temps CPU depassat"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Talha de fichièr excessiva"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Alarma virtuala"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Perfil de l'alarma"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "Redimensionament de la fenèstra"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
||||
msgid "Information request"
|
||||
msgstr "Demanda d'informacion"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "Senhal utilizaire 1"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Senhal utilizaire 2"
|
||||
|
99
po/ru.po
99
po/ru.po
@@ -8,19 +8,20 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop trunk\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-09-05 19:11+0400\n"
|
||||
"PO-Revision-Date: 2007-09-05 15:01+0200\n"
|
||||
"Last-Translator: Nickolay V. Shmyrev <nshmyrev@yandex.ru>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2020-05-29 05:44+0000\n"
|
||||
"PO-Revision-Date: 2021-06-29 10:09+0300\n"
|
||||
"Last-Translator: Alexey Rubtsov <rushills@gmail.com>\n"
|
||||
"Language-Team: Russian <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\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: Poedit 3.0\n"
|
||||
|
||||
#: ../lib/read.c:51
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
msgid "read %d byte"
|
||||
msgid_plural "read %d bytes"
|
||||
@@ -28,11 +29,11 @@ msgstr[0] "прочитан %d байт"
|
||||
msgstr[1] "прочитано %d байта"
|
||||
msgstr[2] "прочитано %d байтов"
|
||||
|
||||
#: ../lib/read_data.c:51
|
||||
#: lib/read_data.c:49
|
||||
msgid "read data size"
|
||||
msgstr "размер прочитанных данных"
|
||||
|
||||
#: ../lib/read_data.c:70
|
||||
#: lib/read_data.c:66
|
||||
#, c-format
|
||||
msgid "read %lu byte of data"
|
||||
msgid_plural "read %lu bytes of data"
|
||||
@@ -40,7 +41,7 @@ msgstr[0] "прочитан %lu байт данных"
|
||||
msgstr[1] "прочитано %lu байта данных"
|
||||
msgstr[2] "прочитано %lu байт данных"
|
||||
|
||||
#: ../lib/write.c:51
|
||||
#: lib/write.c:49
|
||||
#, c-format
|
||||
msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
@@ -48,149 +49,149 @@ msgstr[0] "записан %d байт"
|
||||
msgstr[1] "записано %d байта"
|
||||
msgstr[2] "записано %d байт"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:458
|
||||
#: src/daemon/gnuserv.c:456
|
||||
msgid "Enable debugging"
|
||||
msgstr "Включить отладку"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:460
|
||||
#: src/daemon/gnuserv.c:458
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Включить подробный вывод"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:462
|
||||
msgid "Don't fork into background"
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "Не разветвлять в фоновый режим"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:464
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Вызван из inetd"
|
||||
|
||||
#: ../src/daemon/gnuserv.c:498
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#, c-format
|
||||
msgid "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 --help\", чтобы увидеть полный список допустимых параметров "
|
||||
"Выполните команду «%s --help», чтобы увидеть полный список доступных опций "
|
||||
"командной строки.\n"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
|
||||
msgid "Hangup"
|
||||
msgstr "Разорвать"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
||||
msgid "Interrupt"
|
||||
msgstr "Прервать"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
||||
msgid "Quit"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
||||
msgid "Illegal instruction"
|
||||
msgstr "Недопустимая инструкция"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
||||
msgid "Trace trap"
|
||||
msgstr "Захват трассировки"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
||||
msgid "Abort"
|
||||
msgstr "Прекратить"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
||||
msgid "EMT error"
|
||||
msgstr "Ошибка EMT"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
||||
msgid "Floating-point exception"
|
||||
msgstr "Исключение плавающей точки"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
||||
msgid "Kill"
|
||||
msgstr "Убить"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "Ошибка шины"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
msgstr "Нарушение сегментации"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
||||
msgid "Bad argument to system call"
|
||||
msgstr "Неверный аргумент в системном вызове"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
||||
msgid "Broken pipe"
|
||||
msgstr "Нарушенный канал"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
||||
msgid "Alarm clock"
|
||||
msgstr "Таймер"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
||||
msgid "Termination"
|
||||
msgstr "Завершение"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
||||
msgid "Urgent condition on socket"
|
||||
msgstr "Требующие внимания условия сокета"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
||||
msgid "Stop"
|
||||
msgstr "Остановить"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
||||
msgid "Keyboard stop"
|
||||
msgstr "Останов клавиатуры"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
||||
msgid "Continue"
|
||||
msgstr "Продолжить"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
||||
msgid "Child status has changed"
|
||||
msgstr "Состояние потомка было изменено"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
||||
msgid "Background read from tty"
|
||||
msgstr "Фоновое чтение из tty"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
||||
msgid "Background write to tty"
|
||||
msgstr "Фоновая запись в tty"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
||||
msgid "I/O now possible"
|
||||
msgstr "Сейчас возможен ввод/вывод"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
||||
msgid "CPU limit exceeded"
|
||||
msgstr "Превышен предел ЦПУ"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
||||
msgid "File size limit exceeded"
|
||||
msgstr "Превышен предел размера файла"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
||||
msgid "Virtual alarm clock"
|
||||
msgstr "Виртуальный таймер"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
||||
msgid "Profiling alarm clock"
|
||||
msgstr "Профилированный таймер"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
||||
msgid "Window size change"
|
||||
msgstr "Изменение размера окна"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
||||
msgid "Information request"
|
||||
msgstr "Запрос информации"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
||||
msgid "User defined signal 1"
|
||||
msgstr "Сигнал пользователя 1"
|
||||
|
||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Сигнал пользователя 2"
|
||||
|
46
po/tr.po
46
po/tr.po
@@ -1,26 +1,27 @@
|
||||
# translation of libgtop to Turkish
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2023 libgtop's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the libgtop package.
|
||||
#
|
||||
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
|
||||
# Ömer Fadıl USTA <omer_fad@hotmail.com>,2002.
|
||||
#
|
||||
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2008.
|
||||
# Baris Çicek <baris@teamforce.name.tr>, 2004, 2008.
|
||||
# Emin Tufan Çetin <etcetin@gmail.com>, 2017.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: libgtop\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=libgtop&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2017-04-07 11:45+0000\n"
|
||||
"PO-Revision-Date: 2017-09-05 07:33+0300\n"
|
||||
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||
"POT-Creation-Date: 2023-08-08 10:47+0000\n"
|
||||
"PO-Revision-Date: 2023-10-24 02:11+0300\n"
|
||||
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
|
||||
"Language-Team: Türkçe <takim@gnome.org.tr>\n"
|
||||
"Language: tr\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: Gtranslator 2.91.7\n"
|
||||
"X-Generator: Poedit 3.4\n"
|
||||
|
||||
#: lib/read.c:49
|
||||
#, c-format
|
||||
@@ -44,27 +45,24 @@ msgid "wrote %d byte"
|
||||
msgid_plural "wrote %d bytes"
|
||||
msgstr[0] "%d bayt yazıldı"
|
||||
|
||||
#: src/daemon/gnuserv.c:456
|
||||
#: src/daemon/gnuserv.c:460
|
||||
msgid "Enable debugging"
|
||||
msgstr "Hata ayıklamayı etkinleştir"
|
||||
|
||||
#: src/daemon/gnuserv.c:458
|
||||
#: src/daemon/gnuserv.c:462
|
||||
msgid "Enable verbose output"
|
||||
msgstr "Detaylı çıktıyı etkinleştir"
|
||||
|
||||
#: src/daemon/gnuserv.c:460
|
||||
#| msgid "Don't fork into background"
|
||||
#: src/daemon/gnuserv.c:464
|
||||
msgid "Don’t fork into background"
|
||||
msgstr "Arka plana çatallama"
|
||||
|
||||
#: src/daemon/gnuserv.c:462
|
||||
#: src/daemon/gnuserv.c:466
|
||||
msgid "Invoked from inetd"
|
||||
msgstr "Inetd’den çalıştırıldı"
|
||||
|
||||
#: src/daemon/gnuserv.c:498
|
||||
#: src/daemon/gnuserv.c:502
|
||||
#, c-format
|
||||
#| msgid ""
|
||||
#| "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 ""
|
||||
"Kullanılabilir tüm komut satırı seçeneklerinin tam listesini görmek için “%s "
|
||||
@@ -108,7 +106,7 @@ msgstr "Öldür"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||
msgid "Bus error"
|
||||
msgstr "Veriyolu hatası"
|
||||
msgstr "Veri yolu hatası"
|
||||
|
||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||
msgid "Segmentation violation"
|
||||
@@ -193,15 +191,3 @@ msgstr "Kullanıcı tanımlı sinyal 1"
|
||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
||||
msgid "User defined signal 2"
|
||||
msgstr "Kullanıcı tanımlı sinyal 2"
|
||||
|
||||
#~ msgid "DEBUG"
|
||||
#~ msgstr "HATA AYIKLA"
|
||||
|
||||
#~ msgid "VERBOSE"
|
||||
#~ msgstr "DETAYLI"
|
||||
|
||||
#~ msgid "NO-DAEMON"
|
||||
#~ msgstr "SERVİS-YOK"
|
||||
|
||||
#~ msgid "INETD"
|
||||
#~ msgstr "INETD"
|
||||
|
@@ -26,7 +26,7 @@ suid_sysdeps =
|
||||
suid_common =
|
||||
endif
|
||||
|
||||
bin_PROGRAMS = libgtop_daemon2 @server_programs@
|
||||
libexec_PROGRAMS = libgtop_daemon2 @server_programs@
|
||||
|
||||
EXTRA_PROGRAMS = libgtop_server2
|
||||
|
||||
@@ -52,5 +52,5 @@ libgtop_server2_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||
EXTRA_DIST = server_config.h.in server_config.pl
|
||||
|
||||
install-exec-hook:
|
||||
-@libgtop_postinstall@
|
||||
-test -n "$(DESTDIR)" || @libgtop_postinstall@
|
||||
|
||||
|
@@ -392,6 +392,7 @@ handle_internet_request (int ls)
|
||||
int s;
|
||||
size_t addrlen = sizeof (struct sockaddr_in);
|
||||
struct sockaddr_in peer; /* for peer socket address */
|
||||
char addrstr[addrlen];
|
||||
pid_t pid;
|
||||
|
||||
memset ((char *) &peer, 0, sizeof (struct sockaddr_in));
|
||||
@@ -401,21 +402,24 @@ handle_internet_request (int ls)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* TODO: Check errno. */
|
||||
inet_ntop (AF_INET, &peer, addrstr, addrlen);
|
||||
|
||||
if (verbose_output)
|
||||
syslog_message (LOG_INFO, "Connection was made from %s port %u.",
|
||||
inet_ntoa (peer.sin_addr), ntohs (peer.sin_port));
|
||||
addrstr, ntohs (peer.sin_port));
|
||||
|
||||
/* Check that access is allowed - if not return crud to the client */
|
||||
if (!permitted (peer.sin_addr.s_addr, s)) {
|
||||
close (s);
|
||||
syslog_message (LOG_CRIT, "Refused connection from %s.",
|
||||
inet_ntoa (peer.sin_addr));
|
||||
addrstr);
|
||||
return;
|
||||
} /* if */
|
||||
|
||||
if (verbose_output)
|
||||
syslog_message (LOG_INFO, "Accepted connection from %s port %u.",
|
||||
inet_ntoa (peer.sin_addr), ntohs (peer.sin_port));
|
||||
addrstr, ntohs (peer.sin_port));
|
||||
|
||||
pid = fork ();
|
||||
|
||||
@@ -436,7 +440,7 @@ handle_internet_request (int ls)
|
||||
|
||||
if (verbose_output)
|
||||
syslog_message (LOG_INFO, "Closed connection to %s port %u.",
|
||||
inet_ntoa (peer.sin_addr), ntohs (peer.sin_port));
|
||||
addrstr, ntohs (peer.sin_port));
|
||||
|
||||
_exit (0);
|
||||
} /* handle_internet_request */
|
||||
@@ -560,6 +564,7 @@ main (int argc, char **argv)
|
||||
if (invoked_from_inetd) {
|
||||
size_t addrlen = sizeof (struct sockaddr_in);
|
||||
struct sockaddr_in peer;
|
||||
char addrstr[addrlen];
|
||||
|
||||
memset ((char *) &peer, 0, sizeof (struct sockaddr_in));
|
||||
|
||||
@@ -568,15 +573,18 @@ main (int argc, char **argv)
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* TODO: Check errno. */
|
||||
inet_ntop (AF_INET, &peer, addrstr, addrlen);
|
||||
|
||||
if (verbose_output)
|
||||
syslog_message (LOG_INFO, "Connection was made from %s port %u.",
|
||||
inet_ntoa (peer.sin_addr), ntohs (peer.sin_port));
|
||||
addrstr, ntohs (peer.sin_port));
|
||||
|
||||
/* Check that access is allowed - if not return crud to the client */
|
||||
if (!permitted (peer.sin_addr.s_addr, 0)) {
|
||||
close (0);
|
||||
syslog_message (LOG_CRIT, "Refused connection from %s.",
|
||||
inet_ntoa (peer.sin_addr));
|
||||
addrstr);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
@@ -27,7 +27,7 @@ void
|
||||
do_output (int s, glibtop_response *resp, off_t offset,
|
||||
size_t data_size, const void *data)
|
||||
{
|
||||
glibtop_debug ("Really writing %d bytes at offset %lu.",
|
||||
glibtop_debug ("Really writing %zu bytes at offset %lu.",
|
||||
sizeof (glibtop_response), offset);
|
||||
|
||||
resp->offset = offset;
|
||||
@@ -42,7 +42,7 @@ do_output (int s, glibtop_response *resp, off_t offset,
|
||||
}
|
||||
|
||||
if (resp->data_size) {
|
||||
glibtop_debug ("Writing %d bytes of data.", resp->data_size);
|
||||
glibtop_debug ("Writing %lu bytes of data.", resp->data_size);
|
||||
|
||||
if (s == 0) {
|
||||
if (write (1, data, resp->data_size) < 0)
|
||||
@@ -84,7 +84,7 @@ do_read (int s, void *ptr, size_t total_size)
|
||||
tmp_ptr += nread;
|
||||
ptr = tmp_ptr;
|
||||
|
||||
glibtop_debug ("READ (%d): %d - %d - %d",
|
||||
glibtop_debug ("READ (%d): %zu - %zu - %zu",
|
||||
nread, already_read, remaining, total_size);
|
||||
}
|
||||
|
||||
|
@@ -49,7 +49,7 @@ handle_parent_connection (int s)
|
||||
glibtop_server_features);
|
||||
|
||||
if (enable_debug)
|
||||
syslog_message (LOG_DEBUG, "SIZEOF: %u - %u - %u - %u - %u - %u",
|
||||
syslog_message (LOG_DEBUG, "SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
|
||||
sizeof (glibtop_command), sizeof (glibtop_response),
|
||||
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
||||
sizeof (glibtop_sysdeps),
|
||||
@@ -58,28 +58,34 @@ handle_parent_connection (int s)
|
||||
while (do_read (s, cmnd, sizeof (glibtop_command))) {
|
||||
if (enable_debug)
|
||||
syslog_message (LOG_DEBUG,
|
||||
"Parent (%d) received command %llu from client.",
|
||||
"Parent (%d) received command %lu from client.",
|
||||
getpid (), cmnd->command);
|
||||
|
||||
if (cmnd->data_size >= BUFSIZ) {
|
||||
syslog_message (LOG_WARNING,
|
||||
"Client sent %llu bytes, but buffer is %lu",
|
||||
cmnd->data_size, (unsigned long)BUFSIZ);
|
||||
return;
|
||||
}
|
||||
|
||||
memset (resp, 0, sizeof (glibtop_response));
|
||||
|
||||
memset (parameter, 0, sizeof (parameter));
|
||||
|
||||
if (cmnd->data_size) {
|
||||
if (cmnd->data_size >= BUFSIZ) {
|
||||
syslog_message (LOG_WARNING,
|
||||
"Client sent %lu bytes, but buffer is %lu",
|
||||
cmnd->data_size, (unsigned long)BUFSIZ);
|
||||
return;
|
||||
}
|
||||
|
||||
if (enable_debug)
|
||||
syslog_message (LOG_DEBUG, "Client has %llu bytes of data.",
|
||||
syslog_message (LOG_DEBUG, "Client has %lu bytes of data.",
|
||||
cmnd->data_size);
|
||||
|
||||
do_read (s, parameter, cmnd->data_size);
|
||||
|
||||
} else if (cmnd->size) {
|
||||
if (cmnd->size >= BUFSIZ) {
|
||||
syslog_message (LOG_WARNING,
|
||||
"Client sent %lu bytes, but buffer is %lu",
|
||||
cmnd->size, (unsigned long)BUFSIZ);
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy (parameter, cmnd->parameter, cmnd->size);
|
||||
}
|
||||
|
||||
@@ -97,6 +103,10 @@ handle_parent_connection (int s)
|
||||
glibtop_get_cpu_l (server, &resp->u.data.cpu);
|
||||
do_output (s, resp, _offset_data (cpu), 0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_DISK:
|
||||
glibtop_get_disk_l (server, &resp->u.data.disk);
|
||||
do_output (s, resp, _offset_data (disk), 0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_MEM:
|
||||
glibtop_get_mem_l (server, &resp->u.data.mem);
|
||||
do_output (s, resp, _offset_data (mem), 0, NULL);
|
||||
@@ -222,8 +232,9 @@ handle_parent_connection (int s)
|
||||
0, NULL);
|
||||
break;
|
||||
case GLIBTOP_CMND_PROC_IO:
|
||||
memcpy (&pid, parameter, sizeof (pid_t));
|
||||
glibtop_get_proc_io_l
|
||||
(server, &resp->u.data.proc_io, parameter);
|
||||
(server, &resp->u.data.proc_io, pid);
|
||||
do_output (s, resp, _offset_data (proc_io),
|
||||
0, NULL);
|
||||
break;
|
||||
@@ -240,7 +251,7 @@ handle_parent_connection (int s)
|
||||
0, NULL);
|
||||
break;
|
||||
default:
|
||||
syslog_message (LOG_ERR, "Parent received unknown command %llu.",
|
||||
syslog_message (LOG_ERR, "Parent received unknown command %lu.",
|
||||
cmnd->command);
|
||||
break;
|
||||
}
|
||||
|
@@ -42,24 +42,28 @@ handle_slave_connection (int input, int output)
|
||||
|
||||
while (do_read (input, cmnd, sizeof (glibtop_command))) {
|
||||
glibtop_debug ("Slave %d received command "
|
||||
"%llu from client.", getpid (), cmnd->command);
|
||||
|
||||
if (cmnd->data_size >= BUFSIZ)
|
||||
glibtop_error ("Client sent %llu bytes, "
|
||||
"but buffer is %lu",
|
||||
cmnd->size, (unsigned long)BUFSIZ);
|
||||
"%lu from client.", getpid (), cmnd->command);
|
||||
|
||||
memset (resp, 0, sizeof (glibtop_response));
|
||||
|
||||
memset (parameter, 0, sizeof (parameter));
|
||||
|
||||
if (cmnd->data_size) {
|
||||
glibtop_debug ("Client has %llu bytes of data.",
|
||||
if (cmnd->data_size >= BUFSIZ)
|
||||
glibtop_error ("Client sent %lu bytes, "
|
||||
"but buffer is %lu",
|
||||
cmnd->data_size, (unsigned long)BUFSIZ);
|
||||
|
||||
glibtop_debug ("Client has %lu bytes of data.",
|
||||
cmnd->data_size);
|
||||
|
||||
do_read (input, parameter, cmnd->data_size);
|
||||
|
||||
} else if (cmnd->size) {
|
||||
if (cmnd->size >= BUFSIZ)
|
||||
glibtop_error ("Client sent %lu bytes, "
|
||||
"but buffer is %lu",
|
||||
cmnd->size, (unsigned long)BUFSIZ);
|
||||
|
||||
memcpy (parameter, cmnd->parameter, cmnd->size);
|
||||
}
|
||||
|
||||
@@ -135,6 +139,12 @@ handle_slave_command (glibtop_command *cmnd, glibtop_response *resp,
|
||||
resp->offset = _offset_data (cpu);
|
||||
break;
|
||||
#endif
|
||||
#if GLIBTOP_SUID_DISK
|
||||
case GLIBTOP_CMND_DISK:
|
||||
glibtop_get_disk_p (server, &resp->u.data.disk);
|
||||
resp->offset = _offset_data (disk);
|
||||
break;
|
||||
#endif
|
||||
#if GLIBTOP_SUID_MEM
|
||||
case GLIBTOP_CMND_MEM:
|
||||
glibtop_get_mem_p (server, &resp->u.data.mem);
|
||||
@@ -255,7 +265,7 @@ handle_slave_command (glibtop_command *cmnd, glibtop_response *resp,
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
glibtop_error ("Child received unknown command %llu",
|
||||
glibtop_error ("Child received unknown command %lu",
|
||||
cmnd->command);
|
||||
break;
|
||||
}
|
||||
|
@@ -5,9 +5,9 @@ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = siglist.c nosuid.c mem.c swap.c uptime.c \
|
||||
procargs.c prockernel.c proclist.c procmap.c \
|
||||
procmem.c procsegment.c procsignal.c \
|
||||
procmem.c procsegment.c procsignal.c disk.c \
|
||||
proctime.c procuid.c procmem.c utils.c \
|
||||
procstate.c sysinfo.c netlist.c
|
||||
procstate.c sysinfo.c netlist.c procio.c
|
||||
|
||||
|
||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
|
42
sysdeps/aix/disk.c
Normal file
42
sysdeps/aix/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU (1 << GLIBTOP_SYSDEPS_CPU)
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -45,6 +46,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD (1 << GLIBTOP_SYSDEPS_NETLOAD)
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
43
sysdeps/aix/procio.c
Normal file
43
sysdeps/aix/procio.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
}
|
@@ -10,7 +10,7 @@ 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 procaffinity.c \
|
||||
sem_limits.c disk.c procaffinity.c procio.c \
|
||||
proclist.c procstate.c procuid.c \
|
||||
proctime.c procmem.c procsignal.c prockernel.c \
|
||||
procsegment.c procargs.c procmap.c netlist.c \
|
||||
|
42
sysdeps/bsd/disk.c
Normal file
42
sysdeps/bsd/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU (1 << GLIBTOP_SYSDEPS_CPU)
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM (1 << GLIBTOP_SYSDEPS_MEM)
|
||||
#define GLIBTOP_SUID_SWAP (1 << GLIBTOP_SYSDEPS_SWAP)
|
||||
#define GLIBTOP_SUID_UPTIME (1 << GLIBTOP_SYSDEPS_UPTIME)
|
||||
@@ -47,6 +48,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
43
sysdeps/bsd/procio.c
Normal file
43
sysdeps/bsd/procio.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
}
|
@@ -64,6 +64,20 @@ glibtop_get_cpu(glibtop_cpu *buf)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* glibtop_get_disk:
|
||||
* @buf: A location to return the disk usage.
|
||||
*
|
||||
* Get the DISK usage.
|
||||
*
|
||||
*/
|
||||
void
|
||||
glibtop_get_disk (glibtop_disk *buf)
|
||||
{
|
||||
glibtop_get_disk_l (glibtop_global_server, buf);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* glibtop_get_fsusage:
|
||||
* @buf: A location to return the file system usage.
|
||||
|
@@ -202,16 +202,20 @@ connect_to_unix_server (void)
|
||||
long
|
||||
glibtop_internet_addr (const char *host)
|
||||
{
|
||||
struct hostent *hp; /* pointer to host info for remote host */
|
||||
/* specify IPv4 and TCP */
|
||||
struct addrinfo hints = { AF_INET, SOCK_STREAM, };
|
||||
struct addrinfo *result;/* pointer to host info for remote host */
|
||||
IN_ADDR numeric_addr; /* host address */
|
||||
|
||||
numeric_addr = inet_addr (host);
|
||||
if (!NUMERIC_ADDR_ERROR)
|
||||
if (getaddrinfo (NULL, host, &hints, &result) == 0) {
|
||||
/* Take only the first address. */
|
||||
struct sockaddr_in *res = (struct sockaddr_in *)result->ai_addr;
|
||||
numeric_addr = res->sin_addr.s_addr;
|
||||
freeaddrinfo (result);
|
||||
return numeric_addr;
|
||||
else if ((hp = gethostbyname (host)) != NULL)
|
||||
return ((struct in_addr *) (hp->h_addr))->s_addr;
|
||||
}
|
||||
else {
|
||||
glibtop_warn_io ("gethostbyname (%s)", host);
|
||||
glibtop_warn_io ("getaddrinfo (%s)", host);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@@ -30,6 +30,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
||||
#if GLIBTOP_SUID_CPU
|
||||
_glibtop_init_cpu_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_DISK
|
||||
_glibtop_init_disk_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_MEM
|
||||
_glibtop_init_mem_p,
|
||||
#endif
|
||||
|
@@ -2,7 +2,7 @@ AM_CPPFLAGS = @AM_CPPFLAGS@
|
||||
|
||||
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c disk.c mem.c swap.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 \
|
||||
|
42
sysdeps/cygwin/disk.c
Normal file
42
sysdeps/cygwin/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -23,6 +23,7 @@
|
||||
#define __CYGWIN__GLIBTOP_SERVER_H__
|
||||
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -45,6 +46,6 @@
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
|
||||
#endif /* __CYGWIN__GLIBTOP_SERVER_H__ */
|
||||
|
@@ -4,7 +4,7 @@ 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_suid_2_0_la_SOURCES = open.c close.c \
|
||||
libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c disk.c \
|
||||
cpu.c mem.c swap.c uptime.c loadavg.c shm_limits.c msg_limits.c \
|
||||
sem_limits.c procaffinity.c proclist.c procstate.c procuid.c proctime.c \
|
||||
procmem.c procsignal.c prockernel.c procsegment.c procargs.c \
|
||||
|
42
sysdeps/darwin/disk.c
Normal file
42
sysdeps/darwin/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -23,6 +23,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU (1 << GLIBTOP_SYSDEPS_CPU)
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM (1 << GLIBTOP_SYSDEPS_MEM)
|
||||
#define GLIBTOP_SUID_SWAP (1 << GLIBTOP_SYSDEPS_SWAP)
|
||||
#define GLIBTOP_SUID_UPTIME (1 << GLIBTOP_SYSDEPS_UPTIME)
|
||||
|
@@ -5,7 +5,7 @@ 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 shm_limits.c \
|
||||
cpu.c msg_limits.c sem_limits.c loadavg.c \
|
||||
uptime.c netlist.c fsusage.c mem.c \
|
||||
uptime.c netlist.c fsusage.c mem.c disk.c \
|
||||
mountlist.c procopenfiles.c procwd.c \
|
||||
procaffinity.c glibtop_private.c open.c
|
||||
|
||||
|
42
sysdeps/freebsd/disk.c
Normal file
42
sysdeps/freebsd/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -38,6 +38,7 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD (1 << GLIBTOP_SYSDEPS_NETLOAD)
|
||||
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
#define GLIBTOP_SUID_LOADAVG 0
|
||||
@@ -47,7 +48,7 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_IO (1 << GLIBTOP_SYSDEPS_PROC_IO)
|
||||
#define GLIBTOP_SUID_PROC_IO (1 << GLIBTOP_SYSDEPS_PROC_IO)
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
|
||||
G_END_DECLS
|
||||
|
@@ -4,7 +4,7 @@ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
|
||||
|
||||
EXTRA_DIST = procmap_smaps.gperf procmap_smaps.c
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c disk.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 \
|
||||
|
284
sysdeps/linux/disk.c
Normal file
284
sysdeps/linux/disk.c
Normal file
@@ -0,0 +1,284 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
#include "glibtop_private.h"
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk =
|
||||
(1L << GLIBTOP_XDISK_SECTORS_READ) + (1L << GLIBTOP_XDISK_TIME_READ) +
|
||||
(1L << GLIBTOP_XDISK_SECTORS_WRITE) + (1L << GLIBTOP_XDISK_TIME_WRITE);
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
// Linux kernel reports sectors by 512 bytes even for AF 4kn //
|
||||
|
||||
#define FILENAME "/proc/diskstats"
|
||||
#define CMD_PIPE "lsblk --output NAME,TYPE -i -n | sed 's/`-//'|sed 's/|-//'|sed 's/|//'| sed -e 's/^[ \t]*//'|tr -s ' '"
|
||||
#define STAT_BUFSIZ 81920
|
||||
|
||||
// Handle LVM and RAID //
|
||||
|
||||
static void
|
||||
find_primary_part (partition_info *primary_part, const char *m)
|
||||
{
|
||||
int n = 0, tlvl = 0;
|
||||
char name[256]="", type[256]="";
|
||||
|
||||
primary_part->max = 0;
|
||||
|
||||
//scan by tree level
|
||||
//0 = disk (to lvl 0)
|
||||
//0 = disk, 1 = part (to lvl 1)
|
||||
//0 = disk, 1 = part, 2 = lvm or raid (to lvl 2)
|
||||
//0 = disk, 1 = part, 2 = raid, 3 = lvm (to lvl 3)
|
||||
|
||||
while (sscanf(m, "%s %s", name, type) == 2)
|
||||
{
|
||||
|
||||
if (tlvl == 0) {
|
||||
|
||||
if (strcmp (type, "loop") == 0 || strcmp (type, "rom") == 0 || strcmp (type, "disk") == 0) {
|
||||
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
else if ((strcmp (type, "part") == 0)){
|
||||
|
||||
tlvl = 1;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if(tlvl == 1){
|
||||
|
||||
if (strcmp (type, "loop") == 0 || strcmp (type, "rom") == 0 || strcmp (type, "disk") == 0) {
|
||||
|
||||
n--;
|
||||
tlvl = 0;
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
else if ((strcmp (type, "part") == 0)) {
|
||||
|
||||
n--;
|
||||
|
||||
}
|
||||
else if ((strcmp (type, "lvm") == 0) || (strncmp (type, "raid", 4) == 0)) {
|
||||
|
||||
tlvl = 2;
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if( tlvl == 2){
|
||||
|
||||
if (strcmp (type, "loop") == 0 || strcmp (type, "rom") == 0 || strcmp(type, "disk") == 0) {
|
||||
|
||||
n--;
|
||||
tlvl = 0;
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
else if (((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "lvm") == 0)) ||
|
||||
((strcmp (primary_part[n-1].type, "raid") == 0) && (strncmp (type, "raid", 4) == 0))) {
|
||||
|
||||
n--;
|
||||
|
||||
}
|
||||
else if (((strcmp (primary_part[n-1].type, "lvm") == 0) && (strcmp (type, "part") == 0)) ||
|
||||
((strcmp (primary_part[n-1].type, "raid") == 0) && (strcmp (type, "part") == 0))) {
|
||||
|
||||
n--;
|
||||
tlvl = 1;
|
||||
|
||||
}
|
||||
else if ((strcmp (primary_part[n-1].type, "raid") == 0) && (strcmp (type, "lvm") == 0)){
|
||||
|
||||
tlvl = 3;
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if (tlvl == 3) {
|
||||
|
||||
if (strcmp (type, "loop") == 0 || strcmp (type, "rom") == 0 || strcmp (type, "disk") == 0) {
|
||||
|
||||
n--;
|
||||
tlvl = 0;
|
||||
primary_part->max++;
|
||||
|
||||
}
|
||||
else if ((strcmp (type, "lvm") == 0)) {
|
||||
|
||||
n--;
|
||||
|
||||
}
|
||||
else if ((strncmp (type, "raid", 4) == 0)) {
|
||||
|
||||
n--;
|
||||
tlvl = 2;
|
||||
|
||||
}
|
||||
else if ((strcmp (type, "part") == 0)) {
|
||||
|
||||
n--;
|
||||
tlvl = 1;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
strcpy (primary_part[n].name, name);
|
||||
strncpy (primary_part[n].type, type, 4);
|
||||
|
||||
if (strcmp (primary_part[n].type, "raid") == 0) {
|
||||
|
||||
strcpy (primary_part[n].raid_num, type + 4);
|
||||
|
||||
}
|
||||
|
||||
m = skip_line (m);
|
||||
n++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
is_virtual_drive (partition_info *primary_part, const char *p)
|
||||
{
|
||||
int i;
|
||||
char name[256];
|
||||
int test = 1;
|
||||
|
||||
sscanf (p, "%s", name);
|
||||
|
||||
if (*p) {
|
||||
|
||||
for (i=0; i < primary_part->max; i++) {
|
||||
|
||||
if (strcmp (primary_part[i].name, name) == 0) {
|
||||
|
||||
test = 0;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
test = 0;
|
||||
|
||||
}
|
||||
|
||||
return test;
|
||||
}
|
||||
|
||||
static int
|
||||
max_lines (const char *p)
|
||||
{
|
||||
char temp[10];
|
||||
int count = 0;
|
||||
|
||||
while (sscanf (p, "%s", temp) == 1)
|
||||
{
|
||||
|
||||
p = skip_line(p);
|
||||
count++;
|
||||
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
partition_info primary_part[GLIBTOP_NDISK];
|
||||
char buffer [STAT_BUFSIZ], *p, map_buffer [STAT_BUFSIZ], *m;
|
||||
int i;
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
|
||||
file_to_buffer (server, buffer, sizeof buffer, FILENAME);
|
||||
|
||||
get_from_pipe (map_buffer, STAT_BUFSIZ, CMD_PIPE);
|
||||
|
||||
/*
|
||||
* GLOBAL
|
||||
*/
|
||||
|
||||
p = buffer; /* "disk" */
|
||||
m = map_buffer;
|
||||
|
||||
/*
|
||||
* PER DISK
|
||||
*/
|
||||
|
||||
server->ndisk = max_lines(p);
|
||||
|
||||
find_primary_part (primary_part, m);
|
||||
|
||||
for (i = 0; i < server->ndisk; i++) {
|
||||
|
||||
p = skip_multiple_token (p,2);
|
||||
|
||||
// skip if disk is the raw device
|
||||
if (!is_virtual_drive (primary_part, p)) {
|
||||
|
||||
server->ndisk--;
|
||||
p = skip_line (p); /* move to ^ */
|
||||
p = skip_multiple_token (p, 2);
|
||||
|
||||
}
|
||||
|
||||
p = skip_token (p); /* prev xdisk_name */
|
||||
p = skip_token (p); /* prev xdisk_reads_completed */
|
||||
p = skip_token (p); /* prev xdisk_reads_merged */
|
||||
|
||||
buf->xdisk_sectors_read [i] = strtoull (p, &p, 0);
|
||||
buf->xdisk_time_read [i] = strtoull (p, &p, 0);
|
||||
|
||||
p = skip_token (p); /* prev xdisk_writes_completed */
|
||||
p = skip_token (p); /* prev xdisk_writes_merged */
|
||||
|
||||
buf->xdisk_sectors_write [i] = strtoull (p, &p, 0);
|
||||
buf->xdisk_time_write [i] = strtoull (p, &p, 0);
|
||||
|
||||
p = skip_line (p); /* move to ^ */
|
||||
|
||||
}
|
||||
}
|
@@ -57,6 +57,21 @@ skip_token (const char *p)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
get_from_pipe (char *buffer, const size_t bufsiz, const char *cmd)
|
||||
{
|
||||
FILE* fp;
|
||||
|
||||
fp = popen (cmd, "r");
|
||||
|
||||
size_t psize = fread(buffer,1,bufsiz,fp);
|
||||
if (psize == bufsiz)
|
||||
g_warning("Read bufsiz bytes, there may be more");
|
||||
|
||||
pclose (fp);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Read functions
|
||||
*/
|
||||
|
@@ -61,6 +61,9 @@ skip_line (const char *p)
|
||||
return (char *) (*p ? p+1 : p);
|
||||
}
|
||||
|
||||
void
|
||||
get_from_pipe (char *buffer, const size_t bufsiz, const char *cmd);
|
||||
|
||||
/*
|
||||
* Smart strtoul which handles binary suffixes
|
||||
* e.g: get_scaled("Size: 32 kB", "Size:") == 32768
|
||||
|
@@ -23,6 +23,7 @@
|
||||
#define __LINUX__GLIBTOP_SERVER_H__
|
||||
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -46,6 +47,6 @@
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
#endif /* __LINUX__GLIBTOP_SERVER_H__ */
|
||||
|
@@ -40,7 +40,8 @@ End:
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GHashTable *table;
|
||||
GHashTable *table_fstype;
|
||||
GHashTable *table_mntdir;
|
||||
} IgnoreList;
|
||||
|
||||
|
||||
@@ -49,7 +50,8 @@ 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);
|
||||
ig->table_fstype = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
|
||||
ig->table_mntdir = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
|
||||
return ig;
|
||||
}
|
||||
|
||||
@@ -58,24 +60,38 @@ static void
|
||||
ignore_list_delete(IgnoreList* ig)
|
||||
{
|
||||
if (ig) {
|
||||
g_hash_table_destroy(ig->table);
|
||||
g_hash_table_destroy(ig->table_fstype);
|
||||
g_hash_table_destroy(ig->table_mntdir);
|
||||
g_free(ig);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
ignore_list_add(IgnoreList* ig, const char* fs)
|
||||
ignore_list_add_fstype(IgnoreList* ig, const char* fstype)
|
||||
{
|
||||
g_hash_table_insert(ig->table, g_strdup(fs), GINT_TO_POINTER(1));
|
||||
g_hash_table_insert(ig->table_fstype, g_strdup(fstype), GINT_TO_POINTER(1));
|
||||
}
|
||||
|
||||
static void
|
||||
ignore_list_add_mntdir(IgnoreList* ig, const char* mntdir)
|
||||
{
|
||||
g_hash_table_insert(ig->table_mntdir, g_strdup(mntdir), GINT_TO_POINTER(1));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ignore_list_has(IgnoreList* ig, const char* fs)
|
||||
ignore_list_has_fstype(IgnoreList* ig, const char* fstype)
|
||||
{
|
||||
gpointer data;
|
||||
data = g_hash_table_lookup(ig->table, fs);
|
||||
data = g_hash_table_lookup(ig->table_fstype, fstype);
|
||||
return data != NULL;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ignore_list_has_mntdir(IgnoreList* ig, const char* mntdir)
|
||||
{
|
||||
gpointer data;
|
||||
data = g_hash_table_lookup(ig->table_mntdir, mntdir);
|
||||
return data != NULL;
|
||||
}
|
||||
|
||||
@@ -84,7 +100,7 @@ ignore_list_has(IgnoreList* ig, const char* fs)
|
||||
|
||||
|
||||
static gboolean
|
||||
ignore_fs(const char *fstype, IgnoreList** ig)
|
||||
ignore_fs(const char *mntdir, const char *fstype, IgnoreList** ig)
|
||||
{
|
||||
if (!*ig) {
|
||||
FILE* fs;
|
||||
@@ -92,24 +108,43 @@ ignore_fs(const char *fstype, IgnoreList** ig)
|
||||
|
||||
*ig = ignore_list_new();
|
||||
|
||||
ignore_list_add(*ig, "none");
|
||||
ignore_list_add_fstype(*ig, "none");
|
||||
|
||||
if ((fs = fopen("/proc/filesystems", "r")) != NULL) {
|
||||
while (fgets(line, sizeof line, fs)) {
|
||||
if (!strncmp(line, "nodev", 5)) {
|
||||
if (!strncmp(line, "nodev", 5) && strncmp(line+strlen(line)-4, "zfs", 3)) {
|
||||
char *type;
|
||||
type = g_strstrip(line + 5);
|
||||
ignore_list_add(*ig, type);
|
||||
ignore_list_add_fstype(*ig, type);
|
||||
}
|
||||
}
|
||||
fclose(fs);
|
||||
}
|
||||
|
||||
if ((fs = fopen("/run/mount/utab", "r")) != NULL) {
|
||||
size_t len = 0;
|
||||
char *uline = NULL;
|
||||
|
||||
while (getline(&uline, &len, fs) != -1) {
|
||||
if (strstr(uline, "x-gdu.hide")) {
|
||||
char * pch = strtok (uline, " ");
|
||||
while (pch != NULL) {
|
||||
if (!strncmp(pch, "TARGET=", 7)) {
|
||||
ignore_list_add_mntdir(*ig, pch+7);
|
||||
}
|
||||
pch = strtok (NULL, " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(uline);
|
||||
fclose(fs);
|
||||
}
|
||||
}
|
||||
|
||||
return ignore_list_has(*ig, fstype);
|
||||
return ignore_list_has_fstype(*ig, fstype) || ignore_list_has_mntdir(*ig, mntdir);
|
||||
}
|
||||
|
||||
|
||||
glibtop_mountentry *
|
||||
glibtop_get_mountlist_s(glibtop *server, glibtop_mountlist *buf, int all_fs)
|
||||
{
|
||||
@@ -136,7 +171,7 @@ glibtop_get_mountlist_s(glibtop *server, glibtop_mountlist *buf, int all_fs)
|
||||
const char *devopt;
|
||||
gsize len;
|
||||
|
||||
if (!all_fs && ignore_fs(mnt->mnt_type, &ig))
|
||||
if (!all_fs && ignore_fs(mnt->mnt_dir, mnt->mnt_type, &ig))
|
||||
continue;
|
||||
|
||||
len = entries->len;
|
||||
|
@@ -3,7 +3,7 @@ AM_CPPFLAGS = @AM_CPPFLAGS@
|
||||
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 \
|
||||
cpu.c loadavg.c \
|
||||
cpu.c loadavg.c disk.c \
|
||||
uptime.c netlist.c fsusage.c mem.c \
|
||||
mountlist.c procopenfiles.c procwd.c \
|
||||
procaffinity.c glibtop_private.c open.c
|
||||
@@ -15,7 +15,7 @@ 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 \
|
||||
procmap.c netload.c ppp.c
|
||||
procmap.c netload.c ppp.c procio.c
|
||||
|
||||
# TODO should be made nosuid like FreeBSD
|
||||
libgtop_sysdeps_suid_2_0_la_SOURCES += shm_limits.c msg_limits.c sem_limits.c
|
||||
|
42
sysdeps/openbsd/disk.c
Normal file
42
sysdeps/openbsd/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -41,12 +41,15 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD (1 << GLIBTOP_SYSDEPS_NETLOAD)
|
||||
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
#define GLIBTOP_SUID_LOADAVG 0
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -47,28 +47,34 @@ static const unsigned long _glibtop_sysdeps_msg_limits =
|
||||
* 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)");
|
||||
int mib[3];
|
||||
struct msg_sysctl_info *msgsi;
|
||||
|
||||
size_t len = sizeof(struct msginfo);
|
||||
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_SYSVIPC_INFO;
|
||||
mib[2] = KERN_SYSVIPC_MSG_INFO;
|
||||
|
||||
if ((msgsi = malloc(len)) == NULL) {
|
||||
glibtop_warn_io_r (server, "malloc (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)");
|
||||
if (sysctl(mib, 3, msgsi, &len, NULL, 0) < 0) {
|
||||
glibtop_warn_io_r (server, "sysctl (msg_limits)");
|
||||
return;
|
||||
}
|
||||
|
||||
_msginfo = msgsi->msginfo;
|
||||
|
||||
free (msgsi);
|
||||
|
||||
server->sysdeps.msg_limits = _glibtop_sysdeps_msg_limits;
|
||||
}
|
||||
|
||||
|
@@ -34,12 +34,16 @@
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include <netinet/in.h>
|
||||
|
||||
#include <sys/malloc.h>
|
||||
|
||||
#define _KERNEL
|
||||
#include <net/if_var.h>
|
||||
|
||||
#include <netinet/in.h>
|
||||
#define _KERNEL
|
||||
#include <netinet/in_var.h>
|
||||
#undef _KERNEL
|
||||
|
||||
#include <netinet6/in6_var.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_netload =
|
||||
@@ -74,7 +78,7 @@ _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");
|
||||
glibtop_warn_io_r (server, "kvm_nlist");
|
||||
}
|
||||
|
||||
/* Provides Network statistics. */
|
||||
@@ -99,7 +103,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
|
||||
|
||||
if (kvm_read (server->machine->kd, nlst [0].n_value,
|
||||
&ifnetaddr, sizeof (ifnetaddr)) != sizeof (ifnetaddr))
|
||||
glibtop_error_io_r (server, "kvm_read (ifnet)");
|
||||
glibtop_warn_io_r (server, "kvm_read (ifnet)");
|
||||
|
||||
while (ifnetaddr) {
|
||||
struct sockaddr_in *sin;
|
||||
|
@@ -78,7 +78,7 @@ _glibtop_init_ppp_p (glibtop *server)
|
||||
#endif /* HAVE_I4B */
|
||||
|
||||
if (kvm_nlist (server->machine->kd, nlst) < 0)
|
||||
glibtop_error_io_r (server, "kvm_nlist");
|
||||
glibtop_warn_io_r (server, "kvm_nlist");
|
||||
}
|
||||
|
||||
/* Provides information about ppp usage. */
|
||||
|
@@ -70,6 +70,11 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (pinfo[0].p_flag & P_SYSTEM) {
|
||||
glibtop_suid_leave (server);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
args = kvm_getargv (server->machine->kd, pinfo, max_len);
|
||||
if (args == NULL) {
|
||||
glibtop_suid_leave (server);
|
||||
|
43
sysdeps/openbsd/procio.c
Normal file
43
sysdeps/openbsd/procio.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
}
|
@@ -45,7 +45,6 @@
|
||||
#include <sys/mutex.h>
|
||||
typedef int boolean_t;
|
||||
|
||||
#undef _KERNEL
|
||||
#define _UVM_UVM_AMAP_I_H_ 1
|
||||
#define _UVM_UVM_MAP_I_H_ 1
|
||||
#include <uvm/uvm.h>
|
||||
@@ -59,9 +58,22 @@ static const unsigned long _glibtop_sysdeps_map_entry =
|
||||
(1L << GLIBTOP_MAP_ENTRY_OFFSET) + (1L << GLIBTOP_MAP_ENTRY_PERM) +
|
||||
(1L << GLIBTOP_MAP_ENTRY_INODE) + (1L << GLIBTOP_MAP_ENTRY_DEVICE);
|
||||
|
||||
/*
|
||||
* Don't implement address comparison.
|
||||
*/
|
||||
static __inline int
|
||||
no_impl(const void *p, const void *q)
|
||||
{
|
||||
abort(); /* Should not be called. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
RBT_PROTOTYPE(uvm_map_addr, vm_map_entry, daddrs.addr_entry, no_impl);
|
||||
RBT_GENERATE(uvm_map_addr, vm_map_entry, daddrs.addr_entry, no_impl);
|
||||
|
||||
/* Local helper functions. */
|
||||
|
||||
ssize_t load_vmmap_entries(glibtop*, unsigned long, struct vm_map_entry**,
|
||||
ssize_t load_vmmap_entries(glibtop*, unsigned long, struct vm_map_entry*,
|
||||
struct vm_map_entry*);
|
||||
void unload_vmmap_entries(struct vm_map_entry *);
|
||||
|
||||
@@ -83,7 +95,7 @@ _glibtop_init_proc_map_p (glibtop *server)
|
||||
*/
|
||||
ssize_t
|
||||
load_vmmap_entries(glibtop *server, unsigned long kptr,
|
||||
struct vm_map_entry **rptr, struct vm_map_entry *parent)
|
||||
struct vm_map_entry *rptr, struct vm_map_entry *parent)
|
||||
{
|
||||
struct vm_map_entry *entry;
|
||||
unsigned long left_kptr, right_kptr;
|
||||
@@ -110,17 +122,17 @@ load_vmmap_entries(glibtop *server, unsigned long kptr,
|
||||
* 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;
|
||||
left_kptr = (unsigned long) RBT_LEFT(uvm_map_addr, entry);
|
||||
right_kptr = (unsigned long) RBT_RIGHT(uvm_map_addr, entry);
|
||||
entry->daddrs.addr_entry.rbt_left =
|
||||
entry->daddrs.addr_entry.rbt_right = NULL;
|
||||
/* Fill in parent pointer. */
|
||||
RB_PARENT(entry, daddrs.addr_entry) = parent;
|
||||
entry->daddrs.addr_entry.rbt_parent = &parent->daddrs.addr_entry;
|
||||
|
||||
/*
|
||||
* Consistent state reached, fill in *rptr.
|
||||
*/
|
||||
*rptr = entry;
|
||||
rptr = entry;
|
||||
|
||||
/*
|
||||
* Download left, right.
|
||||
@@ -128,11 +140,11 @@ load_vmmap_entries(glibtop *server, unsigned long kptr,
|
||||
* unload_vmmap_entries.
|
||||
*/
|
||||
left_sz = load_vmmap_entries(server, left_kptr,
|
||||
&RB_LEFT(entry, daddrs.addr_entry), entry);
|
||||
RBT_LEFT(uvm_map_addr, entry), entry);
|
||||
if (left_sz == -1)
|
||||
return -1;
|
||||
right_sz = load_vmmap_entries(server, right_kptr,
|
||||
&RB_RIGHT(entry, daddrs.addr_entry), entry);
|
||||
RBT_RIGHT(uvm_map_addr, entry), entry);
|
||||
if (right_sz == -1)
|
||||
return -1;
|
||||
|
||||
@@ -148,8 +160,8 @@ 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));
|
||||
unload_vmmap_entries(RBT_LEFT(uvm_map_addr, entry));
|
||||
unload_vmmap_entries(RBT_RIGHT(uvm_map_addr, entry));
|
||||
free(entry);
|
||||
}
|
||||
|
||||
@@ -188,6 +200,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &count);
|
||||
if (pinfo == NULL) {
|
||||
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
|
||||
glibtop_suid_leave (server);
|
||||
return (glibtop_map_entry*) g_array_free(maps, TRUE);
|
||||
}
|
||||
|
||||
@@ -201,12 +214,12 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
RB_INIT(&root);
|
||||
RBT_INIT(uvm_map_addr, &root);
|
||||
nentries = load_vmmap_entries(server,
|
||||
(unsigned long) RB_ROOT(&vmspace.vm_map.addr),
|
||||
&RB_ROOT(&root), NULL);
|
||||
(unsigned long) RBT_ROOT(uvm_map_addr, &vmspace.vm_map.addr),
|
||||
RBT_ROOT(uvm_map_addr, &root), NULL);
|
||||
if (nentries == -1) {
|
||||
unload_vmmap_entries(RB_ROOT(&root));
|
||||
unload_vmmap_entries(RBT_ROOT(uvm_map_addr, &root));
|
||||
glibtop_error_io_r (server, "kvm_read (entry)");
|
||||
}
|
||||
|
||||
@@ -226,7 +239,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
* to OBJT_DEFAULT so it seems this really works.
|
||||
*/
|
||||
|
||||
RB_FOREACH(entry, uvm_map_addr, &root) {
|
||||
RBT_FOREACH(entry, uvm_map_addr, &root) {
|
||||
glibtop_map_entry *mentry;
|
||||
unsigned long inum, dev;
|
||||
guint len;
|
||||
@@ -242,7 +255,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
(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));
|
||||
unload_vmmap_entries(RBT_ROOT(uvm_map_addr, &root));
|
||||
glibtop_suid_leave (server);
|
||||
return (glibtop_map_entry*) g_array_free(maps, TRUE);
|
||||
}
|
||||
@@ -258,7 +271,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
(unsigned long) vnode.v_data,
|
||||
&inode, sizeof (inode)) != sizeof (inode)) {
|
||||
glibtop_warn_io_r (server, "kvm_read (inode)");
|
||||
unload_vmmap_entries(RB_ROOT(&root));
|
||||
unload_vmmap_entries(RBT_ROOT(uvm_map_addr, &root));
|
||||
glibtop_suid_leave (server);
|
||||
return (glibtop_map_entry*) g_array_free(maps, TRUE);
|
||||
}
|
||||
@@ -296,18 +309,6 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
|
||||
buf->size = sizeof (glibtop_map_entry);
|
||||
buf->total = buf->number * buf->size;
|
||||
|
||||
unload_vmmap_entries(RB_ROOT(&root));
|
||||
unload_vmmap_entries(RBT_ROOT(uvm_map_addr, &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);
|
||||
|
@@ -45,28 +45,34 @@ static unsigned long _glibtop_sysdeps_sem_limits =
|
||||
* 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)");
|
||||
int mib[3];
|
||||
struct sem_sysctl_info *semsi;
|
||||
|
||||
size_t len = sizeof(struct seminfo);
|
||||
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_SYSVIPC_INFO;
|
||||
mib[2] = KERN_SYSVIPC_SEM_INFO;
|
||||
|
||||
if ((semsi = malloc(len)) == NULL) {
|
||||
glibtop_warn_io_r (server, "malloc (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)");
|
||||
if (sysctl(mib, 3, semsi, &len, NULL, 0) < 0) {
|
||||
glibtop_warn_io_r (server, "sysctl (sem_limits)");
|
||||
return;
|
||||
}
|
||||
|
||||
_seminfo = semsi->seminfo;
|
||||
|
||||
free (semsi);
|
||||
|
||||
server->sysdeps.sem_limits = _glibtop_sysdeps_sem_limits;
|
||||
}
|
||||
|
||||
|
@@ -39,28 +39,33 @@ static unsigned long _glibtop_sysdeps_shm_limits =
|
||||
* 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)");
|
||||
int mib[3];
|
||||
struct shm_sysctl_info *shmsi;
|
||||
size_t len = sizeof(struct shminfo);
|
||||
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_SYSVIPC_INFO;
|
||||
mib[2] = KERN_SYSVIPC_SHM_INFO;
|
||||
|
||||
if ((shmsi = malloc(len)) == NULL) {
|
||||
glibtop_warn_io_r (server, "malloc (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)");
|
||||
if (sysctl(mib, 3, shmsi, &len, NULL, 0) < 0) {
|
||||
glibtop_warn_io_r (server, "sysctl (shm_limits)");
|
||||
return;
|
||||
}
|
||||
|
||||
_shminfo = shmsi->shminfo;
|
||||
|
||||
free (shmsi);
|
||||
|
||||
server->sysdeps.shm_limits = _glibtop_sysdeps_shm_limits;
|
||||
}
|
||||
|
||||
|
@@ -69,10 +69,10 @@ glibtop_open_p (glibtop *server, const char *program_name,
|
||||
server->machine->gid = getgid ();
|
||||
server->machine->egid = getegid ();
|
||||
/* Setup machine-specific data */
|
||||
server->machine->kd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, errbuf);
|
||||
server->machine->kd = kvm_openfiles (NULL, NULL, NULL, KVM_NO_FILES, errbuf);
|
||||
|
||||
if (server->machine->kd == NULL)
|
||||
glibtop_error_io_r (server, "kvm_open");
|
||||
glibtop_error_io_r (server, "kvm_openfiles");
|
||||
|
||||
/* Drop priviledges. */
|
||||
|
||||
|
@@ -5,7 +5,7 @@ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c siglist.c cpu.c mem.c swap.c \
|
||||
uptime.c loadavg.c shm_limits.c msg_limits.c \
|
||||
sem_limits.c ppp.c
|
||||
sem_limits.c ppp.c procio.c disk.c
|
||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
libgtop_sysdeps_2_0_la_LIBADD = -lmach
|
||||
|
||||
|
42
sysdeps/osf1/disk.c
Normal file
42
sysdeps/osf1/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -45,6 +46,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD (1 << GLIBTOP_SYSDEPS_NETLOAD)
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
43
sysdeps/osf1/procio.c
Normal file
43
sysdeps/osf1/procio.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
}
|
@@ -8,7 +8,7 @@ libgtop_sysdeps_2_0_la_SOURCES = open.c close.c siglist.c cpu.c mem.c \
|
||||
proclist.c procstate.c procuid.c \
|
||||
proctime.c procmem.c procsignal.c \
|
||||
prockernel.c procsegment.c procargs.c \
|
||||
procopenfiles.c \
|
||||
procopenfiles.c procio.c disk.c \
|
||||
procmap.c netload.c ppp.c procdata.c netlist.c
|
||||
|
||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
@@ -16,7 +16,8 @@ libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
libgtop_sysdeps_2_0_la_LIBADD = @DL_LIB@
|
||||
|
||||
libgtop_sysdeps_suid_2_0_la_SOURCES = open_suid.c close_suid.c \
|
||||
shm_limits.c msg_limits.c sem_limits.c
|
||||
shm_limits.c msg_limits.c sem_limits.c \
|
||||
procio.c
|
||||
|
||||
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
|
||||
|
42
sysdeps/solaris/disk.c
Normal file
42
sysdeps/solaris/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -45,6 +46,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD 0
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
45
sysdeps/solaris/procio.c
Normal file
45
sysdeps/solaris/procio.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
buf->flags = _glibtop_sysdeps_proc_io;
|
||||
}
|
@@ -3,7 +3,7 @@ AM_CPPFLAGS = @AM_CPPFLAGS@
|
||||
|
||||
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c siglist.c cpu.c mem.c swap.c \
|
||||
libgtop_sysdeps_2_0_la_SOURCES = open.c close.c siglist.c cpu.c disk.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 \
|
||||
|
42
sysdeps/stub/disk.c
Normal file
42
sysdeps/stub/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU 0
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM 0
|
||||
#define GLIBTOP_SUID_SWAP 0
|
||||
#define GLIBTOP_SUID_UPTIME 0
|
||||
@@ -45,8 +46,9 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD 0
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_WD 0
|
||||
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -7,7 +7,7 @@ libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c
|
||||
|
||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
|
||||
libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c siglist.c cpu.c mem.c swap.c \
|
||||
libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c siglist.c cpu.c disk.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 \
|
||||
|
47
sysdeps/stub_suid/disk.c
Normal file
47
sysdeps/stub_suid/disk.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
#include <glibtop_suid.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_p (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_p (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
glibtop_init_p (server, GLIBTOP_SYSDEPS_DISK, 0);
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -45,7 +45,7 @@ G_BEGIN_DECLS
|
||||
#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_IO (1 << GLIBTOP_SYSDEPS_PROC_IO)
|
||||
#define GLIBTOP_SUID_PROC_IO (1 << GLIBTOP_SYSDEPS_PROC_IO)
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -3,7 +3,7 @@ AM_CPPFLAGS = @AM_CPPFLAGS@
|
||||
|
||||
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
|
||||
|
||||
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c
|
||||
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c disk.c procio.c
|
||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||
libgtop_sysdeps_2_0_la_LIBADD = -lkvm
|
||||
|
||||
|
42
sysdeps/sun4/disk.c
Normal file
42
sysdeps/sun4/disk.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by James Dominic P. Guana <guana.histark@gmail.com>, May 2020.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/disk.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_disk = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_disk_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.disk = _glibtop_sysdeps_disk;
|
||||
}
|
||||
|
||||
/* Provides information about disk usage. */
|
||||
|
||||
void
|
||||
glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_disk));
|
||||
}
|
@@ -25,6 +25,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GLIBTOP_SUID_CPU (1 << GLIBTOP_SYSDEPS_CPU)
|
||||
#define GLIBTOP_SUID_DISK 0
|
||||
#define GLIBTOP_SUID_MEM (1 << GLIBTOP_SYSDEPS_MEM)
|
||||
#define GLIBTOP_SUID_SWAP (1 << GLIBTOP_SYSDEPS_SWAP)
|
||||
#define GLIBTOP_SUID_UPTIME (1 << GLIBTOP_SYSDEPS_UPTIME)
|
||||
@@ -45,6 +46,8 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SUID_NETLOAD 0
|
||||
#define GLIBTOP_SUID_NETLIST 0
|
||||
#define GLIBTOP_SUID_PPP 0
|
||||
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
|
||||
#define GLIBTOP_SUID_PROC_IO 0
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
43
sysdeps/sun4/procio.c
Normal file
43
sysdeps/sun4/procio.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright (C) 2017 Robert Roth
|
||||
This file is part of LibGTop.
|
||||
|
||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
||||
|
||||
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., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/procio.h>
|
||||
|
||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||
|
||||
/* Init function. */
|
||||
|
||||
void
|
||||
_glibtop_init_proc_io_s (glibtop *server)
|
||||
{
|
||||
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
|
||||
}
|
||||
|
||||
/* Provides detailed information about a process. */
|
||||
|
||||
void
|
||||
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
||||
pid_t pid)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||
}
|
Reference in New Issue
Block a user