Compare commits
42 Commits
gnome-2-22
...
gnome-2-24
Author | SHA1 | Date | |
---|---|---|---|
|
d5c7c9f7cb | ||
|
b64a6914f2 | ||
|
5526454790 | ||
|
d07192b5c9 | ||
|
b6464a97ec | ||
|
89aac22fac | ||
|
935d321bf0 | ||
|
9ea7201e24 | ||
|
f4089fa71f | ||
|
ab3f8f58ef | ||
|
e5fdd58fee | ||
|
86f43f408b | ||
|
1aab514cda | ||
|
3a8f2335c9 | ||
|
5b5c9215dc | ||
|
bf13e02061 | ||
|
1e2c9d5517 | ||
|
5dccc423d8 | ||
|
d58409351c | ||
|
1c20ceb694 | ||
|
3d4491494f | ||
|
10a04fc9c7 | ||
|
10e5124770 | ||
|
f269f738d7 | ||
|
bc86ee5421 | ||
|
7ea989c2b8 | ||
|
91b7ae4b11 | ||
|
ce23ce407c | ||
|
7f779e078d | ||
|
229eab1213 | ||
|
791e0dd859 | ||
|
f63973eac5 | ||
|
806a2d2d7e | ||
|
af81e9be75 | ||
|
90fc3ca780 | ||
|
99e9437b37 | ||
|
6c7f40ac64 | ||
|
e75261ada8 | ||
|
dc5da30913 | ||
|
4d78d26932 | ||
|
cd950bbf73 | ||
|
c1b95643a8 |
339
COPYING
Normal file
339
COPYING
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
34
NEWS
34
NEWS
@@ -1,13 +1,39 @@
|
|||||||
30 June 2008: Overview of changes in 2.22.3
|
19 January 2009: Overview of changes in 2.24.4
|
||||||
|
==============================================
|
||||||
|
* Fixed license: libgtop is GPL-2.
|
||||||
|
|
||||||
|
12 January 2009: Overview of changes in 2.24.3
|
||||||
|
==============================================
|
||||||
|
* linux:
|
||||||
|
- fixed potential memory leak. Vincent Untz.
|
||||||
|
- fixed read(2) usage. Should fix the missing cpus bug in system-monitor.
|
||||||
|
* darwin:
|
||||||
|
- fixed build. "paul".
|
||||||
|
|
||||||
|
22 Septembre 2008: Overview of changes in 2.24.0
|
||||||
|
================================================
|
||||||
|
* Translation updates.
|
||||||
|
|
||||||
|
18 August 2008: Overview of changes in 2.23.90
|
||||||
|
==============================================
|
||||||
|
* freebsd:
|
||||||
|
- updated port by Joe Marcus Clarke.
|
||||||
|
|
||||||
|
23 June 2008: Overview of changes in 2.23.4
|
||||||
===========================================
|
===========================================
|
||||||
* linux:
|
* linux:
|
||||||
- Fixed glibtop_get_fsusage with kernel >= 2.6.25.
|
- Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
|
||||||
Closes #539360.
|
Closes #539360.
|
||||||
|
|
||||||
24 May 2008: Overview of changes in 2.22.2
|
24 May 2008: Overview of changes in 2.23.2
|
||||||
==========================================
|
==========================================
|
||||||
|
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
|
||||||
|
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
|
||||||
|
|
||||||
|
(Let's hope one day i'll find the gtk-doc documentation ...)
|
||||||
|
|
||||||
* linux:
|
* linux:
|
||||||
- fixed parsing of huge /proc/stat.
|
- fixed parsing of big /proc/stat for uptime.
|
||||||
|
|
||||||
04 April 2008: Overview of changes in 2.22.1
|
04 April 2008: Overview of changes in 2.22.1
|
||||||
============================================
|
============================================
|
||||||
|
10
configure.in
10
configure.in
@@ -3,21 +3,21 @@ dnl Configure script for the Gnome library
|
|||||||
dnl
|
dnl
|
||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
m4_define([libgtop_major_version], [2])
|
||||||
m4_define([libgtop_minor_version], [22])
|
m4_define([libgtop_minor_version], [24])
|
||||||
m4_define([libgtop_micro_version], [3])
|
m4_define([libgtop_micro_version], [4])
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
dnl increment if the interface has additions, changes, removals.
|
||||||
m4_define([libgtop_current], [8])
|
m4_define([libgtop_current], [9])
|
||||||
|
|
||||||
dnl increment any time the source changes; set to
|
dnl increment any time the source changes; set to
|
||||||
dnl 0 if you increment CURRENT
|
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 increment if any interfaces have been added; set to 0
|
||||||
dnl if any interfaces have been removed. removal has
|
dnl if any interfaces have been removed. removal has
|
||||||
dnl precedence over adding, so set to 0 if both happened.
|
dnl precedence over adding, so set to 0 if both happened.
|
||||||
m4_define([libgtop_age], [1])
|
m4_define([libgtop_age], [2])
|
||||||
|
|
||||||
# Increase each time you change the client/server protocol.
|
# Increase each time you change the client/server protocol.
|
||||||
m4_define([libgtop_server_version], [5])
|
m4_define([libgtop_server_version], [5])
|
||||||
|
@@ -8,7 +8,7 @@ DEFS = @DEFS@
|
|||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||||
mountlist procmap netload sysdeps timings \
|
mountlist procmap netload sysdeps timings \
|
||||||
openfiles smp proclist mem wd
|
openfiles smp proclist mem wd affinity
|
||||||
|
|
||||||
first_SOURCES = first.c
|
first_SOURCES = first.c
|
||||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
@@ -58,3 +58,5 @@ wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
mem_SOURCE = mem.c
|
mem_SOURCE = mem.c
|
||||||
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
|
affinity_SOURCES = affinity.c
|
||||||
|
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
@@ -0,0 +1,34 @@
|
|||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/procaffinity.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
pid_t pid;
|
||||||
|
glibtop_proc_affinity buf;
|
||||||
|
guint16 *cpus;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
|
||||||
|
pid = getpid();
|
||||||
|
|
||||||
|
glibtop_init();
|
||||||
|
|
||||||
|
cpus = glibtop_get_proc_affinity(&buf, pid);
|
||||||
|
|
||||||
|
g_print("Process %u:\n"
|
||||||
|
" - all: %d\n",
|
||||||
|
(unsigned)pid, buf.all);
|
||||||
|
|
||||||
|
for (i = 0; i != buf.number; ++i)
|
||||||
|
g_print(" - CPU#%u is set\n", cpus[i]);
|
||||||
|
|
||||||
|
g_free(cpus);
|
||||||
|
|
||||||
|
glibtop_close();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -15,26 +15,33 @@ static void print_fsusage(const char *mountpoint)
|
|||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
glibtop_get_fsusage(&buf, mountpoint);
|
||||||
|
|
||||||
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
|
||||||
mountpoint,
|
mountpoint,
|
||||||
buf.blocks * buf.block_size >> 20,
|
buf.blocks * buf.block_size >> 20,
|
||||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||||
buf.bavail * buf.block_size >> 20,
|
buf.bavail * buf.block_size >> 20,
|
||||||
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
||||||
|
buf.read,
|
||||||
|
buf.write
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main()
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
glibtop_mountlist buf;
|
glibtop_mountlist buf;
|
||||||
glibtop_mountentry *entries;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
|
||||||
"Filesystem", "Size", "Used", "Avail", "Use%");
|
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
|
||||||
|
|
||||||
|
if (argc > 1) {
|
||||||
|
while (*++argv)
|
||||||
|
print_fsusage(*argv);
|
||||||
|
} else {
|
||||||
|
glibtop_mountentry *entries;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, TRUE);
|
entries = glibtop_get_mountlist(&buf, TRUE);
|
||||||
|
|
||||||
@@ -44,6 +51,7 @@ int main()
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_free(entries);
|
g_free(entries);
|
||||||
|
}
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
|
||||||
|
@@ -37,9 +37,16 @@ static void show_open_files(pid_t pid)
|
|||||||
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GLIBTOP_FILE_TYPE_INET6SOCKET:
|
||||||
|
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||||
|
break;
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
||||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
printf("localsocket %s\n", files[i].info.localsock.name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
printf("unknown type\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
#ifndef PROFILE_COUNT_EXPENSIVE
|
||||||
#define PROFILE_COUNT_EXPENSIVE 10000L
|
#define PROFILE_COUNT_EXPENSIVE (PROFILE_COUNT / 10)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
||||||
@@ -73,13 +73,13 @@ int
|
|||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
glibtop_union data;
|
glibtop_union data;
|
||||||
unsigned c, count;
|
unsigned c;
|
||||||
struct rusage total_start, total_end;
|
struct rusage total_start, total_end;
|
||||||
struct rusage rusage_start, rusage_end;
|
struct rusage rusage_start, rusage_end;
|
||||||
struct timeval elapsed_utime, elapsed_stime;
|
struct timeval elapsed_utime, elapsed_stime;
|
||||||
pid_t pid, *ptr;
|
pid_t pid;
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
pid = getpid ();
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
setlocale (LC_ALL, "");
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
@@ -184,12 +184,10 @@ main (int argc, char *argv [])
|
|||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||||
|
|
||||||
printf ("\n");
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||||
g_free (ptr);
|
g_free (ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,9 +205,26 @@ main (int argc, char *argv [])
|
|||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||||
|
|
||||||
pid = getpid ();
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
printf ("\n");
|
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||||
|
char** ptr = glibtop_get_netlist (&data.netlist);
|
||||||
|
g_strfreev (ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
getrusage (RUSAGE_SELF, &rusage_end);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||||
|
&elapsed_utime);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||||
|
&elapsed_stime);
|
||||||
|
|
||||||
|
printf ("Netlist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||||
|
(unsigned long) data.proclist.flags,
|
||||||
|
PROFILE_COUNT_EXPENSIVE,
|
||||||
|
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||||
|
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
@@ -267,6 +282,27 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
|
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||||
|
glibtop_map_entry* entries;
|
||||||
|
entries = glibtop_get_proc_map (&data.proc_map, pid);
|
||||||
|
g_free (entries);
|
||||||
|
}
|
||||||
|
|
||||||
|
getrusage (RUSAGE_SELF, &rusage_end);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||||
|
&elapsed_utime);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||||
|
&elapsed_stime);
|
||||||
|
|
||||||
|
printf ("Proc_Map (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||||
|
(unsigned long) data.proc_map.flags, PROFILE_COUNT_EXPENSIVE,
|
||||||
|
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||||
|
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||||
|
|
||||||
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
for (c = 0; c < PROFILE_COUNT; c++)
|
||||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||||
|
|
||||||
@@ -285,6 +321,27 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
|
for (c = 0; c < PROFILE_COUNT; c++) {
|
||||||
|
char** argv;
|
||||||
|
argv = glibtop_get_proc_argv (&data.proc_args, pid, 0);
|
||||||
|
g_strfreev(argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
getrusage (RUSAGE_SELF, &rusage_end);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
||||||
|
&elapsed_utime);
|
||||||
|
|
||||||
|
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
||||||
|
&elapsed_stime);
|
||||||
|
|
||||||
|
printf ("Proc_Args (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
||||||
|
(unsigned long) data.proc_args.flags, PROFILE_COUNT,
|
||||||
|
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||||
|
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||||
|
|
||||||
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
for (c = 0; c < PROFILE_COUNT; c++)
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
glibtop_get_proc_time (&data.proc_time, pid);
|
||||||
|
|
||||||
|
@@ -23,4 +23,5 @@ void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_to
|
|||||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||||
char **|netlist|unsigned(number)
|
char **|netlist|unsigned(number)
|
||||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
||||||
|
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
|||||||
procsignal.h union.h gnuserv.h \
|
procsignal.h union.h gnuserv.h \
|
||||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||||
sysinfo.h ppp.h procargs.h netload.h \
|
sysinfo.h ppp.h procargs.h netload.h \
|
||||||
procwd.h \
|
procwd.h procaffinity.h \
|
||||||
netlist.h procopenfiles.h open.h
|
netlist.h procopenfiles.h open.h
|
||||||
|
|
||||||
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
||||||
|
@@ -58,8 +58,9 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_CMND_NETLIST 24
|
#define GLIBTOP_CMND_NETLIST 24
|
||||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||||
#define GLIBTOP_CMND_PROC_WD 26
|
#define GLIBTOP_CMND_PROC_WD 26
|
||||||
|
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CMND 27
|
#define GLIBTOP_MAX_CMND 28
|
||||||
|
|
||||||
#define _GLIBTOP_PARAM_SIZE 16
|
#define _GLIBTOP_PARAM_SIZE 16
|
||||||
|
|
||||||
|
@@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright (C) 2007 Benoît Dejean
|
||||||
|
This file is part of LibGTop 2.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
||||||
|
#define __GLIBTOP_PROCAFFINITY_H__
|
||||||
|
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
||||||
|
|
||||||
|
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
||||||
|
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
||||||
|
|
||||||
|
struct _glibtop_proc_affinity
|
||||||
|
{
|
||||||
|
guint64 flags;
|
||||||
|
guint32 number;
|
||||||
|
gboolean all;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
|
||||||
|
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||||
|
|
||||||
|
|
||||||
|
#if GLIBTOP_SUID_PROC_AFFINITY
|
||||||
|
|
||||||
|
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
|
||||||
|
void _glibtop_init_proc_affinity_p(glibtop *server);
|
||||||
|
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
|
||||||
|
void _glibtop_init_proc_affinity_s(glibtop *server);
|
||||||
|
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@@ -53,7 +53,8 @@ enum glibtop_file_type {
|
|||||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
GLIBTOP_FILE_TYPE_FILE = 1,
|
||||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
GLIBTOP_FILE_TYPE_PIPE = 2,
|
||||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
||||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
|
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
|
||||||
|
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
||||||
@@ -65,7 +66,8 @@ struct _glibtop_open_files_entry
|
|||||||
int fd;
|
int fd;
|
||||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
guint16 type; /* An "enum glibtop_file_type" value. */
|
||||||
union {
|
union {
|
||||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
|
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
|
||||||
|
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
|
||||||
struct {
|
struct {
|
||||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
||||||
int dest_port;
|
int dest_port;
|
||||||
|
@@ -52,8 +52,9 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SYSDEPS_NETLIST 23
|
#define GLIBTOP_SYSDEPS_NETLIST 23
|
||||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||||
|
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||||
|
|
||||||
#define GLIBTOP_MAX_SYSDEPS 26
|
#define GLIBTOP_MAX_SYSDEPS 27
|
||||||
|
|
||||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||||
|
|
||||||
@@ -88,6 +89,7 @@ struct _glibtop_sysdeps
|
|||||||
guint64 netload; /* glibtop_netload */
|
guint64 netload; /* glibtop_netload */
|
||||||
guint64 ppp; /* glibtop_ppp */
|
guint64 ppp; /* glibtop_ppp */
|
||||||
guint64 proc_wd; /* glibtop_proc_wd */
|
guint64 proc_wd; /* glibtop_proc_wd */
|
||||||
|
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||||
|
@@ -43,6 +43,7 @@
|
|||||||
#include <glibtop/procmap.h>
|
#include <glibtop/procmap.h>
|
||||||
#include <glibtop/procopenfiles.h>
|
#include <glibtop/procopenfiles.h>
|
||||||
#include <glibtop/procwd.h>
|
#include <glibtop/procwd.h>
|
||||||
|
#include <glibtop/procaffinity.h>
|
||||||
|
|
||||||
#include <glibtop/mountlist.h>
|
#include <glibtop/mountlist.h>
|
||||||
#include <glibtop/fsusage.h>
|
#include <glibtop/fsusage.h>
|
||||||
@@ -82,6 +83,7 @@ union _glibtop_union
|
|||||||
glibtop_ppp ppp;
|
glibtop_ppp ppp;
|
||||||
glibtop_proc_open_files proc_open_files;
|
glibtop_proc_open_files proc_open_files;
|
||||||
glibtop_proc_wd proc_wd;
|
glibtop_proc_wd proc_wd;
|
||||||
|
glibtop_proc_affinity proc_affinity;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@@ -50,6 +50,8 @@ glibtop_get_sem_limits
|
|||||||
glibtop_get_sem_limits_l
|
glibtop_get_sem_limits_l
|
||||||
glibtop_get_shm_limits
|
glibtop_get_shm_limits
|
||||||
glibtop_get_shm_limits_l
|
glibtop_get_shm_limits_l
|
||||||
|
glibtop_get_proc_affinity
|
||||||
|
glibtop_get_proc_affinity_l
|
||||||
glibtop_get_swap
|
glibtop_get_swap
|
||||||
glibtop_get_swap_l
|
glibtop_get_swap_l
|
||||||
glibtop_get_sysdeps
|
glibtop_get_sysdeps
|
||||||
|
@@ -47,6 +47,7 @@ GLIBTOP_SUID_PROC_MAP +
|
|||||||
GLIBTOP_SUID_NETLOAD +
|
GLIBTOP_SUID_NETLOAD +
|
||||||
GLIBTOP_SUID_NETLIST +
|
GLIBTOP_SUID_NETLIST +
|
||||||
GLIBTOP_SUID_PROC_WD +
|
GLIBTOP_SUID_PROC_WD +
|
||||||
|
GLIBTOP_SUID_PROC_AFFINITY +
|
||||||
GLIBTOP_SUID_PPP;
|
GLIBTOP_SUID_PPP;
|
||||||
|
|
||||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||||
@@ -113,6 +114,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
|||||||
#if !GLIBTOP_SUID_PROC_WD
|
#if !GLIBTOP_SUID_PROC_WD
|
||||||
_glibtop_init_proc_wd_s,
|
_glibtop_init_proc_wd_s,
|
||||||
#endif
|
#endif
|
||||||
|
#if !GLIBTOP_SUID_PROC_AFFINITY
|
||||||
|
_glibtop_init_proc_affinity_s,
|
||||||
|
#endif
|
||||||
#if !GLIBTOP_SUID_PPP
|
#if !GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_s,
|
_glibtop_init_ppp_s,
|
||||||
#endif
|
#endif
|
||||||
@@ -183,6 +187,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
|||||||
#if GLIBTOP_SUID_PROC_WD
|
#if GLIBTOP_SUID_PROC_WD
|
||||||
_glibtop_init_proc_wd_p,
|
_glibtop_init_proc_wd_p,
|
||||||
#endif
|
#endif
|
||||||
|
#if GLIBTOP_SUID_PROC_AFFINITY
|
||||||
|
_glibtop_init_proc_affinity_p,
|
||||||
|
#endif
|
||||||
#if GLIBTOP_SUID_PPP
|
#if GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_p,
|
_glibtop_init_ppp_p,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -79,6 +79,8 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
libgtop_sysdeps_dir=freebsd
|
libgtop_sysdeps_dir=freebsd
|
||||||
libgtop_use_machine_h=yes
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
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 $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
solaris*)
|
solaris*)
|
||||||
@@ -99,7 +101,7 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
libgtop_use_machine_h=yes
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test x$hacker_mode = xyes ; then
|
if test x$hacker_mode = xyes ; then
|
||||||
|
61
po/ChangeLog
61
po/ChangeLog
@@ -1,6 +1,63 @@
|
|||||||
2008-10-06 Pema Geyleg <pema.geyleg@gmail.com>
|
2008-10-19 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
* dz.po: Updated Dzongkha Translation
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-09-20 Laurent Dhima <laurenti@alblinux.net>
|
||||||
|
|
||||||
|
* sq.po: Updated Albanian Translation.
|
||||||
|
|
||||||
|
2008-09-19 Mugurel Tudor <mugurelu@gnome.ro>
|
||||||
|
|
||||||
|
* ro.po: Updated Romanian translation by
|
||||||
|
Mişu Moldovan <dumol@gnome.ro>
|
||||||
|
|
||||||
|
2008-09-18 Baris Cicek <baris@teamforce.name.tr>
|
||||||
|
|
||||||
|
* tr.po: Fixed wrong plural forms
|
||||||
|
|
||||||
|
2008-09-18 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-09-15 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-09-14 Baris Cicek <baris@teamforce.name.tr>
|
||||||
|
|
||||||
|
* tr.po: Updated Turkish Translation.
|
||||||
|
|
||||||
|
2008-09-09 Robert Sedak <robert.sedak@sk.t-com.hr>
|
||||||
|
|
||||||
|
* hr.po: Updated Croatian translation.
|
||||||
|
|
||||||
|
2008-08-25 Goran Rakic <grakic@devbase.net>
|
||||||
|
|
||||||
|
* LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin.
|
||||||
|
|
||||||
|
2008-08-6 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-07-29 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-07-25 Leonardo Ferreira Fontenelle <leonardof@gnome.org>
|
||||||
|
|
||||||
|
* pt_BR.po: Terminology improvement by Vladimir Melo.
|
||||||
|
|
||||||
|
2008-06-11 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-05-22 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
|
2008-05-19 Djihed Afifi <djihed@gmail.com>
|
||||||
|
|
||||||
|
* ar.po: Updated Arabic Translation by Khaled Hosny.
|
||||||
|
|
||||||
2008-04-04 Eskild Hustvedt <eskildh@gnome.org>
|
2008-04-04 Eskild Hustvedt <eskildh@gnome.org>
|
||||||
|
|
||||||
|
@@ -64,7 +64,7 @@ sk
|
|||||||
sl
|
sl
|
||||||
sq
|
sq
|
||||||
sr
|
sr
|
||||||
sr@Latn
|
sr@latin
|
||||||
sv
|
sv
|
||||||
ta
|
ta
|
||||||
te
|
te
|
||||||
|
117
po/ar.po
117
po/ar.po
@@ -1,4 +1,4 @@
|
|||||||
# translation of libgtop.HEAD.ar.po to Arabic
|
# translation of libgtop.HEAD.po to Arabic
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
|
||||||
#
|
#
|
||||||
@@ -8,17 +8,17 @@
|
|||||||
# Khaled Hosny <khaledhosny@eglug.org>, 2006, 2008.
|
# Khaled Hosny <khaledhosny@eglug.org>, 2006, 2008.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop.HEAD.ar\n"
|
"Project-Id-Version: libgtop.HEAD\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2007-08-26 14:20-0700\n"
|
"POT-Creation-Date: 2008-01-12 01:07+0000\n"
|
||||||
"PO-Revision-Date: 2008-01-11 23:29+0200\n"
|
"PO-Revision-Date: 2008-07-28 19:26+0300\n"
|
||||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
||||||
"Language-Team: Arabic <doc@eglug.org>\n"
|
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: KBabel 1.11.4\n"
|
"X-Generator: KBabel 1.11.4\n"
|
||||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||||
|
|
||||||
#: ../lib/read.c:51
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -27,9 +27,9 @@ msgid_plural "read %d bytes"
|
|||||||
msgstr[0] "قرأ صفر بايت"
|
msgstr[0] "قرأ صفر بايت"
|
||||||
msgstr[1] "قرأ بايت واحدة"
|
msgstr[1] "قرأ بايت واحدة"
|
||||||
msgstr[2] "قرأ بايتين"
|
msgstr[2] "قرأ بايتين"
|
||||||
msgstr[3] "قرأ %d بايتات"
|
msgstr[3] "قرأ %Id بايتات"
|
||||||
msgstr[4] "قرأ %d بايت"
|
msgstr[4] "قرأ %Id بايت"
|
||||||
msgstr[5] "قرأ %d بايت"
|
msgstr[5] "قرأ %Id بايت"
|
||||||
|
|
||||||
#: ../lib/read_data.c:51
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
@@ -53,9 +53,9 @@ msgid_plural "wrote %d bytes"
|
|||||||
msgstr[0] "كتب صفر بايت"
|
msgstr[0] "كتب صفر بايت"
|
||||||
msgstr[1] "كتب بايت واحدة"
|
msgstr[1] "كتب بايت واحدة"
|
||||||
msgstr[2] "كتب بايتين"
|
msgstr[2] "كتب بايتين"
|
||||||
msgstr[3] "كتب %d بايتات"
|
msgstr[3] "كتب %Id بايتات"
|
||||||
msgstr[4] "كتب %d بايت"
|
msgstr[4] "كتب %Id بايت"
|
||||||
msgstr[5] "كتب %d بايت"
|
msgstr[5] "كتب %Id بايت"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:458
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
@@ -78,158 +78,127 @@ msgstr "استُحضرت من inetd "
|
|||||||
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' لرؤية قائمة كاملة لخيارات سطر الأوامر.\n"
|
msgstr "شغّل '%s --help' لرؤية قائمة كاملة لخيارات سطر الأوامر.\n"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:27
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
#: ../sysdeps/sun4/siglist.c:27
|
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "علّق"
|
msgstr "علّق"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
#: ../sysdeps/sun4/siglist.c:28
|
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "قاطِع"
|
msgstr "قاطِع"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
#: ../sysdeps/sun4/siglist.c:29
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "اخرج"
|
msgstr "اخرج"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
#: ../sysdeps/sun4/siglist.c:30
|
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "توجيه ممنوع"
|
msgstr "توجيه ممنوع"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
#: ../sysdeps/sun4/siglist.c:31
|
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "تتبع الأثر"
|
msgstr "تتبع الأثر"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
#: ../sysdeps/sun4/siglist.c:32
|
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "اجهض"
|
msgstr "اجهض"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
#: ../sysdeps/sun4/siglist.c:33
|
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "خطأ EMT"
|
msgstr "خطأ EMT"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
#: ../sysdeps/sun4/siglist.c:34
|
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "استثناء أرقام عشرية"
|
msgstr "استثناء أرقام عشرية"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
#: ../sysdeps/sun4/siglist.c:35
|
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "اقتل"
|
msgstr "اقتل"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
#: ../sysdeps/sun4/siglist.c:36
|
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "خطأ في ناقل"
|
msgstr "خطأ في ناقل"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
#: ../sysdeps/sun4/siglist.c:37
|
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "انتهاك اﻻنقسام"
|
msgstr "انتهاك اﻻنقسام"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
#: ../sysdeps/sun4/siglist.c:38
|
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "معطى سيء لنداء النظام"
|
msgstr "معطى سيء لنداء النظام"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
#: ../sysdeps/sun4/siglist.c:39
|
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "أنبوب مكسور"
|
msgstr "أنبوب مكسور"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
#: ../sysdeps/sun4/siglist.c:40
|
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "ساعة منبهة"
|
msgstr "ساعة منبهة"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
#: ../sysdeps/sun4/siglist.c:41
|
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "إنهاء"
|
msgstr "إنهاء"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
#: ../sysdeps/sun4/siglist.c:42
|
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "حالة عاجلة عند المقبس"
|
msgstr "حالة عاجلة عند المقبس"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
#: ../sysdeps/sun4/siglist.c:43
|
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "قف"
|
msgstr "قف"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
#: ../sysdeps/sun4/siglist.c:44
|
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "إيقاف من لوحة المفاتيح"
|
msgstr "إيقاف من لوحة المفاتيح"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
#: ../sysdeps/sun4/siglist.c:45
|
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "تابع"
|
msgstr "تابع"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
#: ../sysdeps/sun4/siglist.c:46
|
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "تغيرت حالة الابن"
|
msgstr "تغيرت حالة الابن"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
#: ../sysdeps/sun4/siglist.c:47
|
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "قراءة من tty في الخلفية"
|
msgstr "قراءة من tty في الخلفية"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
#: ../sysdeps/sun4/siglist.c:48
|
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "كتابة لـ tty في الخلفية"
|
msgstr "كتابة لـ tty في الخلفية"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
#: ../sysdeps/sun4/siglist.c:49
|
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "الدخْل/الخرْج ممكن الآن"
|
msgstr "الدخْل/الخرْج ممكن الآن"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
#: ../sysdeps/sun4/siglist.c:50
|
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "تجاوز حد الـمعالج"
|
msgstr "تجاوز حد الـمعالج"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
#: ../sysdeps/sun4/siglist.c:51
|
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "تجاوز حد حجم الملف"
|
msgstr "تجاوز حد حجم الملف"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
#: ../sysdeps/sun4/siglist.c:52
|
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "ساعة تنبيه تخيّلية"
|
msgstr "ساعة تنبيه تخيّلية"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
#: ../sysdeps/sun4/siglist.c:53
|
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "تشخيص ساعة التنبيه"
|
msgstr "تشخيص ساعة التنبيه"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
#: ../sysdeps/sun4/siglist.c:54
|
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "تغير حجم النافذة"
|
msgstr "تغير حجم النافذة"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
#: ../sysdeps/sun4/siglist.c:55
|
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "طلب معلومات"
|
msgstr "طلب معلومات"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
#: ../sysdeps/sun4/siglist.c:56
|
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "إشارة 1 معرفة من طرف المستخدم"
|
msgstr "إشارة 1 معرفة من طرف المستخدم"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
#: ../sysdeps/sun4/siglist.c:57
|
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "إشارة 2 معرفة من طرف المستخدم"
|
msgstr "إشارة 2 معرفة من طرف المستخدم"
|
||||||
|
|
||||||
|
109
po/dz.po
109
po/dz.po
@@ -6,9 +6,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop.HEAD\n"
|
"Project-Id-Version: libgtop.HEAD\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-04-23 03:26+0000\n"
|
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
|
||||||
"PO-Revision-Date: 2008-10-02 16:50+0530\n"
|
"PO-Revision-Date: 2006-03-28 11:12-0500\n"
|
||||||
"Last-Translator: Dawa pemo <daws_403@hotmail.com>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: <en@li.org>\n"
|
"Language-Team: <en@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -61,171 +61,144 @@ msgid "Invoked from inetd"
|
|||||||
msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི་ནང་ལས་ ལས་བཀོལ་འབད།"
|
msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི་ནང་ལས་ ལས་བཀོལ་འབད།"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:498
|
#: ../src/daemon/gnuserv.c:498
|
||||||
#, c-format
|
#, fuzzy, 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' གཡོག་བཀོལ། \n"
|
msgstr ""
|
||||||
|
"གདམ་ཁ་%s: %sལུ་འཛོལ་བ། \n"
|
||||||
|
"འཐོབ་ཚུགས་པའི་ བརྡ་ལམ་གདམ་ཁའི་ ཐོ་ཡིག་ཧྲིལ་བུ་ཅིག་ལུ་ བལྟ་ནིའི་དོན་ལས་ '%s --help' གཡོག་བཀོལ།\n"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:27
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
#: ../sysdeps/sun4/siglist.c:27
|
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "ཐོགས་རྐྱེན།"
|
msgstr "ཐོགས་རྐྱེན།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
#: ../sysdeps/sun4/siglist.c:28
|
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "བར་ཆད།"
|
msgstr "བར་ཆད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
#: ../sysdeps/sun4/siglist.c:29
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "སྤངས།"
|
msgstr "སྤངས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
#: ../sysdeps/sun4/siglist.c:30
|
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "ཁྲིམས་འགལ་བཀོད་རྒྱ།"
|
msgstr "ཁྲིམས་འགལ་བཀོད་རྒྱ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
#: ../sysdeps/sun4/siglist.c:31
|
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "ཧིང་ རྗེས་འཚོལ་འབད།"
|
msgstr "ཧིང་ རྗེས་འཚོལ་འབད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
#: ../sysdeps/sun4/siglist.c:32
|
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "བར་བཤོལ་འབད།"
|
msgstr "བར་བཤོལ་འབད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
#: ../sysdeps/sun4/siglist.c:33
|
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "ཨི་ཨེམ་ཊི་འཛོལ་བ།"
|
msgstr "ཨི་ཨེམ་ཊི་འཛོལ་བ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
#: ../sysdeps/sun4/siglist.c:34
|
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "ལྡིང་ཚད་དམིགས་བསལ།"
|
msgstr "ལྡིང་ཚད་དམིགས་བསལ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
#: ../sysdeps/sun4/siglist.c:35
|
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "གསད།"
|
msgstr "གསད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
#: ../sysdeps/sun4/siglist.c:36
|
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "བརྡ་རྟགས་འགྲུལ་ལམ་གྱི་འཛོལ་བ།"
|
msgstr "བརྡ་རྟགས་འགྲུལ་ལམ་གྱི་འཛོལ་བ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
#: ../sysdeps/sun4/siglist.c:37
|
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "ཆ་བགོ་བའི་འགལ་བ།"
|
msgstr "ཆ་བགོ་བའི་འགལ་བ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
#: ../sysdeps/sun4/siglist.c:38
|
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "རིམ་ལུགས་བོད་བརྡ་ལུ་ སྒྲུབ་རྟགས་བྱང་ཉེས།"
|
msgstr "རིམ་ལུགས་བོད་བརྡ་ལུ་ སྒྲུབ་རྟགས་བྱང་ཉེས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
#: ../sysdeps/sun4/siglist.c:39
|
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "རྒྱུད་དུང་ཆད་པ།"
|
msgstr "རྒྱུད་དུང་ཆད་པ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
#: ../sysdeps/sun4/siglist.c:40
|
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "འཇིགས་བརྡ་ཆེ་འཁོར།"
|
msgstr "འཇིགས་བརྡ་ཆེ་འཁོར།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
#: ../sysdeps/sun4/siglist.c:41
|
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "རྩ་གྲོལ།"
|
msgstr "རྩ་གྲོལ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
#: ../sysdeps/sun4/siglist.c:42
|
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "སོཀ་ཀེཊི་ལུ་ འཕྲལ་མཁོའི་གནས་སྟངས།"
|
msgstr "སོཀ་ཀེཊི་ལུ་ འཕྲལ་མཁོའི་གནས་སྟངས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
#: ../sysdeps/sun4/siglist.c:43
|
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "བཀག"
|
msgstr "བཀག"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
#: ../sysdeps/sun4/siglist.c:44
|
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "ལྡེ་སྒྲོམ་བཀག"
|
msgstr "ལྡེ་སྒྲོམ་བཀག"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
#: ../sysdeps/sun4/siglist.c:45
|
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "འཕྲོ་མཐུད།"
|
msgstr "འཕྲོ་མཐུད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
#: ../sysdeps/sun4/siglist.c:46
|
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "རྩ་ལག་གི་གནས་ཚད་ བསྒྱུར་བཅོས་ཡར་སོ་ནུག"
|
msgstr "རྩ་ལག་གི་གནས་ཚད་ བསྒྱུར་བཅོས་ཡར་སོ་ནུག"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
#: ../sysdeps/sun4/siglist.c:47
|
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "ཊི་ཊི་ཝའི་ནང་ལས་ རྒྱབ་གཞི་ལྷག་ཡོད།"
|
msgstr "ཊི་ཊི་ཝའི་ནང་ལས་ རྒྱབ་གཞི་ལྷག་ཡོད།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
#: ../sysdeps/sun4/siglist.c:48
|
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "ཊི་ཊི་ཝའི་ལུ་ རྒྱབ་གཞི་བྲིས།"
|
msgstr "ཊི་ཊི་ཝའི་ལུ་ རྒྱབ་གཞི་བྲིས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
#: ../sysdeps/sun4/siglist.c:49
|
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "ཨའི་/ཨོ་ ད་ལྟོ་ཚུགས་པས།"
|
msgstr "ཨའི་/ཨོ་ ད་ལྟོ་ཚུགས་པས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
#: ../sysdeps/sun4/siglist.c:50
|
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "ལས་སྦྱོར་ལྟེ་བའི་ཚད་ལས་ ལྷག་སོ་ནུག"
|
msgstr "ལས་སྦྱོར་ལྟེ་བའི་ཚད་ལས་ ལྷག་སོ་ནུག"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
#: ../sysdeps/sun4/siglist.c:51
|
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "ཡིག་སྣོད་ཀྱི་ཚད་ལས་ ལྷག་སོ་ནུག"
|
msgstr "ཡིག་སྣོད་ཀྱི་ཚད་ལས་ ལྷག་སོ་ནུག"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
#: ../sysdeps/sun4/siglist.c:52
|
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "བར་ཅུ་ཡེལ་ འཇིགས་བརྡའི་ཆེ་འཁོར།"
|
msgstr "བར་ཅུ་ཡེལ་ འཇིགས་བརྡའི་ཆེ་འཁོར།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
#: ../sysdeps/sun4/siglist.c:53
|
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "གསལ་སྡུད་འཇིགས་བརྡའི་ཆེ་འཁོར།"
|
msgstr "གསལ་སྡུད་འཇིགས་བརྡའི་ཆེ་འཁོར།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
#: ../sysdeps/sun4/siglist.c:54
|
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "སྒོ་སྒྲིག་ཚད་ཀྱི་བསྒྱུར་བཅོས།"
|
msgstr "སྒོ་སྒྲིག་ཚད་ཀྱི་བསྒྱུར་བཅོས།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
#: ../sysdeps/sun4/siglist.c:55
|
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "བརྡ་དོན་གྱི་ཞུ་བ།"
|
msgstr "བརྡ་དོན་གྱི་ཞུ་བ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
#: ../sysdeps/sun4/siglist.c:56
|
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "ལག་ལེན་པའི་ ངེས་འཛིན་བརྡ་རྟགས་ ༡པ།"
|
msgstr "ལག་ལེན་པའི་ ངེས་འཛིན་བརྡ་རྟགས་ ༡པ།"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
#: ../sysdeps/sun4/siglist.c:57
|
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "ལག་ལེན་པའི་ངེས་འཛིན་བརྡ་རྟགས་ ༢པ།"
|
msgstr "ལག་ལེན་པའི་ངེས་འཛིན་བརྡ་རྟགས་ ༢པ།"
|
||||||
|
|
||||||
#~ msgid "DEBUG"
|
#~ msgid "DEBUG"
|
||||||
#~ msgstr "རྐྱེན་སེལ།"
|
#~ msgstr "རྐྱེན་སེལ།"
|
||||||
|
|
||||||
#~ msgid "VERBOSE"
|
#~ msgid "VERBOSE"
|
||||||
#~ msgstr "ཚིག་མང་།"
|
#~ msgstr "ཚིག་མང་།"
|
||||||
|
|
||||||
#~ msgid "NO-DAEMON"
|
#~ msgid "NO-DAEMON"
|
||||||
#~ msgstr "ཌེ་མཱོན་མིན་འདུག"
|
#~ msgstr "ཌེ་མཱོན་མིན་འདུག"
|
||||||
|
|
||||||
#~ msgid "INETD"
|
#~ msgid "INETD"
|
||||||
#~ msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།"
|
#~ msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།"
|
||||||
|
|
||||||
|
137
po/hr.po
137
po/hr.po
@@ -5,207 +5,188 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop 0\n"
|
"Project-Id-Version: libgtop 0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
|
"POT-Creation-Date: 2008-03-11 15:24+0000\n"
|
||||||
"PO-Revision-Date: 2004-02-05 23:51+CET\n"
|
"PO-Revision-Date: 2007-06-19 23:43+0000\n"
|
||||||
"Last-Translator: auto\n"
|
"Last-Translator: Ante Karamatić <ivoks@grad.hr>\n"
|
||||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: TransDict server\n"
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
|
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"X-Launchpad-Export-Date: 2008-05-27 21:06+0000\n"
|
||||||
|
"X-Generator: Launchpad (build Unknown)\n"
|
||||||
|
|
||||||
#: lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "čitaj %d bajt"
|
msgstr[0] "čitaj %d byte"
|
||||||
msgstr[1] "čitaj %d bajtova"
|
msgstr[1] "čitaj %d bytea"
|
||||||
msgstr[2] ""
|
msgstr[2] "čitaj %d byteova"
|
||||||
|
|
||||||
#: lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "veličina pročitanih podataka"
|
msgstr "veličina pročitanih podataka"
|
||||||
|
|
||||||
#: lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "čitaj %d bajt"
|
msgstr[0] "čitaj %lu byte podataka"
|
||||||
msgstr[1] "čitaj %d bajtova"
|
msgstr[1] "čitaj %lu bytea podataka"
|
||||||
msgstr[2] ""
|
msgstr[2] "čitaj %lu byteova podataka"
|
||||||
|
|
||||||
#: lib/write.c:52
|
#: ../lib/write.c:51
|
||||||
#, fuzzy, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "piši %d bajt"
|
msgstr[0] "zapisao %d byte"
|
||||||
msgstr[1] "piši %d bajtova"
|
msgstr[1] "zapisao %d bytea"
|
||||||
msgstr[2] ""
|
msgstr[2] "zapisao %d byteova"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "Omogućavanje debugiranja"
|
msgstr "Omogućavanje debugiranja"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "Uklanjanje grešaka"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Omogući opširni izlaz"
|
msgstr "Omogući opširni izlaz"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "OPŠIRNO"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "Bez forkanja u pozadini"
|
msgstr "Bez forkanja u pozadini"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "NO-DAEMON"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "Pozvano iz inetda"
|
msgstr "Pozvano iz inetda"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Error on option %s: %s.\n"
|
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
"Run '%s --help' to see a full list of available command line options.\n"
|
||||||
msgstr ""
|
msgstr "Pokrenite naredbu '%s --help' kako biste vidjeli popis dostupnih opcija.\n"
|
||||||
"Greška na opciji %s: %s.\n"
|
|
||||||
"Pokrenite '%s --help' za potpuni popis svih opcija mogućih u naredbenoj "
|
|
||||||
"liniji.\n"
|
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "Prekidanje veze"
|
msgstr "Prekidanje veze"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "Prekid"
|
msgstr "Prekid"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Izlaz"
|
msgstr "Izlaz"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "Nedopuštena instrukcija"
|
msgstr "Nedopuštena instrukcija"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "Prati trap"
|
msgstr "Prati trap"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "Odustani"
|
msgstr "Odustani"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "EMT greška"
|
msgstr "EMT greška"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "Iznimka pomičnog zareza"
|
msgstr "Iznimka pomičnog zareza"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "Ubij"
|
msgstr "Ubij"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "Sabirnička greška"
|
msgstr "Sabirnička greška"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "Povreda segmenta"
|
msgstr "Povreda segmenta"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "Neispravan argument za sistemski poziv"
|
msgstr "Neispravan argument za sistemski poziv"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "Prekinut kanal"
|
msgstr "Prekinut kanal"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "Budilica"
|
msgstr "Budilica"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "Završetak"
|
msgstr "Završetak"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "Hitno stanje na socketu"
|
msgstr "Hitno stanje na socketu"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Zaustavi"
|
msgstr "Zaustavi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "Zaustavljanje tipkovnice"
|
msgstr "Zaustavljanje tipkovnice"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "Nastavi"
|
msgstr "Nastavi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "Status djeteta je promijenjen"
|
msgstr "Status djeteta je promijenjen"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "Pozadinsko čitanje iz tty-a"
|
msgstr "Pozadinsko čitanje iz tty-a"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "Pozadinsko pisanje na tty"
|
msgstr "Pozadinsko pisanje na tty"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "U/I je sada moguć"
|
msgstr "U/I je sada moguć"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "CPU granica iskorištena"
|
msgstr "CPU granica iskorištena"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "Prekoračeno ograničenje veličine spisa"
|
msgstr "Prekoračeno ograničenje veličine spisa"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "Virtualni alarmni sat"
|
msgstr "Virtualni alarmni sat"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "Profiliranje sata alarma"
|
msgstr "Profiliranje sata alarma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "Promjena veličine prozora"
|
msgstr "Promjena veličine prozora"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "Zahtjev za informacijom"
|
msgstr "Zahtjev za informacijom"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "Korisnički definiran signal 1"
|
msgstr "Korisnički definiran signal 1"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "Korisnički definiran signal 2"
|
msgstr "Korisnički definiran signal 2"
|
||||||
|
@@ -10,8 +10,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: libgtop\n"
|
"Project-Id-Version: libgtop\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2007-07-21 14:34-0300\n"
|
"POT-Creation-Date: 2007-07-21 14:34-0300\n"
|
||||||
"PO-Revision-Date: 2007-07-21 14:37-0300\n"
|
"PO-Revision-Date: 2008-07-24 13:23-0300\n"
|
||||||
"Last-Translator: Og Maciel <ogmaciel@gnome.org>\n"
|
"Last-Translator: Vladimir Melo <vladimirmelo.psi@gmail.com>\n"
|
||||||
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
|
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -76,7 +76,7 @@ msgstr "Interromper"
|
|||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Encerrar"
|
msgstr "Sair"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
|
65
po/ro.po
65
po/ro.po
@@ -1,14 +1,14 @@
|
|||||||
# Romanian translation for libgtop
|
# Romanian translation for libgtop
|
||||||
# Copyright (C) 2003 - 2007, Free Software Foundation, Inc.
|
# Copyright (C) 2003 - 2008, Free Software Foundation, Inc.
|
||||||
# Mişu Moldovan <dumol@gnome.ro>, 2003 - 2007.
|
# Mișu Moldovan <dumol@gnome.ro>, 2003 - 2008.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop\n"
|
"Project-Id-Version: libgtop\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
|
"POT-Creation-Date: 2007-09-13 08:49+0100\n"
|
||||||
"PO-Revision-Date: 2007-09-12 01:20+0300\n"
|
"PO-Revision-Date: 2008-09-18 22:36+0300\n"
|
||||||
"Last-Translator: Mişu Moldovan <dumol@gnome.ro>\n"
|
"Last-Translator: Mișu Moldovan <dumol@gnome.ro>\n"
|
||||||
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
|
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -20,9 +20,9 @@ msgstr ""
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "citeşte %d octet"
|
msgstr[0] "s-a citit un octet"
|
||||||
msgstr[1] "citeşte %d octeţi"
|
msgstr[1] "s-au citit %d octeți"
|
||||||
msgstr[2] "citeşte %d de octeţi"
|
msgstr[2] "s-au citit %d de octeți"
|
||||||
|
|
||||||
#: ../lib/read_data.c:51
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
@@ -32,17 +32,17 @@ msgstr "mărime date citire"
|
|||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "citeşte %lu octet de date"
|
msgstr[0] "s-a citit un octet de date"
|
||||||
msgstr[1] "citeşte %lu octeţi de date"
|
msgstr[1] "s-au citit %lu octeți de date"
|
||||||
msgstr[2] "citeşte %lu de octeţi de date"
|
msgstr[2] "s-au citit %lu de octeți de date"
|
||||||
|
|
||||||
#: ../lib/write.c:51
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "a scris %d octet"
|
msgstr[0] "s-a scris un octet"
|
||||||
msgstr[1] "a scris %d octeţi"
|
msgstr[1] "s-au scris %d octeți"
|
||||||
msgstr[2] "a scris %d de octeţi"
|
msgstr[2] "s-au scris %d de octeți"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:458
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
@@ -50,7 +50,7 @@ msgstr "Activare depanare"
|
|||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Mesaje de ieşire explicite"
|
msgstr "Mesaje de ieșire explicite"
|
||||||
|
|
||||||
#: ../src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
@@ -63,7 +63,7 @@ msgstr "Pornit de inetd"
|
|||||||
#: ../src/daemon/gnuserv.c:498
|
#: ../src/daemon/gnuserv.c:498
|
||||||
#, c-format
|
#, 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 "Încercaţi „%s --help” pentru a vedea o listă completă a opţiunilor.\n"
|
msgstr "Încercați „%s --help” pentru a vedea o listă completă a opțiunilor.\n"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
@@ -75,11 +75,11 @@ msgstr "Întrerupere"
|
|||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Ieşire"
|
msgstr "Ieșire"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "Instrucţiune ilegală"
|
msgstr "Instrucțiune ilegală"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
@@ -87,7 +87,7 @@ msgstr "Punct de oprire întâlnit"
|
|||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "Renunţă"
|
msgstr "Renunță"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
@@ -95,7 +95,7 @@ msgstr "Eroare 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"
|
msgid "Floating-point exception"
|
||||||
msgstr "Excepţie în virgulă mobilă"
|
msgstr "Excepție în virgulă mobilă"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
@@ -111,11 +111,11 @@ msgstr "Violare a segmentului"
|
|||||||
|
|
||||||
#: ../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"
|
msgid "Bad argument to system call"
|
||||||
msgstr "Argument greşit în apelul de sistem"
|
msgstr "Argument greșit în apelul de sistem"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "Filtru nefuncţional"
|
msgstr "Filtru nefuncțional"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
@@ -127,7 +127,7 @@ msgstr "Terminare"
|
|||||||
|
|
||||||
#: ../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"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "Condiţie de urgenţă în socket"
|
msgstr "Condiție de urgență în socket"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
@@ -155,15 +155,15 @@ msgstr "Scriere în fundal către 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"
|
msgid "I/O now possible"
|
||||||
msgstr "Operaţiile I/O sunt acum posibile"
|
msgstr "Operațiile I/O sunt acum posibile"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "Limită depăşită CPU"
|
msgstr "Limită depășită 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"
|
msgid "File size limit exceeded"
|
||||||
msgstr "Limită depăşită mărime fişier"
|
msgstr "Limită depășită mărime fișier"
|
||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
@@ -179,7 +179,7 @@ msgstr "Schimbare de mărime a ferestrei"
|
|||||||
|
|
||||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "Cerere de informaţie"
|
msgstr "Cerere de informație"
|
||||||
|
|
||||||
#: ../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"
|
msgid "User defined signal 1"
|
||||||
@@ -189,14 +189,3 @@ msgstr "Semnal 1 definit de utilizator"
|
|||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "Semnal 2 definit de utilizator"
|
msgstr "Semnal 2 definit de utilizator"
|
||||||
|
|
||||||
#~ msgid "DEBUG"
|
|
||||||
#~ msgstr "DEBUG"
|
|
||||||
|
|
||||||
#~ msgid "VERBOSE"
|
|
||||||
#~ msgstr "VERBOSE"
|
|
||||||
|
|
||||||
#~ msgid "NO-DAEMON"
|
|
||||||
#~ msgstr "NO-DAEMON"
|
|
||||||
|
|
||||||
#~ msgid "INETD"
|
|
||||||
#~ msgstr "INETD"
|
|
||||||
|
115
po/sq.po
115
po/sq.po
@@ -1,207 +1,188 @@
|
|||||||
# Përkthimi i mesazheve të libgtop në shqip
|
# Përkthimi i mesazheve të libgtop në shqip
|
||||||
# This file is distributed under the same license as the libgtop package.
|
# This file is distributed under the same license as the libgtop package.
|
||||||
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2008 Free Software Foundation, Inc.
|
||||||
# Laurent Dhima <laurenti@alblinux.net>, 2003, 2004, 2005.
|
|
||||||
#
|
#
|
||||||
|
# Laurent Dhima <laurenti@alblinux.net>, 2003-2008.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop HEAD\n"
|
"Project-Id-Version: libgtop HEAD\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
|
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
|
||||||
"PO-Revision-Date: 2005-02-14 13:23+0100\n"
|
"PO-Revision-Date: 2008-09-20 12:25+0200\n"
|
||||||
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
|
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
|
||||||
"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
|
"Language-Team: albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "u lexua %d byte"
|
msgstr[0] "u lexua %d byte"
|
||||||
msgstr[1] "u lexuan %d bytes"
|
msgstr[1] "u lexuan %d bytes"
|
||||||
|
|
||||||
#: lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "madhësia e të dhënave të lexuara"
|
msgstr "madhësia e të dhënave të lexuara"
|
||||||
|
|
||||||
#: lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "u lexua %lu byte me të dhëna"
|
msgstr[0] "u lexua %lu byte me të dhëna"
|
||||||
msgstr[1] "u lexuan %lu bytes me të dhëna"
|
msgstr[1] "u lexuan %lu bytes me të dhëna"
|
||||||
|
|
||||||
#: lib/write.c:52
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "u shkrua %d byte"
|
msgstr[0] "u shkrua %d byte"
|
||||||
msgstr[1] "u shkruan %d bytes"
|
msgstr[1] "u shkruan %d bytes"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "Aktivo proçesin e kontrollit"
|
msgstr "Aktivo proçesin e kontrollit"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "DEBUG"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Aktivo output e hollësishëm"
|
msgstr "Aktivo output e hollësishëm"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "VERBOSE"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "Mos kryej fork në background"
|
msgstr "Mos kryej fork në background"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "NO-DAEMON"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "Thërritur nga inetd"
|
msgstr "Thërritur nga inetd"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||||
"Error on option %s: %s.\n"
|
msgstr "Zbato '%s --help' për të shikuar listën e plotë të opsioneve të komandës.\n"
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
|
||||||
msgstr ""
|
|
||||||
"Gabim në opcionin %s: %s.\n"
|
|
||||||
"Zbato '%s --help' për të shikuar listën e plotë të opcioneve të komandës.\n"
|
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "Mbylle"
|
msgstr "Mbylle"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "Ndërprit"
|
msgstr "Ndërprit"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Dalja"
|
msgstr "Dalja"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "Instruktim ilegal"
|
msgstr "Instruktim ilegal"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "Merr gjurmët"
|
msgstr "Merr gjurmët"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "Anullo"
|
msgstr "Anullo"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "Gabim EMT"
|
msgstr "Gabim EMT"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "Floating-point exception"
|
msgstr "Floating-point exception"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "Vrit"
|
msgstr "Vrit"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "Gabim i bus"
|
msgstr "Gabim i bus"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "Violim i segmentimit"
|
msgstr "Violim i segmentimit"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "Argument i gabuar në thirrjen e sistemit"
|
msgstr "Argument i gabuar në thirrjen e sistemit"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "Pipe e ndërprerë"
|
msgstr "Pipe e ndërprerë"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "Alarmi"
|
msgstr "Alarmi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "Përfundimi"
|
msgstr "Përfundimi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "Konditë urgjente në socket "
|
msgstr "Konditë urgjente në socket "
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Ndal"
|
msgstr "Ndal"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "Ndalim nga tastiera"
|
msgstr "Ndalim nga tastiera"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "Vazhdo"
|
msgstr "Vazhdo"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "Gjendja e birit ka ndryshuar"
|
msgstr "Gjendja e birit ka ndryshuar"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "Lexim në sfond nga tty"
|
msgstr "Lexim në sfond nga tty"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "Shkrim në sfond tek tty"
|
msgstr "Shkrim në sfond tek tty"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "I/O tashmë e mundshme"
|
msgstr "I/O tashmë e mundshme"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "Limiti i CPU është tejkaluar"
|
msgstr "Limiti i CPU është tejkaluar"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "Limiti i madhësisë së file është tejkaluar"
|
msgstr "Limiti i madhësisë së file është tejkaluar"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "Alarm virtual"
|
msgstr "Alarm virtual"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "Duke profiluar orën e alarmit"
|
msgstr "Duke profiluar orën e alarmit"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "Ndryshimi i madhësisë së dritares"
|
msgstr "Ndryshimi i madhësisë së dritares"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "Kërkesë informacioni"
|
msgstr "Kërkesë informacioni"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "Sinjal 1 i përcaktuar nga përdoruesi"
|
msgstr "Sinjal 1 i përcaktuar nga përdoruesi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "Sinjal 2 i përcaktuar nga përdoruesi"
|
msgstr "Sinjal 2 i përcaktuar nga përdoruesi"
|
||||||
|
|
||||||
|
131
po/tr.po
131
po/tr.po
@@ -2,14 +2,14 @@
|
|||||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||||
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
|
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
|
||||||
# Ömer Fadıl USTA <omer_fad@hotmail.com>,2002.
|
# Ömer Fadıl USTA <omer_fad@hotmail.com>,2002.
|
||||||
# Baris Cicek <baris@teamforce.name.tr>, 2004.
|
|
||||||
#
|
#
|
||||||
|
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2008.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop\n"
|
"Project-Id-Version: libgtop\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
|
"POT-Creation-Date: 2008-09-14 02:30+0300\n"
|
||||||
"PO-Revision-Date: 2004-05-14 18:09+0300\n"
|
"PO-Revision-Date: 2008-09-14 02:31+0300\n"
|
||||||
"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
|
"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
|
||||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -17,192 +17,183 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: lib/read.c:65
|
#: ../lib/read.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %d byte"
|
msgid "read %d byte"
|
||||||
msgid_plural "read %d bytes"
|
msgid_plural "read %d bytes"
|
||||||
msgstr[0] "%d bayt oku"
|
msgstr[0] "%d bayt okundu"
|
||||||
msgstr[1] "%d bayt oku"
|
|
||||||
|
|
||||||
#: lib/read_data.c:53
|
#: ../lib/read_data.c:51
|
||||||
msgid "read data size"
|
msgid "read data size"
|
||||||
msgstr "okunan veri miktarı"
|
msgstr "okunan veri miktarı"
|
||||||
|
|
||||||
#: lib/read_data.c:72
|
#: ../lib/read_data.c:70
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "read %lu byte of data"
|
msgid "read %lu byte of data"
|
||||||
msgid_plural "read %lu bytes of data"
|
msgid_plural "read %lu bytes of data"
|
||||||
msgstr[0] "%lu bayt oku"
|
msgstr[0] "%lu bayt okundu"
|
||||||
msgstr[1] "%lu bayt oku"
|
|
||||||
|
|
||||||
#: lib/write.c:52
|
#: ../lib/write.c:51
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrote %d byte"
|
msgid "wrote %d byte"
|
||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "%d bayt yaz"
|
msgstr[0] "%d bayt yazıldı"
|
||||||
msgstr[1] "%d bayt yaz"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:458
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "Hata ayıklamayı etkinleştir"
|
msgstr "Hata ayıklamayı etkinleştir"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: ../src/daemon/gnuserv.c:460
|
||||||
msgid "DEBUG"
|
|
||||||
msgstr "HATA AYIKLA"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Detaylı çıktıyı etkinleştir"
|
msgstr "Detaylı çıktıyı etkinleştir"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: ../src/daemon/gnuserv.c:462
|
||||||
msgid "VERBOSE"
|
|
||||||
msgstr "DETAYLI"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
|
||||||
msgid "Don't fork into background"
|
msgid "Don't fork into background"
|
||||||
msgstr "Arkaplana çatallama"
|
msgstr "Arkaplana çatallama"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:464
|
#: ../src/daemon/gnuserv.c:464
|
||||||
msgid "NO-DAEMON"
|
|
||||||
msgstr "SERVİS-YOK"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "Inetd'den çalıştırıldı"
|
msgstr "Inetd'den çalıştırıldı"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:466
|
#: ../src/daemon/gnuserv.c:498
|
||||||
msgid "INETD"
|
|
||||||
msgstr "INETD"
|
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:500
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid "Run '%s --help' to see a full list of available command line options.\n"
|
||||||
"Error on option %s: %s.\n"
|
|
||||||
"Run '%s --help' to see a full list of available command line options.\n"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s seçeneğinde hata: %s.\n"
|
"Mevcut tüm komut satırı seçeneklerinin tam listesini görmek için '%s --help' "
|
||||||
"Kullanılabilecek tüm seçenekleri görmek için '%s --help' yazın.\n"
|
"çalıştırın.\n"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
|
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
|
||||||
msgid "Hangup"
|
msgid "Hangup"
|
||||||
msgstr "Takılma"
|
msgstr "Takılma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
|
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
|
||||||
msgid "Interrupt"
|
msgid "Interrupt"
|
||||||
msgstr "Kesme"
|
msgstr "Kesme"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
|
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Çıkış"
|
msgstr "Çıkış"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
|
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
|
||||||
msgid "Illegal instruction"
|
msgid "Illegal instruction"
|
||||||
msgstr "Tanımsız yönerge"
|
msgstr "Tanımsız yönerge"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
|
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
|
||||||
msgid "Trace trap"
|
msgid "Trace trap"
|
||||||
msgstr "Takip hatası"
|
msgstr "Takip hatası"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
|
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
|
||||||
msgid "Abort"
|
msgid "Abort"
|
||||||
msgstr "İptal"
|
msgstr "İptal"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
|
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
|
||||||
msgid "EMT error"
|
msgid "EMT error"
|
||||||
msgstr "EMT hatası"
|
msgstr "EMT hatası"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
|
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
|
||||||
msgid "Floating-point exception"
|
msgid "Floating-point exception"
|
||||||
msgstr "Kayar nokta (floating point) hatası"
|
msgstr "Kayar nokta (floating point) hatası"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
|
||||||
msgid "Kill"
|
msgid "Kill"
|
||||||
msgstr "Öldür"
|
msgstr "Öldür"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "Veriyolu hatası"
|
msgstr "Veriyolu hatası"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
|
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
msgstr "Bölümleme ihlali"
|
msgstr "Bölümleme ihlali"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
|
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
|
||||||
msgid "Bad argument to system call"
|
msgid "Bad argument to system call"
|
||||||
msgstr "Sistem çağrısına hatalı argüman"
|
msgstr "Sistem çağrısına hatalı argüman"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
|
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
|
||||||
msgid "Broken pipe"
|
msgid "Broken pipe"
|
||||||
msgstr "Kırık boru"
|
msgstr "Kırık boru"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
|
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
|
||||||
msgid "Alarm clock"
|
msgid "Alarm clock"
|
||||||
msgstr "Alarm saati"
|
msgstr "Alarm saati"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
|
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
|
||||||
msgid "Termination"
|
msgid "Termination"
|
||||||
msgstr "Sonlandırma"
|
msgstr "Sonlandırma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
|
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
|
||||||
msgid "Urgent condition on socket"
|
msgid "Urgent condition on socket"
|
||||||
msgstr "Sokette acil durum"
|
msgstr "Sokette acil durum"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
|
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
|
||||||
msgid "Stop"
|
msgid "Stop"
|
||||||
msgstr "Dur"
|
msgstr "Dur"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
|
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
|
||||||
msgid "Keyboard stop"
|
msgid "Keyboard stop"
|
||||||
msgstr "Klavyeden durdurma"
|
msgstr "Klavyeden durdurma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
|
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
|
||||||
msgid "Continue"
|
msgid "Continue"
|
||||||
msgstr "Devam"
|
msgstr "Devam"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
|
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
|
||||||
msgid "Child status has changed"
|
msgid "Child status has changed"
|
||||||
msgstr "Alt sürecin durumu değişti"
|
msgstr "Alt sürecin durumu değişti"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
|
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
|
||||||
msgid "Background read from tty"
|
msgid "Background read from tty"
|
||||||
msgstr "tty'dan arkaplanda okuma"
|
msgstr "tty'dan arkaplanda okuma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
|
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
|
||||||
msgid "Background write to tty"
|
msgid "Background write to tty"
|
||||||
msgstr "tty'a arkaplanda yazma"
|
msgstr "tty'a arkaplanda yazma"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
|
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
|
||||||
msgid "I/O now possible"
|
msgid "I/O now possible"
|
||||||
msgstr "G/Ç mümkün"
|
msgstr "G/Ç mümkün"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
|
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
|
||||||
msgid "CPU limit exceeded"
|
msgid "CPU limit exceeded"
|
||||||
msgstr "İşlemci sınırı aşıldı"
|
msgstr "İşlemci sınırı aşıldı"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
|
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
|
||||||
msgid "File size limit exceeded"
|
msgid "File size limit exceeded"
|
||||||
msgstr "Dosya sınırı aşıldı"
|
msgstr "Dosya sınırı aşıldı"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
|
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
|
||||||
msgid "Virtual alarm clock"
|
msgid "Virtual alarm clock"
|
||||||
msgstr "Sanal alarm saati"
|
msgstr "Sanal alarm saati"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
|
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
|
||||||
msgid "Profiling alarm clock"
|
msgid "Profiling alarm clock"
|
||||||
msgstr "Alarm saati"
|
msgstr "Alarm saati"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
|
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
|
||||||
msgid "Window size change"
|
msgid "Window size change"
|
||||||
msgstr "Pencere boyutu değişimi"
|
msgstr "Pencere boyutu değişimi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
|
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
|
||||||
msgid "Information request"
|
msgid "Information request"
|
||||||
msgstr "Bilgi talebi"
|
msgstr "Bilgi talebi"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
|
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
|
||||||
msgid "User defined signal 1"
|
msgid "User defined signal 1"
|
||||||
msgstr "Kullanıcı tanımlı sinyal 1"
|
msgstr "Kullanıcı tanımlı sinyal 1"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
|
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
|
||||||
msgid "User defined signal 2"
|
msgid "User defined signal 2"
|
||||||
msgstr "Kullanıcı tanımlı sinyal 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"
|
||||||
|
@@ -53,6 +53,7 @@ GLIBTOP_SUID_PROC_MAP +
|
|||||||
GLIBTOP_SUID_NETLOAD +
|
GLIBTOP_SUID_NETLOAD +
|
||||||
GLIBTOP_SUID_NETLIST +
|
GLIBTOP_SUID_NETLIST +
|
||||||
GLIBTOP_SUID_PROC_WD +
|
GLIBTOP_SUID_PROC_WD +
|
||||||
|
GLIBTOP_SUID_PROC_AFFINITY +
|
||||||
GLIBTOP_SUID_PPP;
|
GLIBTOP_SUID_PPP;
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
@@ -368,3 +368,17 @@ glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* glibtop_get_proc_affinity:
|
||||||
|
* @buf:
|
||||||
|
* @pid: Process id to get the affinity
|
||||||
|
*
|
||||||
|
* Get the processor affinity list for a process
|
||||||
|
*
|
||||||
|
* Returns: A list of processor ID of 'buf.number' elements.
|
||||||
|
*/
|
||||||
|
guint16 *
|
||||||
|
glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid)
|
||||||
|
{
|
||||||
|
return glibtop_get_proc_affinity_l(glibtop_global_server, buf, pid);
|
||||||
|
}
|
||||||
|
@@ -6,7 +6,7 @@ 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 \
|
||||||
cpu.c mem.c swap.c uptime.c loadavg.c shm_limits.c msg_limits.c \
|
cpu.c mem.c swap.c uptime.c loadavg.c shm_limits.c msg_limits.c \
|
||||||
sem_limits.c proclist.c procstate.c procuid.c proctime.c \
|
sem_limits.c procaffinity.c proclist.c procstate.c procuid.c proctime.c \
|
||||||
procmem.c procsignal.c prockernel.c procsegment.c procargs.c \
|
procmem.c procsignal.c prockernel.c procsegment.c procargs.c \
|
||||||
procmap.c netload.c ppp.c netlist.c procopenfiles.c procwd.c
|
procmap.c netload.c ppp.c netlist.c procopenfiles.c procwd.c
|
||||||
|
|
||||||
|
@@ -44,6 +44,7 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SUID_NETLIST 0
|
#define GLIBTOP_SUID_NETLIST 0
|
||||||
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
|
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
|
||||||
#define GLIBTOP_SUID_PROC_WD (1 << GLIBTOP_SYSDEPS_PROC_WD)
|
#define GLIBTOP_SUID_PROC_WD (1 << GLIBTOP_SYSDEPS_PROC_WD)
|
||||||
|
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
44
sysdeps/darwin/procaffinity.c
Normal file
44
sysdeps/darwin/procaffinity.c
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
This file is part of LibGTop 2.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glibtop/procaffinity.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <sys/param.h>
|
||||||
|
|
||||||
|
void
|
||||||
|
_glibtop_init_proc_affinity_s(glibtop *server)
|
||||||
|
{
|
||||||
|
server->sysdeps.proc_affinity =
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_NUMBER) |
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_ALL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
guint16 *
|
||||||
|
glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid)
|
||||||
|
{
|
||||||
|
memset(buf, 0, sizeof *buf);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
@@ -6,8 +6,8 @@ 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 \
|
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 \
|
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 \
|
||||||
procopenfiles.c procwd.c \
|
mountlist.c procopenfiles.c procwd.c \
|
||||||
glibtop_private.c
|
procaffinity.c glibtop_private.c
|
||||||
|
|
||||||
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||||
|
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
|
#include <sys/statvfs.h>
|
||||||
#if __FreeBSD_version >= 600000 || defined(__FreeBSD_kernel__)
|
#if __FreeBSD_version >= 600000 || defined(__FreeBSD_kernel__)
|
||||||
#include <libgeom.h>
|
#include <libgeom.h>
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
@@ -21,15 +22,13 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
void
|
static const unsigned long _glibtop_sysdeps_fsusage =
|
||||||
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
|
(1L << GLIBTOP_FSUSAGE_BLOCKS) + (1L << GLIBTOP_FSUSAGE_BFREE)
|
||||||
glibtop_fsusage *buf,
|
+ (1L << GLIBTOP_FSUSAGE_BAVAIL) + (1L << GLIBTOP_FSUSAGE_FILES)
|
||||||
const char *path);
|
+ (1L << GLIBTOP_FSUSAGE_FFREE) + (1L << GLIBTOP_FSUSAGE_BLOCK_SIZE);
|
||||||
|
|
||||||
void
|
static void
|
||||||
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
|
_glibtop_get_fsusage_read_write (glibtop *server, glibtop_fsusage *buf, const char *path)
|
||||||
glibtop_fsusage *buf,
|
|
||||||
const char *path)
|
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
struct statfs sfs;
|
struct statfs sfs;
|
||||||
@@ -135,3 +134,28 @@ _glibtop_freebsd_get_fsusage_read_write(glibtop *server,
|
|||||||
#endif
|
#endif
|
||||||
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
|
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_get_fsusage_s(glibtop *server, glibtop_fsusage *buf, const char *path)
|
||||||
|
{
|
||||||
|
struct statvfs fsd;
|
||||||
|
|
||||||
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
|
memset (buf, 0, sizeof (glibtop_fsusage));
|
||||||
|
|
||||||
|
if (statvfs (path, &fsd) < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
buf->block_size = fsd.f_frsize;
|
||||||
|
buf->blocks = fsd.f_blocks;
|
||||||
|
buf->bfree = fsd.f_bfree;
|
||||||
|
buf->bavail = (fsd.f_bavail > fsd.f_bfree) ? 0 : fsd.f_bavail;
|
||||||
|
buf->files = fsd.f_files;
|
||||||
|
buf->ffree = fsd.f_ffree;
|
||||||
|
|
||||||
|
buf->flags = _glibtop_sysdeps_fsusage;
|
||||||
|
|
||||||
|
_glibtop_get_fsusage_read_write(server, buf, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SUID_SEM_LIMITS 0
|
#define GLIBTOP_SUID_SEM_LIMITS 0
|
||||||
#define GLIBTOP_SUID_NETLIST 0
|
#define GLIBTOP_SUID_NETLIST 0
|
||||||
#define GLIBTOP_SUID_PROC_WD 0
|
#define GLIBTOP_SUID_PROC_WD 0
|
||||||
|
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
168
sysdeps/freebsd/mountlist.c
Normal file
168
sysdeps/freebsd/mountlist.c
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
/* mountlist.c -- return a list of mounted filesystems
|
||||||
|
Copyright (C) 1991, 1992 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software Foundation,
|
||||||
|
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/mountlist.h>
|
||||||
|
|
||||||
|
/* A mount table entry. */
|
||||||
|
struct mount_entry
|
||||||
|
{
|
||||||
|
char *me_devname; /* Device node pathname, including "/dev/". */
|
||||||
|
char *me_mountdir; /* Mount point directory pathname. */
|
||||||
|
char *me_type; /* "nfs", "4.2", etc. */
|
||||||
|
dev_t me_dev; /* Device number of me_mountdir. */
|
||||||
|
struct mount_entry *me_next;
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct mount_entry *read_filesystem_list (void);
|
||||||
|
|
||||||
|
/* Return a list of the currently mounted filesystems, or NULL on error.
|
||||||
|
Add each entry to the tail of the list so that they stay in order.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static struct mount_entry *
|
||||||
|
read_filesystem_list (void)
|
||||||
|
{
|
||||||
|
struct mount_entry *mount_list;
|
||||||
|
struct mount_entry *me;
|
||||||
|
struct mount_entry *mtail;
|
||||||
|
|
||||||
|
/* Start the list off with a dummy entry. */
|
||||||
|
me = g_new (struct mount_entry, 1);
|
||||||
|
me->me_next = NULL;
|
||||||
|
mount_list = mtail = me;
|
||||||
|
{
|
||||||
|
struct statfs *fsp;
|
||||||
|
int entries;
|
||||||
|
|
||||||
|
entries = getmntinfo (&fsp, MNT_NOWAIT);
|
||||||
|
if (entries < 0)
|
||||||
|
return NULL;
|
||||||
|
while (entries-- > 0)
|
||||||
|
{
|
||||||
|
me = (struct mount_entry *) g_malloc (sizeof (struct mount_entry));
|
||||||
|
me->me_devname = g_strdup (fsp->f_mntfromname);
|
||||||
|
me->me_mountdir = g_strdup (fsp->f_mntonname);
|
||||||
|
me->me_type = g_strdup (fsp->f_fstypename);
|
||||||
|
me->me_dev = (dev_t) -1; /* Magic; means not known yet. */
|
||||||
|
me->me_next = NULL;
|
||||||
|
|
||||||
|
/* Add to the linked list. */
|
||||||
|
mtail->me_next = me;
|
||||||
|
mtail = me;
|
||||||
|
fsp++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Free the dummy head. */
|
||||||
|
me = mount_list;
|
||||||
|
mount_list = mount_list->me_next;
|
||||||
|
g_free (me);
|
||||||
|
return mount_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean ignore_mount_entry(const struct mount_entry *me)
|
||||||
|
{
|
||||||
|
/* keep sorted */
|
||||||
|
static const char ignored[][17] = {
|
||||||
|
"autofs",
|
||||||
|
"devfs",
|
||||||
|
"fusectl",
|
||||||
|
"linprocfs",
|
||||||
|
"linsysfs",
|
||||||
|
"mfs",
|
||||||
|
"none",
|
||||||
|
"nfs",
|
||||||
|
"nullfs",
|
||||||
|
"nwfs",
|
||||||
|
"portalfs",
|
||||||
|
"proc",
|
||||||
|
"procfs",
|
||||||
|
"smbfs",
|
||||||
|
"tmpfs",
|
||||||
|
"unionfs",
|
||||||
|
"unknown"
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef int (*Comparator)(const void*, const void*);
|
||||||
|
|
||||||
|
return bsearch(me->me_type,
|
||||||
|
ignored, G_N_ELEMENTS(ignored), sizeof ignored[0],
|
||||||
|
(Comparator) strcmp) != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
glibtop_mountentry *
|
||||||
|
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs)
|
||||||
|
{
|
||||||
|
struct mount_entry *entries, *cur, *next;
|
||||||
|
|
||||||
|
GArray *mount_array = g_array_new(FALSE, FALSE,
|
||||||
|
sizeof(glibtop_mountentry));
|
||||||
|
|
||||||
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
|
memset (buf, 0, sizeof (glibtop_mountlist));
|
||||||
|
|
||||||
|
/* Read filesystem list. */
|
||||||
|
|
||||||
|
if((entries = read_filesystem_list ()) == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (cur = &entries[0]; cur != NULL; cur = next) {
|
||||||
|
|
||||||
|
if(all_fs || !ignore_mount_entry(cur)) {
|
||||||
|
/* add a new glibtop_mountentry */
|
||||||
|
glibtop_mountentry e;
|
||||||
|
|
||||||
|
g_strlcpy(e.devname, cur->me_devname, sizeof e.devname);
|
||||||
|
g_strlcpy(e.mountdir, cur->me_mountdir, sizeof e.mountdir);
|
||||||
|
g_strlcpy(e.type, cur->me_type, sizeof e.type);
|
||||||
|
e.dev = cur->me_dev;
|
||||||
|
|
||||||
|
g_array_append_val(mount_array, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* free current mount_entry and move to the next */
|
||||||
|
next = cur->me_next;
|
||||||
|
g_free(cur->me_devname);
|
||||||
|
g_free(cur->me_mountdir);
|
||||||
|
g_free(cur->me_type);
|
||||||
|
g_free(cur);
|
||||||
|
}
|
||||||
|
|
||||||
|
buf->size = sizeof (glibtop_mountentry);
|
||||||
|
buf->number = mount_array->len;
|
||||||
|
buf->total = buf->number * buf->size;
|
||||||
|
|
||||||
|
buf->flags = (1 << GLIBTOP_MOUNTLIST_SIZE)
|
||||||
|
| (1 << GLIBTOP_MOUNTLIST_NUMBER)
|
||||||
|
| (1 << GLIBTOP_MOUNTLIST_TOTAL);
|
||||||
|
|
||||||
|
return (glibtop_mountentry*) g_array_free(mount_array, FALSE);
|
||||||
|
}
|
84
sysdeps/freebsd/procaffinity.c
Normal file
84
sysdeps/freebsd/procaffinity.c
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/* Copyright (C) 2007 Joe Marcus Clarke <marcus@FreeBSD.org>
|
||||||
|
This file is part of LibGTop 2.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glibtop/procaffinity.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <glibtop_private.h>
|
||||||
|
|
||||||
|
#include <sys/param.h>
|
||||||
|
#if __FreeBSD_version > 800024
|
||||||
|
#include <sys/cpuset.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
_glibtop_init_proc_affinity_s(glibtop *server)
|
||||||
|
{
|
||||||
|
server->sysdeps.proc_affinity =
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_NUMBER) |
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_ALL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
guint16 *
|
||||||
|
glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid)
|
||||||
|
{
|
||||||
|
#if __FreeBSD_version > 800024
|
||||||
|
id_t id;
|
||||||
|
cpulevel_t level;
|
||||||
|
cpuwhich_t which;
|
||||||
|
cpuset_t mask;
|
||||||
|
size_t i;
|
||||||
|
GArray* cpus;
|
||||||
|
|
||||||
|
memset(buf, 0, sizeof *buf);
|
||||||
|
|
||||||
|
which = CPU_WHICH_PID;
|
||||||
|
level = CPU_LEVEL_WHICH;
|
||||||
|
id = pid;
|
||||||
|
|
||||||
|
if (cpuset_getaffinity(level, which, id, sizeof(mask), &mask) != 0) {
|
||||||
|
glibtop_error_r(server, "cpuset_getaffinity failed");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
cpus = g_array_new(FALSE, FALSE, sizeof(guint16));
|
||||||
|
|
||||||
|
for (i = 0; i < MIN(CPU_SETSIZE, (size_t)(server->ncpu + 1)); i++) {
|
||||||
|
if (CPU_ISSET(i, &mask)) {
|
||||||
|
guint16 n = i;
|
||||||
|
g_array_append_val(cpus, n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buf->number = cpus->len;
|
||||||
|
buf->all = (cpus->len == (size_t)(server->ncpu + 1));
|
||||||
|
buf->flags = (1 << GLIBTOP_PROC_AFFINITY_NUMBER)
|
||||||
|
| (1 << GLIBTOP_PROC_AFFINITY_ALL);
|
||||||
|
|
||||||
|
return (guint16*) g_array_free(cpus, FALSE);
|
||||||
|
#else
|
||||||
|
memset(buf, 0, sizeof *buf);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
@@ -41,7 +41,17 @@
|
|||||||
#define _KERNEL
|
#define _KERNEL
|
||||||
#include <sys/pipe.h>
|
#include <sys/pipe.h>
|
||||||
#include <sys/conf.h>
|
#include <sys/conf.h>
|
||||||
|
#undef _KERNEL
|
||||||
|
#if __FreeBSD_version >= 800038
|
||||||
|
#define _WANT_FILE
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
#undef _WANT_FILE
|
||||||
|
#else
|
||||||
|
#define _KERNEL
|
||||||
|
#include <sys/file.h>
|
||||||
|
#undef _KERNEL
|
||||||
|
#endif
|
||||||
|
#define _KERNEL
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#include <ufs/ufs/quota.h>
|
#include <ufs/ufs/quota.h>
|
||||||
#include <ufs/ufs/inode.h>
|
#include <ufs/ufs/inode.h>
|
||||||
@@ -103,8 +113,14 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
|
|||||||
|
|
||||||
if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
|
if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
|
||||||
sizeof (si)) != sizeof (si) ||
|
sizeof (si)) != sizeof (si) ||
|
||||||
|
#if __FreeBSD_version >= 800039
|
||||||
|
kvm_read (server->machine.kd, (gulong) cdev2priv(&si), (char *) &priv,
|
||||||
|
sizeof (priv))
|
||||||
|
#else
|
||||||
kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv,
|
kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv,
|
||||||
sizeof (priv)) != sizeof (priv))
|
sizeof (priv))
|
||||||
|
#endif
|
||||||
|
!= sizeof (priv))
|
||||||
{
|
{
|
||||||
glibtop_warn_io_r (server, "kvm_read (si)");
|
glibtop_warn_io_r (server, "kvm_read (si)");
|
||||||
return;
|
return;
|
||||||
|
@@ -28,6 +28,13 @@
|
|||||||
#include <glibtop/error.h>
|
#include <glibtop/error.h>
|
||||||
#include <glibtop/procopenfiles.h>
|
#include <glibtop/procopenfiles.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/sysctl.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/user.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
@@ -46,6 +53,63 @@ _glibtop_init_proc_open_files_s (glibtop *server)
|
|||||||
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
|
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
|
||||||
|
static char *
|
||||||
|
addr_to_string(struct sockaddr_storage *ss)
|
||||||
|
{
|
||||||
|
char *buffer = NULL;
|
||||||
|
char buffer2[INET6_ADDRSTRLEN];
|
||||||
|
struct sockaddr_in6 *sin6;
|
||||||
|
struct sockaddr_in *sin;
|
||||||
|
struct sockaddr_un *sun;
|
||||||
|
|
||||||
|
switch (ss->ss_family) {
|
||||||
|
case AF_LOCAL:
|
||||||
|
sun = (struct sockaddr_un *)ss;
|
||||||
|
if (strlen(sun->sun_path) == 0)
|
||||||
|
buffer = g_strdup("-");
|
||||||
|
else
|
||||||
|
buffer = g_strdup(sun->sun_path);
|
||||||
|
break;
|
||||||
|
case AF_INET:
|
||||||
|
sin = (struct sockaddr_in *)ss;
|
||||||
|
buffer = g_strdup(inet_ntoa(sin->sin_addr));
|
||||||
|
break;
|
||||||
|
case AF_INET6:
|
||||||
|
sin6 = (struct sockaddr_in6 *)ss;
|
||||||
|
if (inet_ntop(AF_INET6, &sin6->sin6_addr, buffer2,
|
||||||
|
sizeof(buffer2)) != NULL)
|
||||||
|
buffer = g_strdup(buffer2);
|
||||||
|
else
|
||||||
|
buffer = g_strdup("-");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
addr_to_port(struct sockaddr_storage *ss)
|
||||||
|
{
|
||||||
|
int port = 0;
|
||||||
|
struct sockaddr_in6 *sin6;
|
||||||
|
struct sockaddr_in *sin;
|
||||||
|
|
||||||
|
switch (ss->ss_family) {
|
||||||
|
case AF_INET:
|
||||||
|
sin = (struct sockaddr_in *)ss;
|
||||||
|
port = ntohs(sin->sin_port);
|
||||||
|
break;
|
||||||
|
case AF_INET6:
|
||||||
|
sin6 = (struct sockaddr_in6 *)ss;
|
||||||
|
port = ntohs(sin6->sin6_port);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
static GArray *
|
static GArray *
|
||||||
parse_output(const char *output) {
|
parse_output(const char *output) {
|
||||||
GArray *entries;
|
GArray *entries;
|
||||||
@@ -142,6 +206,39 @@ parse_output(const char *output) {
|
|||||||
sizeof(entry.info.sock.dest_host));
|
sizeof(entry.info.sock.dest_host));
|
||||||
entry.info.sock.dest_port = atoi(remote_host[1]);
|
entry.info.sock.dest_port = atoi(remote_host[1]);
|
||||||
|
|
||||||
|
g_strfreev(remote_host);
|
||||||
|
} else if (!strcmp(ftype, "IPv6")) {
|
||||||
|
char **hosts;
|
||||||
|
char **remote_host;
|
||||||
|
|
||||||
|
if (!strstr(fname, "->")) {
|
||||||
|
remote_host = g_strsplit(fname, ":", 0);
|
||||||
|
} else {
|
||||||
|
hosts = g_strsplit(fname, "->", 0);
|
||||||
|
if (g_strv_length(hosts) < 2) {
|
||||||
|
g_strfreev(hosts);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
remote_host = g_strsplit(hosts[1], "]", 0);
|
||||||
|
g_strfreev(hosts);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_strv_length(remote_host) < 2) {
|
||||||
|
g_strfreev(remote_host);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
|
||||||
|
if (!strcmp(remote_host[0], "*"))
|
||||||
|
g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
|
||||||
|
sizeof(entry.info.sock.dest_host));
|
||||||
|
else
|
||||||
|
g_strlcpy(entry.info.sock.dest_host,
|
||||||
|
remote_host[0] + 1,
|
||||||
|
sizeof(entry.info.sock.dest_host));
|
||||||
|
entry.info.sock.dest_port = atoi(remote_host[1] + 1);
|
||||||
|
|
||||||
g_strfreev(remote_host);
|
g_strfreev(remote_host);
|
||||||
} else
|
} else
|
||||||
continue;
|
continue;
|
||||||
@@ -159,21 +256,108 @@ parse_output(const char *output) {
|
|||||||
|
|
||||||
return entries;
|
return entries;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
|
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
|
||||||
{
|
{
|
||||||
|
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
|
||||||
|
struct kinfo_file *freep, *kif;
|
||||||
|
int name[4];
|
||||||
|
size_t len;
|
||||||
|
size_t i;
|
||||||
|
#else
|
||||||
char *output;
|
char *output;
|
||||||
|
#endif
|
||||||
GArray *entries;
|
GArray *entries;
|
||||||
|
|
||||||
memset(buf, 0, sizeof (glibtop_proc_open_files));
|
memset(buf, 0, sizeof (glibtop_proc_open_files));
|
||||||
|
|
||||||
|
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
|
||||||
|
name[0] = CTL_KERN;
|
||||||
|
name[1] = KERN_PROC;
|
||||||
|
name[2] = KERN_PROC_FILEDESC;
|
||||||
|
name[3] = pid;
|
||||||
|
|
||||||
|
if (sysctl(name, 4, NULL, &len, NULL, 0) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
freep = kif = g_malloc(len);
|
||||||
|
if (sysctl(name, 4, kif, &len, NULL, 0) < 0) {
|
||||||
|
g_free(freep);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
|
||||||
|
|
||||||
|
for (i = 0; i < len / sizeof(*kif); i++, kif++) {
|
||||||
|
glibtop_open_files_entry entry = {0};
|
||||||
|
|
||||||
|
if (kif->kf_fd < 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (kif->kf_type == KF_TYPE_SOCKET) {
|
||||||
|
if (kif->kf_sock_domain == AF_LOCAL) {
|
||||||
|
struct sockaddr_un *sun;
|
||||||
|
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_LOCALSOCKET;
|
||||||
|
sun = (struct sockaddr_un *)&kif->kf_sa_local;
|
||||||
|
|
||||||
|
if (sun->sun_path[0]) {
|
||||||
|
char *addrstr;
|
||||||
|
|
||||||
|
addrstr = addr_to_string(&kif->kf_sa_local);
|
||||||
|
g_strlcpy(entry.info.localsock.name,
|
||||||
|
addrstr,
|
||||||
|
sizeof(entry.info.localsock.name));
|
||||||
|
g_free(addrstr);
|
||||||
|
} else {
|
||||||
|
char *addrstr;
|
||||||
|
|
||||||
|
addrstr = addr_to_string(&kif->kf_sa_peer);
|
||||||
|
g_strlcpy(entry.info.localsock.name,
|
||||||
|
addrstr,
|
||||||
|
sizeof(entry.info.localsock.name));
|
||||||
|
g_free(addrstr);
|
||||||
|
}
|
||||||
|
} else if (kif->kf_sock_domain == AF_INET ||
|
||||||
|
kif->kf_sock_domain == AF_INET6) {
|
||||||
|
char *addrstr;
|
||||||
|
|
||||||
|
if (kif->kf_sock_domain == AF_INET)
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_INETSOCKET;
|
||||||
|
else
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
|
||||||
|
addrstr = addr_to_string(&kif->kf_sa_peer);
|
||||||
|
g_strlcpy(entry.info.sock.dest_host,
|
||||||
|
addrstr,
|
||||||
|
sizeof(entry.info.sock.dest_host));
|
||||||
|
g_free(addrstr);
|
||||||
|
entry.info.sock.dest_port = addr_to_port(&kif->kf_sa_peer);
|
||||||
|
}
|
||||||
|
} else if (kif->kf_type == KF_TYPE_PIPE) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_PIPE;
|
||||||
|
} else if (kif->kf_type == KF_TYPE_VNODE) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_FILE;
|
||||||
|
g_strlcpy(entry.info.file.name, kif->kf_path,
|
||||||
|
sizeof(entry.info.file.name));
|
||||||
|
} else
|
||||||
|
continue;
|
||||||
|
|
||||||
|
entry.fd = kif->kf_fd;
|
||||||
|
|
||||||
|
g_array_append_val(entries, entry);
|
||||||
|
}
|
||||||
|
g_free(freep);
|
||||||
|
#else
|
||||||
|
|
||||||
output = execute_lsof(pid);
|
output = execute_lsof(pid);
|
||||||
if (output == NULL) return NULL;
|
if (output == NULL) return NULL;
|
||||||
|
|
||||||
entries = parse_output(output);
|
entries = parse_output(output);
|
||||||
|
|
||||||
g_free(output);
|
g_free(output);
|
||||||
|
#endif
|
||||||
|
|
||||||
buf->flags = _glibtop_sysdeps_proc_open_files;
|
buf->flags = _glibtop_sysdeps_proc_open_files;
|
||||||
buf->number = entries->len;
|
buf->number = entries->len;
|
||||||
|
@@ -24,7 +24,9 @@
|
|||||||
#include <glibtop_private.h>
|
#include <glibtop_private.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/sysctl.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
#include <sys/user.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_wd =
|
static const unsigned long _glibtop_sysdeps_proc_wd =
|
||||||
@@ -38,6 +40,7 @@ _glibtop_init_proc_wd_s(glibtop *server)
|
|||||||
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
|
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (__FreeBSD_version >= 800000 && __FreeBSD_version < 800019) || _FreeBSD_version < 700104
|
||||||
static GPtrArray *
|
static GPtrArray *
|
||||||
parse_output(const char *output, glibtop_proc_wd *buf)
|
parse_output(const char *output, glibtop_proc_wd *buf)
|
||||||
{
|
{
|
||||||
@@ -89,12 +92,21 @@ parse_output(const char *output, glibtop_proc_wd *buf)
|
|||||||
|
|
||||||
return dirs;
|
return dirs;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
char**
|
char**
|
||||||
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
|
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
|
||||||
{
|
{
|
||||||
char path[MAXPATHLEN];
|
char path[MAXPATHLEN];
|
||||||
|
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
|
||||||
|
struct kinfo_file *freep, *kif;
|
||||||
|
GPtrArray *dirs;
|
||||||
|
size_t len;
|
||||||
|
int i;
|
||||||
|
int name[4];
|
||||||
|
#else
|
||||||
char *output;
|
char *output;
|
||||||
|
#endif
|
||||||
|
|
||||||
memset (buf, 0, sizeof (glibtop_proc_wd));
|
memset (buf, 0, sizeof (glibtop_proc_wd));
|
||||||
|
|
||||||
@@ -102,6 +114,43 @@ glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
|
|||||||
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
|
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
|
||||||
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
|
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
|
||||||
|
|
||||||
|
#if __FreeBSD_version > 800018 || (__FreeBSD_version < 800000 && __FreeBSD_version >= 700104)
|
||||||
|
name[0] = CTL_KERN;
|
||||||
|
name[1] = KERN_PROC;
|
||||||
|
name[2] = KERN_PROC_FILEDESC;
|
||||||
|
name[3] = pid;
|
||||||
|
|
||||||
|
if (sysctl(name, 4, NULL, &len, NULL, 0) < 0)
|
||||||
|
return NULL;
|
||||||
|
freep = kif = g_malloc(len);
|
||||||
|
if (sysctl(name, 4, kif, &len, NULL, 0) < 0) {
|
||||||
|
g_free(freep);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
dirs = g_ptr_array_sized_new(1);
|
||||||
|
|
||||||
|
for (i = 0; i < len / sizeof(*kif); i++, kif++) {
|
||||||
|
switch (kif->kf_fd) {
|
||||||
|
case KF_FD_TYPE_ROOT:
|
||||||
|
g_strlcpy(buf->root, kif->kf_path,
|
||||||
|
sizeof(buf->root));
|
||||||
|
buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
|
||||||
|
break;
|
||||||
|
case KF_FD_TYPE_CWD:
|
||||||
|
g_ptr_array_add(dirs, g_strdup (kif->kf_path));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_free(freep);
|
||||||
|
|
||||||
|
buf->number = dirs->len;
|
||||||
|
buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
|
||||||
|
|
||||||
|
g_ptr_array_add(dirs, NULL);
|
||||||
|
|
||||||
|
return (char **)g_ptr_array_free(dirs, FALSE);
|
||||||
|
#else
|
||||||
output = execute_lsof(pid);
|
output = execute_lsof(pid);
|
||||||
if (output != NULL) {
|
if (output != NULL) {
|
||||||
GPtrArray *dirs;
|
GPtrArray *dirs;
|
||||||
@@ -116,6 +165,7 @@ glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
|
|||||||
|
|
||||||
return (char **)g_ptr_array_free(dirs, FALSE);
|
return (char **)g_ptr_array_free(dirs, FALSE);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
#include <glibtop/shm_limits.h>
|
#include <glibtop/shm_limits.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/param.h>
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
|
|
||||||
static unsigned long _glibtop_sysdeps_shm_limits =
|
static unsigned long _glibtop_sysdeps_shm_limits =
|
||||||
@@ -46,7 +47,11 @@ void
|
|||||||
glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf)
|
glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf)
|
||||||
{
|
{
|
||||||
size_t len;
|
size_t len;
|
||||||
|
#if __FreeBSD_version < 700002
|
||||||
int shmmax, shmmin, shmmni, shmseg, shmall;
|
int shmmax, shmmin, shmmni, shmseg, shmall;
|
||||||
|
#else
|
||||||
|
unsigned long shmmax, shmmin, shmmni, shmseg, shmall;
|
||||||
|
#endif
|
||||||
|
|
||||||
glibtop_init_s (&server, GLIBTOP_SYSDEPS_SHM_LIMITS, 0);
|
glibtop_init_s (&server, GLIBTOP_SYSDEPS_SHM_LIMITS, 0);
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ libgtop_sysdeps_2_0_la_SOURCES = open.c close.c cpu.c mem.c swap.c \
|
|||||||
proctime.c procmem.c procsignal.c prockernel.c \
|
proctime.c procmem.c procsignal.c prockernel.c \
|
||||||
procsegment.c procargs.c procmap.c siglist.c \
|
procsegment.c procargs.c procmap.c siglist.c \
|
||||||
sysinfo.c netload.c ppp.c glibtop_private.c \
|
sysinfo.c netload.c ppp.c glibtop_private.c \
|
||||||
mountlist.c \
|
mountlist.c procaffinity.c \
|
||||||
fsusage.c netlist.c procopenfiles.c procwd.c
|
fsusage.c netlist.c procopenfiles.c procwd.c
|
||||||
|
|
||||||
libgtop_sysdeps_2_0_la_LIBADD = @GLIB_LIBS@
|
libgtop_sysdeps_2_0_la_LIBADD = @GLIB_LIBS@
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <mntent.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -25,37 +26,52 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static char *
|
static gboolean
|
||||||
get_partition(const char *mountpoint)
|
get_device(glibtop* server, const char *mountpoint,
|
||||||
|
char* device, size_t device_size)
|
||||||
{
|
{
|
||||||
FILE *partitions;
|
const struct mntent *mnt;
|
||||||
char *name = NULL;
|
FILE *fp;
|
||||||
char line[1024];
|
gboolean found = FALSE;
|
||||||
struct stat statb;
|
|
||||||
|
|
||||||
if(stat(mountpoint, &statb) == -1)
|
if (!(fp = setmntent(MOUNTED, "r"))) {
|
||||||
return NULL;
|
glibtop_warn_io_r(server, "Could not open %s", MOUNTED);
|
||||||
|
goto out;
|
||||||
if((partitions = fopen("/proc/partitions", "r")) == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
while(fgets(line, sizeof line, partitions))
|
|
||||||
{
|
|
||||||
unsigned major, minor;
|
|
||||||
char dev[32];
|
|
||||||
|
|
||||||
if(sscanf(line, "%u %u %*u %31s", &major, &minor, dev) != 3)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(MKDEV(major, minor) != statb.st_dev)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
name = g_strdup(dev);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(partitions);
|
while ((mnt = getmntent(fp)))
|
||||||
return name;
|
{
|
||||||
|
if (!strcmp(mountpoint, mnt->mnt_dir)) {
|
||||||
|
if (!strncmp(mnt->mnt_fsname, "/dev/", 5)) {
|
||||||
|
g_strlcpy(device, mnt->mnt_fsname + 5, device_size);
|
||||||
|
found = TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
endmntent(fp);
|
||||||
|
out:
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
TRUE if device is like "hda3" and then set prefix to "hda".
|
||||||
|
*/
|
||||||
|
static gboolean
|
||||||
|
is_partition(const char* device, char* prefix, size_t prefix_size)
|
||||||
|
{
|
||||||
|
g_strlcpy(prefix, device, prefix_size);
|
||||||
|
|
||||||
|
for ( ; *prefix; prefix++) {
|
||||||
|
if (isdigit(*prefix)) {
|
||||||
|
*prefix = '\0';
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -88,23 +104,12 @@ get_sys_path(glibtop* server, const char *device, char **stat_path, const char *
|
|||||||
const char* linux_2_6_25_format = "%*llu %*llu %llu %*llu"
|
const char* linux_2_6_25_format = "%*llu %*llu %llu %*llu"
|
||||||
"%*llu %*llu %llu %*llu";
|
"%*llu %*llu %llu %*llu";
|
||||||
|
|
||||||
if(g_str_has_prefix(device, "hd") || g_str_has_prefix(device, "sd"))
|
char prefix[32];
|
||||||
{
|
|
||||||
char *prefix;
|
|
||||||
char *path;
|
|
||||||
size_t offset;
|
|
||||||
|
|
||||||
offset = strcspn(device, "0123456789");
|
if (is_partition(device, prefix, sizeof prefix)) {
|
||||||
|
|
||||||
prefix = g_strdup(device);
|
*stat_path = g_strdup_printf("/sys/block/%s/%s/stat",
|
||||||
prefix [offset] = '\0';
|
|
||||||
|
|
||||||
path = g_strdup_printf("/sys/block/%s/%s/stat",
|
|
||||||
prefix, device);
|
prefix, device);
|
||||||
|
|
||||||
g_free(prefix);
|
|
||||||
|
|
||||||
*stat_path = path;
|
|
||||||
if (server->os_version_code < LINUX_VERSION_CODE(2, 6, 25))
|
if (server->os_version_code < LINUX_VERSION_CODE(2, 6, 25))
|
||||||
*parse_format = "%*llu %llu %*llu %llu";
|
*parse_format = "%*llu %llu %*llu %llu";
|
||||||
else
|
else
|
||||||
@@ -124,30 +129,29 @@ get_sys_path(glibtop* server, const char *device, char **stat_path, const char *
|
|||||||
|
|
||||||
static void linux_2_6_0(glibtop *server, glibtop_fsusage *buf, const char *path)
|
static void linux_2_6_0(glibtop *server, glibtop_fsusage *buf, const char *path)
|
||||||
{
|
{
|
||||||
char *device;
|
char *filename = NULL;
|
||||||
char *filename;
|
|
||||||
const char *format;
|
const char *format;
|
||||||
int ret;
|
int ret;
|
||||||
char buffer[BUFSIZ];
|
char buffer[BUFSIZ];
|
||||||
|
char device[64];
|
||||||
|
|
||||||
device = get_partition(path);
|
if (!get_device(server, path, device, sizeof device))
|
||||||
if(!device) return;
|
goto out;
|
||||||
|
|
||||||
get_sys_path(server, device, &filename, &format);
|
get_sys_path(server, device, &filename, &format);
|
||||||
g_free(device);
|
|
||||||
|
|
||||||
ret = try_file_to_buffer(buffer, sizeof buffer, filename);
|
ret = try_file_to_buffer(buffer, sizeof buffer, filename);
|
||||||
|
|
||||||
if(ret < 0) return;
|
if (ret < 0) goto out;
|
||||||
|
|
||||||
if (sscanf(buffer, format, &buf->read, &buf->write) != 2) {
|
if (sscanf(buffer, format, &buf->read, &buf->write) != 2) {
|
||||||
glibtop_warn_io_r(server, "Could not parse %s", filename);
|
glibtop_warn_io_r(server, "Could not parse %s", filename);
|
||||||
return;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free(filename);
|
|
||||||
|
|
||||||
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
|
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
|
||||||
|
out:
|
||||||
|
g_free(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -67,14 +67,18 @@ enum TRY_FILE_TO_BUFFER
|
|||||||
TRY_FILE_TO_BUFFER_READ = -2
|
TRY_FILE_TO_BUFFER_READ = -2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Doesn't handle bufsiz == 0
|
||||||
|
*/
|
||||||
int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
|
int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
|
||||||
{
|
{
|
||||||
char path[4096];
|
char path[4096];
|
||||||
int fd;
|
int fd;
|
||||||
ssize_t len;
|
size_t len = 0;
|
||||||
|
ssize_t nread = 0;
|
||||||
va_list pa;
|
va_list pa;
|
||||||
|
|
||||||
if (bufsiz <= sizeof(char*))
|
if (G_UNLIKELY(bufsiz <= sizeof(char*)))
|
||||||
g_warning("Huhu, bufsiz of %lu looks bad", (gulong)bufsiz);
|
g_warning("Huhu, bufsiz of %lu looks bad", (gulong)bufsiz);
|
||||||
|
|
||||||
va_start(pa, format);
|
va_start(pa, format);
|
||||||
@@ -84,15 +88,31 @@ int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
|
|||||||
|
|
||||||
va_end(pa);
|
va_end(pa);
|
||||||
|
|
||||||
|
bufsiz--; /* reserve 1 for trailing NUL */
|
||||||
buffer [0] = '\0';
|
buffer [0] = '\0';
|
||||||
|
|
||||||
if((fd = open (path, O_RDONLY)) < 0)
|
if((fd = open (path, O_RDONLY)) < 0)
|
||||||
return TRY_FILE_TO_BUFFER_OPEN;
|
return TRY_FILE_TO_BUFFER_OPEN;
|
||||||
|
|
||||||
len = read (fd, buffer, bufsiz - 1);
|
while (len < bufsiz) {
|
||||||
|
nread = read (fd, buffer + len, bufsiz - len);
|
||||||
|
|
||||||
|
if (G_UNLIKELY(nread < 0)) {
|
||||||
|
if (errno == EINTR)
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
len += nread;
|
||||||
|
|
||||||
|
if (nread == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
close (fd);
|
close (fd);
|
||||||
|
|
||||||
if (len < 0)
|
if (nread < 0)
|
||||||
return TRY_FILE_TO_BUFFER_READ;
|
return TRY_FILE_TO_BUFFER_READ;
|
||||||
|
|
||||||
buffer [len] = '\0';
|
buffer [len] = '\0';
|
||||||
|
@@ -61,7 +61,11 @@ skip_line (const char *p)
|
|||||||
return (char *) (*p ? p+1 : p);
|
return (char *) (*p ? p+1 : p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Smart strtoul which handles binary suffixes
|
||||||
|
* e.g: get_scaled("Size: 32 kB", "Size:") == 32768
|
||||||
|
* key can be NULL if there's not prefix to strip (or prefix size is known
|
||||||
|
*/
|
||||||
unsigned long long
|
unsigned long long
|
||||||
get_scaled(const char *buffer, const char *key);
|
get_scaled(const char *buffer, const char *key);
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@
|
|||||||
#define GLIBTOP_SUID_NETLOAD 0
|
#define GLIBTOP_SUID_NETLOAD 0
|
||||||
#define GLIBTOP_SUID_NETLIST 0
|
#define GLIBTOP_SUID_NETLIST 0
|
||||||
#define GLIBTOP_SUID_PROC_WD 0
|
#define GLIBTOP_SUID_PROC_WD 0
|
||||||
|
#define GLIBTOP_SUID_PROC_AFFINITY 0
|
||||||
#define GLIBTOP_SUID_PPP 0
|
#define GLIBTOP_SUID_PPP 0
|
||||||
#define GLIBTOP_SUID_PROC_FILE 0
|
#define GLIBTOP_SUID_PROC_FILE 0
|
||||||
|
|
||||||
|
@@ -0,0 +1,69 @@
|
|||||||
|
/* Copyright (C) 2007 Benoît Dejean
|
||||||
|
This file is part of LibGTop 2.
|
||||||
|
|
||||||
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License,
|
||||||
|
or (at your option) any later version.
|
||||||
|
|
||||||
|
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <glibtop/procaffinity.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <glibtop_private.h>
|
||||||
|
|
||||||
|
#include <sched.h>
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
_glibtop_init_proc_affinity_s(glibtop *server)
|
||||||
|
{
|
||||||
|
server->sysdeps.proc_affinity =
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_NUMBER) |
|
||||||
|
(1 << GLIBTOP_PROC_AFFINITY_ALL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
guint16 *
|
||||||
|
glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid)
|
||||||
|
{
|
||||||
|
cpu_set_t set;
|
||||||
|
size_t i;
|
||||||
|
GArray* cpus;
|
||||||
|
|
||||||
|
memset(buf, 0, sizeof *buf);
|
||||||
|
|
||||||
|
if (sched_getaffinity(pid, sizeof set, &set) == -1) {
|
||||||
|
glibtop_error_r(server, "sched_getaffinity failed");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
cpus = g_array_new(FALSE, FALSE, sizeof(guint16));
|
||||||
|
|
||||||
|
for (i = 0; i < MIN(CPU_SETSIZE, (size_t)(server->ncpu + 1)); i++) {
|
||||||
|
if (CPU_ISSET(i, &set)) {
|
||||||
|
guint16 n = i;
|
||||||
|
g_array_append_val(cpus, n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buf->number = cpus->len;
|
||||||
|
buf->all = (cpus->len == (size_t)(server->ncpu + 1));
|
||||||
|
buf->flags = (1 << GLIBTOP_PROC_AFFINITY_NUMBER)
|
||||||
|
| (1 << GLIBTOP_PROC_AFFINITY_ALL);
|
||||||
|
|
||||||
|
return (guint16*) g_array_free(cpus, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -27,21 +27,53 @@
|
|||||||
#include "glibtop_private.h"
|
#include "glibtop_private.h"
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_mem =
|
static const unsigned long _glibtop_sysdeps_proc_mem =
|
||||||
(1L << GLIBTOP_PROC_MEM_VSIZE) + (1L << GLIBTOP_PROC_MEM_RSS) +
|
|
||||||
(1L << GLIBTOP_PROC_MEM_RSS_RLIM);
|
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_mem_statm =
|
|
||||||
(1L << GLIBTOP_PROC_MEM_SIZE) + (1L << GLIBTOP_PROC_MEM_RESIDENT) +
|
(1L << GLIBTOP_PROC_MEM_SIZE) + (1L << GLIBTOP_PROC_MEM_RESIDENT) +
|
||||||
(1L << GLIBTOP_PROC_MEM_SHARE);
|
(1L << GLIBTOP_PROC_MEM_SHARE);
|
||||||
|
|
||||||
|
static const unsigned long _glibtop_sysdeps_proc_mem_pss =
|
||||||
|
(1L << GLIBTOP_PROC_MEM_RSS);
|
||||||
|
|
||||||
|
|
||||||
|
static unsigned long
|
||||||
|
get_pss(glibtop* server, pid_t pid)
|
||||||
|
{
|
||||||
|
char filepath[128];
|
||||||
|
FILE* smaps;
|
||||||
|
char* line = NULL;
|
||||||
|
size_t line_size = 0;
|
||||||
|
unsigned long pss = 0;
|
||||||
|
|
||||||
|
snprintf(filepath, sizeof filepath, "/proc/%u/smaps", (unsigned)pid);
|
||||||
|
|
||||||
|
if (!(smaps = fopen(filepath, "r"))) {
|
||||||
|
glibtop_error_io_r(server, "Cannot open %s", filepath);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (getline(&line, &line_size, smaps) != -1) {
|
||||||
|
if (strncmp(line, "Pss:", 4))
|
||||||
|
continue;
|
||||||
|
pss += get_scaled(line + 4, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
out:
|
||||||
|
if (smaps)
|
||||||
|
fclose(smaps);
|
||||||
|
|
||||||
|
free(line);
|
||||||
|
|
||||||
|
return pss;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Init function. */
|
/* Init function. */
|
||||||
|
|
||||||
void
|
void
|
||||||
_glibtop_init_proc_mem_s (glibtop *server)
|
_glibtop_init_proc_mem_s (glibtop *server)
|
||||||
{
|
{
|
||||||
server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem |
|
server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem;
|
||||||
_glibtop_sysdeps_proc_mem_statm;
|
if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25))
|
||||||
|
server->sysdeps.proc_mem |= _glibtop_sysdeps_proc_mem_pss;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provides detailed information about a process. */
|
/* Provides detailed information about a process. */
|
||||||
@@ -54,19 +86,34 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
|
|||||||
|
|
||||||
memset (buf, 0, sizeof (glibtop_proc_mem));
|
memset (buf, 0, sizeof (glibtop_proc_mem));
|
||||||
|
|
||||||
if (proc_stat_to_buffer(buffer, sizeof buffer, pid))
|
/* As of 2.6.24 in fs/proc/*.c
|
||||||
return;
|
|
||||||
|
|
||||||
p = proc_stat_after_cmd (buffer);
|
== rss vs. resident ==
|
||||||
if (!p) return;
|
|
||||||
|
|
||||||
p = skip_multiple_token (p, 20);
|
stat/rss:
|
||||||
|
get_mm_rss where
|
||||||
|
#define get_mm_rss(mm) \
|
||||||
|
(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss))
|
||||||
|
|
||||||
buf->vsize = strtoull (p, &p, 0);
|
statm/resident:
|
||||||
buf->rss = strtoull (p, &p, 0);
|
*shared = get_mm_counter(mm, file_rss);
|
||||||
buf->rss_rlim = strtoull (p, &p, 0);
|
*resident = *shared + get_mm_counter(mm, anon_rss);
|
||||||
|
|
||||||
buf->flags = _glibtop_sysdeps_proc_mem;
|
== vsize vs. size ==
|
||||||
|
|
||||||
|
stat/vsize:
|
||||||
|
task_vsize(mm) ... total_vm * pagesize
|
||||||
|
|
||||||
|
statm/size
|
||||||
|
mm->total_vm
|
||||||
|
|
||||||
|
=================
|
||||||
|
rss == resident
|
||||||
|
vsize == size
|
||||||
|
rss_lim is not implemented in statm, but there's limits which
|
||||||
|
provides all limits
|
||||||
|
share is only implemented in statm
|
||||||
|
*/
|
||||||
|
|
||||||
if (proc_statm_to_buffer(buffer, sizeof buffer, pid))
|
if (proc_statm_to_buffer(buffer, sizeof buffer, pid))
|
||||||
return;
|
return;
|
||||||
@@ -78,7 +125,20 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
|
|||||||
buf->size *= pagesize;
|
buf->size *= pagesize;
|
||||||
buf->resident *= pagesize;
|
buf->resident *= pagesize;
|
||||||
buf->share *= pagesize;
|
buf->share *= pagesize;
|
||||||
buf->rss *= pagesize;
|
|
||||||
|
|
||||||
buf->flags |= _glibtop_sysdeps_proc_mem_statm;
|
/* dummy values */
|
||||||
|
buf->vsize = buf->size;
|
||||||
|
buf->rss_rlim = ~0;
|
||||||
|
|
||||||
|
buf->flags |= _glibtop_sysdeps_proc_mem;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* FIXME: see previous comment */
|
||||||
|
if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25)) {
|
||||||
|
buf->rss = get_pss(server, pid);
|
||||||
|
buf->flags |= _glibtop_sysdeps_proc_mem_pss;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
buf->rss = buf->resident;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@@ -97,6 +97,48 @@ get_all(const char *filename, LineParser parser)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct Inet6SocketEntry
|
||||||
|
{
|
||||||
|
char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
|
||||||
|
int port;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
inet6_socket_parser(GHashTable *dict, const char* line)
|
||||||
|
{
|
||||||
|
struct Inet6SocketEntry *se;
|
||||||
|
int sock;
|
||||||
|
struct in6_addr addr;
|
||||||
|
|
||||||
|
se = g_malloc0(sizeof *se);
|
||||||
|
|
||||||
|
if(sscanf(line, "%*d: %*s %8x%8x%8x%8x:%4x %*x %*x:%*x %*x:%*x %*d %*d %*d %d",
|
||||||
|
&addr.s6_addr32[0], &addr.s6_addr32[1], &addr.s6_addr32[2],
|
||||||
|
&addr.s6_addr32[3], &se->port, &sock) != 6)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
if(!inet_ntop(AF_INET6, &addr, se->host, sizeof se->host))
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
g_hash_table_insert(dict, GINT_TO_POINTER(sock), se);
|
||||||
|
return;
|
||||||
|
|
||||||
|
error:
|
||||||
|
g_free(se);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static inline GHashTable *
|
||||||
|
get_all_inet6_sockets()
|
||||||
|
{
|
||||||
|
return get_all("/proc/net/tcp6", inet6_socket_parser);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct InetSocketEntry
|
struct InetSocketEntry
|
||||||
{
|
{
|
||||||
char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
|
char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
|
||||||
@@ -178,7 +220,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
|
|||||||
{
|
{
|
||||||
char fn [BUFSIZ];
|
char fn [BUFSIZ];
|
||||||
GArray *entries;
|
GArray *entries;
|
||||||
GHashTable *inet_sockets = NULL, *local_sockets = NULL;
|
GHashTable *inet6_sockets = NULL, *inet_sockets = NULL, *local_sockets = NULL;
|
||||||
struct dirent *direntry;
|
struct dirent *direntry;
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
|
|
||||||
@@ -209,14 +251,27 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
|
|||||||
if(g_str_has_prefix(tgt, "socket:["))
|
if(g_str_has_prefix(tgt, "socket:["))
|
||||||
{
|
{
|
||||||
int sockfd;
|
int sockfd;
|
||||||
|
struct Inet6SocketEntry *i6se;
|
||||||
struct InetSocketEntry *ise;
|
struct InetSocketEntry *ise;
|
||||||
struct LocalSocketEntry *lse;
|
struct LocalSocketEntry *lse;
|
||||||
|
|
||||||
|
if(!inet6_sockets) inet6_sockets = get_all_inet6_sockets();
|
||||||
if(!inet_sockets) inet_sockets = get_all_inet_sockets();
|
if(!inet_sockets) inet_sockets = get_all_inet_sockets();
|
||||||
if(!local_sockets) local_sockets = get_all_local_sockets();
|
if(!local_sockets) local_sockets = get_all_local_sockets();
|
||||||
|
|
||||||
sockfd = atoi(tgt + 8);
|
sockfd = atoi(tgt + 8);
|
||||||
|
|
||||||
|
i6se = g_hash_table_lookup(inet6_sockets,
|
||||||
|
GINT_TO_POINTER(sockfd));
|
||||||
|
|
||||||
|
if(i6se) {
|
||||||
|
entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
|
||||||
|
entry.info.sock.dest_port = i6se->port;
|
||||||
|
g_strlcpy(entry.info.sock.dest_host, i6se->host,
|
||||||
|
sizeof entry.info.sock.dest_host);
|
||||||
|
goto found;
|
||||||
|
}
|
||||||
|
|
||||||
ise = g_hash_table_lookup(inet_sockets,
|
ise = g_hash_table_lookup(inet_sockets,
|
||||||
GINT_TO_POINTER(sockfd));
|
GINT_TO_POINTER(sockfd));
|
||||||
|
|
||||||
@@ -257,6 +312,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pi
|
|||||||
closedir (dir);
|
closedir (dir);
|
||||||
|
|
||||||
if(inet_sockets) g_hash_table_destroy(inet_sockets);
|
if(inet_sockets) g_hash_table_destroy(inet_sockets);
|
||||||
|
if(inet6_sockets) g_hash_table_destroy(inet6_sockets);
|
||||||
if(local_sockets) g_hash_table_destroy(local_sockets);
|
if(local_sockets) g_hash_table_destroy(local_sockets);
|
||||||
|
|
||||||
buf->flags = _glibtop_sysdeps_proc_open_files;
|
buf->flags = _glibtop_sysdeps_proc_open_files;
|
||||||
|
Reference in New Issue
Block a user