Compare commits
	
		
			44 Commits
		
	
	
		
			gnome-2-22
			...
			LIBGTOP_2_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 7e697f047a | ||
|  | c1fba7d0fa | ||
|  | d541cf22ef | ||
|  | 35a0ac4f2c | ||
|  | 391377ccf8 | ||
|  | c0d87d96d3 | ||
|  | a7f2a1db4a | ||
|  | 77fff173fc | ||
|  | 863da1cdfd | ||
|  | 23798fbd51 | ||
|  | 8399315a4f | ||
|  | 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 | 
							
								
								
									
										340
									
								
								COPYING
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										340
									
								
								COPYING
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,340 @@ | ||||
| 		    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 Library 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 Library General | ||||
| Public License instead of this License. | ||||
							
								
								
									
										38
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,13 +1,43 @@ | ||||
| 30 June 2008: Overview of changes in 2.22.3 | ||||
| 17 February 2009: Overview of changes in 2.25.91 | ||||
| ================================================ | ||||
| * Synced with gnome-2-24. | ||||
|  | ||||
| 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 glibtop_get_fsusage with kernel >= 2.6.25. | ||||
|   - Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25. | ||||
|     Closes #539360. | ||||
|  | ||||
| 24 May 2008: Overview of changes in 2.22.2 | ||||
| 24 May 2008: Overview of changes in 2.23.2 | ||||
| ========================================== | ||||
| * glibtop_get_proc_open_files API can also lists IPv6 TCP sockets. | ||||
| * glibtop_get_proc_affinity : new API to retrieve process CPU affinity. | ||||
|  | ||||
| (Let's hope one day i'll find the gtk-doc documentation ...) | ||||
|  | ||||
| * linux: | ||||
|   - fixed parsing of huge /proc/stat. | ||||
|   - fixed parsing of big /proc/stat for uptime. | ||||
|  | ||||
| 04 April 2008: Overview of changes in 2.22.1 | ||||
| ============================================ | ||||
|   | ||||
							
								
								
									
										10
									
								
								configure.in
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								configure.in
									
									
									
									
									
								
							| @@ -3,21 +3,21 @@ dnl Configure script for the Gnome library | ||||
| dnl | ||||
|  | ||||
| m4_define([libgtop_major_version], [2]) | ||||
| m4_define([libgtop_minor_version], [22]) | ||||
| m4_define([libgtop_micro_version], [3]) | ||||
| m4_define([libgtop_minor_version], [25]) | ||||
| m4_define([libgtop_micro_version], [91]) | ||||
| 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(); | ||||
|  | ||||
|   | ||||
| @@ -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"); | ||||
| 	  } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
| 	unsigned c; | ||||
| 	struct rusage total_start, total_end; | ||||
| 	struct rusage rusage_start, rusage_end; | ||||
| 	struct timeval elapsed_utime, elapsed_stime; | ||||
| 	pid_t pid, *ptr; | ||||
| 	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) | ||||
|  | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
| #ifndef __GLIBTOP_H__ | ||||
| #define __GLIBTOP_H__ | ||||
|  | ||||
| #include <glib/gmacros.h> | ||||
| #include <glib.h> | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
							
								
								
									
										79
									
								
								po/ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								po/ChangeLog
									
									
									
									
									
								
							| @@ -1,6 +1,81 @@ | ||||
