gip-1.7.0-1/0000755000175000017500000000000011130411302010540 5ustar samsamgip-1.7.0-1/gip.glade0000644000175000017500000014526111130411302012326 0ustar samsam True GIP - Internet Protocol Calculator GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False 400 400 True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False 0 True True _File True True gtk-quit True True _Edit True True gtk-cut True True gtk-copy True True gtk-paste True True gtk-delete True True _Help True True _About True True gtk-dialog-info 1 0.5 0.5 0 0 0 False False True True True True GTK_POS_TOP False False 12 True 17 4 False 3 12 True <b>Input</b> False True GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 4 0 1 fill True False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 4 11 12 fill True <b>Output (Binary)</b> False True GTK_JUSTIFY_LEFT False False 0 0.5 0 6 0 4 12 13 fill True <b>Output</b> False True GTK_JUSTIFY_LEFT False False 0 0.5 0 6 0 4 5 6 fill True False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 4 4 5 fill True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 2 4 1 2 True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 2 4 2 3 True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 2 4 3 4 True Prefix Length False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 3 4 fill True Network Mask False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 2 3 fill True IP Address False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 1 2 fill True calculator.png 0.5 0.5 12 0 0 1 1 4 fill fill True Broadcast Address: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 10 11 fill True Network Address: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 9 10 fill True Number of Subnets: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 7 8 fill True Address Range: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 6 7 fill True Number of Hosts: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 8 9 fill True Broadcast Address: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 16 17 fill True Network Address: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 15 16 fill True Network Mask: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 14 15 fill True IP Address: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 1 2 13 14 fill True gears.png 0.5 0.5 12 0 0 1 13 17 fill fill True netcard.png 0.5 0.5 12 0 0 1 6 11 fill fill True 11111111.00000000.00000000.00000000 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 14 15 fill True 11111111.00000000.00000000.00000000 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 15 16 fill True 11110000.00000000.00000000.00000001 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 13 14 fill True 11110000.11111111.11111111.11111111 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 16 17 fill True 224.255.255.255 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 10 11 fill True 123.234.123.234 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 9 10 fill True 22324234234 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 8 9 fill True 20435345 False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 2 4 7 8 fill True False 0 True 224.0.0.1 False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True - False False GTK_JUSTIFY_LEFT False False 0.5 0.5 12 0 0 False False True 224.255.255.255 False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False 2 4 6 7 fill False True True IPv4 Address Analyzer False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 6 True False 6 True 1 4 False 6 12 True Address Range False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 0 1 fill True - False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 2 3 0 1 fill True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 1 2 0 1 True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 3 4 0 1 0 False True True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_IN GTK_CORNER_TOP_LEFT True True True False False True 0 True True False True True IPv4 Subnet Calculator False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 6 True False 6 True 2 4 False 6 12 True Address Range: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 0 1 fill True - False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 2 3 0 1 fill True True 1 0 False GTK_UPDATE_ALWAYS False False 1 0 100 1 10 10 1 2 0 1 True True 1 0 False GTK_UPDATE_ALWAYS False False 2 0 100 1 10 10 3 4 0 1 True Subnetted using Prefix Length: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 1 2 fill True True 1 0 False GTK_UPDATE_ALWAYS False False 1 0 100 1 10 10 1 4 1 2 0 False True True True GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC GTK_SHADOW_IN GTK_CORNER_TOP_LEFT True True True False False True 0 True True False True True IPv4 Subnet Splitter False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 tab 0 True True gip-1.7.0-1/src/0000755000175000017500000000000011130411302011327 5ustar samsamgip-1.7.0-1/src/lib_regexp.h0000644000175000017500000000523511130411302013625 0ustar samsam/* lib_shellpattern. * (c)2002, 2003 by Samuel Abels (spam debain org) * This project's homepage is: http://www.debain.org/cantus * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_LIB_SHELLPATTERN_H #define HAVE_LIB_SHELLPATTERN_H #ifndef FALSE #define FALSE 0 #endif #ifndef TRUE #define TRUE 1 #endif #ifdef _CPLUSPLUS_ extern "C" { #endif /* Returns bool: Whether or not "string" matches the glob pattern "pattern". */ short int shellpattern_match( const char *string, const char *pattern, short int casess); /* Returns bool: Whether or not "string" matches one of the glob patterns in * "pattern[]". */ short int shellpattern_match_any( const char *string, const char *pattern[], short int casess); /* Returns bool and stores all substrings (=strings embraced by \( and \) * markers) in "match[]". */ short int shellpattern_match_grab( const char *string, const char *pattern, short int casess, char **match); /* Returns bool: Whether or not "string" matches "regexp". */ short int regexp_match( const char *string, const char *regexp, short int casess); /* This function will compare a regexp with a string and * return the content of all embraced matches, or NULL. Do not forget to free * the content of "matches[]"! */ short int regexp_match_grab(const char *string, const char *regexp, short int casess, char **matches); /* Frees the matches previously returned by regexp_match_grab. */ void free_regexp_matches(char **matches); /* Returns bool: Whether or not the regexp can be compiled. */ short int regexp_is_valid(const char *regexp); #ifdef _CPLUSPLUS_ } #endif #endif gip-1.7.0-1/src/gui_mainwindow.h0000644000175000017500000000377311130411302014532 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_MAINWINDOW_H #define HAVE_GUI_MAINWINDOW_H #include #include #include #include #include "gui_ipv4_analyzer.h" #include "gui_ipv4_subnet_calculator.h" #include "gui_ipv4_subnet_splitter.h" #include "gui_aboutbox.h" #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; class GUIMainwindow : public Window { public: GUIMainwindow(); ~GUIMainwindow(); /* Switch event emissions off. */ void lock_signals(void); /* Switch event emissions on (default). */ void unlock_signals(void); GUIIPv4Analyzer ipv4_analyzer; GUIIPv4SubnetCalculator ipv4_subnet_calculator; GUIIPv4SubnetSplitter ipv4_subnet_splitter; protected: GUIAboutBox aboutbox; MenuBar* build_menu(void); void on_file_quit_clicked(void); void on_edit_cut_clicked(void); void on_edit_copy_clicked(void); void on_edit_paste_clicked(void); void on_clipboard_text_received(const Glib::ustring& text); void on_edit_delete_clicked(void); void on_help_about_clicked(void); }; #endif gip-1.7.0-1/src/dispatcher.cc0000644000175000017500000001714311130411302013772 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "dispatcher.h" //#define _DEBUG_ extern GUIMainwindow* mainwindow; /****************************************************************************** * Constructor/Destructor ******************************************************************************/ Dispatcher::Dispatcher() { #ifdef _DEBUG_ printf("Dispatcher::Dispatcher(): Called.\n"); #endif mainwindow->ipv4_analyzer.signal_ip_changed.connect( sigc::mem_fun(*this, &Dispatcher::on_ipv4_analyzer_ip_changed)); mainwindow->ipv4_analyzer.signal_mask_changed.connect( sigc::mem_fun(*this, &Dispatcher::on_ipv4_analyzer_mask_changed)); mainwindow->ipv4_analyzer.signal_pfxlen_changed.connect( sigc::mem_fun(*this, &Dispatcher::on_ipv4_analyzer_pfxlen_changed)); mainwindow->ipv4_subnet_calculator.signal_range_changed.connect( sigc::mem_fun(*this, &Dispatcher::on_ipv4_subnet_calculator_range_changed)); mainwindow->ipv4_subnet_splitter.signal_changed.connect( sigc::mem_fun(*this, &Dispatcher::on_ipv4_subnet_splitter_changed)); // Initialize with the default values. unsigned long ip = 0, mask = 0; ipv4_ip2integer("192.168.0.1", &ip); ipv4_ip2integer("255.255.255.0", &mask); mainwindow->ipv4_analyzer.set_mask(mask); mainwindow->ipv4_analyzer.set_ip(ip); } Dispatcher::~Dispatcher() { #ifdef _DEBUG_ printf("Dispatcher::~Dispatcher(): Called.\n"); #endif } /****************************************************************************** * Public ******************************************************************************/ /****************************************************************************** * Protected ******************************************************************************/ void Dispatcher::get_prefixes_from_range(unsigned long from, unsigned long to) { Prefix* prefixes[2000]; ipv4_get_prefixes_from_range(from, to, prefixes); } void Dispatcher::on_ipv4_analyzer_ip_changed(unsigned long ip, unsigned long mask) { #ifdef _DEBUG_ printf("Dispatcher::on_ipv4_analyzer_ip_changed(): Called.\n"); #endif mainwindow->lock_signals(); unsigned long broadcast = 0; ipv4_get_broadcast(ip, mask, &broadcast); mainwindow->ipv4_analyzer.set_output_range(ip & mask, broadcast); mainwindow->ipv4_analyzer.set_output_network(ip & mask); mainwindow->ipv4_analyzer.set_output_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_bin_ip(ip); mainwindow->ipv4_analyzer.set_output_bin_network(ip & mask); mainwindow->ipv4_analyzer.set_output_bin_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_hex_ip(ip); mainwindow->ipv4_analyzer.set_output_hex_network(ip & mask); mainwindow->ipv4_analyzer.set_output_hex_broadcast(broadcast); mainwindow->unlock_signals(); } void Dispatcher::on_ipv4_analyzer_mask_changed(unsigned long ip, unsigned long mask) { #ifdef _DEBUG_ printf("Dispatcher::on_ipv4_analyzer_mask_changed(): Called.\n"); #endif mainwindow->lock_signals(); unsigned short int pfxlen = 0; unsigned long broadcast = 0; unsigned int numsubnets = 0; unsigned int numhosts = 0; unsigned int numhosts_all = 0; ipv4_get_broadcast(ip, mask, &broadcast); if (ipv4_mask2pfxlen(mask, &pfxlen) == 0) mainwindow->ipv4_analyzer.set_pfxlen(pfxlen); ipv4_get_num_subnets(pfxlen, &numsubnets); ipv4_get_num_hosts(pfxlen, &numhosts); ipv4_get_num_hosts_all(pfxlen, &numhosts_all); mainwindow->ipv4_analyzer.set_output_range(ip & mask, broadcast); mainwindow->ipv4_analyzer.set_output_subnets(numsubnets); mainwindow->ipv4_analyzer.set_output_hosts(numhosts); mainwindow->ipv4_analyzer.set_output_hosts_all(numhosts_all); mainwindow->ipv4_analyzer.set_output_network(ip & mask); mainwindow->ipv4_analyzer.set_output_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_bin_mask(mask); mainwindow->ipv4_analyzer.set_output_bin_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_hex_mask(mask); mainwindow->ipv4_analyzer.set_output_hex_broadcast(broadcast); mainwindow->unlock_signals(); } void Dispatcher::on_ipv4_analyzer_pfxlen_changed(unsigned long ip, unsigned short int pfxlen) { #ifdef _DEBUG_ printf("Dispatcher::on_ipv4_analyzer_pfxlen_changed(): Called.\n"); #endif mainwindow->lock_signals(); unsigned long mask = 0; unsigned long broadcast = 0; unsigned int numsubnets = 0; unsigned int numhosts = 0; unsigned int numhosts_all = 0; ipv4_pfxlen2mask(pfxlen, &mask); ipv4_get_broadcast(ip, mask, &broadcast); ipv4_get_num_subnets(pfxlen, &numsubnets); ipv4_get_num_hosts(pfxlen, &numhosts); ipv4_get_num_hosts_all(pfxlen, &numhosts_all); mainwindow->ipv4_analyzer.set_mask(mask); mainwindow->ipv4_analyzer.set_output_range(ip & mask, broadcast); mainwindow->ipv4_analyzer.set_output_subnets(numsubnets); mainwindow->ipv4_analyzer.set_output_hosts(numhosts); mainwindow->ipv4_analyzer.set_output_hosts_all(numhosts_all); mainwindow->ipv4_analyzer.set_output_network(ip & mask); mainwindow->ipv4_analyzer.set_output_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_bin_mask(mask); mainwindow->ipv4_analyzer.set_output_bin_broadcast(broadcast); mainwindow->ipv4_analyzer.set_output_hex_mask(mask); mainwindow->ipv4_analyzer.set_output_hex_broadcast(broadcast); mainwindow->unlock_signals(); } void Dispatcher::on_ipv4_subnet_calculator_range_changed(unsigned long from, unsigned long to) { #ifdef _DEBUG_ printf("Dispatcher::on_ipv4_subnet_calculator_range_changed(): Called.\n"); #endif mainwindow->lock_signals(); if (from > to) to = from; mainwindow->ipv4_subnet_calculator.set_range(from, to); mainwindow->ipv4_subnet_calculator.prefixlist.clear(); Prefix* prefixes[1000]; prefixes[0] = NULL; if (ipv4_get_prefixes_from_range(from, to, prefixes) == 0) mainwindow->ipv4_subnet_calculator.prefixlist.insert(prefixes); ipv4_free_prefixlist(prefixes); mainwindow->unlock_signals(); } void Dispatcher::on_ipv4_subnet_splitter_changed(unsigned long from, unsigned long to, unsigned short int pfxlen) { #ifdef _DEBUG_ printf("Dispatcher::on_ipv4_subnet_splitter_changed(): Called.\n"); #endif mainwindow->lock_signals(); if (from > to) to = from; mainwindow->ipv4_subnet_splitter.set_range(from, to); mainwindow->ipv4_subnet_splitter.prefixlist.clear(); Prefix* prefixes[1000 + 1]; prefixes[0] = NULL; if (ipv4_get_prefixes_from_range_flsm(from, to, pfxlen, prefixes, 1000) == 0) mainwindow->ipv4_subnet_splitter.prefixlist.insert(prefixes); ipv4_free_prefixlist(prefixes); mainwindow->unlock_signals(); } gip-1.7.0-1/src/gui_ipv4_subnet_splitter.cc0000644000175000017500000001261611130411302016700 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_ipv4_subnet_splitter.h" //#define _DEBUG_ /****************************************************************************** * Constructor/Destructor ******************************************************************************/ GUIIPv4SubnetSplitter::GUIIPv4SubnetSplitter() : label_range(_("Address range:"), 0, 0.5), label_dash("-"), label_pfxlen(_("Subnetted using prefixlength:"), 0, 0.5), label_maxmatch(_("Showing a maximum of 1000 subnets."), 1, 0.5) { resize(4, 4); set_border_width(6); set_row_spacings(6); set_col_spacings(12); spin_from.set_numeric(FALSE); spin_from.set_range(0, (double)pow((double)2, 32) - 1); spin_from.set_increments(1, 256); spin_from.set_wrap(); spin_to.set_numeric(FALSE); spin_to.set_range(0, (double)pow((double)2, 32) - 1); spin_to.set_increments(1, 256); spin_to.set_wrap(); spin_pfxlen.set_range(0, 32); spin_pfxlen.set_increments(1, 10); scrolled.add(prefixlist); scrolled.set_shadow_type(SHADOW_IN); scrolled.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); attach(label_range, 0, 1, 0, 1, FILL, FILL); attach(spin_from, 1, 2, 0, 1, FILL|EXPAND, FILL); attach(label_dash, 2, 3, 0, 1, FILL, FILL); attach(spin_to, 3, 4, 0, 1, FILL|EXPAND, FILL); attach(label_pfxlen, 0, 3, 1, 2, FILL, FILL); attach(spin_pfxlen, 3, 4, 1, 2, FILL|EXPAND, FILL); attach(scrolled, 0, 4, 2, 3, FILL|EXPAND, FILL|EXPAND); attach(label_maxmatch, 0, 4, 3, 4, FILL, FILL); spin_from.signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::map_ip_input), &spin_from)); spin_from.signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::map_ip_output), &spin_from)); spin_from.signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::on_changed)); spin_to.signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::map_ip_input), &spin_to)); spin_to.signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::map_ip_output), &spin_to)); spin_to.signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::on_changed)); spin_pfxlen.signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4SubnetSplitter::on_changed)); } GUIIPv4SubnetSplitter::~GUIIPv4SubnetSplitter() { } /****************************************************************************** * Public ******************************************************************************/ /* Switch event emissions off. */ void GUIIPv4SubnetSplitter::lock_signals(void) { lock_events = TRUE; } /* Switch event emissions on. */ void GUIIPv4SubnetSplitter::unlock_signals(void) { lock_events = FALSE; } /* Switch event emissions on. */ void GUIIPv4SubnetSplitter::set_range(unsigned long from, unsigned long to) { spin_from.set_value(from); spin_to.set_value(to); } /****************************************************************************** * Protected ******************************************************************************/ int GUIIPv4SubnetSplitter::map_ip_input(double* value, SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetSplitter::map_ip_input(): Called.\n"); #endif string ip = spin->get_text(); unsigned long ip_int = 0; if (ipv4_ip2integer(ip.c_str(), &ip_int) < 0) return 0; #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetSplitter::map_ip_input(): Value: %s, %i\n", ip.c_str(), ip_int); #endif *value = (double)ip_int; return 1; } bool GUIIPv4SubnetSplitter::map_ip_output(SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetSplitter::map_ip_output(): Called.\n"); #endif char ip[36] = ""; unsigned long ip_int = (unsigned long)spin->get_adjustment()->get_value(); #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetSplitter::map_ip_output(): Double: %d\n", spin->get_adjustment()->get_value()); #endif ipv4_integer2ip(ip_int, ip); spin->set_text(ip); return TRUE; } void GUIIPv4SubnetSplitter::on_changed(void) { #ifdef _DEBUG_ printf("GUIIPv4SubnetSplitter::on_changed(): Called.\n"); #endif if (lock_events) return; unsigned long from = (unsigned long)spin_from.get_value(); unsigned long to = (unsigned long)spin_to.get_value(); unsigned long pfxlen = (unsigned long)spin_pfxlen.get_value(); signal_changed.emit(from, to, pfxlen); } gip-1.7.0-1/src/lib_ipv4.c0000644000175000017500000002727611130411302013221 0ustar samsam/* * This file provides functions for IP Version 4 based checks and conversions. * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "lib_ipv4.h" //#define _DEBUG_ #define BYTE "[1-2]?[0-9]?[0-9]" // Matches an integer representing a byte. #define PFX "[1-3]?[0-9]" // Matches an integer representing a prefixlen. /* Purpose: Evaluates the logarithm to a variable base. */ static double log_base(double base, double val) { return log(val) / log(base); } /* Checks the syntax of a human readable (byte notated) IP address for validity. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. */ short int ipv4_check_ip(const char* ip) { char *matches[1+4]; const char *pattern = "^(" BYTE ")\\.(" BYTE ")\\.(" BYTE ")\\.(" BYTE ")$"; int i = 0; if (!regexp_match_grab(ip, pattern, TRUE, matches)) return ERR_INVALID_FORMAT; for (; i <= 3; i++) { unsigned int byte = atoi(matches[i]); if (byte < 0 || byte > 255) { free_regexp_matches(matches); return ERR_OUT_OF_RANGE; } } free_regexp_matches(matches); return 0; } /* Checks the an IP prefixlength for validity. * Returns: 0 on success, <0 otherwise: * INVALID_PREFIXLEN if the prefixlength is invalid. */ short int ipv4_check_prefixlen(unsigned short int pfxlen) { if (pfxlen > 32) return ERR_INVALID_PREFIXLEN; return 0; } /* Checks the syntax of an IP address prefix for validity. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. * INVALID_PREFIXLEN if the prefixlength value is out of range. */ short int ipv4_check_prefix(const char* prefix) { char *matches[1+2]; const char *pattern = "^(" BYTE "\\." BYTE "\\." BYTE "\\." BYTE ")" "/(" PFX ")$"; int err = 0; if (!regexp_match_grab(prefix, pattern, TRUE, matches)) return ERR_INVALID_FORMAT; err = ipv4_check_ip(matches[0]); // Check the IP address. err &= ipv4_check_prefixlen(atoi(matches[1])); // Check prefixlen. free_regexp_matches(matches); return err; } /* Convert a human readable (byte notated) ip address to a 4-byte integer value. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. */ short int ipv4_ip2integer(const char* ip, unsigned long* ip_int) { char *matches[1+4]; const char *pattern = "(" BYTE ")\\.(" BYTE ")\\.(" BYTE ")\\.(" BYTE ")"; int i = 0; *ip_int = 0; if (regexp_match_grab(ip, pattern, TRUE, matches) != 0) return ERR_INVALID_FORMAT; for (i = 0; i <= 3; i++) { unsigned int byte = atoi(matches[i]); if (byte < 0 || byte > 255) return ERR_OUT_OF_RANGE; *ip_int |= byte << (24 - (i * 8)); #ifdef _DEBUG_ printf("ipv4_ip2integer(): Text: %s, Byte: %i, Sum: %u\n", matches[i], byte, *ip_int); #endif } free_regexp_matches(matches); return 0; } /* Converts a 4 byte integer value into a human readable (byte notated) ip * address. */ short int ipv4_integer2ip(unsigned long ip_int, char* ip) { sprintf(ip, "%i.%i.%i.%i", ((ip_int >> 24) & 0x000000FF), ((ip_int >> 16) & 0x000000FF), ((ip_int >> 8) & 0x000000FF), ( ip_int & 0x000000FF)); return 0; } /* Converts a 4 byte integer value into a human readable (byte notated) binary * ip address. */ short int ipv4_integer2bin(unsigned long ip_int, char* ip_bin) { int i = 31; for (; i >= 0; i--) { if (i == 23 || i == 15 || i == 7) *ip_bin++ = '.'; unsigned long bit = (ip_int & (1 << i)); *ip_bin = bit ? '1' : '0'; ip_bin++; } *ip_bin = 0; return 0; } /* Converts a 4 byte integer value into a hexadezimal value. */ short int ipv4_integer2hex(unsigned long ip_int, char* ip_hex) { int i = 3; for (; i >= 0; i--) { sprintf(ip_hex, "%02X", (ip_int >> (i * 8)) & 0xFF); ip_hex += strlen(ip_hex); if (i != 0) *ip_hex++ = '.'; } //sprintf(ip_hex, "%#X", ip_int); return 0; } /* Convert a prefixlength to an IP mask. * Returns: 0 on success, <0 otherwise: * INVALID_PREFIXLEN if the prefixlength is invalid. */ short int ipv4_pfxlen2mask(unsigned short int pfxlen, unsigned long *mask) { if (pfxlen == 0) { // /0 networks. *mask = 0; return 0; } int err = 0; if ((err = ipv4_check_prefixlen(pfxlen)) < 0) // Check for validity. return err; *mask = 0xFFFFFFFF << (32 - pfxlen); return err; } /* Convert an IP mask address to a prefixlength. * Returns 0. */ short int ipv4_mask2pfxlen(unsigned long mask, unsigned short int* pfxlen) { if (mask & 0xFFFFFFFF == 0xFFFFFFFF) { // /32 networks. *pfxlen = 32; return 0; } mask = mask ^ 0xFFFFFFFF; // Invert the value. *pfxlen = 32 - ((int)log_base(2, mask) + 1); // Calculate the prefix length. return 0; } /* Given an IP address and a netmask, this function stores the broadcast * address in "broadcast". Returns 0. */ short int ipv4_get_broadcast(unsigned long ip, unsigned long mask, unsigned long* broadcast) { *broadcast = (ip & mask) | (mask ^ 0xFFFFFFFF); return 0; } /* Given a prefix length, this function stores the number of * host addresses in "num", EXCLUDING network/broadcast. Returns 0. */ short int ipv4_get_num_hosts(unsigned short int pfxlen, unsigned int* num) { int hosts = 0; switch (pfxlen) { case 0: hosts = 0xFFFFFFFC; break; case 31: hosts = 2; break; case 32: hosts = 1; break; default: hosts = (unsigned int)pow(2, 32 - pfxlen) - 2; break; } *num = hosts; return 0; } /* Given a prefix length, this function stores the number of * host addresses in "num" INCLUDING network/broadcast. Returns 0. */ short int ipv4_get_num_hosts_all(unsigned short int pfxlen, unsigned int* num) { if (pfxlen == 0) *num = 0xFFFFFFFF; else *num = (unsigned int)pow(2, 32 - pfxlen); return 0; } /* Given a prefix length, this function stores the number of * subnet addresses in "num". Returns 0. */ short int ipv4_get_num_subnets(unsigned short int pfxlen, unsigned int* num) { *num = (unsigned int)pow(2, pfxlen); if (pfxlen == 32) *num = 0xFFFFFFFF; return 0; } /* Checks whether "net2/pfxlen" meets all of the given criterias (arguments). * Returns: TRUE if match, FALSE if no match, <0 on an error. */ short int ipv4_prefix_match(unsigned long net1, unsigned long mask1, unsigned short int le, unsigned short int ge, unsigned long net2, unsigned long pfxlen) { unsigned long mask2 = 0; unsigned long err = 0; short int match = FALSE; if ((err = ipv4_pfxlen2mask(pfxlen, &mask2)) < 0) return err; match = (net1 & mask1) == (net2 & mask2); return match && (pfxlen <= le) && (pfxlen >= ge); } /* Given an address range, this function returns a list of prefixes covering * all its addresses, and /only/ the range addresses. * Returns: 0. */ short int ipv4_get_prefixes_from_range(unsigned long from, unsigned long to, Prefix** prefixlist) { unsigned long mask = 0; short int pfxlen = 0; int num = 0; Prefix* prefix = NULL; for (pfxlen = 0; pfxlen <= 32; pfxlen++) { #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range(): Prefixlen %i\n", pfxlen); #endif ipv4_pfxlen2mask((unsigned short int)pfxlen, &mask); if ((from & mask) < from) continue; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range(): Works for 'from'.\n"); #endif // Ending up here, we have found the largest-possible match for "from". // But the prefix end may already be risen above "to". // Check this. if (((from & mask) | (mask ^ 0xFFFFFFFF)) > to) continue; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range(): Works for 'to'.\n"); #endif // Found the first prefix, push it in the array. prefix = (Prefix*)malloc(sizeof(Prefix)); prefix->net = from & mask; prefix->len = (unsigned short int)pfxlen; prefixlist[num++] = prefix; // We are done if the broadcast address of the prefix equals the range end. if (((from & mask) | (mask ^ 0xFFFFFFFF)) == to) break; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range(): 'to' not equal broadcast.\n"); #endif // Increase "from" so that it points to the beginning of the next network. from = ((from & mask) | (mask ^ 0xFFFFFFFF)) + 1; pfxlen = -1; } prefixlist[num] = NULL; return 0; } /* Same as ipv4_get_prefixes_from_range, but uses fixed length subnetting. * Returns: 0. */ short int ipv4_get_prefixes_from_range_flsm(unsigned long from, unsigned long to, unsigned short int pfxlen, Prefix** prefixlist, unsigned int maxmatch) { unsigned long inc = 0; unsigned long mask = 0; unsigned int num = 0; Prefix* prefix = NULL; ipv4_pfxlen2mask(pfxlen, &mask); inc = mask ^ 0xFFFFFFFF; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range_flsm(): Prefixlen: %d\n", pfxlen); printf("ipv4_get_prefixes_from_range_flsm(): IncrementC: %d\n", inc); #endif while (from + inc <= to) { #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range_flsm(): Flag A.\n"); #endif if (from & mask < from) break; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range_flsm(): Flag B.\n"); #endif if (num > maxmatch) break; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range_flsm(): Flag C.\n"); #endif // Ending up here, we have found a match. Push it into an array. prefix = (Prefix*)malloc(sizeof(Prefix)); prefix->net = (unsigned long)from; prefix->len = (unsigned short int)pfxlen; prefixlist[num++] = prefix; if ((unsigned long)(from + inc + 1) <= from) break; #ifdef _DEBUG_ printf("ipv4_get_prefixes_from_range_flsm(): Flag D.\n"); #endif from += inc; from++; } prefixlist[num] = NULL; return 0; } /* Frees the content of a prefixlist previously returned by * ipv4_get_prefixes_from_range(). */ void ipv4_free_prefixlist(Prefix** prefixlist) { int i = -1; while (prefixlist[++i]) free(prefixlist[i]); } gip-1.7.0-1/src/pixmaps/0000755000175000017500000000000011130411302013010 5ustar samsamgip-1.7.0-1/src/pixmaps/calc32.png0000644000175000017500000000312411130411302014565 0ustar samsam‰PNG  IHDR szzôsBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÑIDATX…Å—ïo[gÇ?ç¹vl'Íšµ‹ãø×õÏ$v¡jGA^0Z¡ ª½`Ý*uê°jo÷iÀ¤ 4i»öÅÚH 0 )Ê–¦‰=Ç®¤qÚ.Y’ëÜûðÂŽg×nñP$ŽdùÞsÏ}Îçžçûœû\ÑZóÿ4×£ŽgŸ{. òŽm;g9¨DZkÇe7µè7>™ž^x,€Öòn,üA,Åe“Ížm«¥\á…åbùmàÅ®§Nrkåú~4¦X,bYÖ×N&Oûœÿ—{^ÂÁ€–ïþ¸Õß°>8hÞÚ¶··ùÑ /òíï|¯m ¿ôW¦n\{,€¡ òÔ^‡ÿßíh´Öme혀]«†í8LýáûèÏm×~ñGu>á¾9ÀÇeÕá×{š]«Öáï 5«Æwß´8š0îñ•iÑ¥tóË£õ³jÞæÖ¯;§´€²,‹hÊDªg쯃ìçiIÒv¤[Ž·]ï!ƒIáŸÖÃ'˜CCÞû[ÛìÖj2žÁ%Ž =á!¶¶p°ÑÝøÁÀ…!n”¸Q|5•­@ƒEرÖzª5«†[¼ìèM6í5†¾,¡»…v5%.\ôáVý(10ÄÝ·'€Ëâ/ÿ‰ácu±Uû~=ço3Añ”k)šìvYÖ],«Æßêzé´u`¯×ûd€øÐÐNiwÛ¹øÚyµ´´Ôu(iü@” Dµø¤á …"¥R©yßèè(gNŸá—ïþêñOÔ‡¾>7Åb‘ÕÕºp¡PÕÕ5Êå "àñDÈçó”Ë¢ÑñxœÊJ…Ÿ½|Ž~ªÕu~wí¾~/C‡=`ßlÛæÁƒ‡\zý¥ò]®^¹B$¦T*qñâE6îoðÁû¥ZÝh‹K&ø‡ý¼÷þ…v†ýÃm=ä¿õ’æ 9”ÔK¯”›ñxÜûsÒ'JqìYöj)@!¢ðxûÕÙ!   ÅÑ£G¸ùáM@ˆšQD£Á“¿½ @8ÆçõŒpóÃ)ÒéJ wÈçóÍñ¢‘0±h¬7€úÓ*‚Á ¡P¨),EÌ4‰Çb->!“H$U?W",—9wî|^/ëÕu®_¿Þ{„z¹ …e*••ÆÓ†0c&å»e …"" I$â,Ü^ X¬+>36ž&0àêÕˈ8Úf$0‚H%8Žfcã~›¸âñ8ùüçm"Œ„¬­Ýk‹›˜ãĉãXµL]KJðz<¨^Tc z¡ÝE˜[Ê1??ÏþË*=–&1{@—Û…ß?ÜW2™@”" 7Ehš&>¯p8ÄÔßÉL D˜›û”ó¯žÇçó±¹¹ÉäåIΜ>ÝkJ¦i‹ÇšÂR©$é±T›/N16>Öì†û¥öx<ÌÞúÃÃþúµžû€¥„ÅÅEJ¥2±˜I2•d¹°L.—G"f”±tš¹¹9>Ï¥N‘ÍfXY]AkÍêj]È¢::× Pضý{U.½~‰Ÿ¾ô¹\%Š;w¹pá?9{–ÜâÖî.+••fÜíù…föïÛ×X`½‰©wºGEØu\鵈Âåv Ž2u£.ÂññqD)âq³)Âd"ÁÀ@?¦mŠðøño¢ iwgÃ寶÷ÐZwýÊiØÚÚrÄЂָ]n’©$©t»à&2d²™6Áe2deÆ«Y‰pòä fgohгß:‰ªWF‹È­uµ`rrÒ9÷Ê˳Ÿ~öÙ‰l&‹áRF¢•iÙ 4Ž¡e/@Ch"ƒažþ‡ÍXÇq˜™™Áqô,pè˜_XxËÖöϧ§§s€ß†€Öè™Oþ1óZÄ/~‹H€æö÷ Í x²Özµ+@ÂÐZ8€ˆ¸¥µnîNÿTñi™Õ+IEND®B`‚gip-1.7.0-1/src/pixmaps/calculator.png0000644000175000017500000000755511130411302015663 0ustar samsam‰PNG  IHDR/0§#âgAMA† 1è–_$IDATxÚí™iŒ$gyÇÏ[U}ŸÓÓ³÷Œ÷´÷6+œd®@0!ŽÀ€ID,RŽ/ù¤äCBH ‡!D Å&`G`!Æ€ñµ^﮽»öÞ»sw÷ÌìôôYUï“]½.»ØÆÊ‡(´ôªºjº¦þÏÿý¿Ïû<ÿ‚_~ýùÿõ‘ÿC¸ô ¼¼Øƒ^æÿ¹.ÝW8>®ô ½ÒC_ô•¸Ò}ê¾BÐŽˆ`8Á“†À-ª;_=¸ h¹ øÜçþŠÀˆ¸€÷{¿v`ß¾½ßïvûGºöÔââÂã+­öäãO<õاÿî3Sª jU±€eð}Øó`Vƒ½xûJ4o"àžˆ¤D$}ôɇ¾W©ì ÂZÂ0 |Â0$ðû,.-> J8==w¿±·¿ÿ£ßFÕ*„ªjW±*WI|¦lü(/“u'­•½nŸ~¯O6•bm©Â¦5kÉ¥Slß4N©X$T-Ö*a°Òjét:sµZýÐìÌ|ýÓÿÙoEÀû@/úƒ‘—ÉzRDrƘ‘¯ÿËç?vàæïrÜ$õ¹¤Ñk³ebÇq°A@Xk±Aˆßóét;tÛ]zݽn—0°TŠ%2‰$»·mnÜ·«J·Óæð‘g8söwõ{Ðè>¸/¸WD"’¡´gÏ®÷8nßïqçmï`vi‰ŽZÚ½.gf¦QW±¡Åº®ã“L$3l¨Ø0¤×ëÑëôXj5ù¯GŽ`xôÈQîüýwøívßïTe ¹j‘¿älcW„”ˆäïýæW>•Ëæ* $’Yªå2¥\UÅZË[hõz,¶Z\¨ÕhuÛÌ-.¢¡Å†!¡à¹édŠ0 ƒÏñH¦2ƒ…ôz}ü¾_¡ªŠÄµÉFÜ—Èz$“}ë[nݶ{×Îw:®G:[dq©ÅÝ_ûw6mZO¹˜£TÌS,H§S¬)䩿r¨µXkYlµi÷{L×Ô/Ñj·mˆ BRÉ$j•  mHßz P?’Ëp@ø¢àEĈˆgŒ¤ŒHîï|ÿ®ç!↠3g™Ø¿ -G?ËšêùÜ"ý^‡|>G>—¥PÌ“ð\ ©$¹D‚ÑL»i°Pç—–ét;\jwXnu°jñ}†Xº@h­˜öÀq9pDwÈú›ßôúm»vï¼MÄ-T8yê$?y˜Z§Ñ»ùÈG8{êi–––¨×8~â9rÅ*íæ"ét’t&E.›%ŸË⸆‘\ͦY[¶¨ÕËàƒ $ ­€K@X’ÑÂõÝ_.q@<#’2FòŸüÄ]Ÿt]Ä!ßýÁ÷973Ç|}Îò2·¾öìa’.$ëÖVyð'ñgï¹ãO$ •åæ >ôs—±uU ¹ ¥bŽr±€ç8X«ôú>ÖZúý~_„¤*)¸<óƽ*냼>`ÝHöãû£›ÇÇ'nRµŒTÇ9{þ4ãÛ·’ªŽ±©ÕböÌin¹å·8øè©5êX«,_Z&“+súä òùÖZ²Ù4ŠáÕ7¼†¹æË.—¦æ9wvŠ]×m#Jà÷}‚0¤±°¸¤Jzhw8® ±ž‘ü»ßuÛÇ1$S9Â0ä‰Ã‡¨/¯ ÆÐl4xý-¿ÍÄøZòêA~·–oÞs7x-=ô³³óŒSÓ3ìòû¨1˜LšT!GÊZNž>Ëîë¶Ñ÷}lhQU#"¨«ŠIfÀ™—çS£$É~ì®;ŒVF·‹¤ÆCGröÂ$gÏ^ ÓíÐZ\âŽwßÎÙ“ÇH$]¬*½^Ÿ0TÞpëë(çÁZËìl‹“S”ŠK<÷ÌÓ\˜œ"_.Q)Ókµ(dÓѽ=zý> ê¨ð 7Ëa ä^%Ã8ц”‘‡>ðÞ¿1Æà%²Ö29?GilŒm¹³s5jµ:>Ê ¿±Té÷…Ý`+DÔDÌY¿b¶yë"äîþÂg>œNgG¬µ$žyî8‹ÍÍN—~Òn.óçŸø$Ýfƒ­×ŒQ¯/âû}þûÁ‡Ÿp¹çžoa­²~Ýƪº=Ÿb!1r]Æ×­aãšQ–ê D@#æmh™œœžÕ6/Þ;¸¿X| Y'#Haÿþ= "¤³EU¾úõoÐ ,N*EÐë’wä²³gPUÊ¥"Ë+MÆÖ¬åwßö6oavnž™ÙyŽ<}œz×KRÈ%¡22‚*T«£¨*aÒëõQUjõFÅD;¬ÛíÀ8«òº#HBŒÉ#¥»¿ðÙnÙ²ùµŠR©Žó“Ç~Šd2àz„Oýâ$7\ÿ*î¿ïÛLMMÓ\YAQž=qŠ={¯'“ö¸ti‘t:ÍØh…‘r‰KÍ6ïü½·39ysç.òøÁ§¨Õœ:}–];wH&˜žžáÒò2'ž=õœ6§á&ÕŽr|è¹/”‹8bÅ×ï¼ùÖm¯º~ﻌòÅ*Í•e¦juVº}²…ê÷Ùsݵüáíïå䉧˜™czfŽÃ‡Ÿá‘Çž$“åôÉcT«FG+XUNŸ9Çø¦q²™$;¯Ûε;¶a­e¾VgjzUê~KhdÔ°HLﬖÍå2@ĤŒ‘܇îxß³Ù\Ù8^ªÀ¾{­• ×Áu<ºÏ[Þø&šK T•êØ(•ÑªÕ 6Npóüè‡ßãÈÑãÌÍͳyógΞgßþ×P«Ía­¢jQU*#eÖ¬» ÞZ‹†6ÐÜM~ÄpÁŠ/Œ‘„1’}Ó^·mÏî·‰1x‰?ÿé8î<ó K,¯´Ø¸~­¥%¶mÝÊÅs'P;ØÚU•©éö]®Xö캖];wÐëõ˜¯58rôSÓÓLMž¡/Ëg(ä² yÐAFòûAÐí÷;«zYSÉå’X@†õzJÜ?ðÞ;×£ß÷¹´4ÉØhŽ×ÿæz~@­Ñ 6_'ã¾ôÅ¢ÛíËf( Œ”KLNÍñÖ·m`nö6*‘]×eíš*ˆáö÷½‡Vs‘FcééiÎ_œf~¾ÆÉSg¸é¦W³¸°DõëKòë.à¸Ö£ ƒ¤ïú“˜ßøöN»MøƒV Å1BÒuXWel¤<]µ–zc‘Z½Î¹ éõz|ÿX\¨á¸7¬§R)333O:¡2RB4 R©²}Çz½.õz/~é+ Ð÷ûAˆµ–XZjÞ¼ü@5Qcm$}ý¾]Ÿxö¹S8®;˜ëJ¥H&¸ž‹ˆÁȸF©T XÈ³åš ¬Z K”KY¦¦gxú™ÌÍ×Èå²\31ÁÏ~ö0‰„ÃÄø8ÉTšd2M©T&“ÉryƒRÕ¸ÎU(เ‰ŠsODÒ_þê¿ýÃÖ-×¼±\*ìu]wdýúµ#^Úq ®ãàzÉd‚t2‰ëzçy¿H­R*°j)—‹X;N­VãÒr›™éI¦§§¹ï¾ÿdý†õŒoÜD©\$ð}BuP¾ÏJ«Õ\e2™X‚qu£1Ð=bž¡µt:Ý^Œq³B†5ޏ1ÛièfõDhˤ^oµZ½©ª)E=UÜêh%±uë5ékwlMås9)•Š®1‚ë¸Çàyžëâz.ÉdbpÝ fí ä*— ‹y&6mÀFH¯×džánË/‡AXWU!Ô·J×X»‚‘ª UB6h!’%‰¨7¼z£‘xäу.¨k­:;¶oM—JywÇöm©L&%#å²ë¸è`íxžwùhŒƒë:ˆFäróÞ÷ýA1¦/0Âh ¸ÜŒ¨ª†ÖÒlÓŠx¢b€@Ñ–ª.úHÉ‹hV‘´@ 4‰J !¡VÆ÷Ô©3à>þÄa'*¢œ­›'RÅbÁÛ²e"Y);©TÊ à:ÆÇÁK¸8fpÞëõA•V»½"BùšaÄxc7ò  Z»""FÀ"t€eU @È9UÍ騧LiDÒ€‹àž Ðàž>{ÞuŸ|êèå¦bÿþÝ™|6댎VårÑI%“Æ"4›M‚0äÜù‹³è œ²¡ÝçåãêÀó³ÖZ_D:"¢ÑÚ‘Ñs ÈätÀxZ £RÕŠœãtÔ²%£à<„®ª¸"ê9r¬ù|öP½{vfòù<™L:á:NèêóÙ°Ó˜„‚Õž¸"$@@RUS2`v:‹k$]OÙèï) !ÔŒQ¶ðžß1ÕŠB_„®*M`AU—€E` XˆŽ+@XrW9³!ÐxéDwUuùJ uY2—YÖäªë) -" œ{‘” Cðž N$9TQ”ÐVÕf4ó+±R¸ù6þjë#Àpzœè‡ý佡,¼X0CF‡k" dT5ûmjÄ ±ÆÕᮩxƒ}›´ɵ½*?f´Z÷*ï’âUQ<Çí6'6õ©¡Ü¢±›dìz <ŽªzÃ^tà@3ìS5zÆJÄr+Ãï½!Áò2^˜9±BÉÄ<¬ô’±Yغ0ÑÑiÞ½ÊÿóbFêPªih&Z@G^‚Ѻº9Wz&ÞÍGç^LN^L2ñ…z¥Jщ56¦q? ¦1Þz–/f´®~…_&&';3›ˆ1î¬ TcÁ‰wNaì-ˆ—â_å%òêΆ+ÌH|V†³0:^òʪ¶ÏÆÈòW½âñ_épYÀêv-.%¯Åc> ±YÐØ=Äêí¬Ãlþ™QHÇpu÷IEND®B`‚gip-1.7.0-1/src/pixmaps/gears.png0000644000175000017500000000461111130411302014621 0ustar samsam‰PNG  IHDR00Wù‡gAMA± üabKGDÿÿÿ ½§“ pHYs ˆ ˆåŽ)ItIMEÒúÇC( IDATxÚí™yp”õÇ?ïûnÎfs‚r™ÃŽ*HÅDLdJÑÑflGÑŽvm§XKOÄ¡uœV¬V´+­”AÊ!H"˜T"‡k¢ä"׿Ø#Ùìf³ïûûõ~ˤŒ\m‚ùƒgæ™=Þ÷Ýßs~Ÿcá ]¡+t…¾NÒFá7­aïÑV@ßÈúÏB'¿¬×ú¾–;V½Øçr¹BÛ¶m•@_ѼB¹¾ä5Y4¯P}«W­@•RbL†P_É__·û|}ÄÛãÎ|éõzˆŠŠÆÙÙÎêÃì.­èâÇb>úØýaáKËÊÙ·oÁ! gg;þ@ ,|áXÌ ø¤h^¡`ß¾}tuus ú0ï½ûYWç ¢®oºÇœ\®^ýé= @pÈ¢¡¡‘––VZZÛ¹»x)ÉIdd¤ñð÷L“(”œœ\óò¦O¿žñã’‰³ÇñÌÒ¥ikïäÔ©6Þz{S ÆbÏ*¶nÙdw9Ȭ›g3}Ƹ]½”ï-¥¦æ3Þ,ù{8Izçû€Ï‡Ï×OsSþ@€ŽÎ.º»zF …F¤U‹Ý/¢y…òÙgžödÒ«z¾˜ RÆMà/¾Yߨ91€†Ž4àÞ{nA7"ænÙùaÊßÞZÿ­Y7Ý]Ws“õŸj6½8dŠ. 8u9Mc1ðoßœ½à¦[¦EäMÁfD#¤g˜Jý‰ƒ¡!Ì!Ò¯žLvN‘‘‘?^‡ãP9ÏþúÏ!1t­Ú´Äb ù|ÜAëG*ô™ÚÔê1’R®*žŸáís¡ë6¼ôö´#…H¤¦áîqròËcÔÕ¢³½‘eË_Å4öoDu‚¡£ÀG€û| ŒtÙ€r cÇžsÖ¾±þªÖ–ã i|rè0M NÐ l6RR™|m111H`ûÎrB!‹¤øè~—7ÐìQHd¨®Wަ«€q Q€ñ?~ú±¤˜¸x„iq舃úÆ6Ê>¨HI‰ ‰¯¬™£ Iow3y9“èéu Gms’k¡*ŒÀOGÓx ²ò‘ü)šÖi£É!Z[š@ƒ¦æNÊ>¨pRYÒæöx}«¿&cÍš—£»dff1cú,ýÚi3³’S³…e²zåR¹yKU‰:cT<N^#-3C{ï—ðù¼š‰®DDD!„DB­ªÒ! H©=v<Ê•iš4§³•æ–“„†LB¡A6o©ÒTÙÔsr¤ÐÃÅHÊ!\îÞÓø®I4K ¡#,Arr"@ÐøÕ3€],a"„Ä´$RJ@ÐØ:kesÉ œ½ï ['ˆ}îWKäº åÛfåqßÂùDFj\3¹€‚üú™ÇëOîW \,1{ö-w[ÂÂ2»vUPu°îì3%£î*4’[‰/´ïñ=À5€¹nÃG‡•…€'"*Jä\3 !©ãÆñÒK/fÌ)¼ýñ°@sæÜqïÊ•¿KìêhEAvöD&MH–ê¼n 8¢ú¤¨sɪ]`ßSY¹ß¶`ÁÂþ¢y…ö|€M›6³»´¢õªöe?_~˜<̾ ¤š¦¥uTÇ”½¿ 4´¬É$›ˆÍ°a °¬=Ýí4œ8‚e †Ì åU¸\¡ mà(°¨ê€.åyÑ \ä¾ÇÜLò€;€ô_þbiÚÃÔ;€½@}}C«#dŠ:`·jä¬ó Aº„}O¢Âêñ*‘§7¨±pHÅñK¾7?o݆§-§k!ÃûU°¼À—À   ð©ºt€£‹ÝëÆ¾ë/šW{ÝuS¨©©cwiEqñö]»öþ[a‚B´xµ…ÈS­B,0¨ào1 Ø•U=*Æ€8Uäª:•2Cç›´Ø÷Ìàt—©+/ØUk¬†S)—®”ÍQ |T9àU÷ØÔýЇ¾ªÿù_GJç°œÉ,Z)®31Ê3ùªRK U ߤ¼-†µÍ¦â .ƒGãO>ý,Ö”2IÀ•/¨êT °À0aåY¯—}±%† £)6U(ø•‡PááW9b]¬À—Ãç:GWð¬SÔúªy¬“v 7öé?¢+^OÓ<%)IEND®B`‚gip-1.7.0-1/src/pixmaps/netcard.png0000644000175000017500000000726611130411302015151 0ustar samsam‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“kIDATxÚíšyUÕÇ?wy[ïtÓ;Mw6È*"hPI5*ˆ8UŽefLŒÑ-'ÖXã„$C(SS™¨e„ ™ˆh†(n)DQi0lM74KC7½ÑÝöÞ¯—ׯ߽÷œ3¼û^/bÄT¥†TåVº¿súï÷=ç·|¿üíùÿ}´¿ý´Kè©FŒ+öY±páB5FÙØX $Æ•zZNNŽlhh µµ•¦¦&B¡Ë–-(Ú¯ÔÝ×U__ÿE'ð#`&j^ɾÙÝݛ߄À0Øæ•ìáp8&†€f €„È fóîÎ÷.€¸9]ÑÆ„Mé*/Æ:Ë_õó7"Šè#ÆWÍ7êìÙ³ÿ0Æ„.ù˜—™º¿jêÉÆ˜”/.3ýk~¿_\€Ø dÿ4ÂQœ?sØ€åŽ0膻!wØ—ûï<ôÐCߺœ‹À÷|êþuwÿ.jÊ«(&Kf 1ÈEQ²Ÿª¶ 3rÒ¨hè`ʸêû#ÌÈO§¬æ3®)̤Ehd*‹òêR}&ɺÝ6)Q:  º®£¤¤c`ÌÄ2zXJÑÑâ³`?–íàï^éŒX·øÎ¯Qy¨‚úê&˦%ÑÏÄŒN4´ÑWIeS'²(‡µÍȉYT6v`drêbž®\Êj[˜]ÉéÚfdSZ}éH M×¹nJ>Çë>ÃÐ54Mãšâ\ö?K£D)ÉÜIhknCHÈËÊç« ØÕGKC;Že#” «?Ĺê‹()ikŽr¦÷/¶5w€‚Ö¦6v5µƒ„Ý­ô´÷Ò\ߊ’¤ÔD”Rh8Žƒ±X¶d9¿{}›öW2}þ+n¹‡-Û~Ë–g)™; )$Bˆ?å_ŸBÁî~CƒH¥P Ú[:Ùô‹mH¥ØüË×J²ùÙ×R²åÙß!¼üÜÿ¢”dësÛÒaÛ¯Þ 1-ßÿælÛ¦§#ˆ‰‰Xضƒã8¼þîv:[{ÈŸ”…5d‰ ±íõ-t´v“S”‰‰àØBÈ‘zþ+0 ðŒœñIž?0”Rt¶tFAƒ(¥âïòòr¤””——ê »ó躂èÛýN8’`w?¶-p,)$‘H„­ÏýžÛ­ Måa[6Ž%ØöÂî¸ùnƛؖÃÐj@iiéBàI Õ¡}€®i´7wQSY‹žý÷yÿý÷ÙøÌfvîÜÉÆg¶pòäI6¬{‰ŠŠ 6?÷*¥¥¥¼¸ö8qâ/üd#eee¬_÷[8Àí‹VŒÐÞÔ‰!R(ÚÛÛIII! "‰íjjjâkR„#F™Pbb¢é0i€÷’j:ûÑ4xsËx~Í>úè#&L˜À¡C‡ÈÍÍåÀäää°ÿ~ÒÓÓùøã)..æÃ?$ðÞ{ï¡ë:ï¼ó–e±oß>6­ßÊ¿=öcz»P ”R©gÑÕÑí¤”Ç!#9_B"…mØÜûúú¤««olîŠObö÷ß¿›@’Ÿÿ^÷{÷îÅqRRR˜7oJ)>øà–.]ŠRQs{ë­·X¾|9Û·ogÕªUlݺ•þþ~B¡=ý0Ê5…ƒ•0L7ÿq)åð»Ï`ßBv`!„ñ¥N\’‘„RðîÖ]<¿fo¼ñŽã044Äœ9sB°gÏÂá0o¿ý6BvìØeY(¥XµjJ©h´q¤”üì©ÿdõ $,œYUÐIçtÛz‡ÒAD2`¥Åפ’( J#«©© })ªé “•ŸÁêGVòøÚ°råJ,Ë"SVV†”’E‹‡ ‡ÃH) ‡ÃD"„lÚ´ !‘H$º³À×<ƶ77!¤à“òj¤”$u42qÓXsÛ²4UÇ×4M7wÄy„RÆщa{R’Ž–.6ÿò5‚Á ¯¾ú*@€P(DUU§OŸÆqœ¸s½üòËñÝÞ¸q#Žã°~ýzÇÁ¶m,Ëâ—?{S§NñÊ›/EMN*ìá* +b0}chœEÜô.—JpUF2ÇÂ+î»”Œdn˜ú ***èïïG)…”2êtB¸™S¡iZeYq»B`YO<ýÏ é1¸qödŽT5™8•öG~Nø×¿v+EmÔšRAŒÊ¦iF\bøÅ&TÝÕObJ¾­Mü¡t÷ß?í‘&}ôQš{ëxüñÇi Öñä“OÒÔ}7ëyê©§híkbÍš5´ö5±víZÂD}$$úãþ·gϪªªÈÌ̼äšrOA׆Mh÷îÝn/ÇšR ÕO—ÿ㷑¦¯/JÒÝÑ‹Oósú|%†ðPYu/~ÎTŸvß§ðéNUUâ78]u¿™Hå™$x“8rô†©³ôÆY:U‹ÇcPÛvŽceG”}˜Ó£SU_É‘£‡±JI„äåç0{ê<^yåΞ=[ ¼ \ú\V«F’$õüŽgh¨m £¥“î®^:.v¤·k4…‰F]×A)×µÑÛ¡¢Ô_Ž-HJI =;•¥ gr¬º_‚ÃÔ vöQ¦™Ù KNÔ»Ú‚´6t0iÆ„#¹zÚÕ<°êáXëvà3wô¸t]®Èbá ¤äR2’¹õë³INKäÎ%óHJM`åm ð'xY¾l‰© ¬¸u>þ€—»nÏïaÅ-×á øXyëõ$§&âxðxM CÇqièŒÏÇ#M×Ñ MƒqYÉ|÷;ËÐ ¯ß32áÖÁ±»ÿùŠLs‹M#i\"ÉiILÉ%=+ “sIÏL%RiãSÉ+Ê&#g§æ‘‘“FáÔ|Æç¥SX’ÇøÜ4ЧO@7tLAbJ%Sò˜’ŸEsw/ÍA4CG×5²ÒR)ÎÏ© M »õ§¦P£w×ňrut[EH…¦Ã5E9ØŽ°‡ÎÔ¦qøl=7ÍžÌþ“5¦Áá3u,^p5NÖàñzøôl=‹çOC)ðú½˜^“›çMC75t]G7t®šÍ±šFæ—R™ÆáªzΚŒ’Š93VðœàöE³Ç6µöŽ >nµ7Ü™“J"l‰2ÇÎ7c[„ã†L)£4Û…¯4-š×coöŸ¬á¦9SÐõèú§Uõx¼&º¡c:†¡±`ZÇÎ7 ]׸júb&óÇÒ£÷1RRYú­ïÅ¿ E©EÌt]C×5&f¥ÇAãæíフTŠë'/`úôé466’™™‰ã8Ãü¨§Çqôôô°víZJJJX½zu§>L¬¡J2¬Äî;Å­Ÿ}eçGÍ÷­5ßµïĨùü©ü±¢Ú¥Ñj ²Ç%ÓÞÛ§dšRÜ´`1?¸ÿ‰x™kçL¢¶¥“@’ŸkfQ÷Y‰©æÏ+¡¶¥Ë£³òö8|¦Žî gO¦¬æ"mÁ~æ—LäXu£[Á‘su[âH¶‰„-æ.šŠ±‰„m¬ˆMéÁݱ¦««kä‡p›eí@ÌÖõ÷öãKM ³ ƒÂiùœmj'/+ ÀKy] ¹éø|TÔ7S“?ÁKÙ…&ò³Óðú½´{ñx ¼>“‹Ý½Ñø¯k4uÑÜÆ•ËÔޤ­¹‹¶Æ.zì3Ž` Ù8v´ÐR×1êªÀ½à¨vGÐôÅNàÅ ?ÙœüËÜoLç›+o⦙“PJazMî¼~¡°…×çáÎëg0±1M“%×NÉ’¹S£Ã4X:wZœ |sN šuæW’ð¡\­õ´7÷\íÿÒ Žnà ²|ß™ÍKïù:…™ã…ad¦$‘™†©“•–59Ó (;Ý•5ŠrÒãq?&f¥»TK1«(¥ˆv섌)ÿSàS·—ªFÐü/ç‚ÃŒGª(QzÀ¶fæDóƒÌ*ÊusET‰X &+ ³‹ócå_\–RËB2{Ò„¸,UœÁ2\ç+UdÊ=¦À@ßà0‹rÄy8;:¶Ù5¸ä÷¶5ò›á KH‰aÆuŒ¸Êw¸ø¢êërî@°³—µÍq¥+.4£¡°-AÅ…&€•8Ž ¢æb@L–b´\^Ý•Ɉš=Æ4±æñçÞØÜü—ˉñpË.õ½P»wïŽ}·ȾÔÉh—˜ûÝ L ðü!ÊçîtâÂÂÂ~üø¨uƒÍ¨vÅÿó!Ïgg3µIEND®B`‚gip-1.7.0-1/src/pixmaps/calc48.png0000644000175000017500000000454611130411302014605 0ustar samsam‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ IDATxÚÍšmlSçÇŽí¼™8öMâ@(N¡JÔA™ÔÒÂR(4iCÅP»V]Û­Z§íäîC´¬ÀF·›öaÕÔ~è6±ªHZF[^R”*EªÔdå-$qJp℔ؾÄN ql?ûàëëë·8q Ù#]éÞû¿÷>ç<Ïyþçœç\¹›Ž…o"á  WÎï¶Bq¡£@+çsjàWÊGúø P ,RäÊ9zà¯À«7ndÛ¶m<ðÀwÕ^\.äĉ3=5õwàÏ€¸­Ìˆ:Ò™xµ¥¥…êêjL&EEE˜Íf&''™˜˜@–e¼^ïUbÓ¦M\¿~£‘ÿ~ùå/}À4RLIdR@¿WRRBUU½½½D"jkkeÍš5„Ãa>ÿüóïLX›ÍFCC‹…h4J4¥«« §ÓÉ¥ËÝñÇ$eÀL6Ò¥ÀÄöíÛ‰D" J=z½ž7_}Õ°¸x€[Ùf I©Å‹«xðÁµ "ü_t26æ×2hrèRÙ&k»ï>²ìW¯».]àvd&/ÆåqÊ­åLÝž¢¸¤˜ÀÍf‹YÅ—ØlÔ-YšÔ·^_ÈÕk9érέ°¼ë"Ó¼…"R³¬†ó_œÇ"Y¸5y‹ +f5! Ó¥X‰ ÅAål¦<„¿7uk €ª%UHUáp˜àxɉIú¯ôgU@dwÂóŸsQ éÛóV@ª’ª$Ê¥r–Õ-cYÝ2V4¬Àd,J{/‰Cþù)PQj¡¢ÔòíV§õ»]ì³{įŒBվŷ0¡Ï>;Çððuìö%¬\yï]|xø:>ŸÕ«¿—Ë‚fW »»—îîÞ™úúz 仈ív;«V­Âãñà÷ûïªð[·nÅápÐßߟÿ"Æh4ÒÔÔÄâÅ‹±ÛíŒŽŽ¢×ëïhˆQYYÉ… xã7p6®ÊOuë×sãȇô_½ÊáÇX¾|9×®]»££o³Uc±Xxæég±×Ú9sæt~ ,»çžlm¥´´£Ás(ñ¡^ ÷"qª{¡y# »ˆØ „€Ðô4~¿LII1==½„gÂù) G¸:0è@(#”kJhˆ='4‚¡QLóÌ\Þ¹g,; )òŽqäýCé mÛ¨¨¨Äëãè‡GÒð'Z·"Y%ü~ÇMÛ›ŸÀb±"Ë>>ù¤= lÓœN'=½ÝùÓ¨‚#ïbÇŽi)ßس÷uöýóm/++# ªøk»÷ðîîgÅÛÚ~Í{ïíçСär»Ý´µµñÈ#çòcÙ=±PlZK«MMMÔÔÔàñxbѩѨ ï㡇Pñ’ââ¤÷ëëë),,Tq³9NÇ3@³ÙÌððpŽÍ”¹„)&xúôiÜn7gΜIµ2|>’$Q[[«Þ ‡t{þüy‚Á —/_&。‚FFFRvVòtdBÓËåÂãñpöìYuôHÁ‹‹‹9{ö,7nÜPá™PHÅm6o¾ùfÆ·ÛõÔe(æ·ë¦L@ðýûéøô4¾±1>:r8íÅ—~ü2B~¯cG?JÃô‹D£Ùï§½ýxþÜsÏDñË~::N¦á›6±fÍN´Ÿ ûÊe€g€n`Hɉ£³+ðî~:>=…@`¯©¡lÑ"ͨº{®¨4¸âÞ{1*]†††ÔÑkhhH ¥„ffèëíCAcãýDšV}Œ€Àø8îÁAú\}³*0; !ðy½ìûÇÛiØ“­Oa•$ü>{ÞÙ—™&­VdÙÏ®];Óiò±-Ô9ê¸xñÒ¬>&ïp:þü'+ î}ýOìÜñ›ì4»g/»víÌŠ?òÚn®~ÝOÇ©Ž´þýþFœNú\½ù:2'ª««illä­·ÞR²^¯O$ü……ÔÕÕ¥,ôÄûSSS¬]»–ÎÎÎ.§:f÷yÓ¨tºÄ)++cpp¥K—&ç¬J ¬_¿>#G¬^½“É„ÓéÔÀº$¡ãG‚‘t9·Âç4.—‹S§Náp8Pâ£T“ðx<ƒA ÓˆÒåra4©¬¬Äív'fMãg1äüAëSÛ8pàçÎSá–'[ …B4·´fÄ·lifdx„-››U\Ûž}æYR6­œN'/^Lñcß"'$Ib÷ï÷b4Ô L'p¹ú‘$+¿{m7FƒA ¥q†‡ðË2«•¿Ý‰Á`DoЇ™™ÑÛׇ¬Éôêëë©««S“©Üµ™9±Àçóñξ¥ÓdK+’dÅïóó‡ý»ÓðÍ››±Z,ȲÌëÜ›¾}þèc”—'¶hzzzÐëõÉ¡Æ+1³†ÓÇ>þ0+ >ÿü‹´·ËŠÿüg¿àà¡÷²â?}ù•¤û©Ùž˜C,Q+œÖvêp8Ô›Š{½^Ìfs¾¤¦&‰FN'ÕÕÕ*n·×$õ799™6ˆy‡Ó™¢ÅØ6G¦p dYÆf³¥Ð¨HÛ*”$)íóqêŒYºŸŸ ŒŒ¨ÝÇGõƒ>H*-Å;ˆãtuueŧ§§L ¦ M´µµ¥õ¿a݆9…ÓYƒ¹^ú‰ºˆOOO ¼«ÅŠ_ösòd†”pãf, 7oÊ™C… ²Üá@öùY÷ð:‚Á`Zî=~sœö“í|}í*ÀÓJ…f˜Œk–µÄÔÜÚJ…¥HD›q›…B¸ú\j¼´rå OD“—/]RŸ·Z¬TÚ*)Tž Ü'0DöùS’xmò/¸16ÆØM/×bÎ3c‰)“%Àßî_µê“É„¡@[dÐî*$ÛITD‰†#èõ†„‰ˆ!–舄ÃD…P*"Éa%o»€wÜO(4Í7££'‰•~]Àub¥Ö¬¶U,Þåÿ£Ðý ðCàA` P¤øl…îR ‚X…Ü kënþj¦ø†X™õšB·.ËÂÖ+¦´HQÆ0ßrÔwÔ¢Äþ‘¸L¨Ò rŒ¦NX¯¯caþZ‰›QX<šjûsJ—ãúN ?Û5ÿ6ØùÎÑ ŸuIEND®B`‚gip-1.7.0-1/src/gui_ipv4_analyzer.cc0000644000175000017500000004760611130411302015306 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_ipv4_analyzer.h" //#define _DEBUG_ /****************************************************************************** * Constructor/Destructor ******************************************************************************/ GUIIPv4Analyzer::GUIIPv4Analyzer() { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::GUIIPv4Analyzer(): Called.\n"); #endif HBox* hbox = NULL; Label* label = NULL; SpinButton* spin = NULL; Entry* entry = NULL; CheckButton* check = NULL; Image* image = NULL; string str; resize(24, 5); set_border_width(12); set_row_spacings(3); set_col_spacings(12); // ****************** "Input" section ******************. // Add all labels. label = new Label("", 0, 0.5); str = ""; str.append(_("Input")); str.append(""); label->set_markup(str); attach(*manage(label), 0, 5, 0, 1, FILL, FILL); image = new Image(PACKAGE_PIXMAPS_DIR "calculator.png"); image->set_padding(12, 0); attach(*manage(image), 0, 1, 1, 4, FILL, FILL); label = new Label(_("IP address:"), 0, 0.5); attach(*manage(label), 1, 2, 1, 2, FILL, FILL); label = new Label(_("Network mask:"), 0, 0.5); attach(*manage(label), 1, 2, 2, 3, FILL, FILL); label = new Label(_("Prefix length:"), 0, 0.5); attach(*manage(label), 1, 2, 3, 4, FILL, FILL); label = new Label(""); attach(*manage(label), 0, 5, 4, 5, FILL, FILL); // Add all spin-buttons. spin = new SpinButton; spin->set_numeric(FALSE); spin->set_range(0, (double)pow((double)2, 32) - 1); spin->set_increments(1, 256); spin->set_wrap(); widgets["ip"] = spin; attach(*manage(spin), 2, 5, 1, 2, FILL|EXPAND, FILL); spin->signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4Analyzer::map_ip_input), spin)); spin->signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4Analyzer::map_ip_output), spin)); spin->signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4Analyzer::on_ip_changed)); spin = new SpinButton; spin->set_numeric(FALSE); spin->set_range(0, 32); spin->set_increments(1, 10); spin->set_wrap(); widgets["mask"] = spin; attach(*manage(spin), 2, 5, 2, 3, FILL|EXPAND, FILL); spin->signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4Analyzer::map_mask_input), spin)); spin->signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4Analyzer::map_mask_output), spin)); spin->signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4Analyzer::on_mask_changed)); spin = new SpinButton; spin->set_range(0, 32); spin->set_increments(1, 10); widgets["pfxlen"] = spin; attach(*manage(spin), 2, 5, 3, 4, FILL|EXPAND, FILL); spin->signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4Analyzer::on_pfxlen_changed)); // ****************** "Output" section ******************. // Add the "Range" hbox. hbox = new HBox; hbox->set_spacing(6); attach(*manage(hbox), 2, 5, 6, 7, FILL, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_rangefrom"] = label; hbox->pack_start(*manage(label), FALSE, TRUE); label = new Label("-", 0, 0.5); hbox->pack_start(*manage(label), FALSE, FALSE); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_rangeto"] = label; hbox->pack_start(*manage(label), FALSE, TRUE); // Add all labels. label = new Label("", 0, 0.5); str = ""; str.append(_("Output")); str.append(""); label->set_markup(str); label->set_padding(0, 6); attach(*manage(label), 0, 5, 5, 6, FILL, FILL); image = new Image(PACKAGE_PIXMAPS_DIR "netcard.png"); image->set_padding(12, 0); attach(*manage(image), 0, 1, 6, 12, FILL, FILL); label = new Label(_("Address range:"), 0, 0.5); attach(*manage(label), 1, 2, 6, 7, FILL, FILL); label = new Label(_("Number of subnets:"), 0, 0.5); attach(*manage(label), 1, 2, 7, 8, FILL, FILL); label = new Label(_("Number of hosts:"), 0, 0.5); attach(*manage(label), 1, 2, 8, 9, FILL, FILL); label = new Label(_("Including net/broadcast:"), 0, 0.5); attach(*manage(label), 1, 2, 9, 10, FILL, FILL); label = new Label(_("Network address:"), 0, 0.5); attach(*manage(label), 1, 2, 10, 11, FILL, FILL); label = new Label(_("Broadcast address:"), 0, 0.5); attach(*manage(label), 1, 2, 11, 12, FILL, FILL); label = new Label(""); attach(*manage(label), 0, 5, 12, 13, FILL, FILL); // Add all selectable labels. label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_numsubnets"] = label; attach(*manage(label), 2, 3, 7, 8, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_numhosts"] = label; attach(*manage(label), 2, 3, 8, 9, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_numhosts_all"] = label; attach(*manage(label), 2, 3, 9, 10, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_network"] = label; attach(*manage(label), 2, 3, 10, 11, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["out_broadcast"] = label; attach(*manage(label), 2, 3, 11, 12, FILL|EXPAND, FILL); // ****************** "Binary Output" section ******************. // Add all labels. label = new Label("", 0, 0.5); str = ""; str.append(_("Binary Output")); str.append(""); label->set_markup(str); label->set_padding(0, 6); attach(*manage(label), 0, 5, 13, 14, FILL, FILL); image = new Image(PACKAGE_PIXMAPS_DIR "gears.png"); image->set_padding(12, 0); attach(*manage(image), 0, 1, 14, 18, FILL, FILL); label = new Label(_("IP address:"), 0, 0.5); attach(*manage(label), 1, 2, 14, 15, FILL, FILL); label = new Label(_("Network mask:"), 0, 0.5); attach(*manage(label), 1, 2, 15, 16, FILL, FILL); label = new Label(_("Network address:"), 0, 0.5); attach(*manage(label), 1, 2, 16, 17, FILL, FILL); label = new Label(_("Broadcast address:"), 0, 0.5); attach(*manage(label), 1, 2, 17, 18, FILL, FILL); label = new Label(""); attach(*manage(label), 0, 5, 18, 19, FILL, FILL); // Add all entry boxes. label = new Label("", 0, 0.5); label->set_selectable(); widgets["bin_ip"] = label; attach(*manage(label), 2, 5, 14, 15, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["bin_mask"] = label; attach(*manage(label), 2, 5, 15, 16, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["bin_network"] = label; attach(*manage(label), 2, 5, 16, 17, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["bin_broadcast"] = label; attach(*manage(label), 2, 5, 17, 18, FILL|EXPAND, FILL); // ****************** "Hexadecimal Output" section ******************. // Add all labels. label = new Label("", 0, 0.5); str = ""; str.append(_("Hexadecimal Output")); str.append(""); label->set_markup(str); label->set_padding(0, 6); attach(*manage(label), 0, 5, 19, 20, FILL, FILL); image = new Image(PACKAGE_PIXMAPS_DIR "gears.png"); image->set_padding(12, 0); attach(*manage(image), 0, 1, 20, 24, FILL, FILL); label = new Label(_("IP address:"), 0, 0.5); attach(*manage(label), 1, 2, 20, 21, FILL, FILL); label = new Label(_("Network mask:"), 0, 0.5); attach(*manage(label), 1, 2, 21, 22, FILL, FILL); label = new Label(_("Network address:"), 0, 0.5); attach(*manage(label), 1, 2, 22, 23, FILL, FILL); label = new Label(_("Broadcast address:"), 0, 0.5); attach(*manage(label), 1, 2, 23, 24, FILL, FILL); // Add all entry boxes. label = new Label("", 0, 0.5); label->set_selectable(); widgets["hex_ip"] = label; attach(*manage(label), 2, 5, 20, 21, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["hex_mask"] = label; attach(*manage(label), 2, 5, 21, 22, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["hex_network"] = label; attach(*manage(label), 2, 5, 22, 23, FILL|EXPAND, FILL); label = new Label("", 0, 0.5); label->set_selectable(); widgets["hex_broadcast"] = label; attach(*manage(label), 2, 5, 23, 24, FILL|EXPAND, FILL); } GUIIPv4Analyzer::~GUIIPv4Analyzer() { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::~GUIIPv4Analyzer(): Called.\n"); #endif } /****************************************************************************** * Public ******************************************************************************/ /* Switch event emissions off. */ void GUIIPv4Analyzer::lock_signals(void) { lock_events = TRUE; } /* Switch event emissions on. */ void GUIIPv4Analyzer::unlock_signals(void) { lock_events = FALSE; } /* Returns the value of the IP address field. */ unsigned long GUIIPv4Analyzer::get_ip(void) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::get_ip(): Called.\n"); #endif SpinButton* spin = (SpinButton*)widgets["ip"]; return (unsigned long)spin->get_value(); } /* Sets the value of the IP address field. */ void GUIIPv4Analyzer::set_ip(unsigned long ip) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_ip(): Called.\n"); #endif SpinButton* spin = (SpinButton*)widgets["ip"]; spin->set_value((double)ip); } /* Sets the value of the IP netmask field. */ void GUIIPv4Analyzer::set_mask(unsigned long mask) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_mask(): Called.\n"); #endif SpinButton* spin = (SpinButton*)widgets["mask"]; unsigned short int pfxlen = 0; ipv4_mask2pfxlen(mask, &pfxlen); spin->set_value((double)pfxlen); } /* Sets the value of the prefixlength field. */ void GUIIPv4Analyzer::set_pfxlen(unsigned short int pfxlen) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_prefixlength(): Called.\n"); #endif SpinButton* spin = (SpinButton*)widgets["pfxlen"]; spin->set_value((double)pfxlen); } /* Sets the value of the range fields. */ void GUIIPv4Analyzer::set_output_range(unsigned long from, unsigned long to) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_range(): Called.\n"); #endif Label* labelfrom = (Label*)widgets["out_rangefrom"]; Label* labelto = (Label*)widgets["out_rangeto"]; char text[16]; if (ipv4_integer2ip(from, text) == 0) labelfrom->set_text(text); if (ipv4_integer2ip(to, text) == 0) labelto->set_text(text); } /* Sets the value of the "Output" -> "Number of Subnets" field. */ void GUIIPv4Analyzer::set_output_subnets(unsigned int num) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_subnets(): Called.\n"); #endif Label* label = (Label*)widgets["out_numsubnets"]; char text[100]; snprintf(text, 99, "%u", num); label->set_text(text); } /* Sets the value of the "Output" -> "Number of Hosts" field. */ void GUIIPv4Analyzer::set_output_hosts(unsigned int num) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hosts(): Called.\n"); #endif Label* label = (Label*)widgets["out_numhosts"]; char text[100]; snprintf(text, 99, "%u", num); label->set_text(text); } /* Sets the value of the "Output" -> "Number of Hosts, including Net/BC" * field. */ void GUIIPv4Analyzer::set_output_hosts_all(unsigned int num) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hosts(): Called.\n"); #endif Label* label = (Label*)widgets["out_numhosts_all"]; char text[100]; snprintf(text, 99, "%u", num); label->set_text(text); } /* Sets the value of the "Output" -> "Network" field. */ void GUIIPv4Analyzer::set_output_network(unsigned long network) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_network(): Called.\n"); #endif Label* label = (Label*)widgets["out_network"]; char network_text[16]; if (ipv4_integer2ip(network, network_text) < 0) return; label->set_text(network_text); } /* Sets the value of the "Output" -> "Network" field. */ void GUIIPv4Analyzer::set_output_broadcast(unsigned long broadcast) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_broadcast(): Called.\n"); #endif Label* label = (Label*)widgets["out_broadcast"]; char broadcast_text[16]; if (ipv4_integer2ip(broadcast, broadcast_text) < 0) return; label->set_text(broadcast_text); } /* Sets the value of the "Output (Binary)" -> "IP" field. */ void GUIIPv4Analyzer::set_output_bin_ip(unsigned long ip) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_bin_ip(): Called.\n"); #endif Label* label = (Label*)widgets["bin_ip"]; char binary[36]; if (ipv4_integer2bin(ip, binary) == 0) label->set_text(binary); else label->set_text(""); } /* Sets the value of the "Output (Binary)" -> "Netmask" field. */ void GUIIPv4Analyzer::set_output_bin_mask(unsigned long mask) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_bin_mask(): Called.\n"); #endif Label* label = (Label*)widgets["bin_mask"]; char binary[36]; if (ipv4_integer2bin(mask, binary) == 0) label->set_text(binary); else label->set_text(""); } /* Sets the value of the "Output (Binary)" -> "Network Address" field. */ void GUIIPv4Analyzer::set_output_bin_network(unsigned long net) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_bin_network(): Called.\n"); #endif Label* label = (Label*)widgets["bin_network"]; char binary[36]; if (ipv4_integer2bin(net, binary) == 0) label->set_text(binary); else label->set_text(""); } /* Sets the value of the "Output (Binary)" -> "Broadcast Address" field. */ void GUIIPv4Analyzer::set_output_bin_broadcast(unsigned long broadcast) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_bin_broadcast(): Called.\n"); #endif Label* label = (Label*)widgets["bin_broadcast"]; char binary[36]; if (ipv4_integer2bin(broadcast, binary) == 0) label->set_text(binary); else label->set_text(""); } /* Sets the value of the "Output (Hexadecimal)" -> "IP" field. */ void GUIIPv4Analyzer::set_output_hex_ip(unsigned long ip) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hex_ip(): Called.\n"); #endif Label* label = (Label*)widgets["hex_ip"]; char hex[20]; if (ipv4_integer2hex(ip, hex) == 0) label->set_text(hex); else label->set_text(""); } /* Sets the value of the "Output (Hexadecimal)" -> "Netmask" field. */ void GUIIPv4Analyzer::set_output_hex_mask(unsigned long mask) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hex_mask(): Called.\n"); #endif Label* label = (Label*)widgets["hex_mask"]; char hex[20]; if (ipv4_integer2hex(mask, hex) == 0) label->set_text(hex); else label->set_text(""); } /* Sets the value of the "Output (Hexadecimal)" -> "Network Address" field. */ void GUIIPv4Analyzer::set_output_hex_network(unsigned long net) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hex_network(): Called.\n"); #endif Label* label = (Label*)widgets["hex_network"]; char hex[20]; if (ipv4_integer2hex(net, hex) == 0) label->set_text(hex); else label->set_text(""); } /* Sets the value of the "Output (Hexadecimal)" -> "Broadcast Address" field. */ void GUIIPv4Analyzer::set_output_hex_broadcast(unsigned long broadcast) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::set_output_hex_broadcast(): Called.\n"); #endif Label* label = (Label*)widgets["hex_broadcast"]; char hex[20]; if (ipv4_integer2hex(broadcast, hex) == 0) label->set_text(hex); else label->set_text(""); } /****************************************************************************** * Private ******************************************************************************/ int GUIIPv4Analyzer::map_ip_input(double* value, SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_ip_input(): Called.\n"); #endif string ip = spin->get_text(); unsigned long ip_int = 0; if (ipv4_ip2integer(ip.c_str(), &ip_int) < 0) return 0; #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_ip_input(): Value: %s=%i\n", ip.c_str(), ip_int); #endif *value = (double)ip_int; return 1; } bool GUIIPv4Analyzer::map_ip_output(SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_ip_output(): Called.\n"); #endif char ip[36] = ""; unsigned long ip_int = (unsigned long)spin->get_adjustment()->get_value(); #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_ip_output(): Double: %d\n", spin->get_adjustment()->get_value()); #endif ipv4_integer2ip(ip_int, ip); spin->set_text(ip); return TRUE; } /* This inbound map is used to map IP mask spinbuttons to a mask. */ int GUIIPv4Analyzer::map_mask_input(double* value, SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_mask_input(): Called.\n"); #endif string mask = spin->get_text(); unsigned long mask_int = 0; unsigned short int pfxlen = 0; if (ipv4_ip2integer(mask.c_str(), &mask_int) < 0) return 0; if (ipv4_mask2pfxlen(mask_int, &pfxlen) < 0) return 0; #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_mask_input(): Value: %s, %i, %i\n", mask.c_str(), mask_int, pfxlen); #endif *value = (double)pfxlen; return 1; } /* This outbound map is used to map IP mask spinbuttons to a mask. */ bool GUIIPv4Analyzer::map_mask_output(SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_mask_output(): Called.\n"); #endif char mask[36] = ""; unsigned short int pfxlen = 0; unsigned long mask_int = 0; pfxlen = (unsigned short int)spin->get_adjustment()->get_value(); if (ipv4_pfxlen2mask((unsigned short int)pfxlen, &mask_int) < 0) return TRUE; ipv4_integer2ip(mask_int, mask); #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4Analyzer::map_mask_output(): %i is %s\n", pfxlen, mask); #endif spin->set_text(mask); return TRUE; } void GUIIPv4Analyzer::on_ip_changed(void) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::on_ip_changed(): Called.\n"); #endif if (lock_events) return; SpinButton* spin_ip = (SpinButton*)widgets["ip"]; SpinButton* spin_mask = (SpinButton*)widgets["mask"]; unsigned long ip = (unsigned long)spin_ip->get_value(); unsigned short int pfxlen = (unsigned long)spin_mask->get_value(); unsigned long mask = 0; ipv4_pfxlen2mask(pfxlen, &mask); signal_ip_changed.emit(ip, mask); } void GUIIPv4Analyzer::on_mask_changed(void) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::on_mask_changed(): Called.\n"); #endif if (lock_events) return; SpinButton* spin_ip = (SpinButton*)widgets["ip"]; SpinButton* spin_mask = (SpinButton*)widgets["mask"]; unsigned long ip = (unsigned long)spin_ip->get_value(); unsigned short int pfxlen = (unsigned short int)spin_mask->get_value(); unsigned long mask = 0; ipv4_pfxlen2mask(pfxlen, &mask); signal_mask_changed.emit(ip, mask); } void GUIIPv4Analyzer::on_pfxlen_changed(void) { #ifdef _DEBUG_ printf("GUIIPv4Analyzer::on_prefixlength_changed(): Called.\n"); #endif if (lock_events) return; SpinButton* spin_ip = (SpinButton*)widgets["ip"]; SpinButton* spin_pfxlen = (SpinButton*)widgets["pfxlen"]; unsigned long ip = (unsigned long)spin_ip->get_value(); unsigned short int pfxlen = (unsigned short int)spin_pfxlen->get_value(); signal_pfxlen_changed.emit(ip, pfxlen); } gip-1.7.0-1/src/gui_prefixlist.h0000644000175000017500000000412411130411302014536 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_PREFIXLIST_H #define HAVE_GUI_PREFIXLIST_H #include #include #include #include #include "lib_ipv4.h" #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; struct ltstr { bool operator()(const char* s1, const char* s2) const { return strcmp(s1, s2) < 0; } }; class GUIPrefixList : public TreeView { public: GUIPrefixList(); ~GUIPrefixList(); /* Add one prefix to the list. */ void insert(Prefix* prefix); /* Add a list of prefixes to the list. */ void insert(Prefix** prefixlist); /* Update the list. */ void update(void); /* Clear the list. */ void clear(void); /* Returns the content of the prefixlist in a list. */ string get_as_text(void); protected: // List model columns. class ModelColumns : public Gtk::TreeModel::ColumnRecord { public: Gtk::TreeModelColumn prefixes; Gtk::TreeModelColumn subnets; ModelColumns() { add(prefixes); add(subnets); } }; Glib::RefPtr store; ModelColumns columns; std::map prefixes; // A list of all prefixes. }; #endif gip-1.7.0-1/src/main.cc0000644000175000017500000000246311130411302012567 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "dispatcher.h" #include "gui_mainwindow.h" GUIMainwindow *mainwindow; int main(int argc, char **argv) { #ifdef ENABLE_NLS bindtextdomain(GETTEXTPACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset(GETTEXTPACKAGE, "UTF-8"); textdomain(GETTEXTPACKAGE); #endif Gtk::Main gtkmain(argc, argv); mainwindow = new GUIMainwindow; mainwindow->show(); Dispatcher dispatcher; // Run. gtkmain.run(*mainwindow); return 0; } gip-1.7.0-1/src/gui_aboutbox.cc0000644000175000017500000000556411130411302014337 0ustar samsam/* The Cantus project. * (c)2002, 2003, 2004 by Samuel Abels (spam debain org) * This project's homepage is: http://www.debain.org/cantus * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_aboutbox.h" GUIAboutBox::GUIAboutBox(void) { Label* label = NULL; VBox* vbox = get_vbox(); Button* button = add_button(Stock::OK, 0); char version[2048]; char* format = g_strdup_printf("%s", _("Gip Release %s %s")); snprintf(version, 2047, format, VERSION, SUBVERSION); g_free(format); label = new Label(version, 0.5, 0.5); label->set_use_markup(TRUE); label->set_justify(JUSTIFY_CENTER); label->set_line_wrap(TRUE); label->set_padding(10, 10); vbox->pack_start(*manage(label), FALSE, TRUE); string credits = _("Translation of this version by:"); string translator = _("translator_credits"); if (translator == "translator_credits") credits = ""; else credits.append(translator + "."); string text = _("Gip, the Internet Protocol Calculator for the GNOME desktop" " environment was written and published under the terms" " of the GPL (General Public License V2)\n" "by Samuel Abels"); text.append("\n\n"); text.append(_("Thank You for choosing Gip!")); string copyright = ""; copyright.append(_("Copyright 2004. All rights reserved.")); copyright.append("\nhttp://www.debain.org"); label = new Label(text, 0.5, 0.5); label->set_use_markup(TRUE); label->set_justify(JUSTIFY_CENTER); label->set_line_wrap(TRUE); label->set_padding(10, 10); vbox->pack_start(*label, FALSE, TRUE); label = new Label(credits, 0.5, 0.5); label->set_justify(JUSTIFY_CENTER); label->set_line_wrap(TRUE); label->set_padding(10, 10); vbox->pack_start(*manage(label), FALSE, TRUE); label = new Label(copyright, 0.5, 0.5); label->set_use_markup(TRUE); label->set_justify(JUSTIFY_CENTER); label->set_line_wrap(TRUE); label->set_padding(10, 10); vbox->pack_start(*manage(label), FALSE, TRUE); vbox->show_all(); button->signal_clicked().connect(sigc::mem_fun(*this, &GUIAboutBox::hide)); } GUIAboutBox::~GUIAboutBox(void) { } gip-1.7.0-1/src/lib_regexp.c0000644000175000017500000002062411130411302013617 0ustar samsam/* lib_shellpattern. * (c)2002, 2003 by Samuel Abels (spam debain org) * This project's homepage is: http://www.debain.org/cantus * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include "lib_regexp.h" #ifdef _CPLUSPLUS_ extern "C" { #endif /****************************************************************************** * STATICS ******************************************************************************/ /* * Uppercase a string. */ static void strtoupper(char *str) { if (!str) return; while (*str != '\0') { if (isalpha(*str)) *str = toupper(*str); str++; } } /* * Replace "from" by "to". */ static void str_replace(char *str, const char *from, const char *to, int maxlen) { char *pstr = str; int fromlen = strlen(from); int tolen = strlen(to); while (*pstr != '\0' && pstr - str < maxlen) { if (strncmp(pstr, from, fromlen) != 0) { *pstr++; continue; } memmove(pstr + tolen, pstr + fromlen, maxlen - ((pstr + tolen) - str) - 1); memcpy(pstr, to, tolen); pstr += tolen; } } /****************************************************************************** * END STATICS ******************************************************************************/ /* * This function will compare a shell pattern with a string. * TRUE if match. Otherwise FALSE. */ short int shellpattern_match(const char *string, const char *pattern, short int casess) { char *stringcp = NULL; char *patterncp = NULL; short int match = FALSE; if (!pattern || !string) return(FALSE); /* Create a duplicate of the string. */ stringcp = strdup(string); patterncp = strdup(pattern); /* If we are case insensitive, uppercase those strings now. */ if (!casess) { strtoupper(stringcp); strtoupper(patterncp); } match = (fnmatch(patterncp, stringcp, 0) == 0); free(patterncp); free(stringcp); return(match); } /* * This function will compare a list of shell patterns with a string. * TRUE if any of them matches, otherwise FALSE. */ short int shellpattern_match_any(const char *string, const char *pattern[], short int casess) { int i = -1; while (pattern[++i]) { if (shellpattern_match(string, pattern[i], casess)) return(TRUE); } return(FALSE); } /* * This function will compare a shell pattern with a string and * return the embraced glob "(*)" match or NULL. */ short int shellpattern_match_grab(const char *string, const char *pattern, short int casess, char **match) { regex_t preg; /* Pre-compiled pattern buffer. */ int numoffsets = 50; regmatch_t pmatch[numoffsets]; /* Substring addresses, filled by regexec. */ char regexp[1024]; char *result = NULL; int flags = 0; /* Translate the pattern into a regular expression. */ strncpy(regexp, pattern, 1023); str_replace(regexp, ".", "\\.", 1023); str_replace(regexp, "*", ".*", 1023); str_replace(regexp, "(", "\\(", 1023); str_replace(regexp, ")", "\\)", 1023); str_replace(regexp, "?", ".", 1023); str_replace(regexp, "[!", "[^", 1023); /* Compile the regular expression. */ flags = REG_NEWLINE; if (!casess) flags |= REG_ICASE; if (regcomp(&preg, regexp, flags) != 0) { fprintf(stderr, "Error: RegExp compilation failed: \"%s\"\n", regexp); return(-1); } /* Execute the regular expression. */ if (regexec(&preg, string, numoffsets, pmatch, REG_NOTBOL | REG_NOTEOL) != 0) return(1); result = (char*)calloc(sizeof(char), (pmatch[1].rm_eo - pmatch[1].rm_so) + 2); memcpy(result, string + pmatch[1].rm_so, (pmatch[1].rm_eo - pmatch[1].rm_so)); *match = result; return(0); } /* This function will compare a regexp with a string and * return the content of all embraced matches, or NULL. Do not forget to free * the content of "matches[]"! */ short int regexp_match_grab(const char *string, const char *regexp, short int casess, char **matches) { regex_t preg; /* Pre-compiled pattern buffer. */ int numoffsets = 50; regmatch_t pmatch[numoffsets]; /* Substring addresses, filled by regexec. */ char *result = NULL; int flags = 0; int i = 0; #ifdef _DEBUG_ printf("regexp_match_grab(): String: \"%s\"\n", string); printf("regexp_match_grab(): RegExp: \"%s\"\n", regexp); #endif /* Compile the regular expression. */ flags = REG_NEWLINE | REG_EXTENDED; if (!casess) flags |= REG_ICASE; if (regcomp(&preg, regexp, flags) != 0) { fprintf(stderr, "Error: RegExp compilation failed: \"%s\"\n", regexp); return(-1); } #ifdef _DEBUG_ printf("regexp_match_grab(): Compilation success.\n"); #endif /* Execute the regular expression. */ if (regexec(&preg, string, numoffsets, pmatch, REG_NOTBOL | REG_NOTEOL) != 0) return(1); #ifdef _DEBUG_ printf("regexp_match_grab(): Matches.\n"); #endif i = 0; while (pmatch[++i].rm_so != -1) { int len = (pmatch[i].rm_eo - pmatch[i].rm_so); result = (char*)calloc(sizeof(char), len); memcpy(result, string + pmatch[i].rm_so, len); #ifdef _DEBUG_ printf("regexp_match_grab(): Match %i: %s\n", i, result); #endif matches[i - 1] = result; } matches[i - 1] = NULL; return(0); } /* Frees the matches previously returned by regexp_match_grab. */ void free_regexp_matches(char **matches) { int i = -1; #ifdef _DEBUG_ printf("free_regexp_matches(): Called.\n"); #endif while (matches[++i]) free(matches[i]); #ifdef _DEBUG_ printf("free_regexp_matches(): Free'd.\n"); #endif } /* * Determine whether the pattern can be successfully compiled. * Returns TRUE if the pattern is valid, otherwise FALSE. */ short int shellpattern_is_valid(const char *pattern) { regex_t preg; /* Pre-compiled pattern buffer. */ char regexp[1024]; /* Translate the pattern into a regular expression. */ strncpy(regexp, pattern, 1023); str_replace(regexp, "*", ".*", 1023); str_replace(regexp, "(", "\\(", 1023); str_replace(regexp, ")", "\\)", 1023); str_replace(regexp, "?", ".", 1023); str_replace(regexp, "[!", "[^", 1023); /* Compile the regular expression. */ if (regcomp(&preg, regexp, REG_NEWLINE) != 0) return(FALSE); return(TRUE); } /* * Returns zero if the regular expression matches the string. * Returns -1 if the expression can't be compiled. * Returns 1 if it doesn't match. */ short int regexp_match(const char *string, const char *regexp, short int casess) { regex_t preg; /* Pre-compiled pattern buffer. */ int flags = 0; /* Compile the regular expression. */ flags = REG_NEWLINE | REG_EXTENDED; if (!casess) flags |= REG_ICASE; if (regcomp(&preg, regexp, flags) != 0) return(-1); /* Execute the regular expression. */ if (regexec(&preg, string, 0, NULL, REG_NOTBOL | REG_NOTEOL) != 0) return(1); return(0); } /* * Determine whether the regexp can be successfully compiled. * Returns TRUE if the regexp is valid, otherwise FALSE. */ short int regexp_is_valid(const char *regexp) { regex_t preg; /* Pre-compiled pattern buffer. */ /* Compile the regular expression. */ if (regcomp(&preg, regexp, REG_NEWLINE | REG_EXTENDED) != 0) return(FALSE); return(TRUE); } #ifdef _CPLUSPLUS_ } #endif gip-1.7.0-1/src/lib_ipv4.h0000644000175000017500000001271111130411302013212 0ustar samsam/* * This file provides functions for IP Version 4 based checks and conversions. * Author: Samuel Abels * * 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 Library 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. */ #ifndef HAVE_LIB_IPV4_H #define HAVE_LIB_IPV4_H #include #include #include #include #include "lib_regexp.h" #define ERR_INVALID_FORMAT -1 #define ERR_OUT_OF_RANGE -2 #define ERR_INVALID_PREFIXLEN -3 typedef struct Prefix_S { unsigned long net; unsigned short int len; } Prefix; /* Checks the syntax of an human readable (byte notated) IP address for * validity. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. */ short int ipv4_check_ip(const char* ip); /* Checks the an IP prefixlength for validity. * Returns: 0 on success, <0 otherwise: * INVALID_PREFIXLEN if the prefixlength is invalid. */ short int ipv4_check_prefixlen(unsigned short int pfxlen); /* Checks the syntax of an human readable (x.x.x.x/pfxlen) IP prefix for * validity. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. * INVALID_PREFIXLEN if the prefixlength value is out of range. */ short int ipv4_check_prefix(const char* prefix); /* Convert a human readable (byte notated) ip address to a 4-byte integer value. * Returns: 0 on success, <0 otherwise: * INVALID_FORMAT if the IP format is incorrect. * OUT_OF_RANGE if at least one of the IP's integer values is * out-of-range. */ short int ipv4_ip2integer(const char* ip, unsigned long* ip_int); /* Converts a 4 byte integer value into a human readable (byte notated) ip * address. Returns 0. */ short int ipv4_integer2ip(unsigned long ip_int, char* ip); /* Converts a 4 byte integer value into a human readable (byte notated) binary * ip address. */ short int ipv4_integer2bin(unsigned long ip_int, char* ip_bin); /* Converts a 4 byte integer value into a hexadezimal value. */ short int ipv4_integer2hex(unsigned long ip_int, char* ip_hex); /* Convert a prefixlength to an IP mask. * Returns: 0 on success, <0 otherwise: * INVALID_PREFIXLEN if the prefixlength is invalid. */ short int ipv4_pfxlen2mask(unsigned short int pfxlen, unsigned long *mask); /* Convert an IP mask address to a prefixlength. * Returns 0. */ short int ipv4_mask2pfxlen(unsigned long mask, unsigned short int* pfxlen); /* Given an IP address and a netmask, this function stores the broadcast * address in "broadcast". Returns 0. */ short int ipv4_get_broadcast(unsigned long ip, unsigned long mask, unsigned long* broadcast); /* Given a prefix length, this function stores the number of * host addresses in "num", EXCLUDING network/broadcast. Returns 0. */ short int ipv4_get_num_hosts(unsigned short int pfxlen, unsigned int* num); /* Given a prefix length, this function stores the number of * host addresses in "num" INCLUDING network/broadcast. Returns 0. */ short int ipv4_get_num_hosts_all(unsigned short int pfxlen, unsigned int* num); /* Given a prefix length, this function stores the number of * subnet addresses in "num". Returns 0. */ short int ipv4_get_num_subnets(unsigned short int pfxlen, unsigned int* num); /* Checks whether "prefix_txt" meets all of the given criterias (arguments). * Returns: TRUE if match, FALSE if no match, <0 on an error. */ short int ipv4_prefix_match(unsigned long net_txt, unsigned long mask_txt, unsigned short int le, unsigned short int ge, unsigned long prefix_txt); /* Given an address range, this function returns a list of prefixes covering * all its addresses, and /only/ the range addresses. * Returns: 0. */ short int ipv4_get_prefixes_from_range(unsigned long from, unsigned long to, Prefix **prefixlist); /* Same as ipv4_get_prefixes_from_range, but uses fixed length subnetting. * Returns: 0. */ short int ipv4_get_prefixes_from_range_flsm(unsigned long from, unsigned long to, unsigned short int pfxlen, Prefix **prefixlist, unsigned int maxmatch); /* Frees the content of a prefixlist previously returned by * ipv4_get_prefixes_from_range(). */ void ipv4_free_prefixlist(Prefix **prefixlist); #endif gip-1.7.0-1/src/gui_ipv4_analyzer.h0000644000175000017500000001040411130411302015132 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_IPV4_ANALYZER_H #define HAVE_GUI_IPV4_ANALYZER_H #include #include #include #include #include "lib_ipv4.h" #include #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; class GUIIPv4Analyzer : public Table { public: GUIIPv4Analyzer(); ~GUIIPv4Analyzer(); /* Triggered whenever the IP field has been changed. */ sigc::signal2 signal_ip_changed; /* Triggered whenever the netmask field has been changed. */ sigc::signal2 signal_mask_changed; /* Triggered whenever the prefixlength field has been changed. */ sigc::signal2 signal_pfxlen_changed; /* Switch event emissions off. */ void lock_signals(void); /* Switch event emissions on (default). */ void unlock_signals(void); /* Returns the value of the IP address field. */ unsigned long get_ip(void); /* Sets the value of the IP address field. */ void set_ip(unsigned long ip); /* Sets the value of the IP netmask field. */ void set_mask(unsigned long mask); /* Sets the value of the prefixlength field. */ void set_pfxlen(unsigned short int pfxlen); /* Sets the value of the "Output" -> "Range" fields. */ void set_output_range(unsigned long from, unsigned long to); /* Sets the value of the "Output" -> "Number of Subnets" fields. */ void set_output_subnets(unsigned int num); /* Sets the value of the "Output" -> "Number of Hosts" fields. */ void set_output_hosts(unsigned int num); /* Sets the value of the "Output" -> "Number of Hosts, including Net/BrdCast" * field. */ void set_output_hosts_all(unsigned int num); /* Sets the value of the "Output" -> "Network" field. */ void set_output_network(unsigned long network); /* Sets the value of the "Output" -> "Broadcast Address" field. */ void set_output_broadcast(unsigned long broadcast); /* Sets the value of the "Output (Binary)" -> "IP" field. */ void set_output_bin_ip(unsigned long ip); /* Sets the value of the "Output (Binary)" -> "Netmask" field. */ void set_output_bin_mask(unsigned long mask); /* Sets the value of the "Output (Binary)" -> "Network Address" field. */ void set_output_bin_network(unsigned long net); /* Sets the value of the "Output (Binary)" -> "Broadcast Address" field. */ void set_output_bin_broadcast(unsigned long broadcast); /* Sets the value of the "Output (Hexadecimal)" -> "IP" field. */ void set_output_hex_ip(unsigned long ip); /* Sets the value of the "Output (Hexadecimal)" -> "Netmask" field. */ void set_output_hex_mask(unsigned long mask); /* Sets the value of the "Output (Hexadecimal)" -> "Network Address" field. */ void set_output_hex_network(unsigned long net); /* Sets the value of the "Output (Hexadecimal)" -> "Broadcast Address" field. */ void set_output_hex_broadcast(unsigned long broadcast); protected: int map_ip_input(double* value, SpinButton* spin); bool map_ip_output(SpinButton* spin); int map_mask_input(double* value, SpinButton* spin); bool map_mask_output(SpinButton* spin); void on_ip_changed(void); void on_mask_changed(void); void on_pfxlen_changed(void); bool lock_events; std::map widgets; // Map Widgetname <-> Widget. }; #endif gip-1.7.0-1/src/gui_aboutbox.h0000644000175000017500000000240711130411302014172 0ustar samsam/* The Cantus project. * (c)2002, 2003, 2004 by Samuel Abels (spam debain org) * This project's homepage is: http://www.debain.org/cantus * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_ABOUTBOX_H #define HAVE_GUI_ABOUTBOX_H #include #include #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; class GUIAboutBox : public Dialog { public: GUIAboutBox(); ~GUIAboutBox(); protected: Image *image; }; #endif gip-1.7.0-1/src/gui_mainwindow.cc0000644000175000017500000001425711130411302014667 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_mainwindow.h" #include //#define _DEBUG_ /****************************************************************************** * Constructor/Destructor ******************************************************************************/ GUIMainwindow::GUIMainwindow() { #ifdef _DEBUG_ printf("GUIMainwindow::GUIMainwindow(): Called.\n"); #endif VBox* vbox = new VBox; Notebook* notebook = new Notebook; notebook->append_page(ipv4_analyzer, _("IPv4 Address Analyzer")); notebook->append_page(ipv4_subnet_calculator, _("IPv4 Range to Prefix Converter")); notebook->append_page(ipv4_subnet_splitter, _("IPv4 Subnet Calculator")); //notebook->set_border_width(12); vbox->pack_start(*manage(build_menu()), FALSE, FALSE); vbox->pack_start(*manage(notebook)); vbox->show_all(); add(*manage(vbox)); set_title(_("Internet Protocol Calculator")); } GUIMainwindow::~GUIMainwindow() { #ifdef _DEBUG_ printf("GUIMainwindow::~GUIMainwindow(): Called.\n"); #endif } /****************************************************************************** * Public ******************************************************************************/ /* Switch event emissions off. */ void GUIMainwindow::lock_signals(void) { ipv4_analyzer.lock_signals(); ipv4_subnet_calculator.lock_signals(); ipv4_subnet_splitter.lock_signals(); } /* Switch event emissions on. */ void GUIMainwindow::unlock_signals(void) { ipv4_analyzer.unlock_signals(); ipv4_subnet_calculator.unlock_signals(); ipv4_subnet_splitter.unlock_signals(); } /****************************************************************************** * Private ******************************************************************************/ MenuBar* GUIMainwindow::build_menu(void) { #ifdef _DEBUG_ printf("GUIMainwindow::build_form(): Called.\n"); #endif MenuBar* menubar = new MenuBar; Menu* menu = NULL; // Add the "File" menu. menu = new Menu; menubar->items().push_back(Menu_Helpers::MenuElem(_("_File"), *menu)); menu->items().push_back(Menu_Helpers::StockMenuElem(Stock::QUIT, sigc::mem_fun(*this, &GUIMainwindow::on_file_quit_clicked))); // Add the "Edit" menu. menu = new Menu; menubar->items().push_back(Menu_Helpers::MenuElem(_("_Edit"), *menu)); menu->items().push_back(Menu_Helpers::StockMenuElem(Stock::CUT, sigc::mem_fun(*this, &GUIMainwindow::on_edit_cut_clicked))); menu->items().push_back(Menu_Helpers::StockMenuElem(Stock::COPY, sigc::mem_fun(*this, &GUIMainwindow::on_edit_copy_clicked))); menu->items().push_back(Menu_Helpers::StockMenuElem(Stock::PASTE, sigc::mem_fun(*this, &GUIMainwindow::on_edit_paste_clicked))); menu->items().push_back(Menu_Helpers::StockMenuElem(Stock::DELETE, sigc::mem_fun(*this, &GUIMainwindow::on_edit_delete_clicked))); // Add the "Help" menu. menu = new Menu; menubar->items().push_back(Menu_Helpers::MenuElem(_("_Help"), *menu)); menu->items().push_back(Menu_Helpers::MenuElem(_("_About"), sigc::mem_fun(*this, &GUIMainwindow::on_help_about_clicked))); return menubar; } void GUIMainwindow::on_file_quit_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_file_quit_clicked(): Called.\n"); #endif hide(); } void GUIMainwindow::on_edit_cut_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_edit_cut_clicked(): Called.\n"); #endif on_edit_copy_clicked(); on_edit_delete_clicked(); } void GUIMainwindow::on_edit_copy_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_edit_copy_clicked(): Called.\n"); #endif Glib::RefPtr clipboard = Clipboard::get(); // Handle entry widgets. Entry* entry = dynamic_cast(get_focus()); if (entry) { int start, end; entry->get_selection_bounds(start, end); clipboard->set_text(entry->get_text().substr(start, end - start)); return; } // Handle treeview widgets. GUIPrefixList* pfxlist = dynamic_cast(get_focus()); if (pfxlist) { string text = pfxlist->get_as_text(); clipboard->set_text(text); return; } } void GUIMainwindow::on_edit_paste_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_edit_paste_clicked(): Called.\n"); #endif Glib::RefPtr clipboard = Clipboard::get(); clipboard->request_text( sigc::mem_fun(*this, &GUIMainwindow::on_clipboard_text_received)); } void GUIMainwindow::on_clipboard_text_received(const Glib::ustring& text) { #ifdef _DEBUG_ printf("GUIMainwindow::on_clipboard_text_received(): Called.\n"); #endif Entry* entry = dynamic_cast(get_focus()); if (entry) { int start, end; entry->get_selection_bounds(start, end); entry->set_text(entry->get_text().replace(start, end - start, text)); return; } } void GUIMainwindow::on_edit_delete_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_edit_delete_clicked(): Called.\n"); #endif Entry* entry = dynamic_cast(get_focus()); if (entry) { int start, end; entry->get_selection_bounds(start, end); entry->set_text(entry->get_text().erase(start, end - start)); return; } } void GUIMainwindow::on_help_about_clicked(void) { #ifdef _DEBUG_ printf("GUIMainwindow::on_help_about_clicked(): Called.\n"); #endif aboutbox.show(); } gip-1.7.0-1/src/gui_ipv4_subnet_calculator.cc0000644000175000017500000001160611130411302017161 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_ipv4_subnet_calculator.h" //#define _DEBUG_ /****************************************************************************** * Constructor/Destructor ******************************************************************************/ GUIIPv4SubnetCalculator::GUIIPv4SubnetCalculator() : label_range(_("Address range:")), label_dash("-") { resize(2, 4); set_border_width(6); set_row_spacings(6); set_col_spacings(12); spin_from.set_numeric(FALSE); spin_from.set_range(0, (double)pow((double)2, 32) - 1); spin_from.set_increments(1, 256); spin_from.set_wrap(); spin_to.set_numeric(FALSE); spin_to.set_range(0, (double)pow((double)2, 32) - 1); spin_to.set_increments(1, 256); spin_to.set_wrap(); scrolled.add(prefixlist); scrolled.set_shadow_type(SHADOW_IN); scrolled.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC); attach(label_range, 0, 1, 0, 1, FILL, FILL); attach(spin_from, 1, 2, 0, 1, FILL|EXPAND, FILL); attach(label_dash, 2, 3, 0, 1, FILL, FILL); attach(spin_to, 3, 4, 0, 1, FILL|EXPAND, FILL); attach(scrolled, 0, 4, 1, 2, FILL|EXPAND, FILL|EXPAND); spin_from.signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::map_ip_input), &spin_from)); spin_from.signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::map_ip_output), &spin_from)); spin_from.signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::on_range_changed)); spin_to.signal_input().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::map_ip_input), &spin_to)); spin_to.signal_output().connect( sigc::bind(sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::map_ip_output), &spin_to)); spin_to.signal_value_changed().connect( sigc::mem_fun(*this, &GUIIPv4SubnetCalculator::on_range_changed)); } GUIIPv4SubnetCalculator::~GUIIPv4SubnetCalculator() { } /****************************************************************************** * Public ******************************************************************************/ /* Switch event emissions off. */ void GUIIPv4SubnetCalculator::lock_signals(void) { lock_events = TRUE; } /* Switch event emissions on. */ void GUIIPv4SubnetCalculator::unlock_signals(void) { lock_events = FALSE; } /* Switch event emissions on. */ void GUIIPv4SubnetCalculator::set_range(unsigned long from, unsigned long to) { spin_from.set_value(from); spin_to.set_value(to); } /****************************************************************************** * Protected ******************************************************************************/ int GUIIPv4SubnetCalculator::map_ip_input(double* value, SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetCalculator::map_ip_input(): Called.\n"); #endif string ip = spin->get_text(); unsigned long ip_int = 0; if (ipv4_ip2integer(ip.c_str(), &ip_int) < 0) return 0; #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetCalculator::map_ip_input(): Value: %s, %i\n", ip.c_str(), ip_int); #endif *value = (double)ip_int; return 1; } bool GUIIPv4SubnetCalculator::map_ip_output(SpinButton* spin) { #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetCalculator::map_ip_output(): Called.\n"); #endif char ip[36] = ""; unsigned long ip_int = (unsigned long)spin->get_adjustment()->get_value(); #ifdef _DEBUG_EXCESSIVE_ printf("GUIIPv4SubnetCalculator::map_ip_output(): Double: %d\n", spin->get_adjustment()->get_value()); #endif ipv4_integer2ip(ip_int, ip); spin->set_text(ip); return TRUE; } void GUIIPv4SubnetCalculator::on_range_changed(void) { #ifdef _DEBUG_ printf("GUIIPv4SubnetCalculator::on_range_changed(): Called.\n"); #endif if (lock_events) return; unsigned long from = (unsigned long)spin_from.get_value(); unsigned long to = (unsigned long)spin_to.get_value(); signal_range_changed.emit(from, to); } gip-1.7.0-1/src/dispatcher.h0000644000175000017500000000331711130411302013632 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_DISPATCHER_H #define HAVE_DISPATCHER_H #include #include "gui_mainwindow.h" #include "lib_ipv4.h" class Dispatcher : public sigc::trackable { public: Dispatcher(); ~Dispatcher(); protected: void get_prefixes_from_range(unsigned long from, unsigned long to); void on_ipv4_analyzer_ip_changed(unsigned long ip, unsigned long mask); void on_ipv4_analyzer_mask_changed(unsigned long ip, unsigned long mask); void on_ipv4_analyzer_pfxlen_changed(unsigned long ip, unsigned short int pfxlen); void on_ipv4_subnet_calculator_range_changed(unsigned long from, unsigned long to); void on_ipv4_subnet_splitter_changed(unsigned long from, unsigned long to, unsigned short int pfxlen); }; #endif gip-1.7.0-1/src/gui_prefixlist.cc0000644000175000017500000000671411130411302014703 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #include "gui_prefixlist.h" //#define _DEBUG_ /****************************************************************************** * Constructor/Destructor ******************************************************************************/ GUIPrefixList::GUIPrefixList() { // Attach the category liststore to the treeview. store = Gtk::ListStore::create(columns); set_model(store); get_selection()->set_mode(SELECTION_MULTIPLE); append_column(_("Prefix"), columns.prefixes); append_column(_("Subnet Mask"), columns.subnets); set_rules_hint(); } GUIPrefixList::~GUIPrefixList() { } /****************************************************************************** * Public ******************************************************************************/ /* Add one prefix to the list. */ void GUIPrefixList::insert(Prefix* prefix) { #ifdef _DEBUG_ printf("GUIPrefixList::insert(*): Called.\n"); #endif char net_txt[36]; char len_txt[4]; char mask_txt[36]; unsigned long mask = 0; if (ipv4_integer2ip(prefix->net, net_txt) < 0) return; if (ipv4_pfxlen2mask(prefix->len, &mask) < 0) return; if (ipv4_integer2ip(mask, mask_txt) < 0) return; snprintf(len_txt, 3, "%i", prefix->len); string prefix_txt = net_txt; prefix_txt.append("/"); prefix_txt.append(len_txt); if (prefixes.find(prefix_txt) != prefixes.end()) return; prefixes[prefix_txt] = mask_txt; Gtk::TreeModel::Row row = *store->append(); row[columns.prefixes] = prefix_txt; row[columns.subnets] = mask_txt; } /* Add a list of prefixes to the list. */ void GUIPrefixList::insert(Prefix** prefixlist) { #ifdef _DEBUG_ printf("GUIPrefixList::insert(**): Called.\n"); #endif int i = -1; while (prefixlist[++i]) insert(prefixlist[i]); } /* Clear the list. */ void GUIPrefixList::clear(void) { store->clear(); prefixes.clear(); } /* Returns the content of the prefixlist as one string. */ string GUIPrefixList::get_as_text(void) { Glib::RefPtr selection = get_selection(); list selected = selection->get_selected_rows(); list::iterator iter = selected.begin(); string content; while (iter != selected.end()) { TreeIter treeiter = store->get_iter(*iter); string line = treeiter->get_value(columns.prefixes) + " " + treeiter->get_value(columns.subnets) + "\n"; content.append(line); iter++; } return content; } /****************************************************************************** * Protected ******************************************************************************/ gip-1.7.0-1/src/gui_ipv4_subnet_splitter.h0000644000175000017500000000434511130411302016542 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_IPV4_SUBNET_SPLITTER_H #define HAVE_GUI_IPV4_SUBNET_SPLITTER_H #include #include #include #include #include "gui_prefixlist.h" #include "lib_ipv4.h" #include #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; class GUIIPv4SubnetSplitter : public Table { public: GUIIPv4SubnetSplitter(); ~GUIIPv4SubnetSplitter(); /* Triggered whenever one of the fields has been changed. */ sigc::signal3 signal_changed; /* Switch event emissions off. */ void lock_signals(void); /* Switch event emissions on (default). */ void unlock_signals(void); /* Set the value of the "from" and "to" address range fields. */ void set_range(unsigned long from, unsigned long to); GUIPrefixList prefixlist; protected: int map_ip_input(double* value, SpinButton* spin); bool map_ip_output(SpinButton* spin); void on_changed(void); ScrolledWindow scrolled; Label label_range; Label label_dash; Label label_pfxlen; Label label_maxmatch; SpinButton spin_from; SpinButton spin_to; SpinButton spin_pfxlen; bool lock_events; }; #endif gip-1.7.0-1/src/gui_ipv4_subnet_calculator.h0000644000175000017500000000410011130411302017012 0ustar samsam/* * Author: Samuel Abels * * 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 Library 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. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef HAVE_GUI_IPV4_SUBNET_CALCULATOR_H #define HAVE_GUI_IPV4_SUBNET_CALCULATOR_H #include #include #include #include #include "gui_prefixlist.h" #include "lib_ipv4.h" #include #define _(String) gettext (String) #define gettext_noop(String) (String) #define N_(String) gettext_noop (String) using namespace std; using namespace Gtk; class GUIIPv4SubnetCalculator : public Table { public: GUIIPv4SubnetCalculator(); ~GUIIPv4SubnetCalculator(); /* Triggered whenever the IP field has been changed. */ sigc::signal2 signal_range_changed; /* Switch event emissions off. */ void lock_signals(void); /* Switch event emissions on (default). */ void unlock_signals(void); /* Set the value of the "from" and "to" address range fields. */ void set_range(unsigned long from, unsigned long to); GUIPrefixList prefixlist; protected: int map_ip_input(double* value, SpinButton* spin); bool map_ip_output(SpinButton* spin); void on_range_changed(void); ScrolledWindow scrolled; Label label_range; Label label_dash; SpinButton spin_from; SpinButton spin_to; bool lock_events; }; #endif gip-1.7.0-1/ChangeLog0000644000175000017500000000127411130411302012316 0ustar samsam2008-11-09 Samuel Abels * po/*: Added zounds of new translations, updated others. * src/pixmaps: Replaced some icons. * *: Added desktop file, updated build infrastructure. * gip-1.6.1 2005-07-10 * gip-1.6.1 2005-07-10 - zh_TW and bg language files added. * gip-1.6.0 2005-07-10 - Language files updated. * gip-1.5.0 2005-05-20 - Display hexadezimal IP address information. - Fix string capitalization according to GNOME HIG. - Use better terminology in some cases. * gip-1.4.0 2005-04-28 - Ported to gtkmm-2.4. * gip-1.2.1 2004-10-30 - Language files updated. * gip-1.2.0 2004-07-18 - Copy/Paste behavior fixed. - Basque and French translations updated. gip-1.7.0-1/po/0000755000175000017500000000000011130411302011156 5ustar samsamgip-1.7.0-1/po/sr.po0000644000175000017500000001057611130411302012153 0ustar samsam# Serbian translation of `gip'. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the `gip' package. # Aleksandar Jelenak , 2005. msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-05-31 20:18-0400\n" "Last-Translator: Aleksandar Jelenak \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Гип издање %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Превод ове верзије:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "заÑлужни_преводиоци" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Гип, рачунар за интернет протокол Гном радног окружења је напиÑао и објавио под уÑловима ОЈЛ (Општа јавна лиценца Ð’2)\n" "Семјуел ÐÐ±ÐµÐ»Ñ (Samuel Abels)" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Хвала Вам на избору Гипа!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "ÐуторÑка права 2004. Сва права задржана." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Улаз" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "ИП адреÑа:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Мрежна маÑка:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Дужина префикÑа:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Излаз" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "РаÑпон адреÑа:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Број подмрежа:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Број домаћина:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Укључујући мрежу/емитовање:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Мрежна адреÑа:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Општа адреÑа:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Бинарни излаз" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "ХекÑадецимални излаз" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Подмрежено Ñа дужином префикÑа:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Приказ највише 1000 подмрежа." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4 анализатор адреÑа" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Претварач IPv4 опÑега у префикÑ" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4 рачунар за подмреже" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Рачунар за интернет протокол" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Датотека" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Уреди" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Помоћ" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_О програму" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "ПрефикÑ" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "МаÑка подмреже" gip-1.7.0-1/po/de.po0000644000175000017500000000770311130411302012115 0ustar samsam# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Gip\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-03-30 19:18+0200\n" "PO-Revision-Date: 2004-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Version %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Der Text der deutschen Übersetzung stammt von " #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Samuel Abels" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was " "written and published under the terms of the GPL (General Public License " "V2)\n" "by Samuel Abels" msgstr "" "Gip, der IP-Adressrechner für den GNOME Desktop. " "Geschrieben und veröffentlicht unter den Bedingungen der GPL (General " "Public License V2) von\n" "Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Vielen Dank, dass du dich für Gip entschieden hast! ;-)" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Alle Rechte vorbehalten." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Eingabe" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP-Adresse:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Netzmaske:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Prefixlänge:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Ausgabe:" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Adressbereich:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Anzahl der Subnetze:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Anzahl der Hosts:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Einschliesslich Netz/Broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Netzadresse:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Broadcast-Adresse" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Binäre IP-Adressen" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Hexadezimale IP-Adressen" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Mit Prefixlänge gesubnettet:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Zeige maximal 1000 Ergebnisse." #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "IPv4 Adress-Analyse" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Range to Prefix Converter" msgstr "IPv4 Range zu Prefix Konvertierung" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Calculator" msgstr "IPv4 Subnetz-Rechner" #: ../src/gui_mainwindow.cc:46 msgid "Internet Protocol Calculator" msgstr "IP-Adressrechner" #: ../src/gui_mainwindow.cc:92 msgid "_File" msgstr "_Datei" #: ../src/gui_mainwindow.cc:98 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/gui_mainwindow.cc:110 msgid "_Help" msgstr "_Hilfe" #: ../src/gui_mainwindow.cc:111 msgid "_About" msgstr "_Info" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefix" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Netzmaske" gip-1.7.0-1/po/rm.po0000644000175000017500000002065111130411302012140 0ustar samsam# # translation of gip-1.1.0.po to Rumantsch (Rhaeto-Romance) [rm] # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Florian Verdet _goto , 2005. # msgid "" msgstr "" "Project-Id-Version: gip 1.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-07-03 23:36+0200\n" "PO-Revision-Date: 2005-02-06 13:09+0100\n" "Last-Translator: Florian Verdet _goto \n" "Language-Team: Rhaeto-Romance \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.2\n" #: ../src/gui_aboutbox.cc:37 ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip ediziun %s %s" #: ../src/gui_aboutbox.cc:48 ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "20050206, Florian Verdet _goto pel team GNU-Rumantsch " #: ../src/gui_aboutbox.cc:52 ../src/gui_aboutbox.cc:56 #: ../src/gui_aboutbox.cc:54 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, il calculader dal Protocol d'Internet per l'ambiaint da desktop GNOME es gnü scritt e publichà suot ils terms da la GPL (General Public License V2)\n" "da Samuel Abels" #: ../src/gui_aboutbox.cc:57 ../src/gui_aboutbox.cc:61 #: ../src/gui_aboutbox.cc:59 msgid "Thank You for choosing Gip!" msgstr "Grazcha fich d'avair tschernü Gip!" #: ../src/gui_aboutbox.cc:62 ../src/gui_aboutbox.cc:64 #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Dret da copcha 2004. Tuot ils drets reservats." #: ../src/gui_ipv4analyzer.cc:51 ../src/gui_ipv4analyzer.cc:52 #: ../src/gui_ipv4analyzer.cc:53 ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Entrada" #: ../src/gui_ipv4analyzer.cc:56 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:57 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:186 ../src/gui_ipv4analyzer.cc:187 #: ../src/gui_ipv4analyzer.cc:61 ../src/gui_ipv4analyzer.cc:62 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:200 #: ../src/gui_ipv4analyzer.cc:202 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:203 ../src/gui_ipv4analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 msgid "IP Address:" msgstr "Adressa IP" #: ../src/gui_ipv4analyzer.cc:60 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4analyzer.cc:189 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:65 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:203 #: ../src/gui_ipv4analyzer.cc:205 ../src/gui_ipv4analyzer.cc:66 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 msgid "Network Mask:" msgstr "Mascra da rait:" #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:67 ../src/gui_ipv4analyzer.cc:68 #: ../src/gui_ipv4analyzer.cc:69 ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix Length:" msgstr "Lunghezza dal prefix:" #: ../src/gui_ipv4analyzer.cc:124 ../src/gui_ipv4analyzer.cc:125 #: ../src/gui_ipv4analyzer.cc:126 ../src/gui_ipv4analyzer.cc:130 #: ../src/gui_ipv4analyzer.cc:131 ../src/gui_ipv4analyzer.cc:133 #: ../src/gui_ipv4analyzer.cc:134 ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Sortida" #: ../src/gui_ipv4analyzer.cc:129 ../src/gui_subnet_calculator.cc:32 #: ../src/gui_ipv4analyzer.cc:130 ../src/gui_ipv4analyzer.cc:131 #: ../src/gui_ipv4analyzer.cc:135 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4_analyzer.cc:143 #: ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address Range:" msgstr "Extensiun da las adressas:" #: ../src/gui_ipv4analyzer.cc:133 ../src/gui_ipv4analyzer.cc:134 #: ../src/gui_ipv4analyzer.cc:138 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4_analyzer.cc:146 msgid "Number of Subnets:" msgstr "Nomer da raits subordonadas:" #: ../src/gui_ipv4analyzer.cc:137 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4analyzer.cc:148 #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4_analyzer.cc:149 msgid "Number of Hosts:" msgstr "Nomer da hosts:" #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:144 #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:149 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including Net/Broadcast:" msgstr "Rait/Emettur (broadcast) inclus:" #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:198 #: ../src/gui_ipv4analyzer.cc:197 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:143 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:147 #: ../src/gui_ipv4analyzer.cc:148 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:154 #: ../src/gui_ipv4analyzer.cc:208 ../src/gui_ipv4analyzer.cc:155 #: ../src/gui_ipv4analyzer.cc:209 ../src/gui_ipv4analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 msgid "Network Address:" msgstr "Adressa da rait:" #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4analyzer.cc:202 #: ../src/gui_ipv4analyzer.cc:200 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:146 #: ../src/gui_ipv4analyzer.cc:196 ../src/gui_ipv4analyzer.cc:150 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:201 #: ../src/gui_ipv4analyzer.cc:155 ../src/gui_ipv4analyzer.cc:209 #: ../src/gui_ipv4analyzer.cc:157 ../src/gui_ipv4analyzer.cc:211 #: ../src/gui_ipv4analyzer.cc:158 ../src/gui_ipv4analyzer.cc:212 #: ../src/gui_ipv4analyzer.cc:213 ../src/gui_ipv4_analyzer.cc:158 #: ../src/gui_ipv4_analyzer.cc:213 msgid "Broadcast Address:" msgstr "Adressa dal emettur (broadcast):" #: ../src/gui_ipv4analyzer.cc:185 ../src/gui_ipv4analyzer.cc:186 #: ../src/gui_ipv4analyzer.cc:181 ../src/gui_ipv4analyzer.cc:182 #: ../src/gui_ipv4analyzer.cc:187 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4_analyzer.cc:194 msgid "Output (Binary)" msgstr "Sortida (binar)" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "Analisadur d'adressas IPv4" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "Calculader da rait subordonnada IPv4" #: ../src/gui_mainwindow.cc:44 ../src/gui_mainwindow.cc:45 #: ../src/gui_mainwindow.cc:46 msgid "GIP - Internet Protocol Calculator" msgstr "GIP - Calculader dal Protocol d'Internet" #: ../src/gui_mainwindow.cc:88 ../src/gui_mainwindow.cc:89 #: ../src/gui_mainwindow.cc:90 ../src/gui_mainwindow.cc:92 msgid "_File" msgstr "_Datoteca" #: ../src/gui_mainwindow.cc:94 ../src/gui_mainwindow.cc:95 #: ../src/gui_mainwindow.cc:96 ../src/gui_mainwindow.cc:98 msgid "_Edit" msgstr "_Modifichar" #: ../src/gui_mainwindow.cc:106 ../src/gui_mainwindow.cc:107 #: ../src/gui_mainwindow.cc:108 ../src/gui_mainwindow.cc:110 msgid "_Help" msgstr "_Agüd" #: ../src/gui_mainwindow.cc:107 ../src/gui_mainwindow.cc:108 #: ../src/gui_mainwindow.cc:109 ../src/gui_mainwindow.cc:111 msgid "_About" msgstr "_Sur da" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefix" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Mascra da rait" #: ../src/gui_aboutbox.cc:45 msgid "This translation was written by " msgstr "Quista traducziun es gnüda scritta da " #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Traducziun da quista versiun es da:" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Splitter" msgstr "Sfendader da raits subordonnadas IPv4" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using Prefixlength:" msgstr "Raits subordonnadas fond adöver d'üna lunghezza da prefix da:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Ün maximum da 1000 raits subordonnadas vegn muossà." #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Cruncher" msgstr "Mollader da raits subordonnadas IPv4" gip-1.7.0-1/po/nl.po0000644000175000017500000000763611130411302012143 0ustar samsam# Dutch translation of gip. # Copyright (C) 2004, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Taco Witte , 2006. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2006-01-25 19:09+0200\n" "Last-Translator: Taco Witte \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip versie %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Vertaling van deze versie:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Taco Witte" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, de Internet Protocol Rekenmachine voor de GNOME werkomgeving, is geschreven en uitgegeven onder de voorwaarden van de GPL (General Public License V2)\n" "door Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Bedankt voor het kiezen van Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Alle rechten voorbehouden." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Invoer" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP-adres:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Netwerkmasker:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Voorvoegsellengte:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Uitvoer" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Adresbereik:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Aantal subnets:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Aantal hosts:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Inclusief net/broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Netwerkadres:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Broadcast-adres:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Binaire uitvoer" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Hexadecimale uitvoer" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Gesplitst in subnets met voorvoegsellengte:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Er worden maximaal 1000 subnets weergegeven." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4-adresanalyse" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "IPv4-bereik naar voorvoegsel conversie" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4-subnet rekenmachine" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Internet Protocol Rekenmachine" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Bestand" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "Be_werken" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Hulp" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Info" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Voorvoegsel" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Subnetmasker" gip-1.7.0-1/po/pl.po0000644000175000017500000000767611130411302012151 0ustar samsam# SOME DESCRIPTIVE TITLE. # This file is distributed under the same license as the gip package. # MichaÅ‚ Trzebiatowski , 2008 # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-10-06 06:25+0100\n" "Last-Translator: MichaÅ‚ Trzebiatowski \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: POLAND\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Wydanie Gip %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "TÅ‚umaczenie tej wersji przez:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "kredyty_tÅ‚umacza" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "GIP, kalkulator protokoÅ‚u internetu dla Å›rodowiska GNOME zostaÅ‚ napisany i opublikowany na warunkach GPL (General Public License V2)\n" "przez Samuela Abelsa" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "DziÄ™kujemy za wybranie GIP!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Wszelkie prawa zastrzeżone." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "WejÅ›cie" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Adres IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Maska sieci:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "DÅ‚ugość prefiksu:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "WyjÅ›cie" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Zakres adresu:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Liczba podsieci:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Liczba hostów:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "W tym siec/emisja:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Adres sieci:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Adres emisji:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "WyjÅ›cie binarne" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "WyjÅ›cie szesnastkowe" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Podsieci używajÄ…ce dÅ‚ugość prefiksu:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "WyÅ›wietlono maksymalnie 1000 podsieci." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Analizator adresu IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Konwertor prefiksu do zasiÄ™gu IPv4" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Kalkulator podsieci IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Kalkulator protokoÅ‚u internetu" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Plik" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Edytuj" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "Pomo_c" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_O" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefiks" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Maska podsieci" gip-1.7.0-1/po/fr.po0000644000175000017500000001050011130411302012121 0ustar samsam# Messages français pour GNU concernant gip. # Copyright © 2004 Free Software Foundation, Inc. # Michel Robitaille , traducteur depuis/since 1996. # msgid "" msgstr "" "Project-Id-Version: GNU gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-06-12 08:00-0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip version %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Traduction de cette version par:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Traduction française par Michel Robitaille" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, le calculateur du protocol Internet pour l'environnement GNOME est écrit et publié selon les termes de la GPL (General Public License V2)\n" "par Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Merci d'avoir choisi Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Tous droits réservés." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Entrée" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Adresse IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Masque réseau:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Longueur du préfixe:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Sortie" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Étendue des adresses:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Nombre de sous-réseaux:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Nombre d'hôtes:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Incluant Réseau/Diffusion:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Adresse réseau:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Adresse de diffusion:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Sortie binaire" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Sortie hexadécimale" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Sous-réseautage utilisant la valeur de prefixlength:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Montrant un maximum de 1000 sous-réseaux" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Analyseur d'adresse IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Étendue IPV4 au convertisseur de préfixe" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Calcultateur de sous-réseau IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Calculateur de protocol Internet" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Fichier" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Editer" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Aide" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_A propos" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Préfixe" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Masque de sous-réseau" #~ msgid "Output (Binary)" #~ msgstr "Sortie (binaire)" #~ msgid "This translation was written by " #~ msgstr "Cette traduction a été écrite par " #~ msgid "IPv4 Subnet Splitter" #~ msgstr "Séparateur de sous-réseau IPv4" #~ msgid "IPv4 Subnet Cruncher" #~ msgstr "Craqueur de sous-réseaux IPv4" gip-1.7.0-1/po/pt.po0000644000175000017500000001403711130411302012146 0ustar samsam# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: gip 0.0.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-06-24 13:52-0300\n" "PO-Revision-Date: 2004-06-24 16:21-0300\n" "Last-Translator: Gian Jaskulski \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:37 ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Versão %s %s" #: ../src/gui_aboutbox.cc:48 ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "" #: ../src/gui_aboutbox.cc:52 ../src/gui_aboutbox.cc:56 #: ../src/gui_aboutbox.cc:54 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was " "written and published under the terms of the GPL (General Public License " "V2)\n" "by Samuel Abels" msgstr "Gip, a Calculadora de Protocolo Internet para o ambiente desktop GNOME foi" "escrito e publicado sobre os termos da GPL (General Public License " "V2)\n" "por Samuel Abels" #: ../src/gui_aboutbox.cc:57 ../src/gui_aboutbox.cc:61 #: ../src/gui_aboutbox.cc:59 msgid "Thank You for choosing Gip!" msgstr "Obrigado por usar o Gip!" #: ../src/gui_aboutbox.cc:62 ../src/gui_aboutbox.cc:64 #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Todos os direitos reservados" #: ../src/gui_ipv4analyzer.cc:51 ../src/gui_ipv4analyzer.cc:52 #: ../src/gui_ipv4analyzer.cc:53 msgid "Input" msgstr "Entrada" #: ../src/gui_ipv4analyzer.cc:56 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:57 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:186 ../src/gui_ipv4analyzer.cc:187 #: ../src/gui_ipv4analyzer.cc:61 ../src/gui_ipv4analyzer.cc:62 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:200 #: ../src/gui_ipv4analyzer.cc:202 msgid "IP Address:" msgstr "Endereço IP:" #: ../src/gui_ipv4analyzer.cc:60 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4analyzer.cc:189 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:65 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:203 #: ../src/gui_ipv4analyzer.cc:205 msgid "Network Mask:" msgstr "Máscara de Rede:" #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:67 ../src/gui_ipv4analyzer.cc:68 msgid "Prefix Length:" msgstr "Tamanho do Prefixo:" #: ../src/gui_ipv4analyzer.cc:124 ../src/gui_ipv4analyzer.cc:125 #: ../src/gui_ipv4analyzer.cc:126 ../src/gui_ipv4analyzer.cc:130 #: ../src/gui_ipv4analyzer.cc:131 ../src/gui_ipv4analyzer.cc:133 msgid "Output" msgstr "Saída" #: ../src/gui_ipv4analyzer.cc:129 ../src/gui_subnet_calculator.cc:32 #: ../src/gui_ipv4analyzer.cc:130 ../src/gui_ipv4analyzer.cc:131 #: ../src/gui_ipv4analyzer.cc:135 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:142 msgid "Address Range:" msgstr "Faixa de Endereços:" #: ../src/gui_ipv4analyzer.cc:133 ../src/gui_ipv4analyzer.cc:134 #: ../src/gui_ipv4analyzer.cc:138 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4analyzer.cc:145 msgid "Number of Subnets:" msgstr "Número de Subredes:" #: ../src/gui_ipv4analyzer.cc:137 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4analyzer.cc:148 msgid "Number of Hosts:" msgstr "Número de Hosts:" #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:144 #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:149 #: ../src/gui_ipv4analyzer.cc:151 msgid "Including Net/Broadcast:" msgstr "Incluindo Rede/Broadcast:" #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:198 #: ../src/gui_ipv4analyzer.cc:197 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:143 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:147 #: ../src/gui_ipv4analyzer.cc:148 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:154 #: ../src/gui_ipv4analyzer.cc:208 msgid "Network Address:" msgstr "Endereço de Rede:" #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4analyzer.cc:202 #: ../src/gui_ipv4analyzer.cc:200 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:146 #: ../src/gui_ipv4analyzer.cc:196 ../src/gui_ipv4analyzer.cc:150 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:201 #: ../src/gui_ipv4analyzer.cc:155 ../src/gui_ipv4analyzer.cc:209 #: ../src/gui_ipv4analyzer.cc:157 ../src/gui_ipv4analyzer.cc:211 msgid "Broadcast Address:" msgstr "Endereço de Broadcast:" #: ../src/gui_ipv4analyzer.cc:185 ../src/gui_ipv4analyzer.cc:186 #: ../src/gui_ipv4analyzer.cc:181 ../src/gui_ipv4analyzer.cc:182 #: ../src/gui_ipv4analyzer.cc:187 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:193 msgid "Output (Binary)" msgstr "Saída (Binária)" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "Analizador de Endereços IPv4" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "Calculadora de Subredes IPv4" #: ../src/gui_mainwindow.cc:44 msgid "GIP - Internet Protocol Calculator" msgstr "GIP - Calculadora do Protocolo Internet" #: ../src/gui_mainwindow.cc:88 msgid "_File" msgstr "_Arquivo" #: ../src/gui_mainwindow.cc:94 msgid "_Edit" msgstr "_Editar" #: ../src/gui_mainwindow.cc:106 msgid "_Help" msgstr "A_juda" #: ../src/gui_mainwindow.cc:107 msgid "_About" msgstr "_Sobre" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefixo" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Máscara de Subrede" #: ../src/gui_aboutbox.cc:45 msgid "This translation was written by " msgstr "Esta tradução foi escrita por" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Tradução desta versão por:"gip-1.7.0-1/po/gen.sh0000755000175000017500000000161411130411302012270 0ustar samsam#!/bin/sh ## This script generates a new potfile and re-builds all .mo files. ## Also, POTFILES.in will be re-generated. ## # Ger a list of all files that are potentially holding translatable strings. FILES=`find ../src/ -name "*.cc" -o -name "*.c"` # Re-generate (merge) the potfile. touch gip.pot xgettext -jC -k"_" -k"N_" --from-code ISO-8859-1 -o gip.pot $FILES \ || exit 1 # Generate .mo files from all .po files. find . -name "*.po" | while read POFILE; do MOFILE=`echo $POFILE | sed 's/\.po$/\.mo/'` echo -n $POFILE... msgfmt -o $MOFILE $POFILE || exit 1 echo done. done # Generate a POTFILE.in file for intltool-update support. echo GETTEXT_PACKAGE=gip > ../configure.ac || exit 1 touch POTFILES.in || exit 1 intltool-update -m || exit 1 if [ -e missing ]; then mv missing POTFILES.in || exit 1 fi rm ../configure.ac gip-1.7.0-1/po/README_I18N0000644000175000017500000000043511130411302012577 0ustar samsamTranslations ------------ Translation of this project is done centralized via the Translation Project. If you want to become a translator, join a language team and submit. The necessary informations can be found on this page: http://www2.iro.umontreal.ca/~gnutra/po/HTML/index.html gip-1.7.0-1/po/tr.po0000644000175000017500000000756311130411302012156 0ustar samsam# Gip Language File. # Copyright (C) 2004 Samuel Abels # This file is distributed under the same license as the Gip package. # Samuel Abels , 2004. # msgid "" msgstr "" "Project-Id-Version: Gip\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-03-30 19:18+0200\n" "PO-Revision-Date: 2004-10-30 15:14+0200\n" "Last-Translator: Orhan Veli Esen \n" "Language-Team: TurkishTeam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Turkish\n" "X-Poedit-Country: Turkey\n" "X-Poedit-SourceCharset: iso-8859-9\n" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "IPv4 Adres Çözümleyici" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "IPv4 AltaÄŸ Hesaplayıcı" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Cruncher" msgstr "IPv4 AltaÄŸ Cruncher" #: ../src/gui_mainwindow.cc:46 msgid "GIP - Internet Protocol Calculator" msgstr "GIP - Internet Protokol Hesaplayıcısı" #: ../src/gui_mainwindow.cc:92 msgid "_File" msgstr "_Dosya" #: ../src/gui_mainwindow.cc:98 msgid "_Edit" msgstr "Dü_zen" #: ../src/gui_mainwindow.cc:110 msgid "_Help" msgstr "_Yardım" #: ../src/gui_mainwindow.cc:111 msgid "_About" msgstr "_Hakkında" #: ../src/gui_ipv4_subnet_splitter.cc:32 #: ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_analyzer.cc:143 msgid "Address Range:" msgstr "Adres Aralığı:" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using Prefixlength:" msgstr "Alt aÄŸda kullanılan Önek uzunluÄŸu:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Azami 1000 alt aÄŸ gösterimi." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Girdi" #: ../src/gui_ipv4_analyzer.cc:62 #: ../src/gui_ipv4_analyzer.cc:204 msgid "IP Address:" msgstr "IP Adresi:" #: ../src/gui_ipv4_analyzer.cc:65 #: ../src/gui_ipv4_analyzer.cc:207 msgid "Network Mask:" msgstr "AÄŸ Maskesi:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix Length:" msgstr "AÄŸ Maskesi Ön Eki UzunluÄŸu:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Çıktı" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of Subnets:" msgstr "Alt AÄŸ Sayısı:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of Hosts:" msgstr "Makine Sayısı:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including Net/Broadcast:" msgstr "AÄŸ/Broadcast Kapsamı:" #: ../src/gui_ipv4_analyzer.cc:155 #: ../src/gui_ipv4_analyzer.cc:210 msgid "Network Address:" msgstr "AÄŸ Adresi" #: ../src/gui_ipv4_analyzer.cc:158 #: ../src/gui_ipv4_analyzer.cc:213 msgid "Broadcast Address:" msgstr "Broadcast Adresi:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Output (Binary)" msgstr "Çıktı (İkilik Sistemde)" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Sürüm %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Bu versiyonun çevirisi:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Orhan Veli Esen" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, Internet Protokolü Hesaplayıcısı,GNOME masaüstü ortamı için GPL (General Public License V2) terimleri altında Samuel Abels\n" " tarafından yazılmış ve yayınlanmıştır." #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Gip programını seçtiÄŸiniz için teÅŸekkürler" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Tüm hakları saklıdır." #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Önek" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Alt AÄŸ Maskesi" gip-1.7.0-1/po/vi.po0000644000175000017500000001110711130411302012134 0ustar samsam# Vietnamese Translation for gip-1.5.0. # Copyright © 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the gip-1.5.0 package. # Clytie Siddall , 2005. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-05-24 11:13+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip phiên bản %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Phiên bản này được dịch do " #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Nhóm Việt hóa " #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, trình tính giao thức Mạng cho môi trưá»ng màn hình ná»n GNOME, được lập và phát hành vá»›i Ä‘iá»u kiện cá»§a Quyá»n công chung GNU (GPL phiên bản 2) \n" "do Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Cám Æ¡n bạn chá»n dùng trình Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Bản quyá»n năm 2004. Bảo lưu má»i quyá»n." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Gõ" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Äịa chỉ IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Mặt nạ mạng:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Äá»™ dài tiá»n tố:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Xuất" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Phạm vị địa chỉ:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Tổng số mạng cấp dưới:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Tổng số máy:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Bao gồm mạng/phát thanh:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Äịa chỉ mạng:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Äịa chỉ phát thanh:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Xuất nhị phân" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Xuất hệ thập lục phân" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "mạng cấp dưới được tính dùng prefixlength (độ dài tiá»n tố):" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Hiển thị 1000 mạng cấp dưới tối Ä‘a." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Bá»™ phân tích địa chỉ IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Bá»™ chuyển đổi phạm vị đến tiá»n tố IPv4" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Bá»™ tính mạng cấp dưới IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Bá»™ tính giao thức Mạng" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Tập tin" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Hiệu chỉnh" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "Trợ _giúp" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Giá»›i thiệu" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Tiá»n tố" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Mặt nạ mạng cấp dưới" #~ msgid "Output (Binary)" #~ msgstr "Xuất (nhị phân)" #~ msgid "This translation was written by " #~ msgstr "Bản dịch này do " #~ msgid "IPv4 Subnet Splitter" #~ msgstr "Trình chia tách mạng cấp dưới IPv4" #~ msgid "IPv4 Subnet Cruncher" #~ msgstr "Trình nghiá»n mạng cấp dưới IPv4" gip-1.7.0-1/po/sv.po0000644000175000017500000000765411130411302012162 0ustar samsam# Swedish translation for gip # Copyright (c) (c) 2005 Canonical Ltd, and Rosetta Contributors 2005 # This file is distributed under the same license as the gip package. # Daniel Nylander , 2005. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-12-20 21:18+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip utgÃ¥va %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Översättning för denna version av: " #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Daniel Nylander" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip - Internetprotokollberäknare för skrivbordsmiljön GNOME skrevs och publiserades under villkoren för GPL (General Public License V2)\n" "av Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Tack för att du valde Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Alla rättigheter tillhör respektive ägare." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Inmatning" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP-adress:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Nätverksmask:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Prefixlängd:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Utmatning" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Adressrymd:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Antal subnät:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Antal värdar:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Inklusive nät/broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Nätverksadress:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Broadcastadress:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Binär utmatning" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Hexadecimal utmatning" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Subnätad med prefixlängd:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Visa ett maximum av 1000 subnät." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4-adressanalysator" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Konverterare för IPv4-rymd till prefix" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4-subnätberäknare" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Internetprotokollberäknare" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Fil" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "R_edigera" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Hjälp" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Om" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefix" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Subnätmask" gip-1.7.0-1/po/zh_TW.po0000644000175000017500000000760211130411302012556 0ustar samsam# Traditional Chinese Messages for gip # Copyright (C) 2005 Free Software Foundation, Inc. # Wei-Lun Chao , 2005 # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-08-25 14:05+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip 版本 %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "此版本的翻譯是由:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "趙惟倫 , 2005" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "Gip 是用於 GNOME 桌é¢ç’°å¢ƒçš„網際網路å”定測é‡å™¨ï¼Œç”± Samuel Abels 便“š GPL (通用公共授權) 所編寫與發布" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "å¤šè¬æ‚¨é¸ç”¨ Gip" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "版權所有 2004。ä¿ç•™æ‰€æœ‰æ¬Šåˆ©ã€‚" #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "輸入" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP ä½å€:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "網路é®ç½©:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "å‰ç½®æ–‡å­—長度:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "輸出" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "ä½å€ç¯„åœ:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "å­ç¶²è·¯æ•¸é‡:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "主機數é‡:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "包å«ç¶²è·¯/廣播:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "網路ä½å€:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "廣播ä½å€:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "二進ä½è¼¸å‡º" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "å六進ä½è¼¸å‡º" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "å­ç¶²è·¯é€£çµä½¿ç”¨å‰ç½®æ–‡å­—長度:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "顯示å­ç¶²è·¯æœ€å¤§æ•¸é‡ç‚º 1000。" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4 ä½å€åˆ†æžå™¨" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "IPv4 範åœè‡³å‰ç½®æ–‡å­—轉æ›å™¨" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4 å­ç¶²è·¯æ¸¬é‡å™¨" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "網際網路å”定測é‡å™¨" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "檔案(_F)" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "編輯(_E)" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "求助(_H)" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "關於(_A)" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "å‰ç½®æ–‡å­—" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "å­ç¶²è·¯é®ç½©" gip-1.7.0-1/po/bg.po0000644000175000017500000001105011130411302012103 0ustar samsam# Bulgarian translation of gip. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Yavor Doganov , 2005. # # # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-10-22 14:46+0300\n" "Last-Translator: Yavor Doganov \n" "Language-Team: Bulgarian \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" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip, издание %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Преведено от:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "" "Явор Доганов \n" "„GNOME на българÑки!“ - http://gnome.cult.bg" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, калкулаторът за Internet протокола за работната Ñреда GNOME, е напиÑан и издаден под уÑловиÑта на GPL (ÐžÐ±Ñ‰Ð¸Ñ ÐŸÑƒÐ±Ð»Ð¸Ñ‡ÐµÐ½ Лиценз на GNU, верÑÐ¸Ñ 2)\n" "от Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Благодарим, че избрахте Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "ÐвторÑки права © 2004. Ð’Ñички права запазени." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Вход" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP адреÑ:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Мрежова маÑка:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Дължина на префикÑа:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Изход" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Диапазон от адреÑи:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Брой подмрежи:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Брой хоÑтове:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Включително net/broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Мрежов адреÑ:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° предаване:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Двоичен изход" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "ШеÑтнадеÑетичен изход" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Разделени на подмрежи Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Показване на макÑимум 1000 подмрежи." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Ðнализатор на IPv4 адреÑи" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Конвертор от IPv4 диапазон към префикÑ" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Калкулатор за IPv4 подмрежи" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Калкулатор за Internet протокола" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Файл" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Редактиране" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Помощ" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_ОтноÑно" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "ПрефикÑ" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "МаÑка на подмрежа" gip-1.7.0-1/po/id.po0000644000175000017500000000777011130411302012125 0ustar samsam# Indonesian translations for gip package. # Copyright (C) 2008 THE gip'S COPYRIGHT HOLDER # This file is distributed under the same license as the gip package. # Andhika Padmawan , 2008. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-07-31 22:16+0700\n" "Last-Translator: Andhika Padmawan \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Rilis %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Terjemahan versi ini oleh:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Andhika Padmawan , 2008" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, Kalkulator Protokol Internet untuk lingkungan destop GNOME ditulis dan dipublikasikan di bawah ketentuan GPL (Lisensi Publik Umum V2)\n" "oleh Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Terima Kasih Anda telah memilih Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Hak Cipta 2004. Hak cipta dilindungi undang-undang." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Masukan" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Alamat IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Topeng jaringan:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Panjang prefiks:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Keluaran" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Jangkauan alamat:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Jumlah subnet:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Jumlah host:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Termasuk net/broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Alamat jaringan:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Alamat broadcast:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Keluaran Biner" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Keluaran Heksadesimal" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Disubnet menggunakan panjang prefiks:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Menampilkan maksimum 1000 subnet." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Penganalisis Alamat IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Pengonversi Jangkauan ke Prefiks IPv4" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Kalkulator Subnet IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Kalkulator Protokol Internet" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Berkas" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Sunting" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "B_antuan" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Tentang" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefiks" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Topeng Subnet" gip-1.7.0-1/po/es.po0000644000175000017500000002117711130411302012135 0ustar samsam# translation of gip-1.1.0.po to Spanish # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Víctor Alonso , 2004. # Víctor Alonso Barberán , 2004. # msgid "" msgstr "" "Project-Id-Version: gip-1.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-07-03 23:36+0200\n" "PO-Revision-Date: 2004-11-02 12:16+0000\n" "Last-Translator: Víctor Alonso \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.3.1\n" # Yo pondría aquí mejor "Versión de Gip". sv #: ../src/gui_aboutbox.cc:37 ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Versión de Gip %s %s" #: ../src/gui_aboutbox.cc:48 ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Víctor Alonso Barberán " # Inernet? sv #: ../src/gui_aboutbox.cc:52 ../src/gui_aboutbox.cc:56 #: ../src/gui_aboutbox.cc:54 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, el calculador del protocolo de Internet para el escritorio GNOME fue escrito y publicado bajo los términos de la GPL (General Public License V2)\n" "por Samuel Abels" #: ../src/gui_aboutbox.cc:57 ../src/gui_aboutbox.cc:61 #: ../src/gui_aboutbox.cc:59 msgid "Thank You for choosing Gip!" msgstr "¡Gracias por elegir Gip!" #: ../src/gui_aboutbox.cc:62 ../src/gui_aboutbox.cc:64 #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Todos los derechos reservados." #: ../src/gui_ipv4analyzer.cc:51 ../src/gui_ipv4analyzer.cc:52 #: ../src/gui_ipv4analyzer.cc:53 ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Entrada" #: ../src/gui_ipv4analyzer.cc:56 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:57 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:186 ../src/gui_ipv4analyzer.cc:187 #: ../src/gui_ipv4analyzer.cc:61 ../src/gui_ipv4analyzer.cc:62 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:200 #: ../src/gui_ipv4analyzer.cc:202 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:203 ../src/gui_ipv4analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 msgid "IP Address:" msgstr "Dirección IP" #: ../src/gui_ipv4analyzer.cc:60 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4analyzer.cc:189 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:65 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:203 #: ../src/gui_ipv4analyzer.cc:205 ../src/gui_ipv4analyzer.cc:66 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 msgid "Network Mask:" msgstr "Máscara de red:" #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:67 ../src/gui_ipv4analyzer.cc:68 #: ../src/gui_ipv4analyzer.cc:69 ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix Length:" msgstr "Longitud del prefijo:" #: ../src/gui_ipv4analyzer.cc:124 ../src/gui_ipv4analyzer.cc:125 #: ../src/gui_ipv4analyzer.cc:126 ../src/gui_ipv4analyzer.cc:130 #: ../src/gui_ipv4analyzer.cc:131 ../src/gui_ipv4analyzer.cc:133 #: ../src/gui_ipv4analyzer.cc:134 ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Salida" #: ../src/gui_ipv4analyzer.cc:129 ../src/gui_subnet_calculator.cc:32 #: ../src/gui_ipv4analyzer.cc:130 ../src/gui_ipv4analyzer.cc:131 #: ../src/gui_ipv4analyzer.cc:135 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4_analyzer.cc:143 #: ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address Range:" msgstr "Rango de direcciones:" #: ../src/gui_ipv4analyzer.cc:133 ../src/gui_ipv4analyzer.cc:134 #: ../src/gui_ipv4analyzer.cc:138 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4_analyzer.cc:146 msgid "Number of Subnets:" msgstr "Número de subredes:" #: ../src/gui_ipv4analyzer.cc:137 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4analyzer.cc:148 #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4_analyzer.cc:149 msgid "Number of Hosts:" msgstr "Número de máquinas:" #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:144 #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:149 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including Net/Broadcast:" msgstr "Incluyendo Red/Multidifusión:" #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:198 #: ../src/gui_ipv4analyzer.cc:197 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:143 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:147 #: ../src/gui_ipv4analyzer.cc:148 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:154 #: ../src/gui_ipv4analyzer.cc:208 ../src/gui_ipv4analyzer.cc:155 #: ../src/gui_ipv4analyzer.cc:209 ../src/gui_ipv4analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 msgid "Network Address:" msgstr "Dirección de red:" #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4analyzer.cc:202 #: ../src/gui_ipv4analyzer.cc:200 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:146 #: ../src/gui_ipv4analyzer.cc:196 ../src/gui_ipv4analyzer.cc:150 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:201 #: ../src/gui_ipv4analyzer.cc:155 ../src/gui_ipv4analyzer.cc:209 #: ../src/gui_ipv4analyzer.cc:157 ../src/gui_ipv4analyzer.cc:211 #: ../src/gui_ipv4analyzer.cc:158 ../src/gui_ipv4analyzer.cc:212 #: ../src/gui_ipv4analyzer.cc:213 ../src/gui_ipv4_analyzer.cc:158 #: ../src/gui_ipv4_analyzer.cc:213 msgid "Broadcast Address:" msgstr "Dirección de multidifusión:" #: ../src/gui_ipv4analyzer.cc:185 ../src/gui_ipv4analyzer.cc:186 #: ../src/gui_ipv4analyzer.cc:181 ../src/gui_ipv4analyzer.cc:182 #: ../src/gui_ipv4analyzer.cc:187 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4_analyzer.cc:194 msgid "Output (Binary)" msgstr "Salida (binario)" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "Analizador de dirección IPv4" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "Calculador de subredes IPv4" # ¿No falta un espacio? sv #: ../src/gui_mainwindow.cc:44 ../src/gui_mainwindow.cc:45 #: ../src/gui_mainwindow.cc:46 msgid "GIP - Internet Protocol Calculator" msgstr "GIP - Calculador del Protocolo de Internet" #: ../src/gui_mainwindow.cc:88 ../src/gui_mainwindow.cc:89 #: ../src/gui_mainwindow.cc:90 ../src/gui_mainwindow.cc:92 msgid "_File" msgstr "_Fichero" #: ../src/gui_mainwindow.cc:94 ../src/gui_mainwindow.cc:95 #: ../src/gui_mainwindow.cc:96 ../src/gui_mainwindow.cc:98 msgid "_Edit" msgstr "_Editar" #: ../src/gui_mainwindow.cc:106 ../src/gui_mainwindow.cc:107 #: ../src/gui_mainwindow.cc:108 ../src/gui_mainwindow.cc:110 msgid "_Help" msgstr "_Ayuda" # Ojo: ¿Es compatible que tanto el anterior como este tengan a la A # como tecla de atajo? sv #: ../src/gui_mainwindow.cc:107 ../src/gui_mainwindow.cc:108 #: ../src/gui_mainwindow.cc:109 ../src/gui_mainwindow.cc:111 msgid "_About" msgstr "A_cerca de" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefijo" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Máscara de subred" #: ../src/gui_aboutbox.cc:45 msgid "This translation was written by " msgstr "Esta traducción fue realizada por " #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Traducción de esta versión por:" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Splitter" msgstr "Segmentador de subredes IPv4" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using Prefixlength:" msgstr "Subred creada usando longitud de prefijo:" # ¿Qué tal algo que suene más "español"? # Por ejemplo: "Se muestra un máximo de 1000 subredes" # O incluso: "Se muestran 1000 subredes como máximo". sv #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Se muestra un máximo de 1000 subredes." #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Cruncher" msgstr "Calculador de subredes IPv4" gip-1.7.0-1/po/da.po0000644000175000017500000001017011130411302012101 0ustar samsam# translation of gip-1.5.0.po to Danish # Danish translation of Gip. # Copyright (C) 2008 Gip development team. # This file is distributed under the same license as the Gip package. # # Joe Hansen , 2008. # Keld Simonsen , 2008. msgid "" msgstr "" "Project-Id-Version: gip-1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-07-28 13:47+0200\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \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=2; plural=(n != 1);\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip version %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "OversÊttelse foretaget af:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Joe Hansen" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, internetprotokolberegner til GNOME-skrivebordsmiljÞet, er programmeret og udgivet under betingelserne i GPL (General Public License V2)\n" "af Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Tak fordi du valgte Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Ophavsret 2004. Alle rettigheder forbeholdt." # ordbog: input, inddata, indlÊsning # ordliste: inddata #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Inddata" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP-adresse:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "NetvÊrksmaske:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "PrÊfiks lÊngde:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Uddata" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Adresseinterval:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Antal undernet:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Antal vÊrtsmaskiner:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Inklusiv net/rundsending:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "NetvÊrksadresse:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Rundsendingsadresse:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "BinÊr uddata" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Sekstentalssystems-uddata" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Undernet vist ved prÊfikslÊngde:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Viser maksimalt 1.000 undernet." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Redskab til analyse af IPv4-adresser" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "IPv4-interval for prÊfiksomformer" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4-undernetberegner" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Internetprotokolberegner" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Fil" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "R_edigér" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_HjÊlp" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Om" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "PrÊfiks" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Undernetmaske" gip-1.7.0-1/po/gip.pot0000644000175000017500000000664511130411302012474 0ustar samsam# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-01-05 15:01+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was " "written and published under the terms of the GPL (General Public License " "V2)\n" "by Samuel Abels" msgstr "" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "" #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "" #: ../src/gui_mainwindow.cc:39 ../src/gui_mainwindow.cc:40 msgid "IPv4 Address Analyzer" msgstr "" #: ../src/gui_mainwindow.cc:41 ../src/gui_mainwindow.cc:42 msgid "IPv4 Range to Prefix Converter" msgstr "" #: ../src/gui_mainwindow.cc:43 ../src/gui_mainwindow.cc:44 msgid "IPv4 Subnet Calculator" msgstr "" #: ../src/gui_mainwindow.cc:49 ../src/gui_mainwindow.cc:50 msgid "Internet Protocol Calculator" msgstr "" #: ../src/gui_mainwindow.cc:95 ../src/gui_mainwindow.cc:96 msgid "_File" msgstr "" #: ../src/gui_mainwindow.cc:101 ../src/gui_mainwindow.cc:102 msgid "_Edit" msgstr "" #: ../src/gui_mainwindow.cc:113 ../src/gui_mainwindow.cc:114 msgid "_Help" msgstr "" #: ../src/gui_mainwindow.cc:114 ../src/gui_mainwindow.cc:115 msgid "_About" msgstr "" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "" gip-1.7.0-1/po/sk.po0000644000175000017500000002015211130411302012133 0ustar samsam# Translation of `gip' messages to Slovak # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Andrej Kacian , 2004. msgid "" msgstr "" "Project-Id-Version: gip 1.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-07-03 23:36+0200\n" "PO-Revision-Date: 2004-07-24 23:23+0200\n" "Last-Translator: Andrej Kacian \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:37 ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip verzia %s %s" #: ../src/gui_aboutbox.cc:48 ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Andrej Kacian " #: ../src/gui_aboutbox.cc:52 ../src/gui_aboutbox.cc:56 #: ../src/gui_aboutbox.cc:54 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, kalkukaÄka pre Internet Protokol pre grafické prostredie GNOME bol napísaný a publikovaný pod podmienkami GPL (VÅ¡eobecná zverejňovacia licencia verzia 2)\n" "Samuelom Abelsom" #: ../src/gui_aboutbox.cc:57 ../src/gui_aboutbox.cc:61 #: ../src/gui_aboutbox.cc:59 msgid "Thank You for choosing Gip!" msgstr "ÄŽakujem, že používate Gip!" #: ../src/gui_aboutbox.cc:62 ../src/gui_aboutbox.cc:64 #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. VÅ¡etky práva vyhradené." #: ../src/gui_ipv4analyzer.cc:51 ../src/gui_ipv4analyzer.cc:52 #: ../src/gui_ipv4analyzer.cc:53 ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Vstup" #: ../src/gui_ipv4analyzer.cc:56 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:57 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:186 ../src/gui_ipv4analyzer.cc:187 #: ../src/gui_ipv4analyzer.cc:61 ../src/gui_ipv4analyzer.cc:62 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:200 #: ../src/gui_ipv4analyzer.cc:202 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:203 ../src/gui_ipv4analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 msgid "IP Address:" msgstr "IP Adresa:" #: ../src/gui_ipv4analyzer.cc:60 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4analyzer.cc:189 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:65 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:203 #: ../src/gui_ipv4analyzer.cc:205 ../src/gui_ipv4analyzer.cc:66 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 msgid "Network Mask:" msgstr "SieÅ¥ová maska:" #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:67 ../src/gui_ipv4analyzer.cc:68 #: ../src/gui_ipv4analyzer.cc:69 ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix Length:" msgstr "Dĺžka prefixu:" #: ../src/gui_ipv4analyzer.cc:124 ../src/gui_ipv4analyzer.cc:125 #: ../src/gui_ipv4analyzer.cc:126 ../src/gui_ipv4analyzer.cc:130 #: ../src/gui_ipv4analyzer.cc:131 ../src/gui_ipv4analyzer.cc:133 #: ../src/gui_ipv4analyzer.cc:134 ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Výstup" #: ../src/gui_ipv4analyzer.cc:129 ../src/gui_subnet_calculator.cc:32 #: ../src/gui_ipv4analyzer.cc:130 ../src/gui_ipv4analyzer.cc:131 #: ../src/gui_ipv4analyzer.cc:135 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4_analyzer.cc:143 #: ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address Range:" msgstr "Rozsah adries:" #: ../src/gui_ipv4analyzer.cc:133 ../src/gui_ipv4analyzer.cc:134 #: ../src/gui_ipv4analyzer.cc:138 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4_analyzer.cc:146 msgid "Number of Subnets:" msgstr "PoÄet podsietí:" #: ../src/gui_ipv4analyzer.cc:137 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4analyzer.cc:148 #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4_analyzer.cc:149 msgid "Number of Hosts:" msgstr "PoÄet adries:" #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:144 #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:149 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including Net/Broadcast:" msgstr "Zahrnutá sieÅ¥/broadcast:" #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:198 #: ../src/gui_ipv4analyzer.cc:197 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:143 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:147 #: ../src/gui_ipv4analyzer.cc:148 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:154 #: ../src/gui_ipv4analyzer.cc:208 ../src/gui_ipv4analyzer.cc:155 #: ../src/gui_ipv4analyzer.cc:209 ../src/gui_ipv4analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 msgid "Network Address:" msgstr "Adresa siete:" #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4analyzer.cc:202 #: ../src/gui_ipv4analyzer.cc:200 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:146 #: ../src/gui_ipv4analyzer.cc:196 ../src/gui_ipv4analyzer.cc:150 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:201 #: ../src/gui_ipv4analyzer.cc:155 ../src/gui_ipv4analyzer.cc:209 #: ../src/gui_ipv4analyzer.cc:157 ../src/gui_ipv4analyzer.cc:211 #: ../src/gui_ipv4analyzer.cc:158 ../src/gui_ipv4analyzer.cc:212 #: ../src/gui_ipv4analyzer.cc:213 ../src/gui_ipv4_analyzer.cc:158 #: ../src/gui_ipv4_analyzer.cc:213 msgid "Broadcast Address:" msgstr "Broadcast adresa:" #: ../src/gui_ipv4analyzer.cc:185 ../src/gui_ipv4analyzer.cc:186 #: ../src/gui_ipv4analyzer.cc:181 ../src/gui_ipv4analyzer.cc:182 #: ../src/gui_ipv4analyzer.cc:187 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4_analyzer.cc:194 msgid "Output (Binary)" msgstr "Výstup (binárne)" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "Analyzátor adries IPv4" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "VýpoÄet podsietí IPv4" #: ../src/gui_mainwindow.cc:44 ../src/gui_mainwindow.cc:45 #: ../src/gui_mainwindow.cc:46 msgid "GIP - Internet Protocol Calculator" msgstr "GIP KalkulaÄka pre Internet Protokol" #: ../src/gui_mainwindow.cc:88 ../src/gui_mainwindow.cc:89 #: ../src/gui_mainwindow.cc:90 ../src/gui_mainwindow.cc:92 msgid "_File" msgstr "_Súbor" #: ../src/gui_mainwindow.cc:94 ../src/gui_mainwindow.cc:95 #: ../src/gui_mainwindow.cc:96 ../src/gui_mainwindow.cc:98 msgid "_Edit" msgstr "_UpraviÅ¥" #: ../src/gui_mainwindow.cc:106 ../src/gui_mainwindow.cc:107 #: ../src/gui_mainwindow.cc:108 ../src/gui_mainwindow.cc:110 msgid "_Help" msgstr "_Nápoveda" #: ../src/gui_mainwindow.cc:107 ../src/gui_mainwindow.cc:108 #: ../src/gui_mainwindow.cc:109 ../src/gui_mainwindow.cc:111 msgid "_About" msgstr "_O programe" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefix" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Maska podsiete" #: ../src/gui_aboutbox.cc:45 msgid "This translation was written by " msgstr "Preklad tejto verzie napísal " #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Túto verziu preložil:" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Splitter" msgstr "RozdeľovaÄ podsietí IPv4" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using Prefixlength:" msgstr "Podsiete pri použití dĺžky prefixu:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Zobrazujem najviac 1000 podsietí." #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Cruncher" msgstr "Spracovanie podsieti IPv4" gip-1.7.0-1/po/ru.po0000644000175000017500000001136211130411302012147 0ustar samsam# Russian translation of gip. # Copyright (C) 2004, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Peter Astakhov , 2008. msgid "" msgstr "" "Project-Id-Version: gip-1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-05-30 09:47+0300\n" "Last-Translator: Peter Astakhov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Poedit-Language: Russian\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Release %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Переводчик Ñтой верÑии:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "ÐÑтахов Петр " #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, калькулÑтор адреÑов интернета Ð´Ð»Ñ GNOME Ñоздан и раÑпроÑтранÑетÑÑ Ð¡Ð°Ð¼ÑƒÑлем ÐбельÑом (Samuel Abels)\n" "на уÑловиÑÑ… лицензии GNU GPL (General Public License V2)" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "СпаÑибо за выбор Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Ð’Ñе права зарезервированы." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Входные параметры" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP адреÑ:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "МаÑка подÑети:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Длина префикÑа:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Выходные параметры" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Диапазон адреÑов:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "КоличеÑтво подÑетей:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "КоличеÑтво хоÑтов:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Ð’ÐºÐ»ÑŽÑ‡Ð°Ñ Ñетевой/ШВ:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "ÐÐ´Ñ€ÐµÑ Ñети:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Широковещательный адреÑ:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Выходные параметры в двоичной ÑиÑтеме" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Выходные параметры в шеÑтнадцатеричной ÑиÑтеме" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Показывать подÑети иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñледующий префикÑ:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "ОтображаютÑÑ Ð½Ðµ более 1000 подÑетей." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Ðнализатор адреÑов IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Конвертор IPv4 адреÑов в подÑети" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "КалькулÑтор подÑетей IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "КалькулÑтор ÐдреÑов Интернета" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "Файл" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "Правка" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "Помощь" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "О программе" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "ПрефикÑ" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "МаÑка подÑети" gip-1.7.0-1/po/ga.po0000644000175000017500000000770211130411302012113 0ustar samsam# Irish translations for gip. # Copyright (C) 2003 Free Software Foundation, Inc. # Kevin Scannell , 2007. msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2007-06-12 05:47-0500\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip, Leagan %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Bhí an leagan seo aistrithe ag:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Kevin P. Scannell " #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "Scríobh Samuel Abels an clár Gip, Ãireamhán Phrótacal Idirlín le haghaidh Thimpeallacht GNOME. Tá sé ar fáil de réir na gcoinníollacha den GPL (General Public License V2)" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Táimid buíoch díot as úsáid Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Cóipcheart 2004. Gach ceart ar cosaint." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Ionchur" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Seoladh IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Masc líonra:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Fad na réimíre:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Aschur" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Raon seoltaí:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Líon na bhfolíonraí:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Líon na n-óstríomhairí:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Máthairlíonra/craolachán:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Seoladh líonra:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Seoladh craolacháin:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Aschur Dénártha" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Aschur Heicsidheachúlach" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Rinneadh folíonra de trí fhad réimíre:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Taispeánfar 1000 folíonra ar a mhéad." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Anailíseoir Seoltaí IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Tiontaire Raon-go-Réimír IPv4" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Ãireamhán Folíonra IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Ãireamhán Phrótacal Idirlín" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Comhad" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Eagar" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "Cab_hair" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Eolas" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Réimír" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Masc Folíonra" gip-1.7.0-1/po/rw.po0000644000175000017500000002154611130411302012156 0ustar samsam# Kinyarwanda translations for gip package. # Copyright (C) 2005 Free Software Foundation # This file is distributed under the same license as the gip package. # Steve Murphy , 2005. # Steve performed initial rough translation from compendium built from translations provided by the following translators: # Philibert Ndandali , 2005. # Viateur MUGENZI , 2005. # Noëlla Mupole , 2005. # Carole Karema , 2005. # JEAN BAPTISTE NGENDAHAYO , 2005. # Augustin KIBERWA , 2005. # Donatien NSENGIYUMVA , 2005. # Antoine Bigirimana , 2005. # msgid "" msgstr "" "Project-Id-Version: gip 1.1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-07-03 23:36+0200\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy \n" "Language-Team: Kinyarwanda \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:37 ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "" #: ../src/gui_aboutbox.cc:48 ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "" #: ../src/gui_aboutbox.cc:52 ../src/gui_aboutbox.cc:56 #: ../src/gui_aboutbox.cc:54 #, fuzzy msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "i kugirango i Ibiro Na i Bya i ku" #: ../src/gui_aboutbox.cc:57 ../src/gui_aboutbox.cc:61 #: ../src/gui_aboutbox.cc:59 #, fuzzy msgid "Thank You for choosing Gip!" msgstr "kugirango" #: ../src/gui_aboutbox.cc:62 ../src/gui_aboutbox.cc:64 #: ../src/gui_aboutbox.cc:60 #, fuzzy msgid "Copyright 2004. All rights reserved." msgstr "Uburenganzirabwosentibwemewe." #: ../src/gui_ipv4analyzer.cc:51 ../src/gui_ipv4analyzer.cc:52 #: ../src/gui_ipv4analyzer.cc:53 ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Ibyinjizwa" #: ../src/gui_ipv4analyzer.cc:56 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:57 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:186 ../src/gui_ipv4analyzer.cc:187 #: ../src/gui_ipv4analyzer.cc:61 ../src/gui_ipv4analyzer.cc:62 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:200 #: ../src/gui_ipv4analyzer.cc:202 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:203 ../src/gui_ipv4analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 msgid "IP Address:" msgstr "" #: ../src/gui_ipv4analyzer.cc:60 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4analyzer.cc:189 ../src/gui_ipv4analyzer.cc:190 #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:65 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:203 #: ../src/gui_ipv4analyzer.cc:205 ../src/gui_ipv4analyzer.cc:66 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 msgid "Network Mask:" msgstr "" #: ../src/gui_ipv4analyzer.cc:64 ../src/gui_ipv4analyzer.cc:63 #: ../src/gui_ipv4analyzer.cc:67 ../src/gui_ipv4analyzer.cc:68 #: ../src/gui_ipv4analyzer.cc:69 ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix Length:" msgstr "" #: ../src/gui_ipv4analyzer.cc:124 ../src/gui_ipv4analyzer.cc:125 #: ../src/gui_ipv4analyzer.cc:126 ../src/gui_ipv4analyzer.cc:130 #: ../src/gui_ipv4analyzer.cc:131 ../src/gui_ipv4analyzer.cc:133 #: ../src/gui_ipv4analyzer.cc:134 ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Ibisohoka" #: ../src/gui_ipv4analyzer.cc:129 ../src/gui_subnet_calculator.cc:32 #: ../src/gui_ipv4analyzer.cc:130 ../src/gui_ipv4analyzer.cc:131 #: ../src/gui_ipv4analyzer.cc:135 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4_analyzer.cc:143 #: ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address Range:" msgstr "" #: ../src/gui_ipv4analyzer.cc:133 ../src/gui_ipv4analyzer.cc:134 #: ../src/gui_ipv4analyzer.cc:138 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:143 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4_analyzer.cc:146 #, fuzzy msgid "Number of Subnets:" msgstr "Bya" #: ../src/gui_ipv4analyzer.cc:137 ../src/gui_ipv4analyzer.cc:136 #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:146 ../src/gui_ipv4analyzer.cc:148 #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4_analyzer.cc:149 #, fuzzy msgid "Number of Hosts:" msgstr "Bya" #: ../src/gui_ipv4analyzer.cc:141 ../src/gui_ipv4analyzer.cc:139 #: ../src/gui_ipv4analyzer.cc:140 ../src/gui_ipv4analyzer.cc:144 #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:149 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including Net/Broadcast:" msgstr "" #: ../src/gui_ipv4analyzer.cc:145 ../src/gui_ipv4analyzer.cc:198 #: ../src/gui_ipv4analyzer.cc:197 ../src/gui_ipv4analyzer.cc:142 #: ../src/gui_ipv4analyzer.cc:192 ../src/gui_ipv4analyzer.cc:143 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:147 #: ../src/gui_ipv4analyzer.cc:148 ../src/gui_ipv4analyzer.cc:152 #: ../src/gui_ipv4analyzer.cc:206 ../src/gui_ipv4analyzer.cc:154 #: ../src/gui_ipv4analyzer.cc:208 ../src/gui_ipv4analyzer.cc:155 #: ../src/gui_ipv4analyzer.cc:209 ../src/gui_ipv4analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 msgid "Network Address:" msgstr "" #: ../src/gui_ipv4analyzer.cc:149 ../src/gui_ipv4analyzer.cc:202 #: ../src/gui_ipv4analyzer.cc:200 ../src/gui_ipv4analyzer.cc:145 #: ../src/gui_ipv4analyzer.cc:195 ../src/gui_ipv4analyzer.cc:146 #: ../src/gui_ipv4analyzer.cc:196 ../src/gui_ipv4analyzer.cc:150 #: ../src/gui_ipv4analyzer.cc:151 ../src/gui_ipv4analyzer.cc:201 #: ../src/gui_ipv4analyzer.cc:155 ../src/gui_ipv4analyzer.cc:209 #: ../src/gui_ipv4analyzer.cc:157 ../src/gui_ipv4analyzer.cc:211 #: ../src/gui_ipv4analyzer.cc:158 ../src/gui_ipv4analyzer.cc:212 #: ../src/gui_ipv4analyzer.cc:213 ../src/gui_ipv4_analyzer.cc:158 #: ../src/gui_ipv4_analyzer.cc:213 msgid "Broadcast Address:" msgstr "" #: ../src/gui_ipv4analyzer.cc:185 ../src/gui_ipv4analyzer.cc:186 #: ../src/gui_ipv4analyzer.cc:181 ../src/gui_ipv4analyzer.cc:182 #: ../src/gui_ipv4analyzer.cc:187 ../src/gui_ipv4analyzer.cc:191 #: ../src/gui_ipv4analyzer.cc:193 ../src/gui_ipv4analyzer.cc:194 #: ../src/gui_ipv4_analyzer.cc:194 msgid "Output (Binary)" msgstr "" #: ../src/gui_mainwindow.cc:38 msgid "IPv4 Address Analyzer" msgstr "" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Subnet Calculator" msgstr "" #: ../src/gui_mainwindow.cc:44 ../src/gui_mainwindow.cc:45 #: ../src/gui_mainwindow.cc:46 msgid "GIP - Internet Protocol Calculator" msgstr "" # sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_HFCMD_FILE.text #: ../src/gui_mainwindow.cc:88 ../src/gui_mainwindow.cc:89 #: ../src/gui_mainwindow.cc:90 ../src/gui_mainwindow.cc:92 #, fuzzy msgid "_File" msgstr "IDOSIYE" # #-#-#-#-# basctl.pot (PACKAGE VERSION) #-#-#-#-# # basctl/source\basicide\basidesh.src:RID_BASICMENU.MN_EDIT.text # #-#-#-#-# basctl.pot (PACKAGE VERSION) #-#-#-#-# # basctl/source\basicide\basidesh.src:RID_BASICPLUGINMENU.MN_PLEDIT.text # #-#-#-#-# basctl.pot (PACKAGE VERSION) #-#-#-#-# # basctl/source\basicide\macrodlg.src:RID_MACROCHOOSER.RID_PB_EDIT.text # #-#-#-#-# basctl.pot (PACKAGE VERSION) #-#-#-#-# # basctl/source\basicide\moduldlg.src:RID_TP_MODULS.RID_PB_EDIT.text # #-#-#-#-# basctl.pot (PACKAGE VERSION) #-#-#-#-# # basctl/source\basicide\moduldlg.src:RID_TP_LIBS.RID_PB_EDIT.text #: ../src/gui_mainwindow.cc:94 ../src/gui_mainwindow.cc:95 #: ../src/gui_mainwindow.cc:96 ../src/gui_mainwindow.cc:98 #, fuzzy msgid "_Edit" msgstr "Guhindura" #: ../src/gui_mainwindow.cc:106 ../src/gui_mainwindow.cc:107 #: ../src/gui_mainwindow.cc:108 ../src/gui_mainwindow.cc:110 #, fuzzy msgid "_Help" msgstr "Ifashayobora" #: ../src/gui_mainwindow.cc:107 ../src/gui_mainwindow.cc:108 #: ../src/gui_mainwindow.cc:109 ../src/gui_mainwindow.cc:111 #, fuzzy msgid "_About" msgstr "Bigyanye" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Imbanziriza" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "" #: ../src/gui_aboutbox.cc:45 #, fuzzy msgid "This translation was written by " msgstr "Umwandiko wahinduwe ururimi ku" #: ../src/gui_aboutbox.cc:45 #, fuzzy msgid "Translation of this version by:" msgstr "Bya iyi Verisiyo ku" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Splitter" msgstr "" #: ../src/gui_ipv4_subnet_splitter.cc:34 #, fuzzy msgid "Subnetted using Prefixlength:" msgstr "ikoresha" #: ../src/gui_ipv4_subnet_splitter.cc:35 #, fuzzy msgid "Showing a maximum of 1000 subnets." msgstr "a Kinini Bya 1000" #: ../src/gui_mainwindow.cc:40 msgid "IPv4 Subnet Cruncher" msgstr "" gip-1.7.0-1/po/ms.po0000644000175000017500000000772611130411302012151 0ustar samsam# Gip Bahasa Melayu (Malay) (ms). # Copyright (C) 2005 Sharuzzaman Ahmat Raslan # This file is distributed under the same license as the gip package. # Sharuzzaman Ahmat Raslan , 2005. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2005-12-06 21:41+0800\n" "Last-Translator: Sharuzzaman Ahmat Raslan \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Keluaran %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Terjemahan versi ini oleh:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Sharuzzaman Ahmat Raslan " #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, Pengira Protokol Internet Protocol untuk persekitaran desktop GNOME telah ditulis dan diterbitkan dibawak syarat GPL (General Public License V2)\n" "oleh Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Terima kasih telah memilih Gip!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Hakcipta 2004. Semua hak terpelihara." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Masukan" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "Alamat IP:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Network mask:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Panjang prefiks:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Keluaran" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Julat alamat:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Jumlah subnet:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Jumlah hos:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Termasuk net/broadcast:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Alamat rangkaian:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Alamat broadcast:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Keluaran Binari" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Keluaran Heksadesimal" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Subnet menggunakan panjang prefiks:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Memaparkan maksimum 1000 subnet." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "Penganalisa Alamat IPv4" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Penukar Julat IPv4 ke Prefiks" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "Pengira Subnet IPv4" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Pengira Protokol Internet" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Fail" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Sunting" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Bantuan" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Perihal" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefiks" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Subnet Mask" gip-1.7.0-1/po/fi.po0000644000175000017500000001006111130411302012112 0ustar samsam# translation of gip-1.5.0.pot to Finnish # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Jorma Karvonen , 2008. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-01-08 20:47+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \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" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip-versio %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Tämän version suomentaja:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Jorma Karvonen" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip on Samuels Abelsin Gnome-työpöytäympäristöön kehittämä Internet-yhteyskäytäntölaskuri. Se on julkaistu GPL (General Public License, versio 2)\n" "-ehtojen mukaisesti" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Kiitoksia, että valitsit Gip-ohjelman!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Kaikki oikeudet pidätetty." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Syöte" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP-osoite:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Verkon peite:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Prefiksipituus:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Tuloste" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Osoitteiden alue:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Aliverkkojen lukumäärä:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Verkkolaitteiden lukumäärä:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Sisältyvät verkko/yleislähetykset:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Verkko-osoite:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Yleislähetyksen osoite:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Binäärituloste" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Heksadesimaalituloste" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Aliverkotettu käyttäen prefiksipituutta:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Näyttää korkeintaan 1000 aliverkkoa." #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4-osoitteiden analysoija" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "IPv4-alueen muunto prefiksiksi" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4-aliverkkolaskuri" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Internet-yhteyskäytäntölaskuri" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Tiedosto" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Muokkaa" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "O_hje" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Ohjelmasta" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Prefiksi" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Aliverkon peite" gip-1.7.0-1/po/POTFILES.in0000644000175000017500000000024511130411302012734 0ustar samsamgip.glade src/gui_aboutbox.cc src/gui_ipv4_analyzer.cc src/gui_ipv4_subnet_calculator.cc src/gui_ipv4_subnet_splitter.cc src/gui_mainwindow.cc src/gui_prefixlist.cc gip-1.7.0-1/po/notexist0000644000175000017500000000006511130411302012757 0ustar samsamsrc/gui_ipv4analyzer.cc src/gui_subnet_calculator.cc gip-1.7.0-1/po/zh_CN.po0000644000175000017500000000765711130411302012536 0ustar samsam# Chinese translations for gip package # gip 软件包的简体中文翻译. # Copyright (C) 2008 THE gip'S COPYRIGHT HOLDER # This file is distributed under the same license as the gip package. # Ji ZhengYu , 2008. # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2008-02-14 14:11+0800\n" "Last-Translator: Ji ZhengYu \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip Release %s %s" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "此软件的翻译由以下人员构æˆ:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "译者致谢" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip,GNOME 桌é¢çŽ¯å¢ƒä¸‹çš„å› ç‰¹ç½‘å议计算器由 Samuel Abels 所写,并在 GPL (通用公共å议第2版) å议下å‘布\n" " " #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "感谢您选择 Gipï¼" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. All rights reserved." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "输入" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP 地å€:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "网络掩ç :" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "掩ç é•¿åº¦:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "输出" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "地å€èŒƒå›´:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "å­ç½‘æ•°ç›®:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "主机数目:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "包括网络/广播:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "网络地å€:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "广播地å€:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "二进制形å¼è¾“出" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "å六进制形å¼è¾“出" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "å­ç½‘当剿‰€ç”¨çš„æŽ©ç ä½æ•° " #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "最多显示 1000 个å­ç½‘。" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4 地å€åˆ†æž" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "掩ç è½¬æ¢å™¨çš„ IPv4 范围" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4 å­ç½‘计算器" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "IP(因特因åè®®)计算器" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "文件(_F)" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "编辑(_E)" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "帮助(_H)" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "关于(_A)" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "掩ç ä½æ•°" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "å­ç½‘掩ç " gip-1.7.0-1/po/eu.po0000644000175000017500000001054111130411302012130 0ustar samsam# Basque translation of gip. # Copyright (C) 2004, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gip package. # Mikel Olasagasti , 2004, 2006. # , fuzzy # # msgid "" msgstr "" "Project-Id-Version: gip 1.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-05-20 20:08+0200\n" "PO-Revision-Date: 2006-05-04 00:12+0200\n" "Last-Translator: Mikel Olasagasti \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/gui_aboutbox.cc:34 #, c-format msgid "Gip Release %s %s" msgstr "Gip %s %s bertsioa" #: ../src/gui_aboutbox.cc:45 msgid "Translation of this version by:" msgstr "Bertsio honen itzulketa honek egina:" #: ../src/gui_aboutbox.cc:46 msgid "translator_credits" msgstr "Mikel Olasagasti Uranga" #: ../src/gui_aboutbox.cc:52 msgid "" "Gip, the Internet Protocol Calculator for the GNOME desktop environment was written and published under the terms of the GPL (General Public License V2)\n" "by Samuel Abels" msgstr "" "Gip, Internet protokoloaren kalkulatzailea GNOME mahigain ingurunearentzat GPL (General Public Licence V2) baldintzapean idatzia eta publikatua izan da\n" "Samuel Abels" #: ../src/gui_aboutbox.cc:57 msgid "Thank You for choosing Gip!" msgstr "Mila esker Gip aukeratzeagatik!" #: ../src/gui_aboutbox.cc:60 msgid "Copyright 2004. All rights reserved." msgstr "Copyright 2004. Eskubide guztiak erreserbatuta." #: ../src/gui_ipv4_analyzer.cc:53 msgid "Input" msgstr "Sarrera" #: ../src/gui_ipv4_analyzer.cc:62 ../src/gui_ipv4_analyzer.cc:204 #: ../src/gui_ipv4_analyzer.cc:254 msgid "IP address:" msgstr "IP Helbidea:" #: ../src/gui_ipv4_analyzer.cc:65 ../src/gui_ipv4_analyzer.cc:207 #: ../src/gui_ipv4_analyzer.cc:257 msgid "Network mask:" msgstr "Sare-maskara:" #: ../src/gui_ipv4_analyzer.cc:68 msgid "Prefix length:" msgstr "Aurrizkiaren luzeera:" #: ../src/gui_ipv4_analyzer.cc:133 msgid "Output" msgstr "Irteera" #: ../src/gui_ipv4_analyzer.cc:143 ../src/gui_ipv4_subnet_calculator.cc:32 #: ../src/gui_ipv4_subnet_splitter.cc:32 msgid "Address range:" msgstr "Helbide bitartea:" #: ../src/gui_ipv4_analyzer.cc:146 msgid "Number of subnets:" msgstr "Azpisare kopurua:" #: ../src/gui_ipv4_analyzer.cc:149 msgid "Number of hosts:" msgstr "Host kopurua:" #: ../src/gui_ipv4_analyzer.cc:152 msgid "Including net/broadcast:" msgstr "Sare/difusioak kontutan hartuta:" #: ../src/gui_ipv4_analyzer.cc:155 ../src/gui_ipv4_analyzer.cc:210 #: ../src/gui_ipv4_analyzer.cc:260 msgid "Network address:" msgstr "Sare helbidea:" #: ../src/gui_ipv4_analyzer.cc:158 ../src/gui_ipv4_analyzer.cc:213 #: ../src/gui_ipv4_analyzer.cc:263 msgid "Broadcast address:" msgstr "Difusio helbideak:" #: ../src/gui_ipv4_analyzer.cc:194 msgid "Binary Output" msgstr "Irteera binarioa" #: ../src/gui_ipv4_analyzer.cc:244 msgid "Hexadecimal Output" msgstr "Irteera hexadezimala" #: ../src/gui_ipv4_subnet_splitter.cc:34 msgid "Subnetted using prefixlength:" msgstr "Aurrezki-luzera honekin azpisarekatua:" #: ../src/gui_ipv4_subnet_splitter.cc:35 msgid "Showing a maximum of 1000 subnets." msgstr "Gehienez 1000 azpisare erakusten" #: ../src/gui_mainwindow.cc:39 msgid "IPv4 Address Analyzer" msgstr "IPv4 helbide analizatzailea" #: ../src/gui_mainwindow.cc:41 msgid "IPv4 Range to Prefix Converter" msgstr "Aurrezkira bihurtzeko IPv4 bitartea" #: ../src/gui_mainwindow.cc:43 msgid "IPv4 Subnet Calculator" msgstr "IPv4 azpisare kalkulatzailea" #: ../src/gui_mainwindow.cc:49 msgid "Internet Protocol Calculator" msgstr "Internet protokoloaren kalkulatzailea" #: ../src/gui_mainwindow.cc:95 msgid "_File" msgstr "_Fitxategia" #: ../src/gui_mainwindow.cc:101 msgid "_Edit" msgstr "_Editatu" #: ../src/gui_mainwindow.cc:113 msgid "_Help" msgstr "_Laguntza" #: ../src/gui_mainwindow.cc:114 msgid "_About" msgstr "_Honi buruz" #: ../src/gui_prefixlist.cc:37 msgid "Prefix" msgstr "Aurrizkia" #: ../src/gui_prefixlist.cc:38 msgid "Subnet Mask" msgstr "Azpisare-maskara" #~ msgid "Output (Binary)" #~ msgstr "Irteera (Binarioa)" #~ msgid "This translation was written by " #~ msgstr "Itzulpenak hau honek idatzia da: " #~ msgid "IPv4 Subnet Splitter" #~ msgstr "IPv4 azpisare zatikatzailea" #~ msgid "IPv4 Subnet Cruncher" #~ msgstr "IPv4 azpisare karraskatzailea" gip-1.7.0-1/README0000644000175000017500000000025011130411302011415 0ustar samsamFor installation instructions have a look at INSTALL. If you have any questions or bug reports please go to the mailinglist at https://mail.gna.org/listinfo/gip-devel gip-1.7.0-1/Makefile0000644000175000017500000000234611130411302012205 0ustar samsamNAME=gip VERSION=`grep '^VERSION=' build.sh | cut -d'=' -f2` PACKAGE=$(NAME)-$(VERSION) PREFIX=/usr/local DISTDIR=/pub/code/releases/$(NAME) ################################################################### # Project-specific targets. ################################################################### ################################################################### # Standard targets. ################################################################### clean: ./clean.sh dist-clean: clean rm -Rf $(PACKAGE)* doc: # No docs yet. install: ./build.sh --install --prefix $(PREFIX) uninstall: # No such target yet. Sorry. tests: # No tests yet. ################################################################### # Package builders. ################################################################### targz: ./build.sh --dist ./clean.sh tarbz: ./build.sh --dist tar xzf $(PACKAGE).tar.gz tar cjf $(PACKAGE).tar.bz2 $(PACKAGE) ./clean.sh deb: # No debian package yet. dist: targz tarbz deb ################################################################### # Publishers. ################################################################### dist-publish: dist mkdir -p $(DISTDIR)/ mv $(PACKAGE).* $(DISTDIR) doc-publish: doc gip-1.7.0-1/gip.gladep0000644000175000017500000000136411130411302012501 0ustar samsam gip gip C++ FALSE FALSE FALSE FALSE FALSE gip-1.7.0-1/doc/0000755000175000017500000000000011130411302011305 5ustar samsamgip-1.7.0-1/gip.desktop.in0000644000175000017500000000071111130411302013316 0ustar samsam[Desktop Entry] Encoding=UTF-8 Name=%APP_NAME% IP Address Calculator Name[de]=%APP_NAME% IP-Adress-Rechner GenericName=IP Adress Calculator GenericName[de]=IP-Adress-Rechner Comment=Calculate IP addresses and networks Comment[de]=IP-Adressen und Netzbereiche berechnen Exec=%INSTALL_BIN%%APP_SYSNAME% %U StartupNotify=true Terminal=false Icon=%INSTALL_LIB%/calculator.png Type=Application Categories=GNOME;GTK;Utility; MimeType=application/x-%APP_SYSNAME%; gip-1.7.0-1/INSTALL0000644000175000017500000000111211130411302011564 0ustar samsamGIP INSTALLATION INSTRUCTIONS ----------------------------- !!!This package has been tested ONLY with gcc 3.2.x and gcc 3.3.x!!! (I don't have the time to check with every compiler - sorry. Please don't complain, patch.) Prerequired libraries: ---------------------- libgtkmm2.0-dev >= 2.4.0 Installation: ------------- Most users should only need this for installation: ./build.sh su ./build --install This will install Gip under /usr/local/. For installation into another directory use: ./build --prefix /whatever/directory/ ./build --install --prefix /whatever/directory/ gip-1.7.0-1/installer/0000755000175000017500000000000011130411302012535 5ustar samsamgip-1.7.0-1/installer/install_locales.sh0000755000175000017500000000200511130411302016241 0ustar samsam#!/bin/sh ## Check whether all of the given libraries are installed. ## Returns 0 if all of the libs exist. ## install_locales() { LOCALEFILES="$@" for FILE in $LOCALEFILES; do LOCALE=`echo $FILE | sed 's/.*\///; s/\.mo//'` mkdir -p $POTDIR/$LOCALE/LC_MESSAGES/ cp $FILE $POTDIR/$LOCALE/LC_MESSAGES/$DOMAIN.mo || return 1 done return 0 } ############################################################################### # Use getopt to determine the allowed options. ############################################################################### getopt -l "potdir:,domain:" -- "p:d:" $* 1>/dev/null if [ $? != 0 ]; then print_usage exit 1 fi for i in "$@"; do case $i in "-p" | "--potdir") POTDIR="$2" shift 2;; "-d" | "--domain") DOMAIN="$2" shift 2;; # End of options, only command arguments left. "--") shift break;; esac done if [ ! -d $POTDIR ]; then echo "No such directory: $POTDIR." >&2 exit 1 fi install_locales $@ || exit 1 exit 0 gip-1.7.0-1/installer/check_up2date.sh0000755000175000017500000000222011130411302015571 0ustar samsam#!/bin/sh ## Check whether the file's object file is up-to-date. ## Args: $1: The .c or .cc file to be checked. ## $2: The corresponding object file. ## Returns -1 on an error, 0 if the file is up-to-date, 1 otherwise. ## file_is_up2date() { FILE="$1" OBJECTFILE=`echo $1 | sed 's/\.c*/\.o/'` # The corresponding objectfile. # If the file or the objectfile does not exist, we do not need to check. if [ ! -e "$FILE" -o ! -e "$OBJECTFILE" ]; then return 1 fi # If the file is newer than the objectfile, we are already done. if [ "$FILE" -nt "$OBJECTFILE" ]; then return 1 fi # Ending up here, we need to check all the dependencies. # Grabs a list of all dependencies (recursive). DEPENDS=`get_includes.sh $FILE` for HEADERFILE in $DEPENDS; do # Make sure that the headerfile exists. if [ ! -e "$HEADERFILE" ]; then echo "THIS IS LAME: $HEADERFILE" return 1 fi # Check whether the file is newer than the object file. if [ "$HEADERFILE" -nt "$OBJECTFILE" ]; then return 1 fi done echo Up-to-date check: $FILE is unchanged. return 0 } file_is_up2date $1 || exit 1 exit 0 gip-1.7.0-1/installer/substitute_vars.sh0000755000175000017500000000065711130411302016352 0ustar samsam#!/bin/sh ## This script takes a filename and a list of key/value pairs, and ## substitutes the keys in the given file by the value. ## substitute() { FILE=$1 shift MACROS="$@" OLDIFS=$IFS IFS=':' CMD= for LINE in $MACROS; do KEY=`echo $LINE | cut -d'=' -f1` VALUE=`echo $LINE | cut -d'=' -f2-` CMD="${CMD}s|%$KEY%|$VALUE|g;" done IFS=$OLDIFS sed "$CMD" < $FILE return 0 } substitute $@ exit 0 gip-1.7.0-1/installer/check_libs.sh0000755000175000017500000000111511130411302015160 0ustar samsam#!/bin/sh ## Check whether all of the given libraries are installed. ## Returns 0 if all of the libs exist. ## check_libs() { LIBS="$@" ERROR=0 for LIB in $LIBS; do pkg-config --exists $LIB if [ "$?" -ne "0" ]; then echo "Error: $LIB required but not installed." >&2 echo "Please install the $LIB library's development package first." >&2 ERROR=1 else echo "Checking $LIB... installed!" fi done if [ "$ERROR" -eq 1 ]; then echo "$PACKAGENAME installation aborted." >&2 return 1 fi return 0 } check_libs $@ || exit 1 exit 0 gip-1.7.0-1/installer/build_files.sh0000755000175000017500000000645411130411302015366 0ustar samsam#!/bin/sh ## This script compiles the given list of files. ## ## Print the syntax out. ## print_usage() { echo "Syntax: $0 {-o outfile} [options] files" >&2 echo -e "Options:" >&2 echo -e "-o, --outfile The executable or shared object file." >&2 echo -e "-c, --cflags Flags passed to the compiler." >&2 echo -e "-l, --lflags Flags passed to the linker." >&2 echo -e "-s, --shared Link as a shared library." >&2 } ## Compiles one single file using g++. ## Args: $1: The .c or .cc file to be compiled. ## $2: The corresponding object file. ## Returns 1 if the file is unchanged, 2 on an error, otherwise 0. ## compile_file() { FILE="$1" OBJECTFILE="$2" # Check whether the file needs to be compiled. check_up2date.sh $FILE $OBJECTFILE && return 1 # Compile. echo Compiling: $FILE... set -x g++ -fPIC $CFLAGS -c $FILE -o $OBJECTFILE ERR="$?" set +x if [ "$ERR" -ne "0" ]; then echo Error during compilation of $FILE. >&2 return 2 fi return 0 } ## Compiles all the given files. ## Returns 1 if the files are all unchanged, 2 on an error, otherwise 0. ## compile_files() { FILES="$@" CHANGED=0 OBJECTFILES='' for FILE in $FILES; do OBJECTFILE="`echo $FILE | sed 's/\.[^\.]*$//'`.o" OBJECTFILES="$OBJECTFILES $OBJECTFILE" compile_file $FILE $OBJECTFILE ERR="$?" if [ "$ERR" -eq "2" ]; then # An error occured. return 2 fi if [ "$ERR" -eq "0" ]; then # No error, but the file has been changed. CHANGED=1 fi done if [ "$CHANGED" -eq "0" ]; then return 1 fi return 0 } ############################################################################### # Use getopt to determine the allowed options. ############################################################################### #FIXME: How does getopt handle multiple arguments to one option? #getopt -l "outfile:,cflags:,lflags:,shared" -- "o:c:l:s" $* 1>/dev/null if [ $? != 0 ]; then print_usage exit 1 fi SHARED='' for i in "$@"; do case $i in "-o" | "--outfile") OUTFILE="$2" shift 2;; "-c" | "--cflags") CFLAGS="$2" shift 2;; "-l" | "--lflags") LFLAGS="$2" shift 2;; "-s" | "--shared") SHARED=1 shift;; # End of options, only command arguments left. "--") shift break;; esac done #echo FILES: $@ #echo OUTFILE: $OUTFILE #echo CFLAGS: $CFLAGS #echo LFLAGS: $LFLAGS #echo SHARED: $SHARED compile_files $@ ERR="$?" if [ "$ERR" -eq "2" ]; then # An error occured. exit 1 fi if [ "$ERR" -eq "0" ]; then # No error, but the file has been changed. CHANGED=1 fi if [ ! -e "$OUTFILE" ]; then # Make sure that the outfile exists. CHANGED=1 fi if [ "$CHANGED" -ne "1" ]; then # If nothing has been changed, we are done. echo Program unchanged, skipping linker. exit 0 fi if [ "$SHARED" = "" ]; then # Link as an executable. set -x g++ $CFLAGS $LFLAGS -o $OUTFILE $OBJECTFILES ERR="$?" set +x else # Link as a shared library. SHAREDNAME=`echo $OUTFILE | sed 's/\..*//'` set -x g++ -shared -Wl,-soname,$SHAREDNAME $CFLAGS $LFLAGS -o $OUTFILE $OBJECTFILES ERR="$?" set +x fi if [ "$ERR" -ne "0" ]; then # Check the linker's return value. echo Linker returned an error. Aborting. >&2 exit 1 fi echo Built successfully. gip-1.7.0-1/installer/make_installdirs.sh0000755000175000017500000000051111130411302016416 0ustar samsam#!/bin/sh ## This script creates all the directories given at the commandline. ## Returns 0 on success, 1 otherwise. ## for DIR in "$@"; do if [ ! -e "$DIR" ]; then echo "Creating directory $DIR... " mkdir -p $DIR if [ "$?" -ne "0" ]; then echo "Failed to create $DIR." exit 1 fi fi done exit 0 gip-1.7.0-1/installer/make_config_h.sh0000755000175000017500000000123511130411302015646 0ustar samsam#!/bin/sh ## This script creates a config.h file containing preprocessor directives. ## The directives are passend on the commandline, seperated by colons. ## The file printed to stdout. ## ## Create the config.h file to be included in all files. ## Returns 0 on success, 1 otherwise. ## gen_config_h() { MACROS="$@" echo "/* This file is automatically generated and will be overwritten */" echo "/* during the installation process. */" OLDIFS=$IFS IFS=':' for LINE in $MACROS; do MACRO=`echo $LINE | cut -d'=' -f1` VALUE=`echo $LINE | cut -d'=' -f2-` echo "#define $MACRO \"$VALUE\"" done IFS=$OLDIFS return 0 } gen_config_h $@ exit 0 gip-1.7.0-1/installer/check_programs.sh0000755000175000017500000000101011130411302016053 0ustar samsam#!/bin/sh ## Checks whether all of the given programs are installed. ## Returns 0 if all of the programs exist. ## check_progs() { PROGS="$@" for PROG in $PROGS; do which $PROG 1>/dev/null if [ "$?" -ne "0" ]; then echo "Error: $PROG required but not installed." >&2 echo "Please install the $PROG program first." >&2 echo "$PACKAGENAME installation aborted." >&2 return 1 else echo "Checking $PROG... installed!" fi done return 0 } check_progs $@ || exit 1 exit 0 gip-1.7.0-1/installer/get_includes.sh0000755000175000017500000000303611130411302015543 0ustar samsam#!/bin/sh ## This file grabs a list of all #includes from the given C/C++ file. ## Works *recursive*! ## DEPENDS='' CHECKED='' ## Checks whether the given dependency is already known. ## check_dependency() { for DEPENDENCYFILE in $DEPENDS; do if [ "$DEPENDENCYFILE" = "$1" ]; then return 1 fi done return 0 } ## Checks whether the given file has already been scanned for dependencies. ## check_checked() { for CHECKEDFILE in $CHECKED; do if [ "$CHECKEDFILE" = "$1" ]; then return 1 fi done return 0 } ## Recursive function grabbing all includes of the given file. ## get_depends() { BASEPATH=`echo $1 | sed 's/\/*[^\/]*$//'` # Grab all dependencies of the given file. NEW_DEPENDS=`egrep -o "^# *include *\".*\"" $1 | sed 's/# *include *"\(.*\)"/\1/'` for FILE in $NEW_DEPENDS; do #echo Found dependency $FILE. # If the dependency is not already known, append it to the list. check_dependency "$BASEPATH/$FILE" if [ $? -eq 0 ]; then #echo Appended new dependency $BASEPATH/$FILE. DEPENDS=`echo $DEPENDS $BASEPATH/$FILE` fi done # Now, check the dependencies of the found files (recursive). for RECURSIVEFILE in $DEPENDS; do #echo Checking dependency $RECURSIVEFILE. # If the file has not already been checked before, do it now. check_checked "$RECURSIVEFILE" if [ $? -eq 0 ]; then #echo Checking valid dependency $RECURSIVEFILE. CHECKED="$CHECKED $RECURSIVEFILE" get_depends $RECURSIVEFILE fi done } get_depends $1 echo $DEPENDS gip-1.7.0-1/AUTHORS0000644000175000017500000000011211130411302011602 0ustar samsamOriginal author and primary maintainer: * Samuel Abels gip-1.7.0-1/gip.xml.in0000644000175000017500000000055511130411302012453 0ustar samsam %APP_NAME% Data %APP_NAME% Datei gip-1.7.0-1/build.sh0000755000175000017500000002577111130411302012212 0ustar samsam#!/bin/bash # Predefinitions. EXECUTABLE="gip" PACKAGENAME="Gip" VERSION=1.7.0-1 TAGVERSION="" # Requirements. REQUIRED_PROGS='getopt basename mkdir find pkg-config g++ intltool-update' REQUIRED_PROGS="$REQUIRED_PROGS xgettext intltool-update" REQUIRED_LIBS='gtkmm-2.4 sigc++-2.0' # Program files. PROGFILES=`find src/ -name "*.cc" -o -name "*.c"` # Installation paths. (Plugins will be installed in the LIBDIR) INST_IN_LIBDIR=`find . -name "*.glade"` INST_IN_PIXMAPDIR=`find src/ -name "*.png"` INST_IN_DOCDIR='' INST_IN_GNOMEDOCDIR=`find doc/ -maxdepth 1 -name "*.xml" -o -path "doc/figures*"` ############################################################################### # PATH="$PATH:./installer" ARGS=$@ ## Print the usage informations out. ## print_usage() { ( echo "Syntax: $0 [options] files" echo -e "Options:" echo -e " --dist" echo -e " Create a tarball." echo -e " --force-generate" echo -e " Generate config.h, desktop, and MIME file even if" echo -e " they already exist." echo -e " --prefix PREFIX" echo -e " Installation directory. Default is /usr/local." echo -e " -r, --rebuild" echo -e " Delete and rebuild all files." echo -e " --install" echo -e " Install the program (do not not just built)." ) >&2 } ## Builds all plugins mentioned in $PLUGINDIRS. ## build_plugins_all() { PLUGINDIRS="$@" for PLUGINDIR in $PLUGINDIRS; do # Compile all plugins. PLUGINNAME=`basename $PLUGINDIR` echo "####################################################################"; echo "# Building plugin: $PLUGINNAME"; echo "####################################################################"; PLUGINNAMEUC=`echo $PLUGINNAME | tr [:lower:] [:upper:]` PLUGINFILES=`find "$PLUGINDIR" -name "*.c" -o -name "*.cc"` PLUGINVARNAME="PLUGIN_$PLUGINNAMEUC" PLUGINFILES="$PLUGINFILES ${!PLUGINVARNAME}" OUTFILE="$PLUGINOUTDIR/$PLUGINNAME.so" build_files.sh -s -c "$CFLAGS" -l "$LFLAGS" -o $OUTFILE $PLUGINFILES if [ "$?" -ne "0" ]; then echo Build failed: $PLUGINNAME plugin. >&2 return 1 fi echo done return 0 } build_tarball() { ./clean.sh TARBASENAME="$EXECUTABLE-$VERSION" mkdir $TARBASENAME find . -type d -a ! -path "*$TARBASENAME*" -a ! -path "./.git*" -a ! -path "." \ | while read DIR; do mkdir "$TARBASENAME/$DIR" || return 1 done find . ! -type d -a ! -path "*$TARBASENAME*" -a ! -path "./.git*" \ | while read FILE; do echo Copying $FILE cp -r "$FILE" "$TARBASENAME/$FILE" || return 1 done tar czf $TARBASENAME.tar.gz $TARBASENAME rm -R $TARBASENAME return 0 } ############################################################################### # Check prerequirements. ############################################################################### echo "####################################################################"; echo "# Checking prerequired programs."; echo "####################################################################"; check_programs.sh $REQUIRED_PROGS || exit 1 echo echo "####################################################################"; echo "# Checking prerequired libraries."; echo "####################################################################"; check_libs.sh $REQUIRED_LIBS || exit 1 echo ############################################################################### # Use getopt to determine the allowed options. ############################################################################### getopt -l "prefix:,install,force-generate,rebuild,dist" -- "r" $* 1>/dev/null if [ $? != 0 ]; then print_usage exit 1 fi ############################################################################### # This for-loop parses the command line for options and sets a variable # accordingly. ############################################################################### # Default options. REBUILD=0 FORCE_GENERATE=0 INSTALL=0 MAKEDIST=0 INST_PREFIX='/usr/local' for i in "$@"; do case $i in "-r" | "--rebuild") REBUILD=1 shift;; "--prefix") INST_PREFIX="$2" shift 2;; "--force-generate") FORCE_GENERATE=1 shift;; "--install") INSTALL=1 shift;; "--dist") MAKEDIST=1 shift;; # End of options, just command arguments left. "--") shift break;; esac done INST_BINDIR="$INST_PREFIX/bin/" INST_LIBDIR="$INST_PREFIX/lib/$EXECUTABLE" INST_LOCALEDIR="$INST_PREFIX/share/locale" INST_PIXMAPDIR="$INST_PREFIX/lib/$EXECUTABLE" INST_DOCDIR="$INST_PREFIX/doc/$EXECUTABLE" INST_GNOMEDOCDIR="$INST_PREFIX/share/gnome/help/$EXECUTABLE/C" INST_MIME_XML="$INST_PREFIX/share/mime/packages/" INST_MIME_KEY="$INST_PREFIX/share/mime-info/" INST_MENU_XDG="$INST_PREFIX/share/applications/" INST_ICON=$INST_PREFIX/share/icons/hicolor INST_ICON_LOWRES=$INST_ICON/32x32/apps INST_ICON_HIGHRES=$INST_ICON/48x48/apps # Preprocessor macros: MACROS="PACKAGE_LIB_DIR=$INST_LIBDIR/\ :PACKAGE_PIXMAPS_DIR=$INST_PIXMAPDIR/\ :PACKAGE_LOCALE_DIR=$INST_LOCALEDIR/\ :PACKAGE_DOC_DIR=$INST_DOCDIR/\ :VERSION=$VERSION\ :SUBVERSION=$TAGVERSION\ :GETTEXTPACKAGE=$EXECUTABLE\ :ENABLE_NLS=1\ :ENABLE_OGG=1" DESKTOP_SUB="APP_NAME=$PACKAGENAME\ :INSTALL_BIN=$INST_BINDIR\ :APP_SYSNAME=$EXECUTABLE\ :INSTALL_LIB=$INST_LIBDIR" PROGRAMNAME="$PACKAGENAME $VERSION $TAGVERSION" ############################################################################### # Build locales. ############################################################################### echo "####################################################################"; echo "# Locales."; echo "####################################################################"; cd po/ echo Generating locales... ./gen.sh || exit 1 cd .. echo INST_IN_LOCALEDIR=`find po/ -name "*.mo"` ############################################################################### # Build a tarball distribution. ############################################################################### if [ "$MAKEDIST" -eq 1 ]; then echo "####################################################################"; echo "# Building tarball distribution."; echo "####################################################################"; build_tarball || exit 1 echo Tarball build finished. exit 0 fi ############################################################################### # Cleanup. ############################################################################### # If specified, clean up first. if [ "$REBUILD" -eq "1" ]; then echo "####################################################################"; echo "# Cleaning up, as you requested a rebuild." echo "####################################################################"; ./clean.sh || exit 1 echo fi ############################################################################### # Generate config.h and the .desktop file. ############################################################################### echo "####################################################################"; echo "# Defining Macros."; echo "####################################################################"; if [ "$FORCE_GENERATE" -eq 1 -o ! -e "$config.h" ]; then make_config_h.sh $MACROS | tee config.h || exit 1 echo "config.h successfully generated." echo fi if [ "$FORCE_GENERATE" -eq 1 -o ! -e "$EXECUTABLE.desktop" ]; then substitute_vars.sh $EXECUTABLE.desktop.in $DESKTOP_SUB | tee $EXECUTABLE.desktop || exit 1 echo "$EXECUTABLE.desktop successfully generated." echo fi if [ "$FORCE_GENERATE" -eq 1 -o ! -e "$EXECUTABLE.xml" ]; then substitute_vars.sh $EXECUTABLE.xml.in $DESKTOP_SUB | tee $EXECUTABLE.xml || exit 1 echo "$EXECUTABLE.xml successfully generated." echo fi ############################################################################### # Build. ############################################################################### # Compiler/Linker options. CFLAGS="-DHAVE_CONFIG_H -I. -I.. `pkg-config $REQUIRED_LIBS --cflags`" LFLAGS=`pkg-config $REQUIRED_LIBS --libs` if [ "$PLUGINDIRS" != "" ]; then build_plugins_all $PLUGINDIRS || exit 1 INST_IN_LIBDIR="$INST_IN_LIBDIR `find "$PLUGINOUTDIR" -name "*.so"`" fi echo "####################################################################"; echo "# Building the program core."; echo "####################################################################"; build_files.sh -o "$EXECUTABLE" -c "$CFLAGS" -l "$LFLAGS" $PROGFILES || exit 1 echo echo $PROGRAMNAME compilation finished successfully! echo ############################################################################### # Install. ############################################################################### if [ "$INSTALL" -ne "1" ]; then echo For program installation run $0 $ARGS --install exit 0 fi echo "####################################################################"; echo "# Installation in $INST_PREFIX"; echo "####################################################################"; if [ ! -d "$INST_PREFIX" ]; then echo "Installation prefix directory $INST_PREFIX does not exist!" >&2 echo "Use \"--prefix prefix\" to specify an existing directory." >&2 echo "Installation aborted." >&2 exit 1 fi echo Creating directories... CREATEDIRS="$INST_BINDIR $INST_LIBDIR $INST_PIXMAPDIR $INST_DOCDIR" CREATEDIRS="$CREATEDIRS $INST_LOCALEDIR $INST_GNOMEDOCDIR" CREATEDIRS="$CREATEDIRS $INST_MENU_XDG $INST_MIME_XML $INST_GNOMEDOCDIR" CREATEDIRS="$CREATEDIRS $INST_ICON_LOWRES $INST_ICON_HIGHRES" make_installdirs.sh $CREATEDIRS || exit 1 echo Installing $EXECUTABLE... cp $EXECUTABLE $INST_BINDIR || exit 1 echo Installing libraries in $INST_LIBDIR... if [ "$INST_IN_LIBDIR" != "" ]; then cp $INST_IN_LIBDIR $INST_LIBDIR || exit 1 fi echo Installing pixmaps in $INST_PIXMAPDIR... if [ "$INST_IN_PIXMAPDIR" != "" ]; then cp $INST_IN_PIXMAPDIR $INST_PIXMAPDIR || exit 1 fi echo Installing documentation in $INST_DOCDIR... if [ "$INST_IN_DOCDIR" != "" ]; then cp $INST_IN_DOCDIR $INST_DOCDIR || exit 1 fi echo Installing GNOME documentation in $INST_GNOMEDOCDIR... if [ -d "$INST_GNOMEDOCDIR" -a -w "$INST_GNOMEDOCDIR" ]; then cp -r "$INST_IN_GNOMEDOCDIR" "$INST_GNOMEDOCDIR" else echo "WARNING: GNOME documentation directory not found or it is not" >&2 echo " writeable! Skipping GNOME documentation installation." >&2 fi echo Installing localisation files in $INST_LOCALEDIR... if [ "$INST_IN_LOCALEDIR" != "" ]; then install_locales.sh -p $INST_LOCALEDIR -d $EXECUTABLE $INST_IN_LOCALEDIR \ || exit 1 fi echo Installing application icons... cp src/pixmaps/calc32.png $INST_ICON/32x32/apps/calc.png cp src/pixmaps/calc48.png $INST_ICON/48x48/apps/calc.png echo Creating menu entry and registering MIME extension... cp $EXECUTABLE.desktop $INST_MENU_XDG || exit 1 cp $EXECUTABLE.xml $INST_MIME_XML || exit 1 echo echo $PROGRAMNAME has been installed successfully! echo If you find any bugs, please report to the mailinglist at echo "". echo exit 0 gip-1.7.0-1/clean.sh0000755000175000017500000000074311130411302012165 0ustar samsam#!/bin/sh # Just to be sure... if [ ! -e $PWD/clean.sh ]; then echo Please enter the Gip package root directory echo before starting this script. exit 1 fi echo Deleting all object files starting from $PWD/... find . -name "*.o" -o -name "*.mo" | while read file; do rm $file done rm config.h echo Deleting the Gip binary... [ -e gip ] && rm gip echo Deleting desktop and menu file... [ -e gip.desktop ] && rm gip.desktop [ -e gip.xml ] && rm gip.xml echo Finished. gip-1.7.0-1/COPYING0000644000175000017500000004311011130411302011572 0ustar samsam GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. , 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.