Compare commits
	
		
			59 Commits
		
	
	
		
			LIBGTOP_2_
			...
			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 | ||
| 
						 | 
					be8a371481 | ||
| 
						 | 
					fedd75b2b1 | ||
| 
						 | 
					a02e213373 | ||
| 
						 | 
					e3697c9a9e | ||
| 
						 | 
					91e2e5a1b7 | ||
| 
						 | 
					158280e297 | ||
| 
						 | 
					62c741074c | ||
| 
						 | 
					87a80ba430 | ||
| 
						 | 
					7bb5abb9a8 | ||
| 
						 | 
					40485978ec | ||
| 
						 | 
					73c62a7bdb | ||
| 
						 | 
					e4d9c10a73 | ||
| 
						 | 
					5d3f18e12c | ||
| 
						 | 
					d97b0c3419 | ||
| 
						 | 
					960d12822d | ||
| 
						 | 
					f79f25f5ce | ||
| 
						 | 
					3bb78c22c4 | 
							
								
								
									
										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.
 | 
			
		||||
							
								
								
									
										47
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								NEWS
									
									
									
									
									
								
							@@ -1,3 +1,50 @@
 | 
			
		||||
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:
 | 
			
		||||
  - Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
 | 
			
		||||
    Closes #539360.
 | 
			
		||||
 | 
			
		||||
24 May 2008: Overview of changes in 2.23.2
 | 
			
		||||
==========================================
 | 
			
		||||
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
 | 
			
		||||
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
 | 
			
		||||
 | 
			
		||||
(Let's hope one day i'll find the gtk-doc documentation ...)
 | 
			
		||||
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed parsing of big /proc/stat for uptime.
 | 
			
		||||
 | 
			
		||||
04 April 2008: Overview of changes in 2.22.1
 | 
			
		||||
============================================
 | 
			
		||||
* Fixed compilation/dist for !linux.
 | 
			
		||||
  Closes #525953.
 | 
			
		||||
 | 
			
		||||
10 Mars 2008: Overview of changes in 2.22.0
 | 
			
		||||
===========================================
 | 
			
		||||
* linux:
 | 
			
		||||
  - fixed proc_kernel.
 | 
			
		||||
 
 | 
			
		||||
25 February 2008: Overview of changes in 2.21.92
 | 
			
		||||
================================================
 | 
			
		||||
* linux:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								configure.in
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								configure.in
									
									
									
									
									
								
							@@ -3,21 +3,21 @@ dnl Configure script for the Gnome library
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
m4_define([libgtop_major_version], [2])
 | 
			
		||||
m4_define([libgtop_minor_version], [21])
 | 
			
		||||
m4_define([libgtop_micro_version], [92])
 | 
			
		||||
m4_define([libgtop_minor_version], [24])
 | 
			
		||||
m4_define([libgtop_micro_version], [4])
 | 
			
		||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
 | 
			
		||||
 | 
			
		||||
dnl  increment if the interface has additions, changes, removals.
 | 
			
		||||
m4_define([libgtop_current], [8])
 | 
			
		||||
m4_define([libgtop_current], [9])
 | 
			
		||||
 | 
			
		||||
dnl  increment any time the source changes; set to
 | 
			
		||||
dnl  0 if you increment CURRENT
 | 
			
		||||
m4_define([libgtop_revision], [1])
 | 
			
		||||
m4_define([libgtop_revision], [0])
 | 
			
		||||
 | 
			
		||||
dnl  increment if any interfaces have been added; set to 0
 | 
			
		||||
dnl  if any interfaces have been removed. removal has
 | 
			
		||||
dnl  precedence over adding, so set to 0 if both happened.
 | 
			
		||||
m4_define([libgtop_age], [1])
 | 
			
		||||
m4_define([libgtop_age], [2])
 | 
			
		||||
 | 
			
		||||
# Increase each time you change the client/server protocol.
 | 
			
		||||
m4_define([libgtop_server_version], [5])
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ DEFS			= @DEFS@
 | 
			
		||||
 | 
			
		||||
noinst_PROGRAMS	= 	first second pprint procargs df netlist \
 | 
			
		||||
			  mountlist procmap netload sysdeps timings \
 | 
			
		||||
			  openfiles smp proclist mem wd
 | 
			
		||||
			  openfiles smp proclist mem wd affinity
 | 
			
		||||
 | 
			
		||||
first_SOURCES		= first.c
 | 
			
		||||
first_LDADD		= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
@@ -58,3 +58,5 @@ wd_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
mem_SOURCE	= mem.c
 | 
			
		||||
mem_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 | 
			
		||||
affinity_SOURCES	= affinity.c
 | 
			
		||||
affinity_LDADD	= $(top_builddir)/lib/libgtop-2.0.la
 | 
			
		||||
 
 | 
			
		||||