| 2008-10-06  Pema Geyleg  <pema.geyleg@gmail.com> | ||||
| 2009-02-09  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw> | ||||
|  | ||||
|         * dz.po: Updated Dzongkha Translation | ||||
|         * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). | ||||
| 	* zh_TW.po: Updated Traditional Chinese translation(Taiwan). | ||||
|  | ||||
| 2009-01-29  Changwoo Ryu  <cwryu@debian.org> | ||||
|  | ||||
| 	* ko.po: Updated Korean translation. | ||||
|  | ||||
| 2009-01-25  Raivis Dejus  <orvils@gmail.com> | ||||
|  | ||||
| 	* lv.po: Updated Latvian translation. | ||||
|  | ||||
| 2008-11-14  Thomas Thurman  <tthurman@gnome.org> | ||||
|  | ||||
|         * la.po: added Latin translation by Rafael Garcia. | ||||
|         * LINGUAS: added Latin. | ||||
|  | ||||
| 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> | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| # please keep this list sorted alphabetically | ||||
| # | ||||
| # please keep this list sorted alphabetically | ||||
| am | ||||
| ar | ||||
| az | ||||
| @@ -38,6 +38,7 @@ ka | ||||
| ko | ||||
| ku | ||||
| ky | ||||
| la | ||||
| lt | ||||
| lv | ||||
| mg | ||||
| @@ -64,7 +65,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 معرفة من طرف المستخدم" | ||||
|  | ||||
|   | ||||
							
								
								
									
										109
									
								
								po/dz.po
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								po/dz.po
									
									
									
									
									
								
							| @@ -6,9 +6,9 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop.HEAD\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2008-04-23 03:26+0000\n" | ||||
| "PO-Revision-Date: 2008-10-02 16:50+0530\n" | ||||
| "Last-Translator: Dawa pemo <daws_403@hotmail.com>\n" | ||||
| "POT-Creation-Date: 2007-05-14 03:41+0100\n" | ||||
| "PO-Revision-Date: 2006-03-28 11:12-0500\n" | ||||
| "Last-Translator: \n" | ||||
| "Language-Team:  <en@li.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| @@ -61,171 +61,144 @@ msgid "Invoked from inetd" | ||||
| msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི་ནང་ལས་ ལས་བཀོལ་འབད།" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| #, fuzzy, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "འཐོབ་ཚུགས་པའི་ བརྡ་བཀོད་ གྲལ་ཐིག་ གདམ་ཁ་ཚུ་ བལྟ་ནིའི་དོན་ལུ་ '%s --help'  གཡོག་བཀོལ། \n" | ||||
| msgstr "" | ||||
| "གདམ་ཁ་%s: %sལུ་འཛོལ་བ། \n" | ||||
| "འཐོབ་ཚུགས་པའི་ བརྡ་ལམ་གདམ་ཁའི་ ཐོ་ཡིག་ཧྲིལ་བུ་ཅིག་ལུ་ བལྟ་ནིའི་དོན་ལས་ '%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 "ཨི་ཨེམ་ཊི་འཛོལ་བ།" | ||||
|  | ||||
| #: ../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 "ཊི་ཊི་ཝའི་ནང་ལས་ རྒྱབ་གཞི་ལྷག་ཡོད།" | ||||
|  | ||||
| #: ../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 "ཊི་ཊི་ཝའི་ལུ་ རྒྱབ་གཞི་བྲིས།" | ||||
|  | ||||
| #: ../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 "ལག་ལེན་པའི་ ངེས་འཛིན་བརྡ་རྟགས་ ༡པ།" | ||||
|  | ||||
| #: ../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 "ལག་ལེན་པའི་ངེས་འཛིན་བརྡ་རྟགས་ ༢པ།" | ||||
|  | ||||
| #~ msgid "DEBUG" | ||||
| #~ msgstr "རྐྱེན་སེལ།" | ||||
|  | ||||
| #~ msgid "VERBOSE" | ||||
| #~ msgstr "ཚིག་མང་།" | ||||
|  | ||||
| #~ msgid "NO-DAEMON" | ||||
| #~ msgstr "ཌེ་མཱོན་མིན་འདུག" | ||||
|  | ||||
| #~ msgid "INETD" | ||||
| #~ msgstr "ཨའི་ཨེན་ཨི་ཊི་ཌི།" | ||||
|  | ||||
|   | ||||
							
								
								
									
										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" | ||||
|   | ||||
							
								
								
									
										4
									
								
								po/ko.po
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								po/ko.po
									
									
									
									
									
								
							| @@ -7,7 +7,7 @@ msgstr "" | ||||
| "Project-Id-Version: libgtop\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2008-02-26 19:13+0900\n" | ||||
| "PO-Revision-Date: 2008-02-26 19:13+0900\n" | ||||
| "PO-Revision-Date: 2009-01-29 16:18+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" | ||||
| @@ -23,7 +23,7 @@ msgstr[0] "%d바이트 읽음" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| msgid "read data size" | ||||
| msgstr "데이타 크기 읽음" | ||||
| msgstr "읽은 데이터 크기" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #, c-format | ||||
|   | ||||
							
								
								
									
										184
									
								
								po/la.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								po/la.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,184 @@ | ||||
| # SOME DESCRIPTIVE TITLE. | ||||
| # Copyright (C) YEAR Free Software Foundation, Inc. | ||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||||
| # | ||||
| #, fuzzy | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: PACKAGE VERSION\n" | ||||
| "PO-Revision-Date: 2008-11-14 22:00-0500\n" | ||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||
| "Language-Team: Latin <la@li.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| msgid "Abort" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| msgid "Alarm clock" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| msgid "Background read from tty" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background write to tty" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| msgid "Broken pipe" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| msgid "Bus error" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| msgid "Child status has changed" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| msgid "Continue" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| msgid "EMT error" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| msgid "Enable debugging" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| msgid "Hangup" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| msgid "I/O now possible" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| msgid "Information request" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| msgid "Interrupt" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| msgid "Kill" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| msgid "Quit" | ||||
| msgstr "Desistere" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| msgid "Stop" | ||||
| msgstr "Sistere" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| msgid "Termination" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| msgid "Trace trap" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../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 | ||||
| msgid "Window size change" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../lib/read.c:51 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| msgstr[0] "" | ||||
| msgstr[1] "%d octets lus" | ||||
|  | ||||
| #: ../lib/read_data.c:70 | ||||
| #, c-format | ||||
| msgid "read %lu byte of data" | ||||
| msgid_plural "read %lu bytes of data" | ||||
| msgstr[0] "" | ||||
| msgstr[1] "lecture de %lu octets de données" | ||||
|  | ||||
| #: ../lib/read_data.c:51 | ||||
| msgid "read data size" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../lib/write.c:51 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "" | ||||
| msgstr[1] "écriture de %d octets" | ||||
							
								
								
									
										131
									
								
								po/lv.po
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								po/lv.po
									
									
									
									
									
								
							| @@ -1,23 +1,24 @@ | ||||