@@ -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,35 +15,43 @@ static void print_fsusage(const char *mountpoint)
 | 
			
		||||
 | 
			
		||||
  glibtop_get_fsusage(&buf, mountpoint);
 | 
			
		||||
 | 
			
		||||
  printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
 | 
			
		||||
  printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
 | 
			
		||||
	 mountpoint,
 | 
			
		||||
	 buf.blocks * buf.block_size >> 20,
 | 
			
		||||
	 (buf.blocks - 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_mountentry *entries;
 | 
			
		||||
  size_t i;
 | 
			
		||||
 | 
			
		||||
  glibtop_init();
 | 
			
		||||
 | 
			
		||||
  printf("%-20s %-10s %-10s %-10s %-10s\n",
 | 
			
		||||
	 "Filesystem", "Size", "Used", "Avail", "Use%");
 | 
			
		||||
  printf("%-30s %10s %10s %10s %5s %10s %10s\n",
 | 
			
		||||
	 "Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
 | 
			
		||||
 | 
			
		||||
  entries = glibtop_get_mountlist(&buf, TRUE);
 | 
			
		||||
  if (argc > 1) {
 | 
			
		||||
    while (*++argv)
 | 
			
		||||
      print_fsusage(*argv);
 | 
			
		||||
  } else {
 | 
			
		||||
    glibtop_mountentry *entries;
 | 
			
		||||
    size_t i;
 | 
			
		||||
 | 
			
		||||
  for(i = 0; i < buf.number; ++i)
 | 
			
		||||
    {
 | 
			
		||||
      print_fsusage(entries[i].mountdir);
 | 
			
		||||
    }
 | 
			
		||||
    entries = glibtop_get_mountlist(&buf, TRUE);
 | 
			
		||||
 | 
			
		||||
  g_free(entries);
 | 
			
		||||
    for(i = 0; i < buf.number; ++i)
 | 
			
		||||
      {
 | 
			
		||||
	print_fsusage(entries[i].mountdir);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    g_free(entries);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  glibtop_close();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,9 +47,9 @@ main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned c, method, count, port, i, *ptr;
 | 
			
		||||
	unsigned c, method, count, port, i;
 | 
			
		||||
	char buffer [BUFSIZ];
 | 
			
		||||
	pid_t pid, ppid;
 | 
			
		||||
	pid_t pid, ppid, *ptr;
 | 
			
		||||
	char *args;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
 
 | 
			
		||||
@@ -37,9 +37,16 @@ static void show_open_files(pid_t pid)
 | 
			
		||||
		  printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_INET6SOCKET:
 | 
			
		||||
		  printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  case GLIBTOP_FILE_TYPE_LOCALSOCKET:
 | 
			
		||||
		  printf("localsocket %s\n", files[i].info.localsock.name);
 | 
			
		||||
		  break;
 | 
			
		||||
 | 
			
		||||
	  default:
 | 
			
		||||
		  printf("unknown type\n");
 | 
			
		||||
	  }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
 | 
			
		||||
static void print_pids(guint64 which, guint64 arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned *pids;
 | 
			
		||||
	pid_t *pids;
 | 
			
		||||
	unsigned i;
 | 
			
		||||
	glibtop_proclist buf;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -239,7 +239,8 @@ main (int argc, char *argv [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_proclist proclist;
 | 
			
		||||
	glibtop_sysdeps sysdeps;
 | 
			
		||||
	unsigned *ptr, pid, i;
 | 
			
		||||
	unsigned i;
 | 
			
		||||
	pid_t *ptr, pid;
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef PROFILE_COUNT_EXPENSIVE
 | 
			
		||||
#define PROFILE_COUNT_EXPENSIVE		10000L
 | 
			
		||||
#define PROFILE_COUNT_EXPENSIVE		(PROFILE_COUNT / 10)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#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 [])
 | 
			
		||||
{
 | 
			
		||||
	glibtop_union data;
 | 
			
		||||
	unsigned c, count, *ptr;
 | 
			
		||||
	unsigned c;
 | 
			
		||||
	struct rusage total_start, total_end;
 | 
			
		||||
	struct rusage rusage_start, rusage_end;
 | 
			
		||||
	struct timeval elapsed_utime, elapsed_stime;
 | 
			
		||||
	pid_t pid;
 | 
			
		||||
 | 
			
		||||
	count = PROFILE_COUNT;
 | 
			
		||||
	pid = getpid ();
 | 
			
		||||
 | 
			
		||||
	setlocale (LC_ALL, "");
 | 
			
		||||
	bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
 | 
			
		||||
@@ -184,12 +184,10 @@ main (int argc, char *argv [])
 | 
			
		||||
		(long double) ELAPSED_UTIME / PROFILE_COUNT,
 | 
			
		||||
		(long double) ELAPSED_STIME / PROFILE_COUNT);
 | 
			
		||||
 | 
			
		||||
	printf ("\n");
 | 
			
		||||
 | 
			
		||||
	getrusage (RUSAGE_SELF, &rusage_start);
 | 
			
		||||
 | 
			
		||||
	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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -207,9 +205,26 @@ main (int argc, char *argv [])
 | 
			
		||||
		(long double) ELAPSED_UTIME / 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);
 | 
			
		||||
 | 
			
		||||
@@ -267,6 +282,27 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	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++)
 | 
			
		||||
		glibtop_get_proc_segment (&data.proc_segment, pid);
 | 
			
		||||
 | 
			
		||||
@@ -285,6 +321,27 @@ main (int argc, char *argv [])
 | 
			
		||||
 | 
			
		||||
	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++)
 | 
			
		||||
		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)
 | 
			
		||||
char **|netlist|unsigned(number)
 | 
			
		||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
 | 
			
		||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ glibtop_HEADERS		= close.h loadavg.h prockernel.h procstate.h \
 | 
			
		||||
			  procsignal.h union.h gnuserv.h \
 | 
			
		||||
			  parameter.h mountlist.h fsusage.h procmap.h signal.h \
 | 
			
		||||
			  sysinfo.h ppp.h procargs.h netload.h \
 | 
			
		||||
			  procwd.h \
 | 
			
		||||
			  procwd.h procaffinity.h \
 | 
			
		||||
			  netlist.h procopenfiles.h open.h
 | 
			
		||||
 | 
			
		||||
noinst_HEADERS		= error.h write.h read_data.h read.h init_hooks.h
 | 
			
		||||
 
 | 
			
		||||
@@ -58,8 +58,9 @@ G_BEGIN_DECLS
 | 
			
		||||
#define GLIBTOP_CMND_NETLIST		24
 | 
			
		||||
#define GLIBTOP_CMND_PROC_OPEN_FILES	25
 | 
			
		||||
#define GLIBTOP_CMND_PROC_WD		26
 | 
			
		||||
#define GLIBTOP_CMND_PROC_AFFINITY	27
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_CMND		27
 | 
			
		||||
#define GLIBTOP_MAX_CMND		28
 | 
			
		||||
 | 
			
		||||
#define _GLIBTOP_PARAM_SIZE		16
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,68 +0,0 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 2.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SERVER_H__
 | 
			
		||||
#define __GLIBTOP_SERVER_H__
 | 
			
		||||
 | 
			
		||||
#include <glibtop/global.h>
 | 
			
		||||
#include <glibtop/sysdeps.h>
 | 
			
		||||
 | 
			
		||||
G_BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_server		glibtop_server;
 | 
			
		||||
typedef struct _glibtop_server_info	glibtop_server_info;
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_closure		glibtop_closure;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_server_info
 | 
			
		||||
{
 | 
			
		||||
    int ncpu;			/* Number of CPUs, zero if single-processor */
 | 
			
		||||
    unsigned long features;	/* Server is required for this features */
 | 
			
		||||
    glibtop_sysdeps sysdeps;	/* Detailed feature list */
 | 
			
		||||
    glibtop_sysdeps required;	/* Required feature list */
 | 
			
		||||
    glibtop_sysdeps wanted;	/* We only want this features */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct	_glibtop_server
 | 
			
		||||
{
 | 
			
		||||
    glibtop_server_info *info;
 | 
			
		||||
 | 
			
		||||
    int refcount;
 | 
			
		||||
    unsigned flags;
 | 
			
		||||
    const char *name;
 | 
			
		||||
 | 
			
		||||
    void *_priv;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
glibtop_server *
 | 
			
		||||
glibtop_server_new (void);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_server_ref (glibtop_server *server);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_server_unref (glibtop_server *server);
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -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_PIPE		= 2,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_INETSOCKET	= 4,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_LOCALSOCKET	= 8
 | 
			
		||||
	GLIBTOP_FILE_TYPE_LOCALSOCKET	= 8,
 | 
			
		||||
	GLIBTOP_FILE_TYPE_INET6SOCKET	= 16
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
 | 
			
		||||
@@ -65,7 +66,8 @@ struct _glibtop_open_files_entry
 | 
			
		||||
	int fd;
 | 
			
		||||
	guint16 type; /* An "enum glibtop_file_type" value. */
 | 
			
		||||
	union {
 | 
			
		||||
		/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
 | 
			
		||||
		/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
 | 
			
		||||
		 * when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
 | 
			
		||||
		struct {
 | 
			
		||||
			char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
 | 
			
		||||
			int dest_port;
 | 
			
		||||
 
 | 
			
		||||
@@ -52,8 +52,9 @@ G_BEGIN_DECLS
 | 
			
		||||
#define GLIBTOP_SYSDEPS_NETLIST		23
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES	24
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_WD		25
 | 
			
		||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY	26
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		26
 | 
			
		||||
#define GLIBTOP_MAX_SYSDEPS		27
 | 
			
		||||
 | 
			
		||||
#define GLIBTOP_SYSDEPS_ALL		((1 << GLIBTOP_MAX_SYSDEPS) - 1)
 | 
			
		||||
 | 
			
		||||
@@ -88,6 +89,7 @@ struct _glibtop_sysdeps
 | 
			
		||||
	guint64 netload;		/* glibtop_netload	*/
 | 
			
		||||
	guint64 ppp;			/* glibtop_ppp		*/
 | 
			
		||||
	guint64	proc_wd;		/* glibtop_proc_wd	*/
 | 
			
		||||
	guint64	proc_affinity;		/* glibtop_proc_affinity */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
 | 
			
		||||
 
 | 
			
		||||
@@ -43,6 +43,7 @@
 | 
			
		||||
#include <glibtop/procmap.h>
 | 
			
		||||
#include <glibtop/procopenfiles.h>
 | 
			
		||||
#include <glibtop/procwd.h>
 | 
			
		||||
#include <glibtop/procaffinity.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/mountlist.h>
 | 
			
		||||
#include <glibtop/fsusage.h>
 | 
			
		||||
@@ -82,6 +83,7 @@ union _glibtop_union
 | 
			
		||||
	glibtop_ppp		ppp;
 | 
			
		||||
	glibtop_proc_open_files proc_open_files;
 | 
			
		||||
	glibtop_proc_wd		proc_wd;
 | 
			
		||||
	glibtop_proc_affinity	proc_affinity;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										173
									
								
								lib/error.c
									
									
									
									
									
								
							
							
						
						
									
										173
									
								
								lib/error.c
									
									
									
									
									
								
							@@ -1,173 +0,0 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
 | 
			
		||||
#include <glibtop/error.h>
 | 
			
		||||
 | 
			
		||||
#include <glib/gstrfuncs.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
 | 
			
		||||
#define DEFAULT_NAME	"LibGTop-Server"
 | 
			
		||||
 | 
			
		||||
/* Prints error message and exits. */
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
print_server_name (glibtop_server *server)
 | 
			
		||||
{
 | 
			
		||||
    fprintf (stderr, "%s: ", server ?
 | 
			
		||||
	     (server->name ? server->name : DEFAULT_NAME)
 | 
			
		||||
	     : DEFAULT_NAME);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
 | 
			
		||||
{
 | 
			
		||||
    print_server_name (server);
 | 
			
		||||
    vfprintf (stderr, format, args);
 | 
			
		||||
    fprintf (stderr, "\n");
 | 
			
		||||
 | 
			
		||||
#ifdef LIBGTOP_ENABLE_DEBUG
 | 
			
		||||
    abort ();
 | 
			
		||||
#else
 | 
			
		||||
    exit (1);
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
 | 
			
		||||
{
 | 
			
		||||
    print_server_name (server);
 | 
			
		||||
    vfprintf (stderr, format, args);
 | 
			
		||||
    fprintf (stderr, ": %s\n", g_strerror (error));
 | 
			
		||||
 | 
			
		||||
#ifdef LIBGTOP_ENABLE_DEBUG
 | 
			
		||||
    abort ();
 | 
			
		||||
#else
 | 
			
		||||
    exit (1);
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
 | 
			
		||||
{
 | 
			
		||||
    print_server_name (server);
 | 
			
		||||
    vfprintf (stderr, format, args);
 | 
			
		||||
    fprintf (stderr, "\n");
 | 
			
		||||
 | 
			
		||||
#ifdef LIBGTOP_FATAL_WARNINGS
 | 
			
		||||
    abort ();
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
 | 
			
		||||
{
 | 
			
		||||
    print_server_name (server);
 | 
			
		||||
    vfprintf (stderr, format, args);
 | 
			
		||||
    fprintf (stderr, ": %s\n", g_strerror (error));
 | 
			
		||||
 | 
			
		||||
#ifdef LIBGTOP_FATAL_WARNINGS
 | 
			
		||||
    abort ();
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_error_r (glibtop_server *server, char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_error_vr (server, format, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_warn_r (glibtop_server *server, char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_warn_vr (server, format, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_error_io_r (glibtop_server *server, char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_error_io_vr (server, format, errno, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_warn_io_vr (server, format, errno, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifndef  __GNUC__
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
glibtop_error (char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_error_vr (glibtop_global_server, format, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
glibtop_warn (char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_warn_vr (glibtop_global_server, format, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
glibtop_error_io (char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_error_io_vr (glibtop_global_server, format, errno, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
glibtop_warn_io (char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list args;
 | 
			
		||||
    va_start (args, format);
 | 
			
		||||
    glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
 | 
			
		||||
    va_end (args);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* no __GNUC__ */
 | 
			
		||||
@@ -1,57 +0,0 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 2.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
 | 
			
		||||
   LibGTop is free software; you can redistribute it and/or modify it
 | 
			
		||||
   under the terms of the GNU General Public License as published by
 | 
			
		||||
   the Free Software Foundation; either version 2 of the License,
 | 
			
		||||
   or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | 
			
		||||
   for more details.
 | 
			
		||||
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with LibGTop; see the file COPYING. If not, write to the
 | 
			
		||||
   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <glibtop.h>
 | 
			
		||||
#include <glibtop-server-private.h>
 | 
			
		||||
 | 
			
		||||
glibtop_server *
 | 
			
		||||
glibtop_server_new (void)
 | 
			
		||||
{
 | 
			
		||||
    glibtop_server *retval;
 | 
			
		||||
 | 
			
		||||
    retval = g_new0 (glibtop_server, 1);
 | 
			
		||||
    retval->info = g_new0 (glibtop_server_info, 1);
 | 
			
		||||
    retval->_priv = g_new0 (glibtop_server_private, 1);
 | 
			
		||||
    retval->refcount = 1;
 | 
			
		||||
 | 
			
		||||
    return retval;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_server_ref (glibtop_server *server)
 | 
			
		||||
{
 | 
			
		||||
    server->refcount++;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
glibtop_server_unref (glibtop_server *server)
 | 
			
		||||
{
 | 
			
		||||
    server->refcount--;
 | 
			
		||||
 | 
			
		||||
    if (server->refcount <= 0) {
 | 
			
		||||
	g_free (server->_priv);
 | 
			
		||||
	g_free (server->info);
 | 
			
		||||
	g_free (server);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -50,6 +50,8 @@ glibtop_get_sem_limits
 | 
			
		||||
glibtop_get_sem_limits_l
 | 
			
		||||
glibtop_get_shm_limits
 | 
			
		||||
glibtop_get_shm_limits_l
 | 
			
		||||
glibtop_get_proc_affinity
 | 
			
		||||
glibtop_get_proc_affinity_l
 | 
			
		||||
glibtop_get_swap
 | 
			
		||||
glibtop_get_swap_l
 | 
			
		||||
glibtop_get_sysdeps
 | 
			
		||||
 
 | 
			
		||||
@@ -47,6 +47,7 @@ GLIBTOP_SUID_PROC_MAP +
 | 
			
		||||
GLIBTOP_SUID_NETLOAD +
 | 
			
		||||
GLIBTOP_SUID_NETLIST +
 | 
			
		||||
GLIBTOP_SUID_PROC_WD +
 | 
			
		||||
GLIBTOP_SUID_PROC_AFFINITY +
 | 
			
		||||
GLIBTOP_SUID_PPP;
 | 
			
		||||
 | 
			
		||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
 | 
			
		||||
@@ -113,6 +114,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
 | 
			
		||||
#if !GLIBTOP_SUID_PROC_WD
 | 
			
		||||
	_glibtop_init_proc_wd_s,
 | 
			
		||||
#endif
 | 
			
		||||
#if !GLIBTOP_SUID_PROC_AFFINITY
 | 
			
		||||
	_glibtop_init_proc_affinity_s,
 | 
			
		||||
#endif
 | 
			
		||||
#if !GLIBTOP_SUID_PPP
 | 
			
		||||
	_glibtop_init_ppp_s,
 | 
			
		||||
#endif
 | 
			
		||||
@@ -183,6 +187,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
 | 
			
		||||
#if GLIBTOP_SUID_PROC_WD
 | 
			
		||||
	_glibtop_init_proc_wd_p,
 | 
			
		||||
#endif
 | 
			
		||||
#if GLIBTOP_SUID_PROC_AFFINITY
 | 
			
		||||
	_glibtop_init_proc_affinity_p,
 | 
			
		||||
#endif
 | 
			
		||||
#if GLIBTOP_SUID_PPP
 | 
			
		||||
	_glibtop_init_ppp_p,
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,8 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	  libgtop_sysdeps_dir=freebsd
 | 
			
		||||
	  libgtop_use_machine_h=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'
 | 
			
		||||
	  ;;
 | 
			
		||||
	solaris*)
 | 
			
		||||
@@ -99,7 +101,7 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
 | 
			
		||||
	  libgtop_use_machine_h=yes
 | 
			
		||||
	  libgtop_need_server=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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										81
									
								
								po/ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								po/ChangeLog
									
									
									
									
									
								
							@@ -1,3 +1,84 @@
 | 
			
		||||
2008-10-19  Djihed Afifi <djihed@gmail.com> 
 | 
			
		||||
 | 
			
		||||
	* 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>
 | 
			
		||||
 | 
			
		||||
	* nn.po: Updated Norwegian Nynorsk translation
 | 
			
		||||
 | 
			
		||||
2008-03-16  Simos Xenitellis  <simos@gnome.org>
 | 
			
		||||
 | 
			
		||||
	* el.po: Updated Greek translation.
 | 
			
		||||
 | 
			
		||||
2008-03-09  Gabor Kelemen  <kelemeng@gnome.hu>
 | 
			
		||||
 | 
			
		||||
	* hu.po: Translation updated
 | 
			
		||||
 | 
			
		||||
2008-03-06  Marcel Telka  <marcel@telka.sk>
 | 
			
		||||
 | 
			
		||||
	* sk.po: Updated Slovak translation.
 | 
			
		||||
 | 
			
		||||
2008-02-26  Changwoo Ryu  <cwryu@debian.org>
 | 
			
		||||
 | 
			
		||||
	* ko.po: Updated Korean translation.
 | 
			
		||||
 | 
			
		||||
2008-02-14  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>
 | 
			
		||||
 | 
			
		||||
        * zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ sk
 | 
			
		||||
sl
 | 
			
		||||
sq
 | 
			
		||||
sr
 | 
			
		||||
sr@Latn
 | 
			
		||||
sr@latin
 | 
			
		||||
sv
 | 
			
		||||
ta
 | 
			
		||||
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.
 | 
			
		||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
 | 
			
		||||
#
 | 
			
		||||
@@ -8,17 +8,17 @@
 | 
			
		||||
# Khaled Hosny <khaledhosny@eglug.org>, 2006, 2008.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop.HEAD.ar\n"
 | 
			
		||||
"Project-Id-Version: libgtop.HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2007-08-26 14:20-0700\n"
 | 
			
		||||
"PO-Revision-Date: 2008-01-11 23:29+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2008-01-12 01:07+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-28 19:26+0300\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"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: KBabel 1.11.4\n"
 | 
			
		||||
"Plural-Forms:  nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5;\n"
 | 
			
		||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
@@ -27,9 +27,9 @@ msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "قرأ صفر بايت"
 | 
			
		||||
msgstr[1] "قرأ بايت واحدة"
 | 
			
		||||
msgstr[2] "قرأ بايتين"
 | 
			
		||||
msgstr[3] "قرأ %d بايتات"
 | 
			
		||||
msgstr[4] "قرأ %d بايت"
 | 
			
		||||
msgstr[5] "قرأ %d بايت"
 | 
			
		||||
msgstr[3] "قرأ %Id بايتات"
 | 
			
		||||
msgstr[4] "قرأ %Id بايت"
 | 
			
		||||
msgstr[5] "قرأ %Id بايت"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
@@ -53,9 +53,9 @@ msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "كتب صفر بايت"
 | 
			
		||||
msgstr[1] "كتب بايت واحدة"
 | 
			
		||||
msgstr[2] "كتب بايتين"
 | 
			
		||||
msgstr[3] "كتب %d بايتات"
 | 
			
		||||
msgstr[4] "كتب %d بايت"
 | 
			
		||||
msgstr[5] "كتب %d بايت"
 | 
			
		||||
msgstr[3] "كتب %Id بايتات"
 | 
			
		||||
msgstr[4] "كتب %Id بايت"
 | 
			
		||||
msgstr[5] "كتب %Id بايت"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
@@ -78,158 +78,127 @@ msgstr "استُحضرت من inetd "
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr "شغّل '%s --help' لرؤية قائمة كاملة لخيارات سطر الأوامر.\n"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "علّق"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "قاطِع"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "اخرج"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "توجيه ممنوع"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "تتبع الأثر"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "اجهض"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "خطأ EMT"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "استثناء أرقام عشرية"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "اقتل"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "خطأ في ناقل"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "انتهاك اﻻنقسام"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "معطى سيء لنداء النظام"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "أنبوب مكسور"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "ساعة منبهة"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "إنهاء"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "حالة عاجلة عند المقبس"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "قف"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "إيقاف من لوحة المفاتيح"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "تابع"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "تغيرت حالة الابن"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "قراءة من tty في الخلفية"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "كتابة لـ tty في الخلفية"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "الدخْل/الخرْج ممكن الآن"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "تجاوز حد الـمعالج"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "تجاوز حد حجم الملف"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "ساعة تنبيه تخيّلية"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "تشخيص ساعة التنبيه"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "تغير حجم النافذة"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "طلب معلومات"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "إشارة 1 معرفة من طرف المستخدم"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57
 | 
			
		||||
#: ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "إشارة 2 معرفة من طرف المستخدم"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										115
									
								
								po/el.po
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								po/el.po
									
									
									
									
									
								
							@@ -19,7 +19,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: el\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2008-03-16 17:03+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2005-02-18 13:40+0200\n"
 | 
			
		||||
"Last-Translator: Kostas Papadimas <pkst@gnome.org>\n"
 | 
			
		||||
"Language-Team: Greek <nls@tux.hellug.gr>\n"
 | 
			
		||||
@@ -29,195 +29,188 @@ msgstr ""
 | 
			
		||||
"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"X-Generator: KBabel 1.3.1\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "ανάγνωση %d byte"
 | 
			
		||||
msgstr[1] "ανάγνωση %d bytes"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "ανάγνωση μεγέθους δεδομένων"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "ανάγνωση %lu byte δεδομένων"
 | 
			
		||||
msgstr[1] "ανάγνωση %lu bytes δεδομένων"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "εγγραφή %d byte"
 | 
			
		||||
msgstr[1] "εγγραφή %d bytes"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Ενεργοποίηση εκσφαλμάτωσης"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "ΕΚΣΦΑΛΜΑΤΩΣΗ"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Ενεργοποίηση περιφραστικής εξόδου"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Να μη γίνει δικράνωση στο παρασκήνιο"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "ΧΩΡΊΣ-ΔΑΊΜΟΝΑ"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Εκτελεσμένο από το inetd"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Σφάλμα στην επιλογή %s: %s.\n"
 | 
			
		||||
"Εκτελέστε '%s --help' για να δείτε μια πλήρη λίστα των διαθέσιμων επιλογών "
 | 
			
		||||
"της γραμμής εντολών.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "Αποτελμάτωση"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "Διακοπή"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Έξοδος"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Ακατάλληλη εντολή"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "Παγίδευση παρακολούθησης"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Αποβολή"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "Σφάλμα EMT"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "Εξαίρεση κιν. υποδιαστολής"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Σκότωμα"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "Σφάλμα διαύλου"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "Παραβίαση τμηματοποίησης"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "Ακατάλληλο όρισμα σε κλήση συστήματος"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Διακοπείσα σωλήνωση"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "Ξυπνητήρι"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Τερματισμός"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "Επείγουσα συνθήκη σε υποδοχέα"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "Διακοπή"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "Διακοπή πληκτρολογίου"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "Συνέχεια"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "Η κατάσταση θυγατρικής διεργασίας έχει αλλάξει"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "Ανάγνωση παρασκηνίου από tty"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "Εγγραφή παρασκηνίου σε tty"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "Η Ε/Ε είναι τώρα δυνατή"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "Το όριο ΚΜΕ έχει ξεπεραστεί"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "Το όριο μεγέθους αρχείου έχει ξεπεραστεί"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "Ιδεατό ξυπνητήρι"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Έλεγχος απόδοσης ξυπνητηριού"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "Αλλαγή μεγέθους παραθύρου"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Αίτηση πληροφορίας"
 | 
			
		||||
 | 
			
		||||
# sysdeps/names/procsignal.c:49
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "Σήμα 1 οριζόμενο από το χρήστη"
 | 
			
		||||
 | 
			
		||||
# sysdeps/names/procsignal.c:49
 | 
			
		||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "Σήμα 2 οριζόμενο από το χρήστη"
 | 
			
		||||
 | 
			
		||||
#~ msgid "DEBUG"
 | 
			
		||||
#~ msgstr "ΕΚΣΦΑΛΜΑΤΩΣΗ"
 | 
			
		||||
 | 
			
		||||
#~ msgid "VERBOSE"
 | 
			
		||||
#~ msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#~ msgid "NO-DAEMON"
 | 
			
		||||
#~ msgstr "ΧΩΡΊΣ-ΔΑΊΜΟΝΑ"
 | 
			
		||||
 | 
			
		||||
#~ msgid "INETD"
 | 
			
		||||
#~ msgstr "INETD"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										137
									
								
								po/hr.po
									
									
									
									
									
								
							
							
						
						
									
										137
									
								
								po/hr.po
									
									
									
									
									
								
							@@ -5,207 +5,188 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop 0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2004-02-05 23:51+CET\n"
 | 
			
		||||
"Last-Translator: auto\n"
 | 
			
		||||
"POT-Creation-Date: 2008-03-11 15:24+0000\n"
 | 
			
		||||
"PO-Revision-Date: 2007-06-19 23:43+0000\n"
 | 
			
		||||
"Last-Translator: Ante Karamatić <ivoks@grad.hr>\n"
 | 
			
		||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\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 && n%"
 | 
			
		||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 | 
			
		||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 | 
			
		||||
"X-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
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "čitaj %d bajt"
 | 
			
		||||
msgstr[1] "čitaj %d bajtova"
 | 
			
		||||
msgstr[2] ""
 | 
			
		||||
msgstr[0] "čitaj %d byte"
 | 
			
		||||
msgstr[1] "čitaj %d bytea"
 | 
			
		||||
msgstr[2] "čitaj %d byteova"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "veličina pročitanih podataka"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "čitaj %d bajt"
 | 
			
		||||
msgstr[1] "čitaj %d bajtova"
 | 
			
		||||
msgstr[2] ""
 | 
			
		||||
msgstr[0] "čitaj %lu byte podataka"
 | 
			
		||||
msgstr[1] "čitaj %lu bytea podataka"
 | 
			
		||||
msgstr[2] "čitaj %lu byteova podataka"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "piši %d bajt"
 | 
			
		||||
msgstr[1] "piši %d bajtova"
 | 
			
		||||
msgstr[2] ""
 | 
			
		||||
msgstr[0] "zapisao %d byte"
 | 
			
		||||
msgstr[1] "zapisao %d bytea"
 | 
			
		||||
msgstr[2] "zapisao %d byteova"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Omogućavanje debugiranja"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "Uklanjanje grešaka"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Omogući opširni izlaz"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "OPŠIRNO"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Bez forkanja u pozadini"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Pozvano iz inetda"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Greška na opciji %s: %s.\n"
 | 
			
		||||
"Pokrenite '%s --help' za potpuni popis svih opcija mogućih u naredbenoj "
 | 
			
		||||
"liniji.\n"
 | 
			
		||||
msgstr "Pokrenite naredbu '%s --help' kako biste vidjeli popis dostupnih opcija.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Prekid"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Budilica"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Korisnički definiran signal 2"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								po/hu.po
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								po/hu.po
									
									
									
									
									
								
							@@ -1,19 +1,19 @@
 | 
			
		||||
# Hungarian translation of libgtop.
 | 
			
		||||
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
 | 
			
		||||
# This file is distributed under the same license as the libgtop package.
 | 
			
		||||
#
 | 
			
		||||
# Robert Vanyi <robi@mora.u-szeged.hu>, 2000, 2001.
 | 
			
		||||
# Andras Timar <timar@gnome.hu>, 2002, 2003.
 | 
			
		||||
# Laszlo Dvornik <dvornik@gnome.hu>, 2004.
 | 
			
		||||
# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005, 2007.
 | 
			
		||||
# Gabor Kelemen <kelemeng@gnome.hu>, 2004, 2005, 2007, 2008.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2007-09-13 23:08+0200\n"
 | 
			
		||||
"POT-Creation-Date: 2007-09-13 23:10+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2008-03-09 22:02+0100\n"
 | 
			
		||||
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 | 
			
		||||
"Language-Team: Hungarian <gnome@gnome.hu>\n"
 | 
			
		||||
"Language-Team: Hungarian <gnome@fsf.hu>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
@@ -64,7 +64,7 @@ msgstr "inetd-ből indítva"
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr "Futtassa a(z) \"%s --help\" parancsot a parancssori kapcsolók listájáért.\n"
 | 
			
		||||
msgstr "Futtassa a(z) „%s --help” parancsot a parancssori kapcsolók listájáért.\n"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										124
									
								
								po/ko.po
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								po/ko.po
									
									
									
									
									
								
							@@ -1,13 +1,13 @@
 | 
			
		||||
# libgtop ko.po
 | 
			
		||||
# Sung-Hyun Nam <namsh@lgic.co.kr>, 1998
 | 
			
		||||
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005.
 | 
			
		||||
# Changwoo Ryu <cwryu@debian.org>, 2002, 2004, 2005, 2008.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop 2.9.92\n"
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2005-02-18 21:24+0900\n"
 | 
			
		||||
"POT-Creation-Date: 2008-02-26 19:13+0900\n"
 | 
			
		||||
"PO-Revision-Date: 2008-02-26 19:13+0900\n"
 | 
			
		||||
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 | 
			
		||||
"Language-Team: GNOME Korea <gnome-kr-hackers@lists.kldp.net>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -15,189 +15,181 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=1; plural=0;\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "%d바이트 읽음"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "데이타 크기 읽음"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "데이터 %lu바이트 읽음"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "%d바이트 씀"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "디버깅 사용"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "디버그"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "많은 출력 사용"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "백그라운드로 실행 안 함"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "inetd에 의해 불림"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"옵션 %s에 에러: %s.\n"
 | 
			
		||||
"실행 가능한 명령행 옵션을 모두 보려면 '%s --help'라고 실행하십시오.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr "사용할 수 있는 명령행 옵션을 모두 보려면 '%s --help'라고 실행하십시오.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "끊어짐"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "인터럽트"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "끝내기"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "잘못된 기계명령"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "추적 트랩"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "중지"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "EMT 에러"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "실수연산 예외"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "죽임"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "버스 에러"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "세그먼테이션 위반"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "시스템 콜에 잘못된 인자"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "깨진 파이프"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "알람 클럭"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Termination"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "소켓에 위급한 조건"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "중지"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "키보드 중지"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "계속"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "하위 프로세스 상태가 바뀌었습니다"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "tty에서 백그라운드 읽기"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "tty로 백그라운드 쓰기"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "I/O 이제 가능"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "CPU 한계 초과"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "파일 크기 한계 초과"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "가상 알람 클럭"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Profiling 알람 클럭"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "창 크기 바뀜"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "정보 요청"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "사용자 정의 신호 1"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "사용자 정의 신호 2"
 | 
			
		||||
 | 
			
		||||
#~ msgid "DEBUG"
 | 
			
		||||
#~ msgstr "디버그"
 | 
			
		||||
 | 
			
		||||
#~ msgid "VERBOSE"
 | 
			
		||||
#~ msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#~ msgid "NO-DAEMON"
 | 
			
		||||
#~ msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#~ msgid "INETD"
 | 
			
		||||
#~ msgstr "INETD"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										131
									
								
								po/nn.po
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								po/nn.po
									
									
									
									
									
								
							@@ -9,202 +9,195 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: nn\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2004-03-23 12:02+0100\n"
 | 
			
		||||
"Last-Translator: Åsmund Skjæveland\n"
 | 
			
		||||
"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
 | 
			
		||||
"POT-Creation-Date: 2008-04-04 13:45+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2008-04-04 13:45+0200\n"
 | 
			
		||||
"Last-Translator: Eskild Hustvedt <eskildh@gnome.org>\n"
 | 
			
		||||
"Language-Team: Norwegian Nynorsk <i18n-no@lister.ping.uio.no>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: KBabel 1.3.1\n"
 | 
			
		||||
"X-Generator: VIM\n"
 | 
			
		||||
"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "las %d byte"
 | 
			
		||||
msgstr[1] "las %d byte"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "lesestorleik på data"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "las %d byte"
 | 
			
		||||
msgstr[1] "las %d byte"
 | 
			
		||||
msgstr[0] "las %d byte data"
 | 
			
		||||
msgstr[1] "las %d byte data"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#, fuzzy, c-format
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "skriv %d byte"
 | 
			
		||||
msgstr[1] "skriv %d byte"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Skru på feilsøking"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "FEILSØK"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Skru på ordrike utdata"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "ORDRIK"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Ikkje fork av inn i bakgrunnen"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "UTAN-NISSE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Starta frå inetd"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Feil på valet «%s»: %s.\n"
 | 
			
		||||
"Køyr «%s --help» for å sjå full liste over tilgjengelege kommandlinjeval.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "Legg på"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "Avbrot"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Avslutt"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Ulovleg instruksjon."
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "Sporingsfelle"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Avbryt"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "EMT-feil"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "Flyttaluttrykk"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Drep"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "Bussfeil"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "Segmenteringsovertramp"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "Ugyldig argument til systemkall"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Brote røyr"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "Alarmklokke"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Avlustting"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "Hastesituasjon på sokkelen"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "Stopp"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "Tastaturstopp"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "Fortset"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "Status på born er endra"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "Les frå tty i bakgrunnen"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "Skriv til tty i bakgrunnen"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "I/O no mogleg"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "CPU-grense passert"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "Filstorleikgrense passert"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "Virtuel alarmklokke"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Profilerer alarmklokke"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "Endring i vindaugsstorleik"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Informasjonsførespurnad"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "Eigendefinert 1"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "Eigendefinert 2"
 | 
			
		||||
 | 
			
		||||
#~ msgid "DEBUG"
 | 
			
		||||
#~ msgstr "FEILSØK"
 | 
			
		||||
 | 
			
		||||
#~ msgid "VERBOSE"
 | 
			
		||||
#~ msgstr "ORDRIK"
 | 
			
		||||
 | 
			
		||||
#~ msgid "NO-DAEMON"
 | 
			
		||||
#~ msgstr "UTAN-NISSE"
 | 
			
		||||
 | 
			
		||||
#~ msgid "INETD"
 | 
			
		||||
#~ msgstr "INETD"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								po/oc.po
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								po/oc.po
									
									
									
									
									
								
							@@ -7,7 +7,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: oc\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2008-02-19 20:26+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2008-03-07 10:22+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2007-11-20 14:32+0100\n"
 | 
			
		||||
"Last-Translator: Yannig Marchegay (Kokoyaya) <yannig@marchegay.org>\n"
 | 
			
		||||
"Language-Team: Occitan (post 1500) <ubuntu-l10n-oci@lists.ubuntu.com>\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -10,8 +10,8 @@ msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2007-07-21 14:34-0300\n"
 | 
			
		||||
"PO-Revision-Date: 2007-07-21 14:37-0300\n"
 | 
			
		||||
"Last-Translator: Og Maciel <ogmaciel@gnome.org>\n"
 | 
			
		||||
"PO-Revision-Date: 2008-07-24 13:23-0300\n"
 | 
			
		||||
"Last-Translator: Vladimir Melo <vladimirmelo.psi@gmail.com>\n"
 | 
			
		||||
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
 | 
			
		||||
"MIME-Version: 1.0\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
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Encerrar"
 | 
			
		||||
msgstr "Sair"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										65
									
								
								po/ro.po
									
									
									
									
									
								
							
							
						
						
									
										65
									
								
								po/ro.po
									
									
									
									
									
								
							@@ -1,14 +1,14 @@
 | 
			
		||||
# Romanian translation for libgtop
 | 
			
		||||
# Copyright (C) 2003 - 2007, Free Software Foundation, Inc.
 | 
			
		||||
# Mişu Moldovan <dumol@gnome.ro>, 2003 - 2007.
 | 
			
		||||
# Copyright (C) 2003 - 2008, Free Software Foundation, Inc.
 | 
			
		||||
# Mișu Moldovan <dumol@gnome.ro>, 2003 - 2008.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2007-09-12 01:20+0300\n"
 | 
			
		||||
"Last-Translator: Mişu Moldovan <dumol@gnome.ro>\n"
 | 
			
		||||
"POT-Creation-Date: 2007-09-13 08:49+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2008-09-18 22:36+0300\n"
 | 
			
		||||
"Last-Translator: Mișu Moldovan <dumol@gnome.ro>\n"
 | 
			
		||||
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
@@ -20,9 +20,9 @@ msgstr ""
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "citeşte %d octet"
 | 
			
		||||
msgstr[1] "citeşte %d octeţi"
 | 
			
		||||
msgstr[2] "citeşte %d de octeţi"
 | 
			
		||||
msgstr[0] "s-a citit un octet"
 | 
			
		||||
msgstr[1] "s-au citit %d octeți"
 | 
			
		||||
msgstr[2] "s-au citit %d de octeți"
 | 
			
		||||
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
@@ -32,17 +32,17 @@ msgstr "mărime date citire"
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "citeşte %lu octet de date"
 | 
			
		||||
msgstr[1] "citeşte %lu octeţi de date"
 | 
			
		||||
msgstr[2] "citeşte %lu de octeţi de date"
 | 
			
		||||
msgstr[0] "s-a citit un octet de date"
 | 
			
		||||
msgstr[1] "s-au citit %lu octeți de date"
 | 
			
		||||
msgstr[2] "s-au citit %lu de octeți de date"
 | 
			
		||||
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "a scris %d octet"
 | 
			
		||||
msgstr[1] "a scris %d octeţi"
 | 
			
		||||
msgstr[2] "a scris %d de octeţi"
 | 
			
		||||
msgstr[0] "s-a scris un octet"
 | 
			
		||||
msgstr[1] "s-au scris %d octeți"
 | 
			
		||||
msgstr[2] "s-au scris %d de octeți"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
@@ -50,7 +50,7 @@ msgstr "Activare depanare"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Mesaje de ieşire explicite"
 | 
			
		||||
msgstr "Mesaje de ieșire explicite"
 | 
			
		||||
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
@@ -63,7 +63,7 @@ msgstr "Pornit de inetd"
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
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
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
@@ -75,11 +75,11 @@ msgstr "Întrerupere"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Ieşire"
 | 
			
		||||
msgstr "Ieșire"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Instrucţiune ilegală"
 | 
			
		||||
msgstr "Instrucțiune ilegală"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
@@ -87,7 +87,7 @@ msgstr "Punct de oprire întâlnit"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Renunţă"
 | 
			
		||||
msgstr "Renunță"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
@@ -95,7 +95,7 @@ msgstr "Eroare EMT"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
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
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
@@ -111,11 +111,11 @@ msgstr "Violare a segmentului"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
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
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Filtru nefuncţional"
 | 
			
		||||
msgstr "Filtru nefuncțional"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
@@ -127,7 +127,7 @@ msgstr "Terminare"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
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
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
@@ -155,15 +155,15 @@ msgstr "Scriere în fundal către tty"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
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
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "Limită depăşită CPU"
 | 
			
		||||
msgstr "Limită depășită CPU"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Cerere de informaţie"
 | 
			
		||||
msgstr "Cerere de informație"
 | 
			
		||||
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
@@ -189,14 +189,3 @@ msgstr "Semnal 1 definit de utilizator"
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
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/sk.po
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								po/sk.po
									
									
									
									
									
								
							@@ -1,15 +1,13 @@
 | 
			
		||||
# libgtop sk.po
 | 
			
		||||
# Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 | 
			
		||||
# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004.
 | 
			
		||||
#
 | 
			
		||||
# $Id$
 | 
			
		||||
# Copyright (C) 2001, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
 | 
			
		||||
# Marcel Telka <marcel@telka.sk>, 2001, 2002, 2003, 2004, 2008.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2004-12-29 10:21+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2008-03-06 22:12+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2008-03-06 22:12+0100\n"
 | 
			
		||||
"Last-Translator: Marcel Telka <Marcel@telka.sk>\n"
 | 
			
		||||
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -17,7 +15,7 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
@@ -25,11 +23,11 @@ msgstr[0] "načítaných %d bajtov"
 | 
			
		||||
msgstr[1] "načítaný %d bajt"
 | 
			
		||||
msgstr[2] "načítané %d bajty"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "veľkosť načítaných dát"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
@@ -37,7 +35,7 @@ msgstr[0] "načítaných %lu bajtov dát"
 | 
			
		||||
msgstr[1] "načítaný %lu bajt dát"
 | 
			
		||||
msgstr[2] "načítané %lu bajty dát"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
@@ -45,168 +43,149 @@ msgstr[0] "zapísaných %d bajtov"
 | 
			
		||||
msgstr[1] "zapísaný %d bajt"
 | 
			
		||||
msgstr[2] "zapísané %d bajty"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Povoliť ladenie"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "LADENIE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Povoliť detailný výpis"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "DETAILNE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Nerozvetvuj sa do pozadia"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Vyvolaný cez inetd"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Chyba vo voľbe %s: %s.\n"
 | 
			
		||||
"Výpis všetkých dostupných volieb príkazového riadku získate spustením '%s --"
 | 
			
		||||
"help'.\n"
 | 
			
		||||
"Spustite '%s --help', aby ste videli úplný zoznam dostupných volieb "
 | 
			
		||||
"príkazového riadku.\n"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
 | 
			
		||||
msgid "Hangup"
 | 
			
		||||
msgstr "Zavesenie"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
msgstr "Prerušenie"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
msgstr "Ukončiť"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
 | 
			
		||||
msgid "Illegal instruction"
 | 
			
		||||
msgstr "Neplatná inštrukcia"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
 | 
			
		||||
msgid "Trace trap"
 | 
			
		||||
msgstr "Ladiaci bod"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
 | 
			
		||||
msgid "Abort"
 | 
			
		||||
msgstr "Prerušiť"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
 | 
			
		||||
msgid "EMT error"
 | 
			
		||||
msgstr "Chyba EMT"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
 | 
			
		||||
msgid "Floating-point exception"
 | 
			
		||||
msgstr "Výnimka pri práci s pohyblivou rádovou čiarkou"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Zabiť"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
msgstr "Chyba na spoji"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
 | 
			
		||||
msgid "Segmentation violation"
 | 
			
		||||
msgstr "Chyba segmentácie"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
 | 
			
		||||
msgid "Bad argument to system call"
 | 
			
		||||
msgstr "Nesprávny argument v systémvom volaní"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
 | 
			
		||||
msgid "Broken pipe"
 | 
			
		||||
msgstr "Prerušená rúra"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
 | 
			
		||||
msgid "Alarm clock"
 | 
			
		||||
msgstr "Budík"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
msgstr "Ukončenie"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
 | 
			
		||||
msgid "Urgent condition on socket"
 | 
			
		||||
msgstr "Naliehavá situácia na zásuvke"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
 | 
			
		||||
msgid "Stop"
 | 
			
		||||
msgstr "Zastaviť"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
 | 
			
		||||
msgid "Keyboard stop"
 | 
			
		||||
msgstr "Prerušenie klávesnice"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
 | 
			
		||||
msgid "Continue"
 | 
			
		||||
msgstr "Pokračovanie"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
 | 
			
		||||
msgid "Child status has changed"
 | 
			
		||||
msgstr "Stav potomka bol zmenený"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
 | 
			
		||||
msgid "Background read from tty"
 | 
			
		||||
msgstr "Čítanie z tty na pozadí"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
 | 
			
		||||
msgid "Background write to tty"
 | 
			
		||||
msgstr "Zápis do tty na pozadí"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
 | 
			
		||||
msgid "I/O now possible"
 | 
			
		||||
msgstr "V/V je možné"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
 | 
			
		||||
msgid "CPU limit exceeded"
 | 
			
		||||
msgstr "Prekročený limit procesora"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
 | 
			
		||||
msgid "File size limit exceeded"
 | 
			
		||||
msgstr "Prekročený limit veľkosti súboru"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
 | 
			
		||||
msgid "Virtual alarm clock"
 | 
			
		||||
msgstr "Virtuálny budík"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
 | 
			
		||||
msgid "Profiling alarm clock"
 | 
			
		||||
msgstr "Nastavenie budíka"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
 | 
			
		||||
msgid "Window size change"
 | 
			
		||||
msgstr "Zmena veľkosti okna"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
 | 
			
		||||
msgid "Information request"
 | 
			
		||||
msgstr "Požiadavka na informáciu"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
 | 
			
		||||
msgid "User defined signal 1"
 | 
			
		||||
msgstr "Používateľom definovaný signál 1"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
 | 
			
		||||
msgid "User defined signal 2"
 | 
			
		||||
msgstr "Používateľom definovaný signál 2"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										115
									
								
								po/sq.po
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								po/sq.po
									
									
									
									
									
								
							@@ -1,207 +1,188 @@
 | 
			
		||||
# Përkthimi i mesazheve të libgtop në shqip
 | 
			
		||||
# This file is distributed under the same license as the libgtop package.
 | 
			
		||||
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
 | 
			
		||||
# Laurent Dhima <laurenti@alblinux.net>, 2003, 2004, 2005.
 | 
			
		||||
# Copyright (C) 2003-2008 Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# Laurent Dhima <laurenti@alblinux.net>, 2003-2008.
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop HEAD\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2005-02-14 13:23+0100\n"
 | 
			
		||||
"POT-Creation-Date: 2007-05-14 03:41+0100\n"
 | 
			
		||||
"PO-Revision-Date: 2008-09-20 12:25+0200\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"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "u lexua %d byte"
 | 
			
		||||
msgstr[1] "u lexuan %d bytes"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "madhësia e të dhënave të lexuara"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "u lexua %lu byte me të dhëna"
 | 
			
		||||
msgstr[1] "u lexuan %lu bytes me të dhëna"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "u shkrua %d byte"
 | 
			
		||||
msgstr[1] "u shkruan %d bytes"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Aktivo proçesin e kontrollit"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "DEBUG"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Aktivo output e hollësishëm"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "VERBOSE"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Mos kryej fork në background"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "NO-DAEMON"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Thërritur nga inetd"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Gabim në opcionin %s: %s.\n"
 | 
			
		||||
"Zbato '%s --help' për të shikuar listën e plotë të opcioneve të komandës.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr "Zbato '%s --help' për të shikuar listën e plotë të opsioneve 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"
 | 
			
		||||
msgstr "Mbylle"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
 | 
			
		||||
msgid "Interrupt"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Floating-point exception"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
 | 
			
		||||
msgid "Kill"
 | 
			
		||||
msgstr "Vrit"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
 | 
			
		||||
msgid "Bus error"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Alarmi"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
 | 
			
		||||
msgid "Termination"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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.
 | 
			
		||||
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
 | 
			
		||||
# Ö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 ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: libgtop\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2005-09-25 18:15+0200\n"
 | 
			
		||||
"PO-Revision-Date: 2004-05-14 18:09+0300\n"
 | 
			
		||||
"POT-Creation-Date: 2008-09-14 02:30+0300\n"
 | 
			
		||||
"PO-Revision-Date: 2008-09-14 02:31+0300\n"
 | 
			
		||||
"Last-Translator: Baris Cicek <baris@teamforce.name.tr>\n"
 | 
			
		||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
@@ -17,192 +17,183 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=1; plural=0;\n"
 | 
			
		||||
 | 
			
		||||
#: lib/read.c:65
 | 
			
		||||
#: ../lib/read.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %d byte"
 | 
			
		||||
msgid_plural "read %d bytes"
 | 
			
		||||
msgstr[0] "%d bayt oku"
 | 
			
		||||
msgstr[1] "%d bayt oku"
 | 
			
		||||
msgstr[0] "%d bayt okundu"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:53
 | 
			
		||||
#: ../lib/read_data.c:51
 | 
			
		||||
msgid "read data size"
 | 
			
		||||
msgstr "okunan veri miktarı"
 | 
			
		||||
 | 
			
		||||
#: lib/read_data.c:72
 | 
			
		||||
#: ../lib/read_data.c:70
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "read %lu byte of data"
 | 
			
		||||
msgid_plural "read %lu bytes of data"
 | 
			
		||||
msgstr[0] "%lu bayt oku"
 | 
			
		||||
msgstr[1] "%lu bayt oku"
 | 
			
		||||
msgstr[0] "%lu bayt okundu"
 | 
			
		||||
 | 
			
		||||
#: lib/write.c:52
 | 
			
		||||
#: ../lib/write.c:51
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid "wrote %d byte"
 | 
			
		||||
msgid_plural "wrote %d bytes"
 | 
			
		||||
msgstr[0] "%d bayt yaz"
 | 
			
		||||
msgstr[1] "%d bayt yaz"
 | 
			
		||||
msgstr[0] "%d bayt yazıldı"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
#: ../src/daemon/gnuserv.c:458
 | 
			
		||||
msgid "Enable debugging"
 | 
			
		||||
msgstr "Hata ayıklamayı etkinleştir"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "DEBUG"
 | 
			
		||||
msgstr "HATA AYIKLA"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
#: ../src/daemon/gnuserv.c:460
 | 
			
		||||
msgid "Enable verbose output"
 | 
			
		||||
msgstr "Detaylı çıktıyı etkinleştir"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "VERBOSE"
 | 
			
		||||
msgstr "DETAYLI"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
#: ../src/daemon/gnuserv.c:462
 | 
			
		||||
msgid "Don't fork into background"
 | 
			
		||||
msgstr "Arkaplana çatallama"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "NO-DAEMON"
 | 
			
		||||
msgstr "SERVİS-YOK"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
#: ../src/daemon/gnuserv.c:464
 | 
			
		||||
msgid "Invoked from inetd"
 | 
			
		||||
msgstr "Inetd'den çalıştırıldı"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:466
 | 
			
		||||
msgid "INETD"
 | 
			
		||||
msgstr "INETD"
 | 
			
		||||
 | 
			
		||||
#: src/daemon/gnuserv.c:500
 | 
			
		||||
#: ../src/daemon/gnuserv.c:498
 | 
			
		||||
#, c-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Error on option %s: %s.\n"
 | 
			
		||||
"Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgid "Run '%s --help' to see a full list of available command line options.\n"
 | 
			
		||||
msgstr ""
 | 
			
		||||
"%s seçeneğinde hata: %s.\n"
 | 
			
		||||
"Kullanılabilecek tüm seçenekleri görmek için '%s --help' yazın.\n"
 | 
			
		||||
"Mevcut tüm komut satırı seçeneklerinin tam listesini görmek için '%s --help' "
 | 
			
		||||
"ç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"
 | 
			
		||||
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"
 | 
			
		||||
msgstr "Kesme"
 | 
			
		||||
 | 
			
		||||
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
 | 
			
		||||
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
 | 
			
		||||
msgid "Quit"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
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"
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ void
 | 
			
		||||
do_output (int s, glibtop_response *resp, off_t offset,
 | 
			
		||||
	   size_t data_size, const void *data)
 | 
			
		||||
{
 | 
			
		||||
#ifdef REAL_DEBUG
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	fprintf (stderr, "Really writing %d bytes at offset %lu.\n",
 | 
			
		||||
		 sizeof (glibtop_response), offset);
 | 
			
		||||
#endif
 | 
			
		||||
@@ -44,7 +44,7 @@ do_output (int s, glibtop_response *resp, off_t offset,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (resp->data_size) {
 | 
			
		||||
#ifdef REAL_DEBUG
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "Writing %d bytes of data.\n", resp->data_size);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -88,7 +88,7 @@ do_read (int s, void *ptr, size_t total_size)
 | 
			
		||||
		tmp_ptr += nread;
 | 
			
		||||
		ptr = tmp_ptr;
 | 
			
		||||
 | 
			
		||||
#ifdef REAL_DEBUG
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
		fprintf (stderr, "READ (%d): %d - %d - %d\n",
 | 
			
		||||
			 nread, already_read, remaining, total_size);
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -53,6 +53,7 @@ GLIBTOP_SUID_PROC_MAP +
 | 
			
		||||
GLIBTOP_SUID_NETLOAD +
 | 
			
		||||
GLIBTOP_SUID_NETLIST +
 | 
			
		||||
GLIBTOP_SUID_PROC_WD +
 | 
			
		||||
GLIBTOP_SUID_PROC_AFFINITY +
 | 
			
		||||
GLIBTOP_SUID_PPP;
 | 
			
		||||
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -3,18 +3,18 @@ INCLUDES			= @INCLUDES@
 | 
			
		||||
 | 
			
		||||
noinst_LTLIBRARIES		= libgtop_common-2.0.la libgtop_suid_common-2.0.la
 | 
			
		||||
 | 
			
		||||
libgtop_common_2_0_la_SOURCES	= error.c gnuslib.c \
 | 
			
		||||
                                  procargs.c \
 | 
			
		||||
				  default.c
 | 
			
		||||
 | 
			
		||||
if !LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST
 | 
			
		||||
	libgtop_common_2_0_la_SOURCES += mountlist.c
 | 
			
		||||
mountlist_src = mountlist.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if !LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE
 | 
			
		||||
	libgtop_common_2_0_la_SOURCES += fsusage.c
 | 
			
		||||
fsusage_src = fsusage.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
libgtop_common_2_0_la_SOURCES	= error.c gnuslib.c \
 | 
			
		||||
                                  procargs.c \
 | 
			
		||||
				  default.c \
 | 
			
		||||
				  $(mountlist_src) $(fsusage_src)
 | 
			
		||||
 | 
			
		||||
# libgtop_common_2_0_la_LDFLAGS	= $(LT_VERSION_INFO)
 | 
			
		||||
libgtop_common_2_0_la_LIBADD	= $(LIBGTOP_EXTRA_LIBS)
 | 
			
		||||
 
 | 
			
		||||
@@ -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 \
 | 
			
		||||
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 \
 | 
			
		||||
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_PPP		(1 << GLIBTOP_SYSDEPS_PPP)
 | 
			
		||||
#define GLIBTOP_SUID_PROC_WD		(1 << GLIBTOP_SYSDEPS_PROC_WD)
 | 
			
		||||
#define GLIBTOP_SUID_PROC_AFFINITY	0
 | 
			
		||||
 | 
			
		||||
G_END_DECLS
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,6 @@
 | 
			
		||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
/* Copyright (C) 1998-99 Martin Baulig
 | 
			
		||||
   This file is part of LibGTop 1.0.
 | 
			
		||||
 | 
			
		||||
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
 | 
			
		||||
   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
 | 
			
		||||
@@ -21,16 +18,27 @@
 | 
			
		||||
   Boston, MA 02111-1307, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef __GLIBTOP_SERVER_PRIVATE_H__
 | 
			
		||||
#define __GLIBTOP_SERVER_PRIVATE_H__
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <glibtop/procaffinity.h>
 | 
			
		||||
#include <glibtop/error.h>
 | 
			
		||||
 | 
			
		||||
#include <glib.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
 | 
			
		||||
typedef struct _glibtop_server_private glibtop_server_private;
 | 
			
		||||
 | 
			
		||||
struct _glibtop_server_private
 | 
			
		||||
void
 | 
			
		||||
_glibtop_init_proc_affinity_s(glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
    GSList *backend_list;
 | 
			
		||||
};
 | 
			
		||||
  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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -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 \
 | 
			
		||||
				  cpu.c msg_limits.c sem_limits.c loadavg.c \
 | 
			
		||||
				  uptime.c netlist.c fsusage.c mem.c \
 | 
			
		||||
				  procopenfiles.c procwd.c \
 | 
			
		||||
				  glibtop_private.c
 | 
			
		||||
				  mountlist.c procopenfiles.c procwd.c \
 | 
			
		||||
				  procaffinity.c glibtop_private.c
 | 
			
		||||
 | 
			
		||||
libgtop_sysdeps_2_0_la_LDFLAGS	= $(LT_VERSION_INFO)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <sys/statvfs.h>
 | 
			
		||||
#if __FreeBSD_version >= 600000 || defined(__FreeBSD_kernel__)
 | 
			
		||||
#include <libgeom.h>
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
@@ -21,15 +22,13 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
 | 
			
		||||
                                        glibtop_fsusage *buf,
 | 
			
		||||
                                        const char *path);
 | 
			
		||||
static const unsigned long _glibtop_sysdeps_fsusage =
 | 
			
		||||
(1L << GLIBTOP_FSUSAGE_BLOCKS) + (1L << GLIBTOP_FSUSAGE_BFREE)
 | 
			
		||||
+ (1L << GLIBTOP_FSUSAGE_BAVAIL) + (1L << GLIBTOP_FSUSAGE_FILES)
 | 
			
		||||
+ (1L << GLIBTOP_FSUSAGE_FFREE) + (1L << GLIBTOP_FSUSAGE_BLOCK_SIZE);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
_glibtop_freebsd_get_fsusage_read_write(glibtop *server,
 | 
			
		||||
                                        glibtop_fsusage *buf,
 | 
			
		||||
                                        const char *path)
 | 
			
		||||
static void
 | 
			
		||||
_glibtop_get_fsusage_read_write (glibtop *server, glibtop_fsusage *buf, const char *path)
 | 
			
		||||
{
 | 
			
		||||
        int result;
 | 
			
		||||
        struct statfs sfs;
 | 
			
		||||
@@ -135,3 +134,28 @@ _glibtop_freebsd_get_fsusage_read_write(glibtop *server,
 | 
			
		||||
#endif
 | 
			
		||||
        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_NETLIST		0
 | 
			
		||||
#define GLIBTOP_SUID_PROC_WD		0
 | 
			
		||||
#define GLIBTOP_SUID_PROC_AFFINITY	0
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
#include <sys/pipe.h>
 | 
			
		||||
#include <sys/conf.h>
 | 
			
		||||
#undef _KERNEL
 | 
			
		||||
#if __FreeBSD_version >= 800038
 | 
			
		||||
#define _WANT_FILE
 | 
			
		||||
#include <sys/file.h>
 | 
			
		||||
#undef _WANT_FILE
 | 
			
		||||
#else
 | 
			
		||||
#define _KERNEL
 | 
			
		||||
#include <sys/file.h>
 | 
			
		||||
#undef _KERNEL
 | 
			
		||||
#endif
 | 
			
		||||
#define _KERNEL
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#include <ufs/ufs/quota.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,
 | 
			
		||||
	              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,
 | 
			
		||||
		      sizeof (priv)) != sizeof (priv))
 | 
			
		||||
		      sizeof (priv))
 | 
			
		||||
#endif
 | 
			
		||||
	    != sizeof (priv))
 | 
			
		||||
        {
 | 
			
		||||
                glibtop_warn_io_r (server, "kvm_read (si)");
 | 
			
		||||
                return;
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,13 @@
 | 
			
		||||
#include <glibtop/error.h>
 | 
			
		||||
#include <glibtop/procopenfiles.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/sysctl.h>
 | 
			
		||||
#include <sys/un.h>
 | 
			
		||||
#include <sys/user.h>
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
#include <arpa/inet.h>
 | 
			
		||||
#include <string.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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#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 *
 | 
			
		||||
parse_output(const char *output) {
 | 
			
		||||
	GArray *entries;
 | 
			
		||||
@@ -142,6 +206,39 @@ parse_output(const char *output) {
 | 
			
		||||
					  sizeof(entry.info.sock.dest_host));
 | 
			
		||||
			entry.info.sock.dest_port = atoi(remote_host[1]);
 | 
			
		||||
 | 
			
		||||
			g_strfreev(remote_host);
 | 
			
		||||
		} else if (!strcmp(ftype, "IPv6")) {
 | 
			
		||||
			char **hosts;
 | 
			
		||||
			char **remote_host;
 | 
			
		||||
 | 
			
		||||
			if (!strstr(fname, "->")) {
 | 
			
		||||
				remote_host = g_strsplit(fname, ":", 0);
 | 
			
		||||
			} else {
 | 
			
		||||
				hosts = g_strsplit(fname, "->", 0);
 | 
			
		||||
				if (g_strv_length(hosts) < 2) {
 | 
			
		||||
					g_strfreev(hosts);
 | 
			
		||||
					continue;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				remote_host = g_strsplit(hosts[1], "]", 0);
 | 
			
		||||
				g_strfreev(hosts);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (g_strv_length(remote_host) < 2) {
 | 
			
		||||
				g_strfreev(remote_host);
 | 
			
		||||
				continue;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
 | 
			
		||||
			if (!strcmp(remote_host[0], "*"))
 | 
			
		||||
				g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
 | 
			
		||||
					  sizeof(entry.info.sock.dest_host));
 | 
			
		||||
			else
 | 
			
		||||
				g_strlcpy(entry.info.sock.dest_host,
 | 
			
		||||
					  remote_host[0] + 1,
 | 
			
		||||
					  sizeof(entry.info.sock.dest_host));
 | 
			
		||||
			entry.info.sock.dest_port = atoi(remote_host[1] + 1);
 | 
			
		||||
 | 
			
		||||
			g_strfreev(remote_host);
 | 
			
		||||
		} else
 | 
			
		||||
			continue;
 | 
			
		||||
@@ -159,21 +256,108 @@ parse_output(const char *output) {
 | 
			
		||||
 | 
			
		||||
	return entries;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
glibtop_open_files_entry *
 | 
			
		||||
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;
 | 
			
		||||
#endif
 | 
			
		||||
	GArray *entries;
 | 
			
		||||
 | 
			
		||||
	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);
 | 
			
		||||
	if (output == NULL) return NULL;
 | 
			
		||||
 | 
			
		||||
	entries = parse_output(output);
 | 
			
		||||
 | 
			
		||||
	g_free(output);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	buf->flags = _glibtop_sysdeps_proc_open_files;
 | 
			
		||||
	buf->number = entries->len;
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,9 @@
 | 
			
		||||
#include <glibtop_private.h>
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/sysctl.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/user.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if (__FreeBSD_version >= 800000 && __FreeBSD_version < 800019) || _FreeBSD_version < 700104
 | 
			
		||||
static GPtrArray *
 | 
			
		||||
parse_output(const char *output, glibtop_proc_wd *buf)
 | 
			
		||||
{
 | 
			
		||||
@@ -89,12 +92,21 @@ parse_output(const char *output, glibtop_proc_wd *buf)
 | 
			
		||||
 | 
			
		||||
	return dirs;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
char**
 | 
			
		||||
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	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;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	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)))
 | 
			
		||||
		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);
 | 
			
		||||
	if (output != NULL) {
 | 
			
		||||
		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);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@
 | 
			
		||||
#include <glibtop/shm_limits.h>
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/sysctl.h>
 | 
			
		||||
 | 
			
		||||
static unsigned long _glibtop_sysdeps_shm_limits =
 | 
			
		||||
@@ -46,7 +47,11 @@ void
 | 
			
		||||
glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf)
 | 
			
		||||
{
 | 
			
		||||
	size_t len;
 | 
			
		||||
#if __FreeBSD_version < 700002
 | 
			
		||||
	int shmmax, shmmin, shmmni, shmseg, shmall;
 | 
			
		||||
#else
 | 
			
		||||
	unsigned long shmmax, shmmin, shmmni, shmseg, shmall;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	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 \
 | 
			
		||||
				  procsegment.c procargs.c procmap.c siglist.c \
 | 
			
		||||
				  sysinfo.c netload.c ppp.c glibtop_private.c \
 | 
			
		||||
				  mountlist.c \
 | 
			
		||||
				  mountlist.c  procaffinity.c \
 | 
			
		||||
				  fsusage.c netlist.c procopenfiles.c procwd.c
 | 
			
		||||
 | 
			
		||||
libgtop_sysdeps_2_0_la_LIBADD	=  @GLIB_LIBS@
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,7 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <mntent.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -25,66 +26,102 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static char *
 | 
			
		||||
get_partition(const char *mountpoint)
 | 
			
		||||
static gboolean
 | 
			
		||||
get_device(glibtop* server, const char *mountpoint,
 | 
			
		||||
	   char* device, size_t device_size)
 | 
			
		||||
{
 | 
			
		||||
	FILE *partitions;
 | 
			
		||||
	char *name = NULL;
 | 
			
		||||
	char line[1024];
 | 
			
		||||
	struct stat statb;
 | 
			
		||||
	const struct mntent *mnt;
 | 
			
		||||
	FILE *fp;
 | 
			
		||||
	gboolean found = FALSE;
 | 
			
		||||
 | 
			
		||||
	if(stat(mountpoint, &statb) == -1)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
	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;
 | 
			
		||||
	if (!(fp = setmntent(MOUNTED, "r"))) {
 | 
			
		||||
		glibtop_warn_io_r(server, "Could not open %s", MOUNTED);
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	fclose(partitions);
 | 
			
		||||
	return name;
 | 
			
		||||
	while ((mnt = getmntent(fp)))
 | 
			
		||||
	{
 | 
			
		||||
		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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
get_sys_path(const char *device, char **stat_path, const char **parse_format)
 | 
			
		||||
/*
 | 
			
		||||
  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)
 | 
			
		||||
{
 | 
			
		||||
	if(g_str_has_prefix(device, "hd") || g_str_has_prefix(device, "sd"))
 | 
			
		||||
	{
 | 
			
		||||
		char *prefix;
 | 
			
		||||
		char *path;
 | 
			
		||||
		size_t offset;
 | 
			
		||||
	g_strlcpy(prefix, device, prefix_size);
 | 
			
		||||
 | 
			
		||||
		offset = strcspn(device, "0123456789");
 | 
			
		||||
	for ( ; *prefix; prefix++) {
 | 
			
		||||
		if (isdigit(*prefix)) {
 | 
			
		||||
			*prefix = '\0';
 | 
			
		||||
			return TRUE;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
		prefix = g_strdup(device);
 | 
			
		||||
		prefix [offset] = '\0';
 | 
			
		||||
	return FALSE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		path = g_strdup_printf("/sys/block/%s/%s/stat",
 | 
			
		||||
				       prefix, device);
 | 
			
		||||
 | 
			
		||||
		g_free(prefix);
 | 
			
		||||
/*
 | 
			
		||||
  Bug #539360.
 | 
			
		||||
  /sys/.../stat format is partially defined in
 | 
			
		||||
  linux/Documentation/block/stat.txt (looks outdated).  Before linux
 | 
			
		||||
  2.5.25, /sys/block/%s/stat and /sys/block/%s/%s/stat were not the
 | 
			
		||||
  same, but the following commit changed the latter to have the same
 | 
			
		||||
  format and broke compatibility.
 | 
			
		||||
 | 
			
		||||
		*stat_path = path;
 | 
			
		||||
		*parse_format = "%*llu %llu %*llu %llu";
 | 
			
		||||
  Commit 34e8beac92c27d292938065f8375842d2840767c
 | 
			
		||||
  Author: Jerome Marchand <jmarchan@redhat.com>
 | 
			
		||||
  Date:   Fri Feb 8 11:04:55 2008 +0100
 | 
			
		||||
 | 
			
		||||
    Enhanced partition statistics: sysfs
 | 
			
		||||
 | 
			
		||||
    Reports enhanced partition statistics in sysfs.
 | 
			
		||||
 | 
			
		||||
    Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
 | 
			
		||||
 | 
			
		||||
    fs/partitions/check.c |   22 +++++++++++++++++++---
 | 
			
		||||
    1 files changed, 19 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
get_sys_path(glibtop* server, const char *device, char **stat_path, const char **parse_format)
 | 
			
		||||
{
 | 
			
		||||
	const char* linux_2_6_25_format = "%*llu %*llu %llu %*llu"
 | 
			
		||||
					  "%*llu %*llu %llu %*llu";
 | 
			
		||||
 | 
			
		||||
	char prefix[32];
 | 
			
		||||
 | 
			
		||||
	if (is_partition(device, prefix, sizeof prefix)) {
 | 
			
		||||
 | 
			
		||||
		*stat_path = g_strdup_printf("/sys/block/%s/%s/stat",
 | 
			
		||||
					     prefix, device);
 | 
			
		||||
		if (server->os_version_code < LINUX_VERSION_CODE(2, 6, 25))
 | 
			
		||||
			*parse_format = "%*llu %llu %*llu %llu";
 | 
			
		||||
		else
 | 
			
		||||
			*parse_format = linux_2_6_25_format;
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		*stat_path = g_strdup_printf("/sys/block/%s/stat", device);
 | 
			
		||||
		*parse_format = "%*llu %*llu %llu %*llu %*llu %*llu %llu";
 | 
			
		||||
		if (server->os_version_code < LINUX_VERSION_CODE(2, 6, 25))
 | 
			
		||||
			*parse_format = "%*llu %*llu %llu %*llu %*llu %*llu %llu";
 | 
			
		||||
		else
 | 
			
		||||
			*parse_format = linux_2_6_25_format;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -92,30 +129,29 @@ get_sys_path(const char *device, char **stat_path, const char **parse_format)
 | 
			
		||||
 | 
			
		||||
static void linux_2_6_0(glibtop *server, glibtop_fsusage *buf, const char *path)
 | 
			
		||||
{
 | 
			
		||||
	char *device;
 | 
			
		||||
	char *filename;
 | 
			
		||||
	char *filename = NULL;
 | 
			
		||||
	const char *format;
 | 
			
		||||
	int ret;
 | 
			
		||||
	char buffer[BUFSIZ];
 | 
			
		||||
	char device[64];
 | 
			
		||||
 | 
			
		||||
	device = get_partition(path);
 | 
			
		||||
	if(!device) return;
 | 
			
		||||
	if (!get_device(server, path, device, sizeof device))
 | 
			
		||||
		goto out;
 | 
			
		||||
 | 
			
		||||
	get_sys_path(device, &filename, &format);
 | 
			
		||||
	g_free(device);
 | 
			
		||||
	get_sys_path(server, device, &filename, &format);
 | 
			
		||||
 | 
			
		||||
	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) {
 | 
			
		||||
		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);
 | 
			
		||||
 out:
 | 
			
		||||
	g_free(filename);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@
 | 
			
		||||
unsigned long long
 | 
			
		||||
get_scaled(const char *buffer, const char *key)
 | 
			
		||||
{
 | 
			
		||||
	const char    *ptr = buffer;;
 | 
			
		||||
	const char    *ptr = buffer;
 | 
			
		||||
	char	      *next;
 | 
			
		||||
	unsigned long long value;
 | 
			
		||||
 | 
			
		||||
@@ -67,14 +67,18 @@ enum TRY_FILE_TO_BUFFER
 | 
			
		||||
	TRY_FILE_TO_BUFFER_READ = -2
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Doesn't handle bufsiz == 0
 | 
			
		||||
 */
 | 
			
		||||
int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
 | 
			
		||||
{
 | 
			
		||||
	char path[4096];
 | 
			
		||||
	int fd;
 | 
			
		||||
	ssize_t len;
 | 
			
		||||
	size_t len = 0;
 | 
			
		||||
	ssize_t nread = 0;
 | 
			
		||||
	va_list pa;
 | 
			
		||||
 | 
			
		||||
	if (bufsiz <= sizeof(char*))
 | 
			
		||||
	if (G_UNLIKELY(bufsiz <= sizeof(char*)))
 | 
			
		||||
	  g_warning("Huhu, bufsiz of %lu looks bad", (gulong)bufsiz);
 | 
			
		||||
 | 
			
		||||
	va_start(pa, format);
 | 
			
		||||
@@ -84,15 +88,31 @@ int try_file_to_buffer(char *buffer, size_t bufsiz, const char *format, ...)
 | 
			
		||||
 | 
			
		||||
	va_end(pa);
 | 
			
		||||
 | 
			
		||||
	bufsiz--; /* reserve 1 for trailing NUL */
 | 
			
		||||
	buffer [0] = '\0';
 | 
			
		||||
 | 
			
		||||
	if((fd = open (path, O_RDONLY)) < 0)
 | 
			
		||||
		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);
 | 
			
		||||
 | 
			
		||||
	if (len < 0)
 | 
			
		||||
	if (nread < 0)
 | 
			
		||||
		return TRY_FILE_TO_BUFFER_READ;
 | 
			
		||||
 | 
			
		||||
	buffer [len] = '\0';
 | 
			
		||||
@@ -119,20 +139,27 @@ file_to_buffer(glibtop *server, char *buffer, size_t bufsiz, const char *filenam
 | 
			
		||||
static unsigned long
 | 
			
		||||
read_boot_time(glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	char buffer[BUFSIZ];
 | 
			
		||||
	char *btime;
 | 
			
		||||
	char* line = NULL;
 | 
			
		||||
	size_t size = 0;
 | 
			
		||||
	FILE* stat;
 | 
			
		||||
	unsigned long btime = 0;
 | 
			
		||||
 | 
			
		||||
	file_to_buffer(server, buffer, sizeof buffer, "/proc/stat");
 | 
			
		||||
 | 
			
		||||
	btime = strstr(buffer, "btime");
 | 
			
		||||
 | 
			
		||||
	if (!btime) {
 | 
			
		||||
		glibtop_warn_io_r(server, "cannot find btime in /proc/stat");
 | 
			
		||||
		return 0UL;
 | 
			
		||||
	if (!(stat = fopen("/proc/stat", "r"))) {
 | 
			
		||||
		glibtop_error_io_r(server, "fopen(\"/proc/stat\")");
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	btime = skip_token(btime);
 | 
			
		||||
	return strtoul(btime, NULL, 10);
 | 
			
		||||
	while (getline(&line, &size, stat) != -1) {
 | 
			
		||||
		if (!strncmp(line, "btime", 5)) {
 | 
			
		||||
			btime = strtoul(skip_token(line), NULL, 10);
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	free(line);
 | 
			
		||||
	fclose(stat);
 | 
			
		||||
out:
 | 
			
		||||
	return btime;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,11 @@ skip_line (const char *p)
 | 
			
		||||
	return (char *) (*p ? p+1 : p);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Smart strtoul which handles binary suffixes
 | 
			
		||||
 * e.g: get_scaled("Size: 32 kB", "Size:") == 32768
 | 
			
		||||
 * key can be NULL if there's not prefix to strip (or prefix size is known
 | 
			
		||||
 */
 | 
			
		||||
unsigned long long
 | 
			
		||||
get_scaled(const char *buffer, const char *key);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -43,6 +43,7 @@
 | 
			
		||||
#define GLIBTOP_SUID_NETLOAD		0
 | 
			
		||||
#define GLIBTOP_SUID_NETLIST		0
 | 
			
		||||
#define GLIBTOP_SUID_PROC_WD		0
 | 
			
		||||
#define GLIBTOP_SUID_PROC_AFFINITY	0
 | 
			
		||||
#define GLIBTOP_SUID_PPP		0
 | 
			
		||||
#define GLIBTOP_SUID_PROC_FILE		0
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,8 @@ static const unsigned long _glibtop_sysdeps_proc_kernel =
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_K_FLAGS) + (1L << GLIBTOP_PROC_KERNEL_MIN_FLT) +
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_MAJ_FLT) + (1L << GLIBTOP_PROC_KERNEL_CMIN_FLT) +
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_CMAJ_FLT) + (1L << GLIBTOP_PROC_KERNEL_KSTK_ESP) +
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_KSTK_EIP) + (1L << GLIBTOP_PROC_KERNEL_WCHAN);
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_KSTK_EIP) + (1L << GLIBTOP_PROC_KERNEL_NWCHAN) +
 | 
			
		||||
(1L << GLIBTOP_PROC_KERNEL_WCHAN);
 | 
			
		||||
 | 
			
		||||
/* Init function. */
 | 
			
		||||
 | 
			
		||||
@@ -72,5 +73,7 @@ glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid)
 | 
			
		||||
 | 
			
		||||
	buf->nwchan = strtoull (p, &p, 0);
 | 
			
		||||
 | 
			
		||||
	proc_file_to_buffer(buf->wchan, sizeof buf->wchan, "/proc/%d/wchan", pid),
 | 
			
		||||
 | 
			
		||||
	buf->flags = _glibtop_sysdeps_proc_kernel;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -27,21 +27,53 @@
 | 
			
		||||
#include "glibtop_private.h"
 | 
			
		||||
 | 
			
		||||
static const unsigned long _glibtop_sysdeps_proc_mem =
 | 
			
		||||
(1L << GLIBTOP_PROC_MEM_VSIZE) + (1L << GLIBTOP_PROC_MEM_RSS) +
 | 
			
		||||
(1L << GLIBTOP_PROC_MEM_RSS_RLIM);
 | 
			
		||||
 | 
			
		||||
static const unsigned long _glibtop_sysdeps_proc_mem_statm =
 | 
			
		||||
(1L << GLIBTOP_PROC_MEM_SIZE) + (1L << GLIBTOP_PROC_MEM_RESIDENT) +
 | 
			
		||||
(1L << GLIBTOP_PROC_MEM_SHARE);
 | 
			
		||||
 | 
			
		||||
static const unsigned long _glibtop_sysdeps_proc_mem_pss =
 | 
			
		||||
(1L << GLIBTOP_PROC_MEM_RSS);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static unsigned long
 | 
			
		||||
get_pss(glibtop* server, pid_t pid)
 | 
			
		||||
{
 | 
			
		||||
	char filepath[128];
 | 
			
		||||
	FILE* smaps;
 | 
			
		||||
	char* line = NULL;
 | 
			
		||||
	size_t line_size = 0;
 | 
			
		||||
	unsigned long pss = 0;
 | 
			
		||||
 | 
			
		||||
	snprintf(filepath, sizeof filepath, "/proc/%u/smaps", (unsigned)pid);
 | 
			
		||||
 | 
			
		||||
	if (!(smaps = fopen(filepath, "r"))) {
 | 
			
		||||
		glibtop_error_io_r(server, "Cannot open %s", filepath);
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	while (getline(&line, &line_size, smaps) != -1) {
 | 
			
		||||
		if (strncmp(line, "Pss:", 4))
 | 
			
		||||
			continue;
 | 
			
		||||
		pss += get_scaled(line + 4, NULL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
	if (smaps)
 | 
			
		||||
		fclose(smaps);
 | 
			
		||||
 | 
			
		||||
	free(line);
 | 
			
		||||
 | 
			
		||||
	return pss;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Init function. */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
_glibtop_init_proc_mem_s (glibtop *server)
 | 
			
		||||
{
 | 
			
		||||
	server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem |
 | 
			
		||||
	  _glibtop_sysdeps_proc_mem_statm;
 | 
			
		||||
	server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem;
 | 
			
		||||
	if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25))
 | 
			
		||||
		server->sysdeps.proc_mem |= _glibtop_sysdeps_proc_mem_pss;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Provides detailed information about a process. */
 | 
			
		||||
@@ -54,19 +86,34 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
 | 
			
		||||
 | 
			
		||||
	memset (buf, 0, sizeof (glibtop_proc_mem));
 | 
			
		||||
 | 
			
		||||
	if (proc_stat_to_buffer(buffer, sizeof buffer, pid))
 | 
			
		||||
		return;
 | 
			
		||||
	/* As of 2.6.24 in fs/proc/*.c
 | 
			
		||||
 | 
			
		||||
	p = proc_stat_after_cmd (buffer);
 | 
			
		||||
	if (!p) return;
 | 
			
		||||
	   == rss vs. resident ==
 | 
			
		||||
 | 
			
		||||
	p = skip_multiple_token (p, 20);
 | 
			
		||||
	   stat/rss:
 | 
			
		||||
	   get_mm_rss where
 | 
			
		||||
	   #define get_mm_rss(mm)					\
 | 
			
		||||
		(get_mm_counter(mm, file_rss) + get_mm_counter(mm, anon_rss))
 | 
			
		||||
 | 
			
		||||
	buf->vsize    = strtoull (p, &p, 0);
 | 
			
		||||
	buf->rss      = strtoull (p, &p, 0);
 | 
			
		||||
	buf->rss_rlim = strtoull (p, &p, 0);
 | 
			
		||||
	   statm/resident:
 | 
			
		||||
	   *shared = get_mm_counter(mm, file_rss);
 | 
			
		||||
	   *resident = *shared + get_mm_counter(mm, anon_rss);
 | 
			
		||||
 | 
			
		||||
	buf->flags = _glibtop_sysdeps_proc_mem;
 | 
			
		||||
	   == vsize vs. size ==
 | 
			
		||||
 | 
			
		||||
	   stat/vsize:
 | 
			
		||||
	   task_vsize(mm) ... total_vm * pagesize
 | 
			
		||||
 | 
			
		||||
	   statm/size
 | 
			
		||||
	   mm->total_vm
 | 
			
		||||
 | 
			
		||||
	   =================
 | 
			
		||||
	   rss == resident
 | 
			
		||||
	   vsize == size
 | 
			
		||||
	   rss_lim is not implemented in statm, but there's limits which
 | 
			
		||||
		provides all limits
 | 
			
		||||
	   share is only implemented in statm
 | 
			
		||||
	*/
 | 
			
		||||
 | 
			
		||||
	if (proc_statm_to_buffer(buffer, sizeof buffer, pid))
 | 
			
		||||
		return;
 | 
			
		||||
@@ -78,7 +125,20 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
 | 
			
		||||
	buf->size     *= pagesize;
 | 
			
		||||
	buf->resident *= pagesize;
 | 
			
		||||
	buf->share    *= pagesize;
 | 
			
		||||
	buf->rss      *= pagesize;
 | 
			
		||||
 | 
			
		||||
	buf->flags |= _glibtop_sysdeps_proc_mem_statm;
 | 
			
		||||
	/* dummy values */
 | 
			
		||||
	buf->vsize = buf->size;
 | 
			
		||||
	buf->rss_rlim = ~0;
 | 
			
		||||
 | 
			
		||||
	buf->flags |= _glibtop_sysdeps_proc_mem;
 | 
			
		||||
     
 | 
			
		||||
#if 0 
 | 
			
		||||
	/* FIXME: see previous comment */
 | 
			
		||||
	if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 25)) {
 | 
			
		||||
		buf->rss = get_pss(server, pid);
 | 
			
		||||
		buf->flags |= _glibtop_sysdeps_proc_mem_pss;
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
	buf->rss = buf->resident;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,48 @@ get_all(const char *filename, LineParser parser)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
struct Inet6SocketEntry
 | 
			
		||||
{
 | 
			
		||||
	char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
 | 
			
		||||
	int port;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
inet6_socket_parser(GHashTable *dict, const char* line)
 | 
			
		||||
{
 | 
			
		||||
	struct Inet6SocketEntry *se;
 | 
			
		||||
	int sock;
 | 
			
		||||
	struct in6_addr addr;
 | 
			
		||||
 | 
			
		||||
	se = g_malloc0(sizeof *se);
 | 
			
		||||
 | 
			
		||||
	if(sscanf(line, "%*d: %*s %8x%8x%8x%8x:%4x %*x %*x:%*x %*x:%*x %*d %*d %*d %d",
 | 
			
		||||
		  &addr.s6_addr32[0], &addr.s6_addr32[1], &addr.s6_addr32[2],
 | 
			
		||||
		  &addr.s6_addr32[3], &se->port, &sock) != 6)
 | 
			
		||||
		goto error;
 | 
			
		||||
 | 
			
		||||
	if(!inet_ntop(AF_INET6, &addr, se->host, sizeof se->host))
 | 
			
		||||
		goto error;
 | 
			
		||||
 | 
			
		||||
	g_hash_table_insert(dict, GINT_TO_POINTER(sock), se);
 | 
			
		||||
	return;
 | 
			
		||||
 | 
			
		||||
 error:
 | 
			
		||||
	g_free(se);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static inline GHashTable *
 | 
			
		||||
get_all_inet6_sockets()
 | 
			
		||||
{
 | 
			
		||||
	return get_all("/proc/net/tcp6", inet6_socket_parser);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
struct InetSocketEntry
 | 
			
		||||
{
 | 
			
		||||
	char host[GLIBTOP_OPEN_DEST_HOST_LEN + 1];
 | 
			
		||||
@@ -178,7 +220,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi
 | 
			
		||||
{
 | 
			
		||||
	char fn [BUFSIZ];
 | 
			
		||||
	GArray *entries;
 | 
			
		||||
	GHashTable *inet_sockets = NULL, *local_sockets = NULL;
 | 
			
		||||
	GHashTable *inet6_sockets = NULL, *inet_sockets = NULL, *local_sockets = NULL;
 | 
			
		||||
	struct dirent *direntry;
 | 
			
		||||
	DIR *dir;
 | 
			
		||||
 | 
			
		||||
@@ -209,14 +251,27 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi
 | 
			
		||||
		if(g_str_has_prefix(tgt, "socket:["))
 | 
			
		||||
		{
 | 
			
		||||
			int sockfd;
 | 
			
		||||
			struct Inet6SocketEntry *i6se;
 | 
			
		||||
			struct InetSocketEntry *ise;
 | 
			
		||||
			struct LocalSocketEntry *lse;
 | 
			
		||||
 | 
			
		||||
			if(!inet6_sockets) inet6_sockets = get_all_inet6_sockets();
 | 
			
		||||
			if(!inet_sockets) inet_sockets = get_all_inet_sockets();
 | 
			
		||||
			if(!local_sockets) local_sockets = get_all_local_sockets();
 | 
			
		||||
 | 
			
		||||
			sockfd = atoi(tgt + 8);
 | 
			
		||||
 | 
			
		||||
			i6se = g_hash_table_lookup(inet6_sockets,
 | 
			
		||||
						 GINT_TO_POINTER(sockfd));
 | 
			
		||||
 | 
			
		||||
			if(i6se) {
 | 
			
		||||
				entry.type = GLIBTOP_FILE_TYPE_INET6SOCKET;
 | 
			
		||||
				entry.info.sock.dest_port = i6se->port;
 | 
			
		||||
				g_strlcpy(entry.info.sock.dest_host, i6se->host,
 | 
			
		||||
					  sizeof entry.info.sock.dest_host);
 | 
			
		||||
				goto found;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			ise = g_hash_table_lookup(inet_sockets,
 | 
			
		||||
						 GINT_TO_POINTER(sockfd));
 | 
			
		||||
 | 
			
		||||
@@ -257,6 +312,7 @@ glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf,	pi
 | 
			
		||||
	closedir (dir);
 | 
			
		||||
 | 
			
		||||
	if(inet_sockets) g_hash_table_destroy(inet_sockets);
 | 
			
		||||
	if(inet6_sockets) g_hash_table_destroy(inet6_sockets);
 | 
			
		||||
	if(local_sockets) g_hash_table_destroy(local_sockets);
 | 
			
		||||
 | 
			
		||||
	buf->flags = _glibtop_sysdeps_proc_open_files;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user