| # translation of lv.po to Latvian | ||||
| # Latvian translation for LibGTop | ||||
| # Copyright © 2006 Gnome i18n Project for Latvian. | ||||
| # Peteris Krisjanis <peteris.krisjanis@os.lv>, 2002. | ||||
| # Raivis Dejus <orvils@gmail.com>, 2006. | ||||
| # | ||||
| # Peteris Krisjanis <peteris.krisjanis@os.lv>, 2002. | ||||
| # Raivis Dejus <orvils@gmail.com>, 2006, 2009. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop HEAD\n" | ||||
| "Project-Id-Version: lv\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2006-02-24 08:54+0100\n" | ||||
| "PO-Revision-Date: 2006-02-24 21:20+0200\n" | ||||
| "POT-Creation-Date: 2008-11-07 14:35+0100\n" | ||||
| "PO-Revision-Date: 2009-01-25 17:52+0200\n" | ||||
| "Last-Translator: Raivis Dejus <orvils@gmail.com>\n" | ||||
| "Language-Team: Latvian <locale@laka.lv>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" | ||||
| "X-Generator: KBabel 1.10.2\n" | ||||
| "X-Generator: KBabel 1.11.4\n" | ||||
|  | ||||
| #: ../lib/read.c:65 | ||||
| #: ../lib/read.c:51 | ||||
| #, c-format | ||||
| msgid "read %d byte" | ||||
| msgid_plural "read %d bytes" | ||||
| @@ -25,19 +26,19 @@ msgstr[0] "lasīt %d baitu" | ||||
| msgstr[1] "lasīt %d baitus" | ||||
| msgstr[2] "lasīt %d baitu" | ||||
|  | ||||
| #: ../lib/read_data.c:53 | ||||
| #: ../lib/read_data.c:51 | ||||
| msgid "read data size" | ||||
| msgstr "lasīt datu izmēru" | ||||
|  | ||||
| #: ../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] "lasīt %lu baitu" | ||||
| msgstr[1] "lasīt %lu baitus" | ||||
| msgstr[2] "lasīt %lu baitu" | ||||
| msgstr[0] "lasīt %lu baitu datu" | ||||
| msgstr[1] "lasīt %lu baitus datu" | ||||
| msgstr[2] "lasīt %lu baitu datus" | ||||
|  | ||||
| #: ../lib/write.c:52 | ||||
| #: ../lib/write.c:51 | ||||
| #, c-format | ||||
| msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| @@ -45,168 +46,150 @@ msgstr[0] "ierakstīju %d baitu" | ||||
| msgstr[1] "ierakstīju %d baitus" | ||||
| msgstr[2] "ierakstīju %d baitu" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| msgid "Enable debugging" | ||||
| msgstr "Aktivizēt atkļūdošanu" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| msgid "DEBUG" | ||||
| msgstr "DEBUG" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "Aktivizēt vārdisku izvadi" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| msgid "VERBOSE" | ||||
| msgstr "VERBOSE" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "Nesadalīties fona" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| msgid "NO-DAEMON" | ||||
| msgstr "NO-DAEMON" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:466 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "Izsaukt no inetd" | ||||
| msgstr "Izsaukts no 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 "" | ||||
| "Kļūda opcijā %s: %s.\n" | ||||
| "Palaidiet '%s --help' lai redzētu pilnu pieejamo komandu rindas opciju " | ||||
| "Palaidiet '%s --help' lai redzētu pilnu pieejamo komandrindas iespēju " | ||||
| "sarakstu.\n" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| msgid "Hangup" | ||||
| msgstr "Iekārt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| msgid "Interrupt" | ||||
| msgstr "Pātraukt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| msgid "Quit" | ||||
| msgstr "Iziet" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| msgid "Illegal instruction" | ||||
| msgstr "Neatļauta instrukcija" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 | ||||
| msgid "Trace trap" | ||||
| msgstr "Izsekot slazdu" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 | ||||
| msgid "Abort" | ||||
| msgstr "Pātraukt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 | ||||
| msgid "EMT error" | ||||
| msgstr "EMT kļūda" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 | ||||
| msgid "Floating-point exception" | ||||
| msgstr "Peldošā punkta izņēmums" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 | ||||
| msgid "Kill" | ||||
| msgstr "Nobeigt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 | ||||
| msgid "Bus error" | ||||
| msgstr "Šinas kļūda" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 | ||||
| msgid "Segmentation violation" | ||||
| msgstr "Segmentācijas pārkāpums" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 | ||||
| msgid "Bad argument to system call" | ||||
| msgstr "Slikts arguments sistēmas izsaukumam" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 | ||||
| msgid "Broken pipe" | ||||
| msgstr "Pātraukts kanāls" | ||||
| msgstr "Bojāts kanāls" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 | ||||
| msgid "Alarm clock" | ||||
| msgstr "Brīdinājuma pulkstenis" | ||||
| msgstr "Modinātājs" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 | ||||
| msgid "Termination" | ||||
| msgstr "Pātraukšana" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 | ||||
| msgid "Urgent condition on socket" | ||||
| msgstr "Steidzama situācija kontaktā" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 | ||||
| msgid "Stop" | ||||
| msgstr "Stop" | ||||
| msgstr "Apturēt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 | ||||
| msgid "Keyboard stop" | ||||
| msgstr "Tastatūra stop" | ||||
| msgstr "Tastatūras apturēšana" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 | ||||
| msgid "Continue" | ||||
| msgstr "Turpināt" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 | ||||
| msgid "Child status has changed" | ||||
| msgstr "Bērna statuss ir izmainījies" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 | ||||
| msgid "Background read from tty" | ||||
| msgstr "Fona lasīšana no tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 | ||||
| msgid "Background write to tty" | ||||
| msgstr "Fona rakstīšana uz tty" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 | ||||
| msgid "I/O now possible" | ||||
| msgstr "I/O tagad iespējams" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 | ||||
| msgid "CPU limit exceeded" | ||||
| msgstr "CPU limits pārsniegts" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 | ||||
| msgid "File size limit exceeded" | ||||
| msgstr "Faila izmēra limits pārsniegts" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 | ||||
| msgid "Virtual alarm clock" | ||||
| msgstr "Virtuāls brīdinājuma pulkstenis" | ||||
| msgstr "Virtuāls modinātājs" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 | ||||
| msgid "Profiling alarm clock" | ||||
| msgstr "Profilēšanas modinātājs" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 | ||||
| msgid "Window size change" | ||||
| msgstr "Loga izmēru maiņa" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 | ||||
| msgid "Information request" | ||||
| msgstr "Informācijas pieprasījums" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58 | ||||
| #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 | ||||
| msgid "User defined signal 1" | ||||
| msgstr "Lietotāja definēts signāls 1" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59 | ||||
| #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 | ||||
| msgid "User defined signal 2" | ||||
| msgstr "Lietotāja definēts signāls 2" | ||||
| msgstr "Lietotāja definēts signāls 2" | ||||
|  | ||||
|   | ||||
| @@ -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/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" | ||||
|   | ||||
							
								
								
									
										26
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								po/zh_HK.po
									
									
									
									
									
								
							| @@ -1,13 +1,13 @@ | ||||
| # Chinese (Hong Kong) translation for libgtop. | ||||
| # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. | ||||
| # Abel Cheung <abel@oaka.org>, 2001-2003. | ||||
| #  | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop 2.2.5\n" | ||||
| "Project-Id-Version: libgtop 2.25.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2008-02-14 20:10+0800\n" | ||||
| "PO-Revision-Date: 2008-02-14 20:12+0800\n" | ||||
| "POT-Creation-Date: 2009-02-09 08:05+0800\n" | ||||
| "PO-Revision-Date: 2009-02-09 08:06+0800\n" | ||||
| "Last-Translator: Abel Cheung <abel@oaka.org>\n" | ||||
| "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -37,38 +37,38 @@ msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "寫入 %d 位元組" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: ../src/daemon/gnuserv.c:455 | ||||
| msgid "Enable debugging" | ||||
| msgstr "啟用偵錯功能" | ||||
| msgstr "啟用除錯碼" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: ../src/daemon/gnuserv.c:457 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "顯示詳細的輸出訊息" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: ../src/daemon/gnuserv.c:459 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "不要放置於背景執行" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: ../src/daemon/gnuserv.c:461 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "透過 inetd 執行" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #: ../src/daemon/gnuserv.c:495 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "請執行‘%s --help’查看完整的指令列選項清單。\n" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| msgid "Hangup" | ||||
| msgstr "掛斷 (Hangup)" | ||||
| msgstr "掛斷(Hangup)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| msgid "Interrupt" | ||||
| msgstr "中斷 (Interrupt)" | ||||
| msgstr "中斷(Interrupt)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| msgid "Quit" | ||||
| msgstr "退出 (Quit)" | ||||
| msgstr "結束" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| msgid "Illegal instruction" | ||||
|   | ||||
							
								
								
									
										29
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								po/zh_TW.po
									
									
									
									
									
								
							| @@ -1,15 +1,15 @@ | ||||
| # Chinese (Taiwan) translation for libgtop. | ||||
| # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. | ||||
| # Abel Cheung <abel@oaka.org>, 2001-2003. | ||||
| #  | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: libgtop 2.2.5\n" | ||||
| "Project-Id-Version: libgtop 2.25.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2008-02-14 20:10+0800\n" | ||||
| "POT-Creation-Date: 2009-02-09 08:05+0800\n" | ||||
| "PO-Revision-Date: 2008-02-14 23:04+0800\n" | ||||
| "Last-Translator: Abel Cheung <abel@oaka.org>\n" | ||||
| "Language-Team: Chinese (Taiwan) <community@linuxhall.org>\n" | ||||
| "Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @@ -37,39 +37,38 @@ msgid "wrote %d byte" | ||||
| msgid_plural "wrote %d bytes" | ||||
| msgstr[0] "寫入 %d 位元組" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:458 | ||||
| #: ../src/daemon/gnuserv.c:455 | ||||
| msgid "Enable debugging" | ||||
| msgstr "啟用偵錯功能" | ||||
| msgstr "啟用除錯碼" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:460 | ||||
| #: ../src/daemon/gnuserv.c:457 | ||||
| msgid "Enable verbose output" | ||||
| msgstr "顯示詳細的輸出訊息" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:462 | ||||
| #: ../src/daemon/gnuserv.c:459 | ||||
| msgid "Don't fork into background" | ||||
| msgstr "不要放置於背景執行" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:464 | ||||
| #: ../src/daemon/gnuserv.c:461 | ||||
| msgid "Invoked from inetd" | ||||
| msgstr "透過 inetd 執行" | ||||
|  | ||||
| #: ../src/daemon/gnuserv.c:498 | ||||
| #: ../src/daemon/gnuserv.c:495 | ||||
| #, c-format | ||||
| msgid "Run '%s --help' to see a full list of available command line options.\n" | ||||
| msgstr "" | ||||
| "請執行‘%s --help’查看完整的指令列選項清單。\n" | ||||
| msgstr "請執行‘%s --help’查看完整的指令列選項清單。\n" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 | ||||
| msgid "Hangup" | ||||
| msgstr "掛斷 (Hangup)" | ||||
| msgstr "掛斷(Hangup)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 | ||||
| msgid "Interrupt" | ||||
| msgstr "中斷 (Interrupt)" | ||||
| msgstr "中斷(Interrupt)" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 | ||||
| msgid "Quit" | ||||
| msgstr "退出 (Quit)" | ||||
| msgstr "結束" | ||||
|  | ||||
| #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 | ||||
| msgid "Illegal instruction" | ||||
|   | ||||
| @@ -36,9 +36,6 @@ | ||||
| #include <glibtop/open.h> | ||||
| #include <glibtop/close.h> | ||||
| #include <glibtop/command.h> | ||||
|  | ||||
| #include <glib/gstrfuncs.h> | ||||
|  | ||||
| #include <glibtop/parameter.h> | ||||
|  | ||||
| #include "server_config.h" | ||||
|   | ||||
| @@ -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> | ||||
|   | ||||
| @@ -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); | ||||
| } | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <glib/gstrfuncs.h> | ||||
| #include <glib.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #include <glibtop/error.h> | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <glib/gstrfuncs.h> | ||||
| #include <glib.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #include <glibtop/error.h> | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
							
								
								
									
										44
									
								
								sysdeps/darwin/procaffinity.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								sysdeps/darwin/procaffinity.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| /* | ||||
|  | ||||
|    This file is part of LibGTop 2. | ||||
|  | ||||
|    LibGTop is free software; you can redistribute it and/or modify it | ||||
|    under the terms of the GNU General Public License as published by | ||||
|    the Free Software Foundation; either version 2 of the License, | ||||
|    or (at your option) any later version. | ||||
|  | ||||
|    LibGTop is distributed in the hope that it will be useful, but WITHOUT | ||||
|    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||||
|    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | ||||
|    for more details. | ||||
|  | ||||
|    You should have received a copy of the GNU General Public License | ||||
|    along with LibGTop; see the file COPYING. If not, write to the | ||||
|    Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
|    Boston, MA 02111-1307, USA. | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glibtop/procaffinity.h> | ||||
| #include <glibtop/error.h> | ||||
|  | ||||
| #include <sys/param.h> | ||||
|  | ||||
| void | ||||
| _glibtop_init_proc_affinity_s(glibtop *server) | ||||
| { | ||||
|   server->sysdeps.proc_affinity = | ||||
|     (1 << GLIBTOP_PROC_AFFINITY_NUMBER) | | ||||
|     (1 << GLIBTOP_PROC_AFFINITY_ALL); | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| guint16 * | ||||
| glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid) | ||||
| { | ||||
|   memset(buf, 0, sizeof *buf); | ||||
|  | ||||
|   return NULL; | ||||
| } | ||||
|  | ||||
| @@ -6,8 +6,8 @@ noinst_LTLIBRARIES		= libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la | ||||
| libgtop_sysdeps_2_0_la_SOURCES	= nosuid.c siglist.c sysinfo.c shm_limits.c \ | ||||
| 				  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,37 +26,52 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| 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; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* | ||||
|   TRUE if device is like "hda3" and then set prefix to "hda". | ||||
|  */ | ||||
| static gboolean | ||||
| is_partition(const char* device, char* prefix, size_t prefix_size) | ||||
| { | ||||
| 	g_strlcpy(prefix, device, prefix_size); | ||||
|  | ||||
| 	for ( ; *prefix; prefix++) { | ||||
| 		if (isdigit(*prefix)) { | ||||
| 			*prefix = '\0'; | ||||
| 			return TRUE; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return FALSE; | ||||
| } | ||||
|  | ||||
|  | ||||
| @@ -88,23 +104,12 @@ get_sys_path(glibtop* server, const char *device, char **stat_path, const char * | ||||
| 	const char* linux_2_6_25_format = "%*llu %*llu %llu %*llu" | ||||
| 					  "%*llu %*llu %llu %*llu"; | ||||
|  | ||||
| 	if(g_str_has_prefix(device, "hd") || g_str_has_prefix(device, "sd")) | ||||
| 	{ | ||||
| 		char *prefix; | ||||
| 		char *path; | ||||
| 		size_t offset; | ||||
| 	char prefix[32]; | ||||
|  | ||||
| 		offset = strcspn(device, "0123456789"); | ||||
| 	if (is_partition(device, prefix, sizeof prefix)) { | ||||
|  | ||||
| 		prefix = g_strdup(device); | ||||
| 		prefix [offset] = '\0'; | ||||
|  | ||||
| 		path = g_strdup_printf("/sys/block/%s/%s/stat", | ||||
| 				       prefix, device); | ||||
|  | ||||
| 		g_free(prefix); | ||||
|  | ||||
| 		*stat_path = path; | ||||
| 		*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 | ||||
| @@ -124,30 +129,29 @@ get_sys_path(glibtop* server, const char *device, char **stat_path, const char * | ||||
|  | ||||
| static void linux_2_6_0(glibtop *server, glibtop_fsusage *buf, const char *path) | ||||
| { | ||||
| 	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(server, device, &filename, &format); | ||||
| 	g_free(device); | ||||
|  | ||||
| 	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); | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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'; | ||||
|   | ||||
| @@ -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); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
| #ifndef __GLIBTOP_SAFEIO_H__ | ||||
| #define __GLIBTOP_SAFEIO_H__ | ||||
|  | ||||
| #include <glib/gmacros.h> | ||||
| #include <glib.h> | ||||
|  | ||||
| #include <sys/types.h> | ||||
| #include <sys/stat.h> | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
| */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <glib/gstrfuncs.h> | ||||
| #include <glib.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #include <glibtop.h> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user