]> git.decadent.org.uk Git - ap-utils.git/commitdiff
Imported Upstream version 1.5~pre1 upstream/1.5.pre1
authorBen Hutchings <ben@decadent.org.uk>
Sun, 19 Apr 2009 00:04:27 +0000 (01:04 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 19 Apr 2009 00:17:26 +0000 (01:17 +0100)
55 files changed:
ChangeLog
Documentation/Makefile.am
Documentation/Makefile.in
Documentation/ap-auth.8 [new file with mode: 0644]
Documentation/ap-auth.html [deleted file]
Documentation/ap-config.8
Documentation/ap-gl.8 [new file with mode: 0644]
Makefile.am
Makefile.in
TODO
ap-gl/ap-gl.c
ap-gl/auth_mac.c
ap-gl/bridge.c
ap-gl/stations.c
configure
configure.in
lib/Makefile.am
lib/Makefile.in
lib/ap-utils.h
lib/ap_search.c
lib/aps.c
lib/cmd.c
lib/common.c
lib/file.c
lib/input.c
lib/menu.c
lib/radio.c
lib/scr.c
lib/set_community.c
lib/set_oeminfo.c [new file with mode: 0644]
lib/snmp.c
lib/stat.c
lib/sysinfo.c
lib/test.c
lib/wep.c
lib/wlan.c
po/ap-utils.pot
po/fr.gmo [deleted file]
po/fr.po
po/nl.gmo [deleted file]
po/nl.po
po/pl.gmo [deleted file]
po/pl.po
po/ro.gmo [deleted file]
po/ro.po
po/tr.gmo [deleted file]
po/tr.po
po/uk.gmo [deleted file]
po/uk.po
src/ap-config.c
src/auth_mac.c
src/bridge.c
src/nwn_advanced.c
src/nwn_latest.c
src/stations.c

index 5a27d38e26ca7e07f54f3dfdab8deef7d4d24209..af35aa8f2a7ae17e4172038e5e52c0d1709082ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,180 @@
+2004-11-28 Roman Festchook
+       * lib/common.c: added checking then function called from ap-gl utility
+           in connect_options() automatic detecting MIB, extention. Now community
+           must be entered manually
+       * lib/ap_search.c: reverted back to scan oid Wireless info string (that find APs even
+           with wrong community) raser than APName oid; info string now truncated only if it
+           cant be displayed at current screen width (now it screen width independed)
+       * Makefile.am: into dist-hook added command to remove po/*.gmo files from
+           final distribution package to decrease size
+       * ap-gl/ap-gl.c: in ap-gl utility reverted back to ATMEL_PRISM rather than ATMEL410 naming
+       * Documentation/ap-config.8: fixed minor bug in example key for 64-bit WEP encryption
+           (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=243208)
+       * Documentation/ap-gl.8, Documentation/Makefile.am: added man page for ap-gl utility
+       * Documentation/ap-auth.8, Documentation/Makefile.am: added man page for ap-auth utility
+       * po/fr.po: fixed coredump in Config menu with French locale (now just removed long
+            translated string from po file)
+            (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=259645)
+       * po/uk.po: updated translation
+       * ap-gl/stations.c: fixed RSSI dBm representation
+       
+2004-11-24 Jan Rafaj
+       * README:
+         - made WARNING2 more accurate; added WARNING3
+       * lib/Makefile.am:
+         - added set_oeminfo.c to the list of source modules
+       * lib/ap-utils.h:
+         - QHELP and SELECT #defines moved here from lib/stat.c, as we now
+           reuse them. QHELP renamed to QTHELP (+ toggling mode).
+         - added #defines for NONE, SBRIDGES, TELLUS and VERNET constants
+           with numbering according to new ap_vendorexts[][]. Actual values
+           of these are hold within newly introduced ap_vendorext global
+           (similar to meaning of ap_type global).
+         - new data type 'rdprops', used to describe regulatory domain
+           properties (code, description, first channel, last channel)
+         - formatting fixes (cosmetic)
+         - now #includes lib/ap-curses.h
+       * lib/ap_search.c:
+         - output formatting changes (unification)
+         - in case the length of AP NAME being displayed for actually
+           scanned AP exceeds 27 characters, truncate the display
+           to first 27 characters (80x25 screen limit) and append
+           '>' character to indicate that not full AP NAME has been
+           displayed
+         - user is now prompted for a community, that will be used
+           to detect APs, prior scanning
+       * lib/common.c:
+         - introduced new char *ap_vendorexts[][]; moved char *ap_type[]
+           here from src/ap-config.c and ap-gl/ap-gl.c
+         - in favour of proper naming, renamed all *APNAME #defines
+           to *APLABEL (same for texts, with a help message that clearly
+           states that AP LABEL is _independent_ of AP NAME (AP NAME = name
+           stored inside the AP), to prevent eventual user confusion.
+         - all references to 'name' changed to 'label' in order to respect
+           that AP label != AP name (see above). permitted length of label
+           is now max. of 16 characters.
+         - implemented ability to manually select MIB vendor extension
+           along with MIB type (previously just 'AP type:'). This was
+           really necessary as we couldn't rely on get_mib_details()
+           probing especially when the target AP was not available.
+         - if AP MIB type & vendor extension has been _autodetected_, or if
+           there's a good belief that the to-be-connected AP (via
+           connect_options()) is really alive (when we enter connect_options()
+           from ap_search()), then offer possibility to use AP NAME
+           as AP LABEL. However, as AP NAME may have max. length of 31
+           characters, it will be always truncated to first 16 chars
+           (max. length of AP LABEL), and user will be warned if this happens.
+         - introduced new 'rdprops regdom_types[]' field to unify reg. domain
+           description. Along with newly introduced regdom_types[]
+           and regdom_idx(), it enables us to get reg. domain properties
+           related to specific reg. domain code at any time, anywhere.
+           Merged reg. domain codes & properties of MKK1 & ISRAEL freq.
+           domains. Change: MKK domain defines only channel 14.
+         - squashed ch_list() in favour of regdom_types[] => killed malloc()s
+           in wlan.c & test.c. char *channels[] now keeps statically what
+           ch_list() was used to generate on demand before
+         - avoid asking for community upon entering connect_options()
+           called from ap_search(), as we already know the community
+         - thrown myself into about()
+       * lib/file.c:
+         - all references to 'name' changed to 'label' in order to respect
+           that AP LABEL != necessarilly AP NAME (see above)
+         - implemented storing of MIB vendor extension into ~/.ap-config
+         - changed name of stored file with MAC authorised addresses
+           in the AP from '~/ap-MIBTYPE.stations' to
+           'ap-IP-MIBTYPE-MIBEXT.stations'
+         - output formatting changes (in AP list code):
+           - 'NAME' -> 'LABEL', 'TYPE' -> 'MIB TYPE', newly introduced:
+             'MIB EXT'; accomodate to new layout
+         - in parse_db_str(), truncate displayed length of AP NAME to 16
+           characters (80x25 screen limit), upon length of label being read
+           > 16 characters (80x25 screen width limit), and append '>'
+           character to indicate that it has not been displayed
+           in its full length (TODO: remove screen width limits)
+         - fixed numerous memleaks caused by missing free()ing of
+           ip, passwd and label parts of APList structure in get_opts()
+         - option writing ~/.ap-config is now verbose. Required moving
+           main print_help() to the while(1) cycle body.
+         - save_Stations() is now verbose at minimum level
+       * lib/input.c:
+         - patched get_value() so that zero-length ANY_STRING type input
+           can be optionally allowed. Selected string input fields now accept
+           empty value. minv & maxv arguments switched from int to unsigned
+           int so that we may cover full uint32 range - also involved
+           switching from atoi() to strtoul(), as we need to check a condition
+           when errno == ERANGE (given value bigger than 0xFFFFFFFF).
+         - implemented wait_key() as unified means to wait for user input
+           selection different ways. The actual input mode with respect
+           to waiting is being held in wait_mode global, that can
+           be toggled using 't/T' keys in statistic views where appropriate
+           (SysInfo, Ethernet statistics, Wireless statistics).
+         - added help_ysn() as preferred & unified way to wait for user Y/N
+           choice. Prints Y/ safe N help message; clear settings subwin
+           & returns 0 upon pressing y/Y or 1 upon n/N. All Y/N code
+           everywhere has been replaced with single call to help_syn().
+       * lib/menu.c:
+         - added hidden call to atmel_set_oeminfo (secret 'OEM info settings'
+           menu), based on set_oeminfo_allowed global from set_oeminfo.c
+       * lib/scr.c:
+         - print_bottom() now also prints MIB vendor extension info
+           in form of 'Ext: <TAG>'
+         - introduced print_bold() to decrease high amount of low-level
+           attribute-setting stuff everywhere (involved conversion
+           to print_bold() wherever possible)
+         - removed print_viewtype() and all references to this replaced
+           with print_bold()
+       * lib/set_oeminfo.c:
+         - newly introduced. Actually only functional for ATMEL CPU-based
+           APs. ALLOWS TO CHANGE OEM INFORMATIONS STORED WITHIN THE AP,
+           AFTER PRESSING 'S' KEY WHILE IN 'Config' MENU. Note that this
+           is a HIDDEN function, since it is really only suitable for large
+           WISPs & repair shops. Compatibility level that has been achieved
+           with original windows utility is around 96%. Use with care.
+       * lib/snmp.c:
+         - added (currently commented out) new function ber_decode_uint().
+           It may come in handy elsewhere in the future.
+       * lib/sysinfo.c:
+         - atmel_sysinfo() now uses select() to wait for user keyboard input.
+           'q' or 'Q' key quits, others force update without clearing screen.
+         - (hopefully) fixed conversion of raw input buffer value to int
+           for uptime-displaying code
+       * lib/sysinfo.c, lib/sysinfo_set.c, lib/wlan.c, lib/ap-utils.h:
+         (cosmetical):
+         - added #include <time.h>, missing on some platforms
+         - renamed ptr410 and ptr12350 to str410 and str12350
+         - renamed SysDeviceInfo_* to sysDeviceInfo (MIB conformance)
+         - fixed interpretation of (long) INT value returned by the AP
+           in UpTime-displaying code
+         - implemented toggling of polling mode through 'T' [works
+           only with ATMEL12350 VERNET MIB-compatible devices]
+         - uses select() instead of getch() when polling is active
+         - indentation fixes (cosmetic)
+       * lib/test.c:
+         - changes to use channels[] and regdom_types[] instead of
+           ch_list() and malloc()s
+       * lib/wlan.c:
+         - changes to use channels[] and regdom_types[] instead of
+           ch_list() and malloc()s
+         - fix: added missing print_help(WAIT_RET)
+       * ap-gl/ap-gl.c:
+         - few indentation fixes (cosmetic)
+         - changes to keep sync with new lib functionality (MIB vendor
+           extensions code)
+       * ap-gl/stations.c, src/stations.c:
+         - print_help() is now called from within while(1) cycle, in order
+           to be compatible with updated save_Stations()
+       * src/bridge.c:
+         - fix: added missing print_help(WAIT_RET)
+       * 'RegulationDomain' renamed to 'RegulatoryDomain' for MIB conformance
+       * further optimisations everywhere for reusing print_bold()
+       * load of small bugfixes
+       * print_title() replaced with new print_top() that will also
+         handle displaying "view" type (on LHS) along with menu title
+         (on RHS) using single pass. This was really in need of unification.
+         Side effect: no need to redraw title strip on each screen update
+         anymore (no two separate ways to write to same location).
+       * some spelling, indentation & accuracy fixes here and there
+
 2004-11-09 Jan Rafaj
        * README:
          - removed reference to HARDWARE-NOTES, that didnt made it into
index 1ecb6866ba4e3c79cf936a676071f5df5e7d4a82..eaabc88ab5c34d24b5382ef496b54b194735d53c 100644 (file)
@@ -19,5 +19,5 @@
 
 ## Process this file with automake to produce Makefile.in
 
-man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8
-EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* ap-auth.html
+man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8
+EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.*
index 44cd34bff929081ddbbdd651b5d28d5c1637943a..5c79c82bb9104e3775ffd4db50af575ac664903c 100644 (file)
@@ -157,8 +157,8 @@ sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 
-man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8
-EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* ap-auth.html
+man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8
+EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.*
 subdir = Documentation
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
diff --git a/Documentation/ap-auth.8 b/Documentation/ap-auth.8
new file mode 100644 (file)
index 0000000..7b94909
--- /dev/null
@@ -0,0 +1,65 @@
+.\"      Manpage for ap-auth utility
+.\"   from Wireless Access Point Utilitess for Unix
+.\"
+.\"  Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+.\"
+.\"  This program is free software; you can redistribute it and/or modify
+.\"  it under the terms of the GNU General Public License Version 2 from
+.\"  June 1991 as published by the Free Software Foundation.
+.\"
+.\"  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
+.TH ap-auth 8 "Wireless Access Point Utilites for Unix"
+.SH NAME
+ap-auth \- AP authorized MAC change utility
+
+.SH SYNOPSIS
+.B ap-auth
+.B -i
+.IR ip
+.B -c
+.IR community
+.B -u
+.IR filename
+.B -d 
+.IR filename 
+
+.SH DESCRIPTION
+.B ap-auth
+A command line utility to change the list of authorised MAC
+addresses. It has only support for ATMEL410.
+.br
+
+-d filename  - download list of authorised MAC addresses from AP to a file
+-u filename  - upload list of authorised MAC addresses from a file to AP
+
+
+.SH OPTIONS
+.TP
+.B -i ip 
+AP ip address
+.TP
+.B -c community 
+SNMP community string
+.TP
+.B -d filename
+download list of authorised MAC addresses from AP to a file 
+.TP
+.B -u filename
+upload list of authorised MAC addresses from a file to AP
+
+.SH AUTHOR
+Roman Festchook <roma@polesye.net>
+Teemu Kiviniemi teemuki at fotokone.fi
+.br
+http://ap-utils.polesye.net
+
+.SH SEE ALSO
+ap-config(8), ap-trapd(8), ap-gl(8), ap-mrtg(8)
+
diff --git a/Documentation/ap-auth.html b/Documentation/ap-auth.html
deleted file mode 100644 (file)
index 3146881..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
- <HEAD>
-   <TITLE> [ap-utils] mac auth updates from command line (patch)
-   </TITLE>
-   <LINK REL="Index" HREF="index.html" >
-   <LINK REL="made" HREF="mailto:ap-utils%40lists.polesye.net?Subject=%5Bap-utils%5D%20mac%20auth%20updates%20from%20command%20line%20%28patch%29&In-Reply-To=">
-   <META NAME="robots" CONTENT="index,nofollow">
-   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
-   
-   
- </HEAD>
- <BODY BGCOLOR="#ffffff">
-   <H1>[ap-utils] mac auth updates from command line (patch)</H1>
-    <B>Teemu Kiviniemi</B> 
-    <A HREF="mailto:ap-utils%40lists.polesye.net?Subject=%5Bap-utils%5D%20mac%20auth%20updates%20from%20command%20line%20%28patch%29&In-Reply-To="
-       TITLE="[ap-utils] mac auth updates from command line (patch)">teemuki at fotokone.fi
-       </A><BR>
-    <I>Mon Jul 19 18:06:50 EEST 2004</I>
-    <P><UL>
-        
-        
-         <LI> <B>Messages sorted by:</B> 
-              <a href="date.html#424">[ date ]</a>
-              <a href="thread.html#424">[ thread ]</a>
-              <a href="subject.html#424">[ subject ]</a>
-              <a href="author.html#424">[ author ]</a>
-         </LI>
-       </UL>
-    <HR>  
-<!--beginarticle-->
-<PRE>Hi,
-
-I couldn't find a command line utility to change the list of authorised MAC 
-addresses, so I did one myself. I combined some of the existing code found in 
-ap-mrtg.c and auth_mac.c to make ap-auth.c. 
-
-Usage:
-ap-auth -i ip -c community -d filename
-or
-ap-auth -i ip -c community -u filename
-
--i ip        - AP ip address
--c community - SNMP community string
--d filename  - download list of authorised MAC addresses from AP to a file
--u filename  - upload list of authorised MAC addresses from a file to AP
-
-Here is a patch against ap-utils 1.4.1:
-<A HREF="http://teemuki.fotokone.fi/ap-utils/ap-utils-1.4.1-ap-auth.patch">http://teemuki.fotokone.fi/ap-utils/ap-utils-1.4.1-ap-auth.patch</A>
-
-It has only support for ATMEL410, because I can't test the code on other 
-accesspoints. I've tested it and it works with smartBridges Airpoint Pro.
-
-Teemu
-
-</PRE>
-
-<!--endarticle-->
-    <HR>
-    <P><UL>
-        <!--threads-->
-       
-       
-         <LI> <B>Messages sorted by:</B> 
-              <a href="date.html#424">[ date ]</a>
-              <a href="thread.html#424">[ thread ]</a>
-              <a href="subject.html#424">[ subject ]</a>
-              <a href="author.html#424">[ author ]</a>
-         </LI>
-       </UL>
-
-<hr>
-<a href="http://lists.polesye.net/mailman/listinfo/ap-utils">More information about the ap-utils
-mailing list</a><br>
-</body></html>
index 0f3a447ff2deba27e058f10180925f4ecc482f50..be71727e8c8354f8060d23e12a5f3f91270c78f0 100644 (file)
@@ -70,7 +70,7 @@ You can give your access point a name and give it an ESSID (Extended Service Sta
 
 .TP
 .B     Privacy
-The Privacy options allow you to enable 64-bit or 128-bit WEP (wired equivalent privacy) encryption. If an encryption function is not needed, you can just simply tick on the  Disable  box to disable it. If the 64-bit or 128-bit encryption function is enabled, there are four sets of key need to be filled into the blanket boxes. For the 64-bit encryption, each key is required to enter 5 Hex digits. For example: 11 22 33 44 55 66. The 128-bit encryption requires each key to enter 13 Hex digits. For example: 12 34 56 78 9A BC DE F0 11 22 33 44 55.
+The Privacy options allow you to enable 64-bit or 128-bit WEP (wired equivalent privacy) encryption. If an encryption function is not needed, you can just simply tick on the  Disable  box to disable it. If the 64-bit or 128-bit encryption function is enabled, there are four sets of key need to be filled into the blanket boxes. For the 64-bit encryption, each key is required to enter 5 Hex digits. For example: 11 22 33 44 55 The 128-bit encryption requires each key to enter 13 Hex digits. For example: 12 34 56 78 9A BC DE F0 11 22 33 44 55.
 .br
 NOTE! The WEP keys you enter are really accepted and written to the AP, permanently if you do an Upload from the Commands menu after setting them.  However, the new key values are not echoed to the user when you return to the Privacy settings under the Config menu.  This is a security feature of SNMP implementation in this hardware.
 
diff --git a/Documentation/ap-gl.8 b/Documentation/ap-gl.8
new file mode 100644 (file)
index 0000000..5d76485
--- /dev/null
@@ -0,0 +1,145 @@
+.\"      Manpage for ap-gl utility
+.\"   from Wireless Access Point Utilitess for Unix
+.\"
+.\"  Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+.\"
+.\"  This program is free software; you can redistribute it and/or modify
+.\"  it under the terms of the GNU General Public License Version 2 from
+.\"  June 1991 as published by the Free Software Foundation.
+.\"
+.\"  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
+.TH ap-gl 8 "Wireless Access Point Utilites for Unix"
+.SH NAME
+ap-gl \- configure and monitor ATMEL_PRISM based APs
+
+.SH SYNOPSIS
+.B ap-gl
+
+.SH DESCRIPTION
+.B ap-gl
+to config and get stats from Atmel-chipset based AP with ATMEL_PRISM Private MIB support.
+
+.SH MENU
+.PP
+.B Info/
+.TP
+.B     SysInfo
+Get info about AP hardware and software
+.TP
+.B     Ethernet
+This option displays the Ethernet statistics for your reference.
+.TP
+.B     Wireless
+This option displays the wireless statistics for your reference.
+.TP
+.B     Stations (atmel)
+Under this menu the user will be able to see the Associated Stations that are currently associated with the Access Point. For each associated station the user will be able to see the MAC Address. From version 0.7.3-pre1 you may save mac addresses list to file ~/<util_name>.stations.
+Stations on NWN AP:
+For each associated station the user will be able to see the MAC Address, Link Quality, RSSI and Idle time.
+ * Mac address: If the association is pending (that is, the Client is scanning, authenticating or associating), assocAddress contains the MAC address of that Client with the group bit set to indicate that the Access Point is aware of the presence of that Client. The other objects of the entry will be updated based on the information extracted from the received Probe Requests.
+ * Link Quality: An indicator for the quality of the Client. If the association is still pending, the quality is calculated over the received Probe Requests from the Client. If the Client is associated, the quality derived from any activity with the Client. The actual quality source depends on the selected quality indicator. The semantics of the indicator is 'low is good quality' and 'high is bad quality'.
+ * IdleTime: An indicator (in seconds) for the age of the information on the Client. The age is reset to 0 if any activity of this Client is detected.
+ * RSSI: An indicator for the RSSI of the Client. If the association is still pending, the RSSI is calculated over the received Probe Requests from the Client. If the Client is associated, the RSSI derived from any activity with the Client.
+.TP
+.B     KnownAP
+By using option APs from info menu you may see all Access Points thats visible by your AP.
+ * Link  Quality:  An indicator for the quality of the Client. If the associat ion  is  still  pending, the  quality  is calculated over the received Probe Requests from the Client. If the Client is  associated,  the  quality  derived from any activity with the Client. The actual quality  source  depends  on the  selected  quality  indicator. The semantics of the indicator is 'low is good quality' and 'high is bad quality'.
+ * RSSI:  An indicator for the RSSI in dBm of the Client.  If the association is still pending,  the  RSSI  is calculated  over  the  received Probe Requests from the Client. If the Client is associated,  the  RSSI derived from any activity with the Client.
+ * WARNING! By reports this option my be dangerously - in some cases you may lost you AP configuration and on SMC2655W the one way to fix it - only restore factory defaults.
+.PP
+.B Config/
+.TP
+.B     Bridging
+       IP configuration - If the server site supports DHCP function and the  DHCP Enable box is ticked; the IP address of an access point will be automatically displayed and assigned; otherwise, you need to key in an IP address now.
+       The primary port provides a wired or wireless method to change the access point setting. If the  Ethernet  option is ticked, the setting of an access point can be done through Ethernet. If the Wireless  option is ticked, the access point function can be set through a wireless station. Wireless station means a laptop PC or a desktop PC equipped with an IEEE802.11b PCMCIA card or USB dongle.
+       Enable SNMP Traps enables the SNMP trap function. You can view the records by using ap-trapd utility.
+       You are allowed to set your access point to be used as  Access point, Access point client, or  Wireless bridge.
+ * Access Point - An internetworking device that seamlessly connects wired and wireless networks together.
+ * Wireless bridge Point to point - The point-to-point wireless bridge configuration uses two Wireless Bridge units to connect two separate LANs. You must to fill in the Remote MAC Address before your bridge-function-enable access point can work with it.
+ * Point to multipoint - When connecting three to more separate LANs, each LAN located building requires a wireless bridge. This is called Multipoint wireless bridge and again requires one  Master  bridge unit and two or more Slave bridge units as required. If the point-to-multipoint option is selected, your bridge-function-enable access point will designate as a  Mater  and to work with it, others bridges need to be set as a point-to-point bridge and enter the MAC address of the mater access point.
+.TP
+.B     Wireless
+You can give your access point a name and give it an ESSID (Extended Service Station ID), which can allow other wireless stations, which knows the ESSID, to link with it.
+
+.TP
+.B     Privacy
+The Privacy options allow you to enable 64-bit or 128-bit WEP (wired equivalent privacy) encryption. If an encryption function is not needed, you can just simply tick on the  Disable  box to disable it. If the 64-bit or 128-bit encryption function is enabled, there are four sets of key need to be filled into the blanket boxes. For the 64-bit encryption, each key is required to enter 5 Hex digits. For example: 11 22 33 44 55.  The 128-bit encryption requires each key to enter 13 Hex digits. For example: 12 34 56 78 9A BC DE F0 11 22 33 44 55.
+.br
+NOTE! The WEP keys you enter are really accepted and written to the AP, permanently if you do an Upload from the Commands menu after setting them.  However, the new key values are not echoed to the user when you return to the Privacy settings under the Config menu.  This is a security feature of SNMP implementation in this hardware.
+
+.TP
+.B     Authorized MAC address
+For security or management purpose, you can edit a list of authorized MAC addresses, which are allowed to view or modify the setting of an access point. Authorization Table Enable  option allows you to enable or disable this function.
+
+.TP
+.B     Community
+The Community configuration  allow you to set a phrase for administrator and manufacturer community and a phrase for user community. If a user knows the phrase of administrator, he/she is authorized to change the setting of an access point. If a user only knows about the phrase of a user community; he/she is allowed to view the setting of an access point but is not allowed to change the setting.
+
+.TP
+.B     Radio
+       Under the Radio user will be able to set or get the Transmitting Powervalues, for the Control Register 31 of the Baseband, for each channel. Reg CR31: Under this option user defines a value for the transmitted power (Value for the Control register 31 of the baseband) and it must be in the range 128 (max) to 255 (min) in Decimal form. Starting from version 0.6 of Access Point SNMP Config utility it's possible to set power output level for your AP. You may set signal power output in range from 0mw to 100mw by setting value for corresponding channel from 0 to 255 (0xFF). The scale is as follows:
+.BR
+             Value: 00----------128--------255
+.br
+             Power: 0mw--------100mw-------0mw
+.br
+       So to get maximum power output from your AP set value for corresponding channel to 128 (0x80). But sometimes better solution - experimentalli choose values for best link quality, sometimes not max. More info you can get from:
+ http://pasadena.net/aprf/;
+ http://www.wi2600.org/mediawhore/nf0/wireless/docs/802.11/WAP11/fun_with_the_wap11.txt.
+
+.PP
+.B Commands/
+.TP
+.B     Upload
+After you ve changed any value or setting of an access point through the SNMP config utility. You must come back to this option to make the new changes and setting s validated. Also, only an administrator and manufacturer is allowed to do such changes.
+.TP
+.B     Defaults
+Restore factory default configuration.
+.TP
+.B     Reset
+Reset AP. All changed and not uploaded settings will be lost.
+.TP
+.B TestMode/
+       When user selects the Tests option a form will appear indicating a number of parameter needed to be set by the user in order to perform the Radio test.
+        Antenna: Under this option we specify the antenna to be tested (A, B).
+        Tx Filter: Under this option user needs to select the Baseband transmitting Filter to be used. There are two options (US, JPN) available since the bandwidth for Europe - USA is 11MHz and for, Japan is 14MHz.
+        Rate: Under this option user needs to specify the rate to be used among the following options 1Mbps, 2Mbps, 5.5Mbps and 11Mbps.
+        Channel: Under this option user needs to select the channel to be used. There are 14 channels available.
+       After setting the parameters there are three commands available: Continuous Tx (With modulation), Continuous Tx (Witout modulation) and Continuous Rx:
+ * Continuous Tx (with modulation): Using this command the MAC sets the transmitter in continuous mode with modulation. We can measure the output power of the radio.
+ * Continuous Tx (without modulation): Using this command we can measure the frequency accuracy of the radio. The MAC sets the baseband Processor in test mode and turns off the spreading and scrambling codes.
+ * Continuous Rx: With this command user can set the device in a receiving mode.
+ Note: In  order to perform the above test user needs to have a Spectrum Analyzer connected.
+
+.TP
+.B Connect/
+In order to make a connection with Access Point user needs to set two parameters. The IP Address of the Access Point and the Community name (default 'public').
+.TP
+.B Search/
+Find connected Access Points. Search for WNW APs only works if community set to right AP community. It's useful if you know community but dont know what ip your AP got from DHCP server.
+You must have support for multicasting enabled in kernel.
+.TP
+.B About/
+About function shows the Wireless Access Point Configurator for Unix version and short info.
+.TP
+.B Shell/
+Run subshell. To return type 'exit'
+
+.SH NAVIGATION KEYS
+In case you unable to use cursor keys to menu navigate - try to use "h" to go left, "j" to go down, "k" to go up, "l" to go right, like vi editor.
+
+.SH AUTHOR
+Roman Festchook <roma@polesye.net>
+.br
+http://ap-utils.polesye.net
+
+.SH SEE ALSO
+ap-trapd(8), ap-mrtg(8), ap-config(8)
+
index 770e90ac71d04f3c3c2d45db7458e3627223c726..d004b856a47531035883b17bc900e6967c1e5939 100644 (file)
@@ -26,6 +26,7 @@ AUTOMAKE_OPTIONS = gnu
 EXTRA_DIST = config/* ap-utils.spec
 
 dist-hook:
+       rm -f $(distdir)/po/*.gmo
        -chmod -R a+r $(distdir)
        tar chof $(distdir).tar $(distdir)
        bzip2 -v9f $(distdir).tar
index 79ca9d2f44a21f2329a8c4fe3f8d50aafb953858..809e3fc8ee948c6ea04072eb90f59f146c5a7ac9 100644 (file)
@@ -573,6 +573,7 @@ uninstall-info: uninstall-info-recursive
 
 
 dist-hook:
+       rm -f $(distdir)/po/*.gmo
        -chmod -R a+r $(distdir)
        tar chof $(distdir).tar $(distdir)
        bzip2 -v9f $(distdir).tar
diff --git a/TODO b/TODO
index 2b698c1ac6c36faedb3c785478099757dc0b638c..8bada48341b8a3dfab0248dbeed404d506c31369 100644 (file)
--- a/TODO
+++ b/TODO
@@ -4,6 +4,10 @@ TODO for ap-utils:
 * porting to other Unix'es and platforms (ALWAYS)
 * support new AP's (ALWAYS)
 
+* (maybe): move S_DEFCHAN message up to screen beginning in set_oeminfo.c
+* add S Search key in get_opts that would allow - instead of connecting -
+  searching for APs first
+
 * implement displaying of 'NetworkSettings' OID structure in place of
   'Stations' submenu, if the target AP using VERNET ATMEL12350 MIB
   is in STA mode. This would finally bring us client-mode diagnostics
@@ -12,19 +16,14 @@ TODO for ap-utils:
   and ATMEL410 non-SB MIBs, it will apparently stay missing forever,
   unfortunately)
 * switch the 'Status' field in 'Stations' from numeric to verbose representation
-* adding access for editing feature values in sysinfo.c [by a hidden key,
-  with a big warning, since this would be a _very_ dangerous option]
 * add 802.1X support for ATMEL12350 APs
 * patch test.c so that it works with ATMEL12350 devices
 * update src/ap-gl.c to reflect changes made in src/stations.c during 1.4.1pre*
   transition
 * try to not rely on actually configured subnet information on each
   network interface in ap scan
-* perhaps implement better way to distinguish between ATMEL410 and
-  ATMEL12350 APs - see TODO comment in ap_search.c
+* implement rssi view toggling for nwn_stations()
 * update manpages
-* add S Search key in get_opts that would allow - instead of connecting - searching for APs first
-* move updates from ap-gl to ap-config
 * increase/disable knownAPs limit
 * use iptraf like ethernet.desc file to store stations description
 * add per client LQ and RSSI stats to ap-mrtg
index 8c765141d859b273aa070fef8b44bb3820d51fd0..610d949c43635e6b30e696942c7bd5fccdd736cf 100644 (file)
 #include "ap-utils.h"
 
 WINDOW *win_for_menu, *sub_for_menu, *win_for_help, *main_win, *main_sub;
-short ap_type;
 char *community, *name;
-int sockfd, atmel410_filter=1;
+int sockfd, atmel410_filter = 1, wait_mode = WAIT_FOREVER;
 struct in_addr ap_ip;
-
-char *ap_types[3] = {
-    "ATMEL_PRISM",
-    "NWN",
-    "ATMEL12350"
-};
-
 char *prog_title = "Wireless AP Configurator for GlobalSun";
+char set_oeminfo_allowed = 0;
+extern char *ap_types[];
 
 void config_menu()
 {
@@ -56,35 +50,36 @@ void config_menu()
        {0, 0, NULL, 0}
     };
 
+   set_oeminfo_allowed++;
    uni_menu(umenu_atmel, sizeof(umenu_atmel) / sizeof(umenu_atmel[0]));
+   set_oeminfo_allowed--;
 }
 
 
 void command_menu()
 {
     struct umitems command_umenu_atmel[] = {
-       {_("Upload"), _("Make current configuration active"), upload, 0},
-       {_("Defaults"), _("Restore factory default settings"), defaults,
-        0},
+       {_("Upload"), _("Activate current configuration"), upload, 0},
+       {_("Defaults"), _("Restore factory default settings"), defaults, 0},
        {_("Reset"),
-        _("Reset AP. All not uploaded configuration will be lost"),
-        reset, 0},
+        _("Reset AP. All not uploaded configuration will be lost"), reset, 0},
        {_("TestMode"), _("Put Access Point in test mode"), test, 0},
        {"..", MAIN_MENU, NULL, 0},
        {0, 0, NULL, 0}
     };
+
+    ap_types[1] = "ATMEL_PRISM";
+
     uni_menu(command_umenu_atmel, sizeof(command_umenu_atmel) / sizeof(command_umenu_atmel[0]));
 }
 
-
 void stat_menu()
 {
     struct umitems umenu_atmel[] = {
        {_("SysInfo"), MENU_SYSINFO, atmel_sysinfo, 0},
        {_("Ethernet"), _("Get ethernet port statistics"), EthStat, 0},
        {_("Wireless"), MENU_WIRELESS, WirelessStat, 0},
-       {_("Stations"), MENU_STAS, stations,
-        0},
+       {_("Stations"), MENU_STAS, atmel_stations, 0},
        {_("KnownAPs"), _("Get info about known Access Points"), APs, 0},
        {"..", MAIN_MENU, NULL, 0},
        {0, 0, NULL, 0}
@@ -95,8 +90,8 @@ void stat_menu()
 
 void _auth()
 {
-       if(get_opts() == 0)
-               connect_options((unsigned long) NULL, ATMEL410+1);
+    if (get_opts() == 0)
+       connect_options((unsigned long) NULL, ATMEL410+1);
 }
 
 void main_menu()
@@ -124,6 +119,7 @@ int main( /*int argc, char **argv */ )
     WINDOW *win_for_title;
     char message[100];
 
+    ap_types[0]="ATMEL_PRISM";
 
 #ifdef HAVE_GETTEXT
     /* locale support init */
@@ -202,10 +198,9 @@ int main( /*int argc, char **argv */ )
     wrefresh(main_win);
 
     about();
-    if (get_opts() == 0) {
-               connect_options((unsigned long) NULL, ATMEL410+1);
+    if (get_opts() == 0)
+       connect_options((unsigned long) NULL, ATMEL410+1);
 
-    }
     while (1)
        main_menu();
 
index 5a343361813fc387a7235dd5965d87af8e3d6901..edcd20f4ddd09b1e7cf0a59904174d34657f7c0f 100644 (file)
@@ -22,7 +22,6 @@
 #include <unistd.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define MAX_LINES LINES-6
 #define PACKET_ERROR _("AuthorizedMacTableString packet error")
@@ -125,7 +124,7 @@ void atmel_auth_mac()
        print_helperr(ERR_RET);
        goto exit;
     }
-    print_title(MAC_TITLE);
+    print_top(NULL, MAC_TITLE);
 
     auth_mac = *(varbinds[0].value);
     memcpy(&radius_ip.s_addr, varbinds[1].value, 4);
@@ -466,6 +465,6 @@ choose_view:
     }
     if (AuthMac)
        free(AuthMac);
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
index d283e90b31c00548e5d1c1a7c948e0c6f8a4401d..1ef881361031557067ff58d11de813d27a69f9d9 100644 (file)
@@ -22,7 +22,6 @@
 #include <string.h>
 #include <sys/types.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define IPADDR _("[I] IP: ")
 #define NETMASK _("[N] Netmask: ")
@@ -176,7 +175,7 @@ void bridging()
        goto exit;
     }
 
-    print_title(_("Bridging"));
+    print_top(NULL, _("Bridging"));
 
     sb_ucast = *(varbinds[11].value);
 //    sb_ucast = varbinds[11].len_val;
@@ -484,7 +483,7 @@ void bridging()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index 63fe84a995f276b93fcf470b168575cfe0723c5a..9d47e0eab4618efa22f561ec415dac994e69a4af 100644 (file)
 #include <signal.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define MAX_LINES LINES-4
 
-#define STAS _("Associated Stations")
-
 extern int LINES;
 extern WINDOW *main_sub;
 extern short ap_type;
 
-void stations()
+void atmel_stations()
 {
     char StasNum[] = {
        0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01, 0x00
@@ -63,7 +60,7 @@ void stations()
     int mac_num, begin, end, total_mac;
     varbind varbinds[1];
 
-    print_title(STAS);
+    print_top(NULL, TITLE_STAS);
 
     varbinds[0].oid = bridgeOperationalMode;
     varbinds[0].len_oid = sizeof(bridgeOperationalMode);
@@ -100,8 +97,8 @@ void stations()
     total_mac = *(varbinds[0].value);
     mac_num = 1;
 
-    sprintf(message, "%s: %d", STAS, total_mac);
-    print_title(message);
+    sprintf(message, "%s: %d", TITLE_STAS, total_mac);
+    print_top(NULL, message);
     mvwaddstr(main_sub, 0, 1, _("#     MAC       LQ    RSSI   Status Port IP"));
     noecho();
 
@@ -147,7 +144,9 @@ void stations()
 //     memcpy(curr->ParentMacAddress, mac->ParentMacAddress, 6);
        memcpy(&(curr->IP.s_addr), mac->IP, 4);
        curr->quality = 100 - (minimum(mac->LinkQuality, 40)*2.5);
-       curr->rssi = - 96 + mac->RSSI;
+//     curr->rssi = - 96 + mac->RSSI;
+//     curr->quality = mac->LinkQuality;
+       curr->rssi = mac->RSSI;
        
        curr->Port = mac->Port;
        curr->Status = mac->Status;
@@ -157,8 +156,8 @@ void stations()
     begin = 1;
     end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
     scroll_rows(first, begin, end, 1, 2);
-    print_help(_("Arrows - scroll; S - save to file; Q - quit to menu."));
     while (1) {
+       print_help(_("Arrows - scroll; S - save to file; Q - quit to menu."));
        switch (getch()) {
        case 'S':
        case 's':
@@ -191,7 +190,7 @@ void stations()
        first = curr->next;
        free(curr);
     }
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index 8871e6cb7b4aa76f9e06a982df8975642a3d93ee..cf9108b3edcceba93b7cf4d1552d9ff802bff042 100755 (executable)
--- a/configure
+++ b/configure
@@ -1551,7 +1551,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=ap-utils
- VERSION=1.4.2pre2a
+ VERSION=1.5pre1_FreedomOfUkraine
 
 
 cat >>confdefs.h <<_ACEOF
index e8b938207d185529ecc4ca57fd8a5d71048dbc97..a106b7dd4e48ee95ed54a01dfc2d96c5c37eab12 100644 (file)
@@ -18,7 +18,7 @@
 #
 AC_INIT([lib/snmp.c])
 AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE(ap-utils, 1.4.2pre2a)
+AM_INIT_AUTOMAKE(ap-utils, 1.5pre1_FreedomOfUkraine)
 AM_CONFIG_HEADER(config.h)
 
 ac_aux_dir=config
index d1035a7156e7bc1bc04cdbbc7cf56048c775c260..d1d829aa0cdac91491a9f4c02d5650df0d4dd8eb 100644 (file)
@@ -16,5 +16,5 @@
 
 INCLUDES = -I../intl
 noinst_LIBRARIES = libap.a
-libap_a_SOURCES = ap-utils.h ap-curses.h reset.c snmp.c oui.c input.c menu.c scr.c wep.c wlan.c test.c stat.c set_community.c cmd.c radio.c aps.c ap_search.c sysinfo.c common.c file.c
+libap_a_SOURCES = ap-utils.h ap-curses.h reset.c snmp.c oui.c input.c menu.c scr.c wep.c wlan.c test.c stat.c set_community.c cmd.c radio.c aps.c ap_search.c sysinfo.c set_oeminfo.c common.c file.c
 EXTRA_libap_a_SOURCES = ber.c
index b118d18982f93d01140aaffa913d75ef65072d47..51c7132afcc3f09777737d24098541f141e4b178 100644 (file)
@@ -156,7 +156,7 @@ target_alias = @target_alias@
 
 INCLUDES = -I../intl
 noinst_LIBRARIES = libap.a
-libap_a_SOURCES = ap-utils.h ap-curses.h reset.c snmp.c oui.c input.c menu.c scr.c wep.c wlan.c test.c stat.c set_community.c cmd.c radio.c aps.c ap_search.c sysinfo.c common.c file.c
+libap_a_SOURCES = ap-utils.h ap-curses.h reset.c snmp.c oui.c input.c menu.c scr.c wep.c wlan.c test.c stat.c set_community.c cmd.c radio.c aps.c ap_search.c sysinfo.c set_oeminfo.c common.c file.c
 EXTRA_libap_a_SOURCES = ber.c
 subdir = lib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -172,7 +172,7 @@ am_libap_a_OBJECTS = reset.$(OBJEXT) snmp.$(OBJEXT) oui.$(OBJEXT) \
        wlan.$(OBJEXT) test.$(OBJEXT) stat.$(OBJEXT) \
        set_community.$(OBJEXT) cmd.$(OBJEXT) radio.$(OBJEXT) \
        aps.$(OBJEXT) ap_search.$(OBJEXT) sysinfo.$(OBJEXT) \
-       common.$(OBJEXT) file.$(OBJEXT)
+       set_oeminfo.$(OBJEXT) common.$(OBJEXT) file.$(OBJEXT)
 libap_a_OBJECTS = $(am_libap_a_OBJECTS)
 
 DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)
@@ -184,7 +184,8 @@ am__depfiles_maybe = depfiles
 @AMDEP_TRUE@   ./$(DEPDIR)/input.Po ./$(DEPDIR)/menu.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/oui.Po ./$(DEPDIR)/radio.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/reset.Po ./$(DEPDIR)/scr.Po \
-@AMDEP_TRUE@   ./$(DEPDIR)/set_community.Po ./$(DEPDIR)/snmp.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/set_community.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/set_oeminfo.Po ./$(DEPDIR)/snmp.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/stat.Po ./$(DEPDIR)/sysinfo.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/test.Po ./$(DEPDIR)/wep.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/wlan.Po
@@ -234,6 +235,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reset.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_community.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_oeminfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysinfo.Po@am__quote@
index 94e256a9747e6a07e58a37cd2d4db42e86546f4c..0936d4012cd125caf68c99b4eeb04f2799e54e3f 100644 (file)
@@ -38,7 +38,10 @@ typedef unsigned int uint32_t;
 #endif /* ifdef OS_SOLARIS */
 #endif /* ifdef OS_BSD */
 
+#include "ap-curses.h"
+
 #define TITLE "Wireless Access Point Utilites for Unix"
+#define VIEW "View: "
 
 #define minimum(x, y)  x <= y ? x : y
 
@@ -57,13 +60,15 @@ typedef unsigned int uint32_t;
 
 
 #ifdef WORDS_BIGENDIAN
-/* a quick-and-dirty macro to unconditionally swap bytes in 4-byte integers
- * between big-endian and little-endian ordering */
+/*
+ * a quick-and-dirty macros to unconditionally swap bytes in 2 and 4-byte
+ * integers between big-endian and little-endian ordering
+ */
 #define swap2(d) ((((d) >> 8) & 0x00ff) | (((d) << 8) & 0xff00))
 #define swap4(d) ((((d) >> 24) & 0x000000ff) | (((d) >>  8) & 0x0000ff00) | (((d) <<  8) & 0x00ff0000) | (((d) << 24) & 0xff000000))
 #else
 #define swap2(d) d
-#define swap4(n) n
+#define swap4(d) d
 #endif
 
 #define rlong(a)       ((a) = swap4(a))
@@ -95,17 +100,19 @@ typedef unsigned int uint32_t;
 #define BASIC _("Basic")
 
 #define ANY_KEY _("Press any key to continue.")
+#define QT_HELP _("Q - quit to menu. T - toggle polling mode, Other key - force update.")
 
 #define ERR_SET _("Unable to write data to AP. Press any key to continue.")
 #define ERR_RET _("Unable to retrieve (valid) data from AP. Press any key to continue.")
-#define WAIT_RET _("Retrieving data from AP. Please wait...")
+#define WAIT_RET _("Trying to retrieve data from AP. Please wait...")
 #define WAIT_SET _("Writing data to AP. Please wait...")
 #define DONE_SET _("Configuration written to the AP. Press any key to continue.")
+#define SELECT _("select() function error. Press any key.")
 
 #define CREATE_SOCKET_ERROR _("Create socket error. Press any key.")
 #define BIND_SOCKET_ERROR _("Bind socket error. Press any key.")
 
-#define MAIN_MENU  _("Back to main menu")
+#define MAIN_MENU _("Back to main menu")
 #define MENU_EXIT _("Exit program")
 #define MENU_SHELL _("Run subshell. To return type 'exit'.")
 #define MENU_ABOUT _("Short info about program")
@@ -118,8 +125,12 @@ typedef unsigned int uint32_t;
 #define MENU_WIRELESS _("Get wireless port statistics")
 #define MENU_STAS _("Get list of currently associated stations (Access Point clients)")
 #define MENU_INFO _("Get info and statistics from AP")
-#define MENU_CONFIG  _("Set various configuration options")
+#define MENU_CONFIG _("Set various configuration options")
 
+#define TITLE_STAS _("Associated stations")
+
+#define POLL_ON _("Polling: on")
+#define POLL_OFF _("Polling: off")
 
 #define INT_VALUE      0x02
 #define STRING_VALUE   0x04
@@ -145,12 +156,23 @@ typedef unsigned int uint32_t;
 #define MCOLS 15 /* width of menu window */
 #define LAST_ROW LINES-5
 
+#define WAIT_TIMEOUT 1
+#define WAIT_FOREVER 0
+
 /* Basic distinguished MIB (and AP) types */
+/* Numbering with respect to order in ap_types */
 #define ATMEL410 0
 #define NWN 1
 #define ATMEL12350 2
 
-typedef struct VarBind {
+/* Vendor distinguished MIB subtypes */
+/* Numbering with respect to order in ap_vendorexts */
+#define NONE 0
+#define SBRIDGES 1
+#define TELLUS 1
+#define VERNET 2
+
+typedef struct {
     unsigned char *oid;
     int len_oid;
     unsigned char *value;
@@ -158,6 +180,13 @@ typedef struct VarBind {
     unsigned char type;
 } varbind;
 
+typedef struct {
+    char code;
+    char *desc;
+    unsigned short first_ch;
+    unsigned short chans;
+} rdprops;
+
 struct umitems {
        char *item;
        char *help;
@@ -231,12 +260,12 @@ struct WirelessStatistics {
        uint32_t TransmittedPackets_1Mbps;
 };
 
-struct SysDeviceInfo_ATMEL410 {
+struct sysDeviceInfo_ATMEL410 {
     /* sysDeviceInfo OID struct for ATMEL 410 */
     uint32_t StructVersion;
     unsigned char MacAddress[6];
     unsigned short Reserved;
-    uint32_t RegulationDomain;
+    uint32_t RegulatoryDomain;
     uint32_t ProductType;
     unsigned char OEMName[32];
     uint32_t OEMID;
@@ -244,19 +273,18 @@ struct SysDeviceInfo_ATMEL410 {
     uint32_t HardwareRevision;
 };
 
-struct SysDeviceInfo_ATMEL12350 {
+struct sysDeviceInfo_ATMEL12350 {
     /* sysDeviceInfo OID struct for ATMEL 12350 */
     uint32_t StructVersion;
     unsigned char MacAddress[6];
     unsigned char Channel;
-    unsigned char RegulationDomain;
+    unsigned char RegulatoryDomain;
     uint32_t ProductType;
     unsigned char OEMName[32];
     uint32_t OEMID;
     unsigned char ProductName[32];
     uint32_t HardwareRevision;
-    /* The rest is actually dormant. */
-    /*
+    /* The rest is mostly dormant. */
     unsigned char PID_VID[4];
     uint32_t sysOIDSize;
     uint16_t sysOID[16];
@@ -266,7 +294,6 @@ struct SysDeviceInfo_ATMEL12350 {
     unsigned char Reserved2[2];
     unsigned char TxPower[14];
     unsigned char Reserved3[10];
-    */
 };
 
 struct MacListStat {
@@ -285,17 +312,18 @@ struct MacListStat {
 
 /* service */
 extern char * oui2manufacturer(char *);
-extern int ch_list(int, char **);
+extern int  regdom_idx(char);
+extern int  ch_list(int, char **);
 extern void connect_options(unsigned long int, int);
-extern int get_mib_details(void);
+extern int  get_mib_details(void);
 extern void about(void);
 extern void draw_menu_win(void);
 extern void main_menu(void);
-extern void print_title(char *);
-extern void print_viewtype(char *);
-extern void print_viewtype_rssi(void);
+extern void print_bold(WINDOW *, char *);
 extern void print_menusel(int, int, char *, char *);
 extern void print_bottom(char *);
+extern void print_top(char *, char *);
+extern void print_top_rssi(char *);
 extern void print_help(char *);
 extern void print_helperr(char *);
 extern void clear_main(int);
@@ -304,11 +332,14 @@ extern int  conv_rssi(int);
 extern void get_mac(char *, int, int);
 extern void get_ip(struct in_addr *, int, int, char *);
 extern void get_mask(struct in_addr *, int, int, char *);
-extern void get_value(char *, int, int, int, char, int, int, char *);
+extern void get_value(char *, int, int, int, char, unsigned int, unsigned int,
+                     char *);
 extern void get_pass(char *, int, int, int);
-extern int  menu_choose(int, int, char **, unsigned int);
 extern int  yes_no(int, int);
 extern int  on_off(int, int);
+extern int  menu_choose(int, int, char **, unsigned int);
+extern int  wait_key(void);
+extern int  help_ysn(void);
 extern void scroll_rows(struct MacListStat *, int, int, int, int);
 extern void exit_shell(void);
 extern void exit_program(void);
@@ -321,13 +352,15 @@ extern void AuthorizedSettings(void);
 extern void bridging(void);
 extern void wep(void);
 extern void WirelessStat(void);
-extern void stations(void);
+extern void atmel_stations(void);
 extern void atmel_sysinfo(void);
+extern void atmel_set_oeminfo(void);
 extern void ap_search(void);
 
 /* snmp engine*/
 extern int snmp(varbind *, int, int);
 extern int ber(char *, varbind *, int, int);
+/* extern unsigned int ber_decode_uint(unsigned char *, int); */
 
 /* function prototypes specific for ATMEL utility */
 extern void reset(void);
index 13d67be672b8e4acd1affbf1a4823e5ab9b84414..a633d0d2cf339d8e50558b0d68c63f0d49f31a2f 100644 (file)
 #include <errno.h>
 #include "ap-utils.h"
 #include "config.h"
-#include "ap-curses.h"
 
 #if defined (__GLIBC__)
 #include <libgen.h>
 #endif
 
-
-#define SEARCH_HEADER _(" #        Type              IP              Name")
-
+#define SEARCH_COMMUNITY _("Community name: ")
+#define SEARCH_HEADER _("  NUM  IP ADDRESS       MIB TYPE    NAME")
 #define MAX_APS LAST_ROW-7
 
 extern int atmel410_filter;
+extern char *community;
 
 char q_pressed = 0;
 int i, f_ifctr;
@@ -66,23 +65,25 @@ void scan_local_segment (struct sockaddr_in *from, struct sockaddr_in *to,
     extern WINDOW *main_sub;
     extern char *ap_types[];
     unsigned char message[1024], *start;
-/*
+       extern int atmel410_filter; /* to check is this function called from ap-gl utility */
+
+    
     char Wireless[3][12] = {
       {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x01, 0x00},
       {0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00},
       {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x00}
     };
-*/
+
     /*
-     * operAccessPointName OIDs used to detect AP type [in order of appearance
-     * according to the 'for' loop below: ATMEL410, NWN, ATMEL12350]
+     * operAccessPointName OIDs used to detect AP MIB type [in order
+     * of appearance in the 'for' loop below: ATMEL410, NWN, ATMEL12350]
      */
-    char operAccessPointName[3][12] = {
+/*    char operAccessPointName[3][12] = {
       {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A, 0x00},
       {0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x05, 0x00},
       {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0A, 0x00}
     };
-
+*/
     int scd_ap_type, last_searched_type=ATMEL12350;
     int c, s2, errno, len, client_len = SIZE;
     struct in_addr to_addr_reserv;
@@ -142,14 +143,16 @@ void scan_local_segment (struct sockaddr_in *from, struct sockaddr_in *to,
     
     for (scd_ap_type = ATMEL410; scd_ap_type <= last_searched_type; scd_ap_type++) {
        clear_main_new(LAST_ROW - 1, LAST_ROW);
-       sprintf(message, _("Scanning for AP type: %s"), ap_types[scd_ap_type]);
+       sprintf(message, _("Scanning for AP with MIB type: %s"),
+           ap_types[scd_ap_type]);
        mvwaddstr(main_sub, LAST_ROW - 1, 1, message);
        wrefresh(main_sub);
 
-       varbinds[0].oid = operAccessPointName[scd_ap_type];
-       varbinds[0].len_oid =
-           (scd_ap_type == ATMEL410 || scd_ap_type == ATMEL12350) ?
-           sizeof(operAccessPointName[scd_ap_type]) : 8;
+/*     varbinds[0].oid = operAccessPointName[scd_ap_type];*/
+       varbinds[0].oid = Wireless[scd_ap_type];
+       varbinds[0].len_oid = (scd_ap_type == NWN ?
+/*         8 : sizeof(operAccessPointName[scd_ap_type]));*/
+           8 : sizeof(Wireless[scd_ap_type]));
        varbinds[0].len_val = 0;
        varbinds[0].type = NULL_VALUE;
        len = ber(message, varbinds, 1, GET);
@@ -287,16 +290,18 @@ void scan_local_segment (struct sockaddr_in *from, struct sockaddr_in *to,
            fapsa[i].ip = from->sin_addr;
            fapsa[i].type = scd_ap_type;
 
-           sprintf(message, "%2i %11s %15s", i, ap_types[fapsa[i].type],
-               inet_ntoa(fapsa[i].ip));
-
+           for (len = 0; len < varbinds[0].len_val && start[len]; len++);
+           start[len + 1] = '\0';
+           if (len > 25) {
+               /* Truncate (limited screen size) and screen-width independent! */
+               start[COLS-53-atmel410_filter] = '>';
+               start[COLS-52-atmel410_filter] = '\0';
+           }
+           sprintf(message, "  %3i  %-15s  %-10s  %s", i,
+               inet_ntoa(fapsa[i].ip), ap_types[fapsa[i].type], start);
            i++;
 
            mvwaddstr(main_sub, i, 0, message);
-
-           for (len = 0; len < 32 && start[len]; len++);
-           start[len + 1] = '\0';
-           mvwaddstr(main_sub, i, 30 + ((32 - len) / 2), start);
            wrefresh(main_sub);
 
            /* Bail out if the number of found devices exceeds sane limit. */
@@ -323,8 +328,21 @@ void ap_search()
     struct ifconf ifc;
     struct ifreq *ifr;
     char *ifbuf_ptr = NULL, *ifrec_ptr;
+    char *old_community;
+    char buf[16];
+
+    print_help(_("Please enter SNMP community name that will be used for AP "
+                "detection."));
+    mvwaddstr(main_sub, 0, 2, SEARCH_COMMUNITY);
+    wrefresh(main_sub);
+    get_pass(buf, 0, 2 + strlen(SEARCH_COMMUNITY), sizeof(buf));
+    old_community = community;
+    community = malloc(strlen(buf) + 1);
+    strncpy(community, buf, strlen(buf) + 1);
+    print_help("");
+    clear_main(0);
 
-    print_title(_("Access Points Search"));
+    print_top(NULL, _("Access Points Search"));
     mvwaddstr(main_sub, 0, 0, SEARCH_HEADER);
     wrefresh(main_sub);
 
@@ -455,13 +473,15 @@ void ap_search()
                case '7':
                case '8':
                case '9':
-                   if (ac-'0' > (i - 1))
+                   if (ac - '0' > (i - 1))
                        continue;
-                   print_title("");
+
+                   print_top(NULL, NULL);
                    clear_main(0);
-                   connect_options(fapsa[ac-'0'].ip.s_addr,
-                       fapsa[ac-'0'].type + 1);
-                       free(fapsa);
+                   free(old_community);
+                   connect_options(fapsa[ac - '0'].ip.s_addr,
+                       fapsa[ac - '0'].type + 1);
+                   free(fapsa);
                    return;
            }
     }
@@ -475,8 +495,11 @@ quit:
     if (fapsa)
        free(fapsa);
 
+    free(community);
+    community = old_community;
+
     print_help("");
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index f2c99d7f1cbe5ab680f21c4d61e8eca3725c36fb..585b2477c675e69d5d8b8fa7fa47371f3983b3c4 100644 (file)
--- a/lib/aps.c
+++ b/lib/aps.c
 #include <fcntl.h>
 #include <stdlib.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
-extern WINDOW *main_sub/*, *win_for_menu*/;
+#define KNOWN_APS _("Known Access Points")
+
+extern WINDOW *main_win, *main_sub /* *win_for_menu */;
 extern short ap_type;
 extern int sockfd, atmel410_filter;
 extern struct in_addr ap_ip;
@@ -151,19 +152,8 @@ void APs()
        wattrset(main_sub, A_NORMAL);
        mvwaddstr(main_sub, 12, 20, _("Do you want to continue? "));
        wrefresh(main_sub);
-       print_help(_("(Y - Yes; N - No (it's safer to answer No)"));
-       i = 1;
-       while (i)
-           switch (getch()) {
-           case 'Y':
-           case 'y':
-               clear_main(3);
-               i = 0;
-               break;
-           case 'n':
-           case 'N':
-               goto quit;
-           }
+       if (help_ysn())
+           goto quit;
 
        needs_opmode_restore = 1;
        print_help(WAIT_RET);
@@ -185,6 +175,9 @@ void APs()
        sleep(7);
     }
 
+    sprintf(message, "%s%c", VIEW, ap_viewtype + '0');
+    print_top(message, KNOWN_APS);
+
 get_stats:
     varbinds[0].oid = KnownAP;
     varbinds[0].len_oid = sizeof(KnownAP);
@@ -199,11 +192,6 @@ get_stats:
 
 
 show_stats:
-    print_title(_("Known Access Points"));
-    message[0] = ap_viewtype + '0';
-    message[1] = '\0';
-    print_viewtype(message);
-
     /* display column info in main_sub */
     mvwin(main_sub, 0, 0);
     wattrset(main_sub, COLOR_PAIR(3));
@@ -570,6 +558,8 @@ show_stats:
                    if (ap_viewtype > 4)
                        ap_viewtype = 1;
                    clear_main(0);
+                   sprintf(message, "%s%c", VIEW, ap_viewtype + '0');
+                   print_top(message, KNOWN_APS);
                    goto show_stats;
            default:
                    print_help(WAIT_RET);
@@ -600,7 +590,7 @@ show_stats:
  exit:
     getch();
  quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index 61a553417a24b1ce20f8c77cd7f35b10d94eed80..8895c7a0a6f9ed166f2d907dd2044469894d92b2 100644 (file)
--- a/lib/cmd.c
+++ b/lib/cmd.c
@@ -20,9 +20,6 @@
 
 #include <unistd.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
-
-#define ANSW_NO _("(Y - Yes; N - No (it's safer to answer No, unless you really need this.)")
 
 extern WINDOW *main_sub;
 extern short ap_type;
@@ -34,37 +31,24 @@ void defaults()
        0x01, 0x04, 0x00
     }, enable = 1;
     varbind varbinds[1];
-    int i;
 
     if (ap_type == ATMEL12350) {
        sysLoadDefaults[5] = 0xE0;
        sysLoadDefaults[6] = 0x3E;
     }
 
-    print_title(_("Restore factory default configuration"));
+    print_top(NULL, _("Restore factory default configuration"));
     mvwaddstr(main_sub, 3, 2,
              _
-             ("After restoring factory defaults your current configuration."));
+             ("After restoring factory defaults your current configuration"));
     mvwaddstr(main_sub, 4, 2, _("will be lost."));
     mvwaddstr(main_sub, 6, 20, _("Do you want to continue? "));
     wrefresh(main_sub);
-    print_help(ANSW_NO);
-    i = 1;
-    while (i)
-       switch (getch()) {
-       case 'Y':
-       case 'y':
-           clear_main(3);
-           i = 0;
-           break;
-       case 'n':
-       case 'N':
-           clear_main(3);
-           goto quit;
-       }
 
-    print_help(WAIT_SET);
+    if (help_ysn())
+       goto quit;
 
+    print_help(WAIT_SET);
 
     varbinds[0].oid = sysLoadDefaults;
     varbinds[0].len_oid = sizeof(sysLoadDefaults);
@@ -79,32 +63,20 @@ void defaults()
             ("Factory default settings loaded. Press any key to continue."));
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
 }
 
 void reset()
 {
-    int i;
-    print_title(_("Reset Access Point"));
+    print_top(NULL, _("Reset Access Point"));
     if(ap_type == ATMEL410) 
        mvwaddstr(main_sub, 3, 5,
              _("By reset you'll lose all non-uploaded configuration."));
     mvwaddstr(main_sub, 5, 20, _("Do you want to continue? "));
     wrefresh(main_sub);
-    print_help(ANSW_NO);
-    i = 1;
-    while (i)
-       switch (getch()) {
-       case 'Y':
-       case 'y':
-           clear_main(3);
-           i = 0;
-           break;
-       case 'n':
-       case 'N':
-           clear_main(3);
-           goto quit;
-       }
+
+    if (help_ysn())
+       goto quit;
 
     print_help(WAIT_SET);
     if (SysReset())
@@ -113,7 +85,7 @@ void reset()
        print_help(_("Access Point reset. Press any key to continue."));
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
 }
 
 int SysUpload()
@@ -142,31 +114,18 @@ int SysUpload()
 
 void upload()
 {
-    int i;
-    print_title(_("Upload configuration"));
+    print_top(NULL, _("Upload configuration"));
     mvwaddstr(main_sub, 3, 2,
-             _
-             ("You need to upload the configuration only if you've changed"));
+       _("You may need to upload the configuration only if you've"));
     mvwaddstr(main_sub, 4, 2,
-             _
-             ("some option values before. Using this option may cause loss"));
-    mvwaddstr(main_sub, 5, 2, _("of your current configuration."));
+       _("changed some option values before. Using this option may"));
+    mvwaddstr(main_sub, 5, 2,
+       _("cause loss of your current configuration."));
     mvwaddstr(main_sub, 7, 20, ("Do you want to continue? "));
     wrefresh(main_sub);
-    print_help(ANSW_NO);
-    i = 1;
-    while (i)
-       switch (getch()) {
-       case 'Y':
-       case 'y':
-           clear_main(3);
-           i = 0;
-           break;
-       case 'n':
-       case 'N':
-           clear_main(3);
-           goto quit;
-       }
+
+    if (help_ysn())
+       goto quit;
 
     print_help(WAIT_SET);
     if (SysUpload())
@@ -176,6 +135,6 @@ void upload()
            (_("Configuration uploaded. Press any key to continue."));
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
 }
 
index e8c0b7c116df502a2dddc700ac82d2339ecc8f9a..9c3b4bec7a3d36203a42594fb9c153aa6423a014 100644 (file)
 #include <sys/ioctl.h>
 #include "ap-utils.h"
 
-#define AUTODETECT _("Autodetect AP type? ")
 #define APIP _("Access Point IP-address: ")
 #define APPASS _("Password (community): ")
-#define APNAME _("Access Point name: ")
-#define WANT_APNAME _("Do you want to define name for this AP? ") 
-#define APTYPE _("AP type: ")
+#define AUTODETECT _("Autodetect AP MIB properties? ")
+#define APTYPE _("AP MIB type: ")
+#define APVENDOREXT _("AP MIB vendor extensions: ")
+#define WANT_SYS_APLABEL _("Do you want to use AP's name as its label? ")
+#define APLABEL _("Access Point label: ")
 #define SAVESETTINGS _("Save connect-settings: ")
 
-char IS_ATMEL410_SBRIDGES;
-char IS_ATMEL12350_TELLUS;
-char IS_ATMEL12350_VERNET;
+char *ap_types[] = {
+    "ATMEL410",
+    "NWN",
+    "ATMEL12350"
+};
+
+char *ap_vendorexts[][3] = {
+    { "NONE", "SBRIDGES" },            /* ATMEL410 exts */
+    { "NONE" },                                /* NWN exts */
+    { "NONE", "TELLUS", "VERNET" }     /* ATMEL12350 exts */
+};
+
+rdprops regdom_types[] = {
+    { 0x10, "FCC (USA)", 1, 11 },
+    { 0x20, "DOC (Canada)", 1, 11 },
+    { 0x30, "ETSI (Europe)", 1, 13 },
+    { 0x31, "Spain", 10, 2 },
+    { 0x32, "France", 10, 4 },
+    { 0x40, "MKK (Japan)", 14, 1 },
+    { 0x41, "MKK1 (Japan)", 1, 14 },
+    { 0x42, "Israel", 3, 7 },
+    { 0x00, "unknown", 1, 14 } /* hopefully 0x00 is not taken by any? */
+};
+
+char *channels[] = {
+    "01", "02", "03", "04", "05", "06", "07",
+    "08", "09", "10", "11", "12", "13", "14"
+};
 
 extern WINDOW *main_sub;
 extern char *community, *prog_title;
-extern short ap_type;
+short ap_type, ap_vendorext;
 extern int sockfd;
 extern struct in_addr ap_ip;
-extern char *ap_types[];
 
 void about()
 {
-    int nrow = 12, ncol = 47, brow = (LINES - 4 - nrow) / 2, bcol =
+    int nrow = 14, ncol = 47, brow = (LINES - 5 - nrow) / 2, bcol =
        (COLS - MCOLS - 2 - ncol) / 2, i;
     char message[100];
 
     noecho();
     curs_set(0);
 
-    print_title(_("About"));
+    print_top(NULL, _("About"));
 
     /* drawing the box */
     mvwaddch(main_sub, brow, bcol, ACS_ULCORNER);
@@ -79,13 +104,17 @@ void about()
     mvwaddstr(main_sub, brow + 5, bcol + 2,
              _("Written by Roman Festchook roma@polesye.net"));
     mvwaddstr(main_sub, brow + 6, bcol + 2,
-             _("Copyright (c) Roman Festchook 2001-2004"));
-    mvwaddstr(main_sub, brow + 7, bcol + 2, "http://ap-utils.polesye.net/");
-    mvwaddstr(main_sub, brow + 9, bcol + 2,
+             _("Portions by Jan Rafaj aputils@cedric.unob.cz"));
+    mvwaddstr(main_sub, brow + 7, bcol + 2,
+             _("Copyright (c) 2001-2004"));
+    mvwaddstr(main_sub, brow + 8, bcol + 2,
+             _("Roman Festchook and Jan Rafaj"));
+    mvwaddstr(main_sub, brow + 9, bcol + 2, "http://ap-utils.polesye.net/");
+    mvwaddstr(main_sub, brow + 11, bcol + 2,
              _("This program is distributed under the terms"));
-    mvwaddstr(main_sub, brow +10, bcol + 2,
+    mvwaddstr(main_sub, brow +12, bcol + 2,
              _("of the GNU General Public License version 2."));
-    mvwaddstr(main_sub, brow + 11, bcol + 2,
+    mvwaddstr(main_sub, brow + 13, bcol + 2,
              _("See the included COPYING file for details."));
 
 
@@ -94,20 +123,31 @@ void about()
     print_help(ANY_KEY);
     getch();
     print_help("");
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
     return;
 }
 
 void connect_options(unsigned long int ip, int type)
 {
-    int i;
+    /*
+     * operAccessPointName OIDs used to retrieve AP NAME [in order of
+     * corresponding AP MIB types: ATMEL410, NWN, ATMEL12350]
+     */
+    char operAccessPointName[3][12] = {
+      {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x01, 0x0A, 0x00},
+      {0x2B, 0x06, 0x01, 0x02, 0x01, 0x01, 0x05, 0x00},
+      {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x02, 0x01, 0x0A, 0x00}
+    };
+
     struct sockaddr_in client;
+    extern int atmel410_filter; /* to check is this function called from ap-gl utility */
     unsigned char message[256];
-    unsigned char name[17];
-    int fd;
+    unsigned char label[17];
+    int fd, i;
     char *home_dir;
     char save_settings=1;
+    varbind varbinds[1];
 
     memset(&client, 0, sizeof client);
     client.sin_family = AF_INET;
@@ -132,7 +172,7 @@ void connect_options(unsigned long int ip, int type)
     noecho();
     curs_set(0);
 
-    print_title(_("Connect options"));
+    print_top(NULL, _("Connect options"));
 
 get_all_again:
     mvwaddstr(main_sub, 1, 1, APIP);
@@ -145,68 +185,144 @@ get_all_again:
     }
 
     mvwaddstr(main_sub, 2, 1, APPASS);
-    print_help(_("Entered characters will not be displayed "
-       "for security reason."));
-    get_pass(message, 2, 1 + strlen(APPASS), 16);
-    if (community)
-       free(community);
-    i = strlen(message) + 1;
-    community = (char *) malloc(i);
-    strncpy(community, message, i);
-
-    print_help(_("Display name for the Access point "
-       "(NOT the name defined inside the AP!)"));
-    mvwaddstr(main_sub, 3, 1, WANT_APNAME);
-    wrefresh(main_sub);
-    i = yes_no(3, 1 + strlen(WANT_APNAME));
-    if (i == 2) { /* NO */
-       name[0] = '\0';
-       mvwaddstr(main_sub, 3, 1 + strlen(WANT_APNAME), "No");
-    } else { /* YES */
-       clear_main_new(3, 4);
-       mvwaddstr(main_sub, 3, 1, APNAME);
-       get_value(message, 3, 1 + strlen(APNAME), sizeof(name),
-           ANY_STRING, 0, 0, NULL);
-       strncpy(name, message, strlen(message) + 1);
-    }
 
+    i = 0;
     print_help("");
-    if (type) {
+
+       print_help(_("Entered characters will not be displayed "
+                    "for security reason."));
+       get_pass(message, 2, 1 + strlen(APPASS), 16);
+       if (community)
+           free(community);
+       i = strlen(message) + 1;
+       community = (char *) malloc(i);
+       strncpy(community, message, i);
+
+
+    if (type && ! atmel410_filter) {
+       /* entered from ap_search() */
+
+       /* community already exists */
+/*     wattrset(main_sub, A_BOLD);
+       for(i = 0; community[i++]; waddch(main_sub, '*'));
+       wattrset(main_sub, A_NORMAL);
+*/
        ap_type = --type;
-       mvwaddstr(main_sub, 4, 1, APTYPE);
+
+       print_menusel(3, 1, APTYPE, ap_types[ap_type]);
+
+       /* well, we already know the MIB type, but lets find out MIB ext */
+       get_mib_details();
+
+       /* marks that we want offer AP name -> AP label later */
+       i = 1;
+
+       mvwaddstr(main_sub, 4, 1, APVENDOREXT);
     } else {
-       mvwaddstr(main_sub, 4, 1, AUTODETECT);
+
+       if (atmel410_filter) {
+               ap_type = --type;
+               print_menusel(3, 1, APTYPE, ap_types[ap_type]);
+               ap_vendorext = NONE; /* no need to choose here, really */
+               /* marks that we want offer AP name -> AP label later */
+               i = 1;
+               mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+       } else {
+               mvwaddstr(main_sub, 3, 1, AUTODETECT);
+               wrefresh(main_sub);
+               i = yes_no(3, 1 + strlen(AUTODETECT));
+               clear_main_new(3, 4);
+               mvwaddstr(main_sub, 3, 1, APTYPE);
+               if (i == 2) { /* NO */
+                   char **p;
+    
+                   wrefresh(main_sub);
+
+                   ap_type = menu_choose(3, 1 + strlen(APTYPE), ap_types, 3);
+                   print_bold(main_sub, ap_types[ap_type]);
+
+                   mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+                   wrefresh(main_sub);
+                   for (i = 0, p = ap_vendorexts[ap_type]; *p++; i++);
+                   if (i == 1)
+                       ap_vendorext = NONE; /* no need to choose here, really */
+                   else
+                       ap_vendorext = menu_choose(4, 1 + strlen(APVENDOREXT),
+                   ap_vendorexts[ap_type], i);
+               } else { /* YES */
+                   if (get_mib_details() == -1) {
+                       clear_main_new(1, 4);
+                       goto get_all_again;
+                   }
+               print_bold(main_sub, ap_types[ap_type]);
+
+           mvwaddstr(main_sub, 4, 1, APVENDOREXT);
+       }
+    }
+    }
+    print_bold(main_sub, ap_vendorexts[ap_type][ap_vendorext]);
+
+    print_help(
+       _("This label will be stored on HDD (independently on AP name!)."));
+    if (i == 1) {
+       /*
+        * (being called from ap_search()) or (YES for AP type autodetection)
+        * => offer possibility to use AP's name as the label
+        */
+       mvwaddstr(main_sub, 5, 1, WANT_SYS_APLABEL);
        wrefresh(main_sub);
-       i = yes_no(4, 1 + strlen(AUTODETECT));
-       clear_main_new(4, 5);
-       mvwaddstr(main_sub, 4, 1, APTYPE);
-       if (i == 2) { /* NO */
-           wrefresh(main_sub);
-           ap_type = menu_choose(4, 1 + strlen(APTYPE), ap_types, 3);
-       } else { /* YES */
-           print_help(_("Determining AP type. Please wait..."));
-           if (get_mib_details() == -1) {
-               clear_main_new(1, 5);
-               goto get_all_again;
+       if (yes_no(5, 1 + strlen(WANT_SYS_APLABEL)) == 1) { /* YES */
+           varbinds[0].oid = operAccessPointName[ap_type];
+           varbinds[0].len_oid = (ap_type == NWN ?
+               8 : sizeof(operAccessPointName[ap_type]));
+           varbinds[0].type = NULL_VALUE;
+           varbinds[0].len_val = 0;
+
+           print_help(WAIT_RET);
+           if (snmp(varbinds, i, GET) <= 0) {
+               print_helperr(ERR_RET);
+               getch();
+           } else {
+               clear_main_new(5, 6);
+               mvwaddstr(main_sub, 5, 1, APLABEL);
+               wattrset(main_sub, A_BOLD);
+               for (i = 0; i < varbinds[0].len_val && i < 16 &&
+                    *(varbinds[0].value + i); i++) {
+                   label[i] = *(varbinds[0].value + i);
+                   waddch(main_sub, label[i]);
+               }
+               label[++i] = '\0';
+               wattrset(main_sub, A_NORMAL);
+               if (strlen(varbinds[0].value) > 16) {
+                   print_helperr("Warning! AP LABEL truncated to first 16 characters of AP NAME. Press any key.");
+                   getch();
+               }
            }
+           print_help("");
+           i = -1;
        }
-       wattrset(main_sub, A_BOLD);
     }
-    waddstr(main_sub, ap_types[ap_type]);
-    wattrset(main_sub, A_NORMAL);
 
-    mvwaddstr(main_sub, 5, 1, SAVESETTINGS);
+    if (i != -1) { /* we have NOT been asked with WANT_SYS_APLABEL */
+       clear_main_new(5, 6);
+       mvwaddstr(main_sub, 5, 1, APLABEL);
+       get_value(message, 5, 1 + strlen(APLABEL), -sizeof(label), ANY_STRING,
+           0, 0, NULL);
+       strncpy(label, message, strlen(message) + 1);
+    }
+
+    mvwaddstr(main_sub, 6, 1, SAVESETTINGS);
     wrefresh(main_sub);
-    save_settings = on_off(5, 1 + strlen(SAVESETTINGS));
+    save_settings = on_off(6, 1 + strlen(SAVESETTINGS));
 
     print_bottom(inet_ntoa(ap_ip));
 
     if(save_settings == 1) {
        if ((home_dir = getenv("HOME"))) {
            sprintf(message, "%s/.ap-config", home_dir);
-           if ((fd = open(message, O_CREAT | O_WRONLY | O_APPEND, 0600)) != -1) {
-               sprintf(message, "%s:%s:%s:%d\n", inet_ntoa(ap_ip),
-                   community, name, ap_type);
+           if ((fd = open(message, O_CREAT|O_WRONLY|O_APPEND, 0600)) != -1) {
+               sprintf(message, "%s:%s:%s:%d:%d\n", inet_ntoa(ap_ip),
+                   community, label, ap_type, ap_vendorext);
                write(fd, message, strlen(message));
                close(fd);
            }
@@ -214,14 +330,14 @@ get_all_again:
     }
   exit:
     print_help("");
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
     return;
 }
 
 /*
  * Determines AP MIB type (fills ap_type), and AP MIB vendor extensions
- * (changes values of IS_ATMEL* globals). Returns with -1 on error or 0
+ * (changes values of ap_vendorext global). Returns with -1 on error or 0
  * if everything is OK.
  */
 int get_mib_details()
@@ -242,6 +358,8 @@ int get_mib_details()
     char oui_sbridges[3] = { 0x00, 0x30, 0x1A };
     char oui_tellus[3] = { 0x00, 0x04, 0xDB };
 
+    print_help(_("Trying to probe AP for MIB properties. Please wait..."));
+
     /* first, determine the private MIB types according to enterprises ID */
     varbinds[0].oid = sysDescr_NWN;
     varbinds[0].len_oid = sizeof(sysDescr_NWN);
@@ -269,8 +387,8 @@ int get_mib_details()
            if (snmp(varbinds, 1, GET) > 0) {
                ap_type = ATMEL12350;
            } else {
-               print_helperr(_("Unable to determine AP type "
-                   "(no response). Press any key."));
+               print_helperr(_("Unable to determine AP MIB properties "
+                   "(no response from AP). Press any key."));
                getch();
                return -1;
            }
@@ -282,10 +400,6 @@ int get_mib_details()
      * about specific MIB modifications - we'll use them on different places
      * later.
      */
-    IS_ATMEL410_SBRIDGES = 0;
-    IS_ATMEL12350_TELLUS = 0;
-    IS_ATMEL12350_VERNET = 0;
-
     varbinds[0].type = NULL_VALUE;
     varbinds[0].oid = operEthernetAddress_ATMEL;
     varbinds[0].len_oid = sizeof(operEthernetAddress_ATMEL);
@@ -306,15 +420,24 @@ int get_mib_details()
         return -1;
     }
 
-    /* detection of different vendor-modified ATMEL private MIBs */
+    /*
+     * Detection of different vendor-modified ATMEL private MIBs.
+     * Note that results here are considered mutually exclusive, although
+     * MIBs *may* share a lot of properties - for example, the condition
+     * for TELLUS is matched also with VERNET firmware, but we want
+     * unambiguous results => exactly one type is to be returned each pass
+     * => the order of these conditions is important.
+     */
+    ap_vendorext = NONE;
+
     if (ap_type == ATMEL410 && (memcmp(oui_sbridges, varbinds[0].value, 3) ==0))
-       IS_ATMEL410_SBRIDGES = 1;
+       ap_vendorext = SBRIDGES;
 
     if (ap_type == ATMEL12350 && (memcmp(oui_tellus, varbinds[0].value, 3) ==0))
-       IS_ATMEL12350_TELLUS = 1;
+       ap_vendorext = TELLUS;
 
     if (ap_type == ATMEL12350 && varbinds[1].len_val == 104)
-       IS_ATMEL12350_VERNET = 1;
+       ap_vendorext = VERNET;
 
     return 0;
 }
@@ -334,45 +457,18 @@ void exit_shell()
     refresh();
 }
 
-/* 
- * Fill channels list string array using regulation domain
- * restrictions and return number of the channels
+/*
+ * Expects regulatory domain code on input and returns index of a corresponding
+ * regdom_types[] member, that describes the given regulatory domain properties.
  */
-int ch_list(int regulation_domain, char **list)
+int regdom_idx(char regdom)
 {
-    int FIRST_CHANNEL, LAST_CHANNEL, i;
-
-#ifndef NO_REG_DOMAIN
-    switch (regulation_domain) {
-    case 0x10:
-    case 0x20:
-       FIRST_CHANNEL = 1;
-       LAST_CHANNEL = 11;
-       break;
-    case 0x30:
-       FIRST_CHANNEL = 1;
-       LAST_CHANNEL = 13;
-       break;
-    case 0x31:
-       FIRST_CHANNEL = 10;
-       LAST_CHANNEL = 11;
-       break;
-    case 0x32:
-       FIRST_CHANNEL = 10;
-       LAST_CHANNEL = 13;
-       break;
-    default: /* also case 0x40 */
-#endif    
-       FIRST_CHANNEL = 1;
-       LAST_CHANNEL = 14;
-#ifndef NO_REG_DOMAIN
-    }
-#endif    
+    int i;
+
+    for (i = 0; &regdom_types[i]; i++)
+       if (regdom_types[i].code == regdom)
+           return i;
 
-    for (i = 0; i < LAST_CHANNEL - FIRST_CHANNEL + 1; i++) {
-       list[i] = (char *) malloc(3);
-       sprintf(list[i], "%02u", FIRST_CHANNEL + i);
-    }
     return i;
 }
 
index e39d7d3431b3ca645dc812f53d2cd1614db15e95..22dbf7a0f5deb303406f711e5ea87e280498fbb3 100644 (file)
 #include <string.h>
 #include <sys/types.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 extern WINDOW *main_sub, *win_for_help, *main_win;
-extern char *ap_types[];
-extern short ap_type;
+extern char *ap_types[], *ap_vendorexts[][3];
+extern short ap_type, ap_vendorext;
+extern struct in_addr ap_ip;
 extern int atmel410_filter;
 #define MAX_LINES LINES-6
 
 struct APList {
     char *ip;
     char *passwd;
-    int  type;
-    char *name;
+    int type;
+    int vendorext;
+    char *label;
 
     struct APList * next;
 };
@@ -48,7 +49,7 @@ _scroll_rows(struct APList *first, int begin, int end)
 {
     int i = 1;
     struct APList *curr = first;
-    char message[56];
+    char message[80];
 
     clear_main(3);
 
@@ -57,9 +58,10 @@ _scroll_rows(struct APList *first, int begin, int end)
 
     i = 0;
     while (end-- > begin) {
-       sprintf(message, "%5u  %15s   %s    %s", begin + i, curr->ip,
-           ap_types[curr->type], curr->name);
-       mvwaddstr(main_sub, 2 + i, 1, message);
+       sprintf(message, "  %3u  %-15s  %-10s  %-8s  %-16s", begin + i,
+           curr->ip, ap_types[curr->type],
+           ap_vendorexts[curr->type][curr->vendorext], curr->label);
+       mvwaddstr(main_sub, 2 + i, 0, message);
        i++;
        curr = curr->next;
     }
@@ -69,7 +71,7 @@ _scroll_rows(struct APList *first, int begin, int end)
 struct APList *parse_db_str(char *str)
 {
     struct APList *curr=NULL;
-    char *ip=NULL, *passwd=NULL, *name=NULL, mess[1024];
+    char *ip=NULL, *passwd=NULL, *label=NULL, *aptype=NULL, mess[1024];
     int i=0, pos=0, j=0;
 
     while(str[i] != '\0') {
@@ -86,9 +88,14 @@ struct APList *parse_db_str(char *str)
                    passwd[j] = '\0';
                    break;
                case 2:
-                   name = (char *) malloc(j+1);
-                   memcpy(name, mess, j+1);
-                   name[j] = '\0';
+                   label = (char *) malloc(j+1);
+                   memcpy(label, mess, j+1);
+                   label[j > 16 ? 16 : j] = '\0';
+                   break;
+               case 3:
+                   aptype = (char *) malloc(j+1);
+                   memcpy(aptype, mess, j+1);
+                   aptype[j] = '\0';
                    break;
            }
            i++;
@@ -100,27 +107,31 @@ struct APList *parse_db_str(char *str)
     }
 
     mess[j]='\0';
-    if (pos==3 && ip && passwd && ((atmel410_filter && atoi(mess) == ATMEL410)
+    if (pos==4 && ip && passwd && ((atmel410_filter && atoi(aptype) == ATMEL410)
        || !atmel410_filter)) {
        curr = (struct APList *) malloc(sizeof(struct APList));
-       curr->type = atoi(mess);
+       curr->type = atoi(aptype);
+       curr->vendorext = atoi(mess);
        curr->next = NULL;
        curr->ip = (char *) malloc(strlen(ip) + 1);
        strcpy(curr->ip, ip);
        curr->passwd = (char *) malloc(strlen(passwd) + 1);
        strcpy(curr->passwd, passwd);
-       curr->name = (char *) malloc(strlen(name) + 1);
-       strcpy(curr->name, name);
+       curr->label = (char *) malloc(strlen(label) + 1);
+       strcpy(curr->label, label);
     }
-       
+
     if (ip)
        free(ip);
 
     if (passwd)
        free(passwd);
 
-    if (name)
-       free(name);
+    if (label)
+       free(label);
+
+    if (aptype)
+       free(aptype);
 
     return curr;
 }
@@ -133,9 +144,9 @@ int get_opts()
        
     char *home_dir, buf[1024], mess[64];
     char message[50];
-    int c, fd, rval=0, pos;
-    signed int j, i, begin, end, record_num=0;
-    struct APList *first=NULL, *curr=NULL, *pmac; 
+    int c, fd, rval = 0, pos;
+    signed int j, i, begin, end, record_num = 0;
+    struct APList *first = NULL, *curr = NULL, *pmac; 
     struct sockaddr_in client;
 
 
@@ -158,8 +169,8 @@ int get_opts()
                mess[pos]='\0';
                if (first == NULL) {
                    if ((first = parse_db_str(mess)) != NULL) {
-                       curr=first;
-                       record_num=1;
+                       curr = first;
+                       record_num = 1;
                    }
                } else {
                    if ((curr->next = parse_db_str(mess)) != NULL) {
@@ -176,8 +187,8 @@ int get_opts()
     mess[pos]='\0';
     if (first == NULL) {
        if ((first = parse_db_str(mess)) != NULL) {
-           curr=first;
-           record_num=1;
+           curr = first;
+           record_num = 1;
        }
     } else {
        if ((curr->next = parse_db_str(mess)) != NULL) 
@@ -190,15 +201,15 @@ int get_opts()
     if (!record_num)
        return 0;
 
-    mvwaddstr(main_sub, 0, 3,
-       _("NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"));
-    print_title(_("Choose an AP to connect to"));
+    mvwaddstr(main_sub, 0, 2,
+       _("NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"));
+    print_top(NULL, _("Choose an AP to connect to"));
     begin = 1;
     end = (MAX_LINES < record_num) ? MAX_LINES : record_num;
     _scroll_rows(first, begin, end);
     noecho();
-    print_help(_("1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"));
     while (1) {
+       print_help(_("1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"));
        switch (c = getch()) {
            case 'q':
            case 'Q':
@@ -234,18 +245,18 @@ int get_opts()
                community = (char *) malloc(i);
                strncpy(community, curr->passwd, i);
                ap_type = curr->type;
-               rval=1;
+               ap_vendorext = curr->vendorext;
+               rval = 1;
                if (sockfd)
                    close(sockfd);
 
                if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
-                   rval=0;
+                   rval = 0;
 
                if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1)
-                   rval=0;
+                   rval = 0;
 
                print_bottom(inet_ntoa(ap_ip));
-               get_mib_details();
                goto quit;
 
            case 'c':
@@ -270,18 +281,18 @@ int get_opts()
                community = (char *) malloc(i);
                strncpy(community, curr->passwd, i);
                ap_type = curr->type;
-               rval=1;
+               ap_vendorext = curr->vendorext;
+               rval = 1;
                if (sockfd)
                    close(sockfd);
 
                if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
-                   rval=0;
+                   rval = 0;
 
                if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1)
-                   rval=0;
+                   rval = 0;
 
                print_bottom(inet_ntoa(ap_ip));
-               get_mib_details();
                goto quit;
 
            case 'd':
@@ -297,6 +308,9 @@ int get_opts()
                if (i == 1) {
                    curr = first;
                    first = first->next;
+                   free(curr->ip);
+                   free(curr->passwd);
+                   free(curr->label);
                    free(curr);
                } else {
                    curr = first;
@@ -305,6 +319,9 @@ int get_opts()
 
                    pmac = curr->next;
                    curr->next = pmac->next;
+                   free(pmac->ip);
+                   free(pmac->passwd);
+                   free(pmac->label);
                    free(pmac);
                }
                record_num--;
@@ -345,15 +362,22 @@ wrong_num:
                if ((fd = creat(buf, 0600)) != -1) {
                    curr=first;
                    while (curr) {
-                       sprintf(buf, "%s:%s:%d\n", curr->ip, curr->passwd,
-                           curr->type);
+                       sprintf(buf, "%s:%s:%s:%d:%d\n", curr->ip, curr->passwd,
+                           curr->label,curr->type, curr->vendorext);
                        write(fd, buf, strlen(buf));
                        curr = curr->next;
                    }
                    close(fd);
+                   print_help(
+                       _("AP list file ~/.ap-config successfully written. "
+                         "Press any key."));
+               } else {
+                   print_helperr(
+                       _("Unable to write AP list file ~/.ap-config. "
+                         "Press any key."));
                }
+               getch();
                continue;
-
        }
     }
 /*
@@ -364,10 +388,11 @@ wrong_num:
        first = curr->next;
        free(curr->ip);
        free(curr->passwd);
+       free(curr->label);
        free(curr);
     }
     print_help("");
-    print_title("");
+    print_top(NULL, NULL);
     wclear(main_sub);
     wrefresh(main_sub);
     return rval;
@@ -375,11 +400,12 @@ wrong_num:
 
 void save_Stations(struct MacListStat *curr)
 {
-    int fd;
+    int fd, err_f = 0;
     char *home_dir;
     char message[1024];
     if ((home_dir = getenv("HOME"))) {
-       sprintf(message, "%s/ap-%s.stations", home_dir, ap_types[ap_type]);
+       sprintf(message, "%s/ap-%s-%s-%s.stations", home_dir, inet_ntoa(ap_ip),
+           ap_types[ap_type],ap_vendorexts[ap_type][ap_vendorext]);
        if ((fd = creat(message, 0600)) != -1) {
            while (curr) {
                sprintf(message, "%02X%02X%02X%02X%02X%02X\n",
@@ -390,7 +416,17 @@ void save_Stations(struct MacListStat *curr)
                curr = curr->next;
            }
            close(fd);
+       } else {
+           err_f = 1;
        }
+    } else {
+       err_f = 1;
     }
+    if (err_f)
+       print_helperr(_("Unable to write stations file. Press any key."));
+    else
+       print_help(_("Stations file succesfully written. Press any key."));
+    getch();
+    print_help("");
 }
 
index 2e918ee83cf33b8324a0d0c64b6eabe079bcc89f..b77dd835bbaf5e85688c48c10c8fc9c01f1862d9 100644 (file)
 
 #include <stdlib.h>
 #include <string.h>
+#include <sys/time.h>
+#include <sys/types.h>
 #include <unistd.h>
 #include <menu.h>
+#include <errno.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
-extern WINDOW *main_sub, *win_for_help, *main_win;
+extern WINDOW *main_sub, *win_for_help;
 
 #define GEN_IV_MSG _("Invalid value. Press any key to continue.")
-#define OOR_IV_MSG _("Value must be in range %i - %i. Press any key to continue.")
+#define OOR_IV_MSG _("Value must be in range %u - %u. Press any key to continue.")
 
 #define MAC_LEN 12
 #define MAC_BYTES 6
@@ -103,14 +105,15 @@ get_mask_again:
  * value ....... this should keep the value, entered by the user,
  *              in ascii string notation
  * row
- * col ......... the begin coordinate, relative to the current window,
+ * col ......... the begin coordinates, relative to the current window,
  *              at which the string entered by the user will appear
  * len ......... maximum length of the entered string, including the
- *              tailing '\0' character
+ *              tailing '\0' character. Negative value along with
+ *              vt=ANY_STRING means that zero-length string is allowed.
  * vt .......... desired input value type (types INT_STRING, HEX_STRING,
  *              ANY_STRING)
  * minv, maxv .. min/max bounds in case of integer value input. Each can be
- *              of value 0 - maxint. If both are 0, it means no value bounds
+ *              of value 0-0xFFFFFFFF. If both are 0, it means no value bounds
  *              checking will be performed. Used only with vt=INT_STRING.
  * helpmsg ..... pointer to string that will be printed after OOR_IV_MSG
  *              message if the entered integer value is out of range.
@@ -120,17 +123,22 @@ get_mask_again:
  */
 void
 get_value(char *value, int row, int col, int len,
-         char vt, int minv, int maxv, char *helpmsg)
+         char vt, unsigned int minv, unsigned int maxv, char *helpmsg)
 {
-    int i;
+    unsigned int i;
     unsigned char c, acs;
-    char iv_msg[128];
+    char iv_msg[128], zerolen_perm = 0;
+
+    if (vt == ANY_STRING && len < 0) {
+       zerolen_perm = 1;
+       len = -len;
+    }
 
     echo();
     wattrset(main_sub, COLOR_PAIR(2));
 get_value_again:
     wmove(main_sub, row, col);
-    for (i = 0; i < len - 1; i++)
+    for (i = 0; i < (unsigned int)len - 1; i++)
        waddch(main_sub, ' ');
     curs_set(1);
     wmove(main_sub, row, col);
@@ -164,13 +172,13 @@ get_value_again:
            continue;
        } else if (c == 0x0D) {
            /* ENTER KEY */
-           if (i > 0)
+           if (i > 0 || zerolen_perm)
                break;
            continue;
        } else if (c == 0x1B) {
            /* ESCAPE KEY */
            continue;
-       } else if (acs && (i < len - 1)) {
+       } else if (acs && (i < (unsigned int)len - 1)) {
            value[i++] = c;
            wechochar(main_sub, c);
        }
@@ -179,8 +187,9 @@ get_value_again:
 
     noecho();
     if (vt == INT_STRING && (minv | maxv)) {
-       i = atoi(value);
-       if (i < minv || i > maxv) {
+       errno = 0;
+       i = strtoul(value, (char **)NULL, 10);
+       if (i < minv || i > maxv || errno == ERANGE) {
            if (helpmsg) {
                snprintf(iv_msg, sizeof(iv_msg) - 1, OOR_IV_MSG, minv, maxv);
                print_helperr(iv_msg);
@@ -194,7 +203,7 @@ get_value_again:
     curs_set(0);
     wattrset(main_sub, A_BOLD);
     wmove(main_sub, row, col);
-    for (i = 0; i < len - 1; i++)
+    for (i = 0; i < (unsigned int)len - 1; i++)
        waddch(main_sub, ' ');
     mvwaddstr(main_sub, row, col, value);
     wattrset(main_sub, A_NORMAL);
@@ -353,3 +362,59 @@ int menu_choose(int brow, int bcol, char **names, unsigned int num)
     }
 }
 
+/*
+ * Reads key by either getch() (WAIT_FOREVER mode) or select()
+ * (WAIT_TIMEOUT mode). Returns -1 upon error, 0 for timeout, or
+ * pressed key code.
+ */
+int wait_key()
+{
+    int i = 0;
+    fd_set rds;
+    struct timeval timeout;
+    extern int wait_mode;
+
+    timeout.tv_sec = 1;
+    timeout.tv_usec = 0;
+    FD_ZERO(&rds);
+    FD_SET(0, &rds);
+
+    if (wait_mode == WAIT_TIMEOUT) {
+       /*
+        * wait up to timeout until anything is avail. for reading
+        * on stdin
+        */
+       i = select(1, &rds, NULL, NULL, &timeout);
+
+       /* not timed out => anything avail. for reading in rds */
+       if (i > 0)
+           i = getc(stdin);
+
+       /* error occured */
+       if (i == -1) {
+           print_helperr(SELECT);
+           getch();
+       }
+
+       /* also happens: i = 0 => timeout => release */
+
+    } else { /* wait_mode = WAIT_FOREVER */
+       i = getch();
+    }
+
+    return i;
+}
+
+int help_ysn()
+{
+    char c;
+
+    print_help (_("Y - Yes; Any other key - No (it's safer to answer No)"));
+    c = getch();
+    clear_main(0);
+    if (c == 'y' || c == 'Y')
+       return 0;
+
+    return 1;
+}
+
index 86ca3a191d3b06fe6d3a0c83f237dc914fcfbf7a..9aeb6d93c5a47dbbc3167ac8a180f9079f8b99b2 100644 (file)
@@ -24,6 +24,7 @@
 #include "ap-utils.h"
 
 extern WINDOW *sub_for_menu;
+extern char set_oeminfo_allowed;
 
 void uni_menu(struct umitems *umenu, int num)
 {
@@ -86,6 +87,12 @@ void uni_menu(struct umitems *umenu, int num)
        case 'Q':
            idx = num - 2;
            goto quitmenu;
+       case 's':
+       case 'S':
+           if (set_oeminfo_allowed)
+               atmel_set_oeminfo();
+
+           break;
        /* Enter */
        case 10:
            idx = item_index(current_item(menu));
index 296bb40b992ed95c8b722af6e06da70811ba27ba..d96137e46df3d4b1f2a28999f1cefada8c22c2d8 100644 (file)
@@ -22,7 +22,6 @@
 #include <stdlib.h>
 #include <sys/types.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define RADIO_HELP _("[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu")
 
@@ -118,7 +117,7 @@ void power()
     memcpy(power, varbinds[0].value, 14);
     antenna_vlen = varbinds[1].len_val;
 
-    print_title(_("Radio Configuration"));
+    print_top(NULL, _("Radio Configuration"));
     mvwaddstr(main_sub, 0, 1, _("Output RF signal power level (CR31 register values)"));
     mvwaddstr(main_sub, 1, 1, "---------------------------------------------------");
     mvwaddstr(main_sub, 2, 1, _("Key Channel Level"));
@@ -311,6 +310,7 @@ void power()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
+
index 20a75ed790d06f881ee73885171cc1c94665ba2f..b0eeb0ca69164c7d8bc54911de5b0058c661b801 100644 (file)
--- a/lib/scr.c
+++ b/lib/scr.c
@@ -22,7 +22,6 @@
 #include <unistd.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 #include <menu.h>
 
 extern WINDOW *main_sub, *win_for_help, *main_win;
@@ -145,72 +144,74 @@ void print_helperr(char *mess)
     wattrset(win_for_help, COLOR_PAIR(1));
 }
 
-void print_title(char *mess)
+void print_bold(WINDOW *wptr, char *mess)
 {
-    int i;
-    /* íÁÌÀÀ ÒÁÍËÕ */
-    for (i = 0; i < COLS - MCOLS - 1; i++)
-       mvwaddch(main_win, 0, i, ACS_BSBS);
-    wattrset(main_win, A_BOLD);
-    mvwaddstr(main_win, 0, COLS - MCOLS - strlen(mess) - 2, mess);
-    wattrset(main_win, A_NORMAL);
-    wrefresh(main_win);
-}
-
-void print_viewtype(char *mess)
-{
-    /*
-     * note: when used to update with different strlen(mess) than previous one,
-     * call print_title() before this one so that the top line gets updated !
-     */
-    wattrset(main_win, A_BOLD);
-    mvwaddstr(main_win, 0, 1, "View: ");
-    waddstr(main_win, mess);
-    wattrset(main_win, A_NORMAL);
-    wrefresh(main_win);
-}
-
-void print_viewtype_rssi()
-{
-    switch (sts_viewtype) {
-       case dBm:
-          print_viewtype("RSSI in dBm");
-          return;
-       case percentage:
-          print_viewtype("RSSI in percentage");
-          return;
-       case rawval:
-          print_viewtype("RSSI in raw values");
-    }
+    wattrset(wptr, A_BOLD);
+    waddstr(wptr, mess);
+    wattrset(wptr, A_NORMAL);
+    wrefresh(wptr);
 }
 
 void print_menusel(int y, int x, char *mess1, char *mess2)
 {
     mvwaddstr(main_sub, y, x, mess1);
-    wattrset(main_sub, A_BOLD);
-    waddstr(main_sub, mess2);
-    wattrset(main_sub, A_NORMAL);
-    wrefresh(main_sub);
+    print_bold(main_sub, mess2);
 }
 
 void print_bottom(char *mess)
 {
     int i;
     char message[100];
-    extern short ap_type;
-    extern char *ap_types[];
+    extern short ap_type, ap_vendorext;
+    extern char *ap_types[], *ap_vendorexts[][3];
 
-    sprintf(message, _("Current AP: %s Type: %s"), mess, ap_types[ap_type]);
+    sprintf(message, _("Current AP: %s Type: %s Ext: %s"),
+       mess, ap_types[ap_type], ap_vendorexts[ap_type][ap_vendorext]);
     /* íÁÌÀÀ ÒÁÍËÕ */
     for (i = 0; i < COLS - MCOLS - 1; i++)
        mvwaddch(main_win, LINES - 3, i, ACS_BSBS);
+
+    wmove(main_win, LINES - 3, COLS - MCOLS - strlen(message) - 1);
+    print_bold(main_win, message);
+}
+
+void print_top(char *title_left, char *title_right)
+{
+    int i = 0;
+
+    wmove(main_win, 0, 0);
+    while (i++ < COLS - MCOLS - 1)
+       waddch(main_win, ACS_BSBS);
+
     wattrset(main_win, A_BOLD);
-    mvwaddstr(main_win, LINES - 3, COLS - MCOLS - strlen(message) - 1,
-             message);
+    if (title_left)
+       mvwaddstr(main_win, 0, 2, title_left);
+
+    if (title_right)
+       mvwaddstr(main_win, 0, COLS - MCOLS - strlen(title_right) - 2,
+           title_right);
+
     wattrset(main_win, A_NORMAL);
     wrefresh(main_win);
 }
 
+void print_top_rssi(char *message_r)
+{
+    char message_l[200];
+
+    sprintf(message_l, "%s", VIEW);
+    switch (sts_viewtype) {
+       case dBm:
+          strcat(message_l, "RSSI in dBm");
+          break;
+       case percentage:
+          strcat(message_l, "RSSI in percentage");
+          break;
+       case rawval:
+          strcat(message_l, "RSSI in raw values");
+    }
+    print_top(message_l, message_r);
+}
 
 void clear_main(int m)
 {
index d7fc47dab81892a462c6009de144dd9637f3cff2..84e7c7380474a405146d719f93debf1a18c5e747 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define COMMUNITY_TOP_HEADER _("Set community/password")
 #define COMMUNITY_HEADER1 _("Key Access level")
 #define COMMUNITY_HEADER2 _("Community/Password")
-#define COMMUNITY_USER  _("[U] User")
-#define COMMUNITY_ADMIN  _("[A] Administrator")
+#define COMMUNITY_USER  _("[U] User ")
+#define COMMUNITY_ADMIN  _("[A] Administrator ")
+#define COMMUNITY_MANUF  _("[M] Manufacturer ")
 #define COMMUNITY_HELP _("[key] - set community/password; W - write config to AP; Q - quit to menu")
 
 extern WINDOW *main_sub;
@@ -37,13 +37,12 @@ extern short ap_type;
 
 void AuthorizedSettings()
 {
-
     char AuthorizedUserPass[3][12] = {
        {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x09, 0x01,
         0x00},
        {0x2B, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x02, 0x01, 0x02, 0x01,
         0x00},
-       {0x2B, 0x06, 0x01, 0x04, 0x01, 0xe0, 0x3e, 0x01, 0x01, 0x09, 0x01,
+       {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x09, 0x01,
         0x00}
     };
     char AuthorizedAdminPass[3][12] = {
@@ -51,7 +50,7 @@ void AuthorizedSettings()
         0x00},
        {0x2B, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x02, 0x01, 0x02, 0x02,
         0x00},
-        {0x2B, 0x06, 0x01, 0x04, 0x01, 0xe0, 0x3e, 0x01, 0x01, 0x09, 0x02,
+        {0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x09, 0x02,
          0x00}
     };
     char AuthorizedManufactPass[] =
@@ -69,7 +68,7 @@ void AuthorizedSettings()
     }
 
     user[0] = admin[0] = manufact[0] = '\0';
-    print_title(COMMUNITY_TOP_HEADER);
+    print_top(NULL, COMMUNITY_TOP_HEADER);
 
     mvwaddstr(main_sub, 0, 0, COMMUNITY_HEADER1);
     mvwaddstr(main_sub, 0, 25, COMMUNITY_HEADER2);
@@ -77,7 +76,7 @@ void AuthorizedSettings()
     mvwaddstr(main_sub, 2, 0, COMMUNITY_ADMIN);
 
     if (ap_type == ATMEL410 || ap_type == ATMEL12350) {
-       mvwaddstr(main_sub, 3, 0, _("[M] Manufacturer"));
+       mvwaddstr(main_sub, 3, 0, COMMUNITY_MANUF);
     }
     wrefresh(main_sub);
 
@@ -90,12 +89,12 @@ void AuthorizedSettings()
        case 'U':
        case 'u':
 /*         get_value(user, 1, 25, sizeof(user), ANY_STRING, 0, 0, NULL); */
-           get_pass(user, 1, 25, sizeof(user));
+           get_pass(user, 1, strlen(COMMUNITY_USER), sizeof(user));
            continue;
        case 'A':
        case 'a':
 /*         get_value(admin, 2, 25, sizeof(admin), ANY_STRING, 0, 0, NULL); */
-           get_pass(admin, 2, 25, sizeof(admin));
+           get_pass(admin, 2, strlen(COMMUNITY_ADMIN), sizeof(admin));
            continue;
        case 'M':
        case 'm':
@@ -104,7 +103,8 @@ void AuthorizedSettings()
                get_value(manufact, 3, 25, sizeof(manufact), ANY_STRING,
                    0, 0, NULL);
 */
-               get_pass(manufact, 3, 25, sizeof(manufact));
+               get_pass(manufact, 3, strlen(COMMUNITY_MANUF),
+                   sizeof(manufact));
            continue;
        case 'Q':
        case 'q':
@@ -151,6 +151,6 @@ void AuthorizedSettings()
     getch();
   quit:
     print_help("");
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
diff --git a/lib/set_oeminfo.c b/lib/set_oeminfo.c
new file mode 100644 (file)
index 0000000..a150bd4
--- /dev/null
@@ -0,0 +1,428 @@
+/*
+ *      sysinfo_set.c from Access Point SNMP Utils for Linux
+ *
+ * Copyright (c) Jan Rafaj <jr-aputils at cedric dot unob dot cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 from
+ * June 1991 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include "ap-utils.h"
+
+#define S_STRUCTVERSION _("Info structure version: ")
+#define S_MAC _("[M] Device MAC address: ")
+#define V_OUI _("    Manufacturer with this OUI: ")
+#define S_DEFCHAN _("[C] Default channel: ")
+#define S_REGDOM _("[D] Regulatory domain: ")
+#define S_PRODTYPE _("[T] Product type: ")
+#define S_OEMNAME _("[E] OEM name: ")
+#define S_OEMID _("[I] OEM ID: ")
+#define S_PRODNAME _("[N] Product name: ")
+#define S_HWREV _("[H] Hardware revision: ")
+// #define S_PIDVID _("[V] PID & VID: ")
+#define S_COUNTRYC _("[O] Country code: ")
+// #define S_CHANNELS _("[A] Available channels: ")
+#define S_TXPOWER _("[P] Nominal Tx Power (CR31) value for all used channels: ")
+#define OEMSET_HELP _("Keys in brackets - set corresponding option; W - write conf; Q - quit to menu")
+
+extern WINDOW *main_sub;
+extern short ap_type;
+extern char *channels[];
+extern rdprops regdom_types[];
+
+// TODO: test & fix for big-endian archs
+
+void atmel_set_oeminfo()
+{
+    char sysDeviceInfo[] = {
+       0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x05, 0x00
+    };
+    // Following one is only available in ATMEL12350 MIBs
+    char sysDeviceMoreInfo[] = {
+       0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x01, 0x08, 0x00
+    };
+
+    char message[200], c;
+    char **regdoms;
+    int i, rd_idx;
+    varbind varbinds[1];
+    struct sysDeviceInfo_ATMEL410 str410;
+    struct sysDeviceInfo_ATMEL12350 str12350;
+
+    /*
+     * These have to represent used sysDeviceInfo_{ATMEL410,ATMEL12350} members
+     * Note that sysOIDSize and sysOID can NOT be written using sysDevice*Info
+     * OID at all.
+     */
+    uint32_t StructVersion;    // [4]
+    char *MacAddress;          // [6]
+                               // [2 reserved for ATMEL410; 0 for ATMEL12350]
+    char Channel = 0; // ATMEL12350 specific; [0 for AT.410; 1 for ATMEL12350]
+    uint32_t RegulatoryDomain; // [4 for ATMEL410; 1 for ATMEL12350]
+    uint32_t ProductType;      // [4]
+    char *OEMName;             // [32]
+    uint32_t OEMID;            // [4]
+    char *ProductName;         // [32]
+    uint32_t HardwareRevision; // [4]
+    /* the rest is ATMEL12350 specific */
+    char *PID_VID = NULL;      // [0 for ATMEL410; 4 for ATMEL12350]
+    uint32_t sysOIDSize = 0;   // [0 for ATMEL410; 4 for ATMEL12350]
+    uint16_t *sysOID = NULL;   // [0 for ATMEL410; 32 for ATMEL12350]
+    char *CountryCode = NULL;  // [0 for ATMEL410; 3 for ATMEL12350]
+                               // [0 for ATMEL410; 1 reserved for ATMEL12350]
+    uint16_t ChannelInformation = 0; // [0 for ATMEL410; 2 for ATMEL12350]
+                               // [0 for ATMEL410; 2 reserved for ATMEL12350]
+    char *TxPower = NULL;      // [0 for ATMEL410; 14 for ATMEL12350]
+                               // [0 for ATMEL410; 10 reserved for ATMEL12350]
+    clear_main(0);
+    noecho();
+
+    wattrset(main_sub, A_BOLD);
+    mvwaddstr(main_sub, 2, 4,
+       _("THIS IS A SECRET MENU LEADING TO VERY DANGEROUS OPTIONS."));
+    mvwaddstr(main_sub, 3, 8,
+       _("It is intended only for WISPs and repair shops."));
+    wattrset(main_sub, A_NORMAL);
+
+    mvwaddstr(main_sub, 5, 1,
+       _("It allows to set OEM information stored in the AP (like its"));
+    mvwaddstr(main_sub, 6, 1,
+       _("MAC address, manuf. name, OEM ID, etc.). BE ABSOLUTELY SURE"));
+    mvwaddstr(main_sub, 7, 1,
+       _("THAT YOU KNOW WHAT YOU ARE DOING, AND THAT YOU HAVE THE"));
+    mvwaddstr(main_sub, 8, 1,
+       _("LEGAL RIGHT TO DO ANY MODIFICATION. Disobserving of these"));
+    mvwaddstr(main_sub, 9, 1,
+       _("rules may lead you into a conflict with your local"));
+    mvwaddstr(main_sub, 10, 1,
+       _("regulations and/or law."));
+    mvwaddstr(main_sub, 11, 1,
+       _("Also be warned that the setting of any from these options"));
+    mvwaddstr(main_sub, 12, 1,
+       _("may DAMAGE YOUR AP (other reason why this menu is hidden)."));
+    mvwaddstr(main_sub, 13, 1,
+       _("Values changed here will NOT be restored upon reset"));
+    mvwaddstr(main_sub, 14, 1,
+       _("of the device to factory defaults! It is advisable to"));
+    mvwaddstr(main_sub, 15, 1,
+       _("write them down somewhere prior their changing."));
+    mvwaddstr(main_sub, 16, 1,
+       _("Finally, note that you need to use MANUFACTURER community, "));
+    mvwaddstr(main_sub, 17, 1,
+       _("in order to be able to do any OEM info modification."));
+    mvwaddstr(main_sub, 18, 1,
+       _("Proceed further only at your full risk and responsibility. "));
+    mvwaddstr(main_sub, 19, 1,
+       _("You got the warnings."));
+    wrefresh(main_sub);
+
+    if (help_ysn())
+       return;
+
+    print_top(NULL, _("OEM Info settings"));
+
+    if (ap_type == ATMEL12350) {
+       sysDeviceInfo[5] = 0xE0;
+       sysDeviceInfo[6] = 0x3E;
+    }
+
+    varbinds[0].oid = sysDeviceInfo;
+    varbinds[0].len_oid = sizeof(sysDeviceInfo);
+    varbinds[0].value = sysDeviceInfo;
+    varbinds[0].len_val = 0;
+    varbinds[0].type = NULL_VALUE;
+
+    print_help(WAIT_RET);
+    if (snmp(varbinds, 1, GET) <= 0) {
+       print_helperr(ERR_RET);
+       goto exit;
+    }
+
+    if (ap_type == ATMEL410) {
+       memcpy(&str410, varbinds[0].value,
+           sizeof(struct sysDeviceInfo_ATMEL410));
+       StructVersion           = str410.StructVersion;
+       MacAddress              = str410.MacAddress;
+       RegulatoryDomain        = str410.RegulatoryDomain;
+       ProductType             = str410.ProductType;
+       OEMName                 = str410.OEMName;
+       OEMID                   = str410.OEMID;
+       ProductName             = str410.ProductName;
+       HardwareRevision        = str410.HardwareRevision;
+    } else { /* ATMEL12350 */
+       memcpy(&str12350, varbinds[0].value,
+           sizeof(struct sysDeviceInfo_ATMEL12350));
+       StructVersion           = str12350.StructVersion;
+       MacAddress              = str12350.MacAddress;
+       Channel                 = str12350.Channel;
+       RegulatoryDomain        = str12350.RegulatoryDomain;
+       ProductType             = str12350.ProductType;
+       OEMName                 = str12350.OEMName;
+       OEMID                   = str12350.OEMID;
+       ProductName             = str12350.ProductName;
+       HardwareRevision        = str12350.HardwareRevision;
+       PID_VID                 = str12350.PID_VID;
+       sysOIDSize              = str12350.sysOIDSize;
+       sysOID                  = str12350.sysOID;
+       CountryCode             = str12350.CountryCode;
+       ChannelInformation      = str12350.ChannelInformation;
+       TxPower                 = str12350.TxPower;
+    }
+
+    clear_main(0);
+
+    sprintf(message, "%s%u", S_STRUCTVERSION, StructVersion);
+    mvwaddstr(main_sub, 0, 0, message);
+
+    sprintf(message, "%s%02X%02X%02X%02X%02X%02X", S_MAC,
+       MacAddress[0] & 0xFF, MacAddress[1] & 0xFF, MacAddress[2] & 0xFF,
+       MacAddress[3] & 0xFF, MacAddress[4] & 0xFF, MacAddress[5] & 0xFF);
+    mvwaddstr(main_sub, 1, 0, message);
+    sprintf(message, "%s%s", V_OUI, oui2manufacturer(MacAddress));
+    mvwaddstr(main_sub, 2, 0, message);
+
+    rd_idx = regdom_idx(RegulatoryDomain);
+    sprintf(message, "%s%s [%d]", S_REGDOM,
+       regdom_types[rd_idx].desc, RegulatoryDomain);
+    mvwaddstr(main_sub, 3, 0, message);
+
+    mvwaddstr(main_sub, 4, 0, S_OEMNAME);
+    for (i = 0; i < 32 && OEMName[i]; i++)
+       waddch(main_sub, OEMName[i]);
+
+    sprintf(message, "%s%u", S_OEMID, OEMID);
+    mvwaddstr(main_sub, 5, 0, message);
+
+    mvwaddstr(main_sub, 6, 0, S_PRODNAME);
+    for (i = 0; i < 32 && ProductName[i]; i++)
+       waddch(main_sub, ProductName[i]);
+
+    sprintf(message, _("%s%u"), S_PRODTYPE, ProductType);
+    mvwaddstr(main_sub, 7, 0, message);
+
+    sprintf(message, "%s%u", S_HWREV, HardwareRevision);
+    mvwaddstr(main_sub, 8, 0, message);
+
+    if (ap_type == ATMEL12350) {
+       sprintf(message, "%s%02u (%u MHz)", S_DEFCHAN, Channel,
+           2407 + 5 * Channel);
+       mvwaddstr(main_sub, 9, 0, message);
+
+       wmove(main_sub, 10, 0);
+       for (i = 0; i++ < COLS - MCOLS; waddch(main_sub, ACS_BSBS));
+
+       sprintf(message, "%s%s", S_COUNTRYC, CountryCode);
+       mvwaddstr(main_sub, 11, 0, message);
+
+//     TODO: find out what format this is in [apparently 2x uint16?]
+//     sprintf(message, "%s%u %u %u %u", S_PIDVID,
+//         PID_VID[0] & 0xFF, PID_VID[1] & 0xFF,
+//         PID_VID[2] & 0xFF, PID_VID[3] & 0xFF);
+//     mvwaddstr(main_sub, 12, 0, message);
+
+//     TODO: find out what format ChannelInformation is in & enable this
+//     sprintf(message, "%s%u", S_CHANNELS, ChannelInformation);
+//     mvwaddstr(main_sub, 13, 0, message);
+
+       sprintf(message, "%s%u", S_TXPOWER,
+           TxPower[regdom_types[rd_idx].first_ch] & 0xFF);
+       mvwaddstr(main_sub, 12, 0, message);
+#if 0 /* DEBUG */
+       wmove(main_sub, 17, 0);
+       for (i = 0; i < 14; i++) {
+           sprintf(message, "%-3u ", TxPower[i] & 0xFF);
+           waddstr(main_sub, message);
+       }
+#endif /* DEBUG */
+
+       sprintf(message, "[-] First %u OID elements: .%u.%u.%u.%u",
+           sysOIDSize / 2, sysOID[0], sysOID[1], sysOID[2], sysOID[3]);
+       mvwaddstr(main_sub, 13, 0, message);
+    }
+    wrefresh(main_sub);
+
+    print_help(OEMSET_HELP);
+
+    while (1) {
+       c = getch();
+       switch (c) {
+           case 'm':
+           case 'M':
+               get_mac(MacAddress, 1, strlen(S_MAC));
+               clear_main_new(2, 3);
+               sprintf(message, "%s%s", V_OUI, oui2manufacturer(MacAddress));
+               mvwaddstr(main_sub, 2, 0, message);
+               wrefresh(main_sub);
+               continue;
+           case 'd':
+           case 'D':
+               for (i = 0; regdom_types[i].code; i++);
+               regdoms = malloc(i * sizeof(char *));
+
+               for (i = 0; regdom_types[i].code; i++) {
+                   sprintf(message, "[%3u] %s", regdom_types[i].code,
+                       regdom_types[i].desc);
+                   regdoms[i] = (char *)
+                       malloc(strlen(message) + 1);
+                   strcpy(regdoms[i], message);
+               }
+
+               rd_idx = menu_choose(3, strlen(S_REGDOM), regdoms, i);
+               clear_main_new(3, 4);
+               RegulatoryDomain = regdom_types[rd_idx].code;
+               sprintf(message, "%s [%d]", regdom_types[rd_idx].desc,
+                   RegulatoryDomain);
+               print_menusel(3, 0, S_REGDOM, message);
+
+               while (i-- != 0)
+                   free(regdoms[i]);
+
+               free(regdoms);
+
+               if (ap_type == ATMEL12350) {
+                   Channel = regdom_types[rd_idx].first_ch;
+                   sprintf(message, "%02u (%u MHz)", Channel,
+                       2407 + 5 * Channel);
+                   print_menusel(9, 0, S_DEFCHAN, message);
+               }
+               continue;
+           case 'e':
+           case 'E':
+               get_value(OEMName, 4, strlen(S_OEMNAME), -32, ANY_STRING,
+                   0, 0, NULL);
+               continue;
+           case 'i':
+           case 'I':
+               get_value(message, 5, strlen(S_OEMID), 11, INT_STRING,
+                   0, 0xFFFFFFFF, OEMSET_HELP);
+               OEMID = atoi(message);
+               continue;
+           case 'n':
+           case 'N':
+               get_value(ProductName, 6, strlen(S_PRODNAME), -32, ANY_STRING,
+                   0, 0, NULL);
+               continue;
+           case 't':
+           case 'T':
+               get_value(message, 7, strlen(S_PRODTYPE), 11, INT_STRING,
+                   0, 0xFFFFFFFF, OEMSET_HELP);
+               ProductType = atoi(message);
+               continue;
+           case 'h':
+           case 'H':
+               get_value(message, 8, strlen(S_HWREV), 11,
+                   INT_STRING, 0, 0xFFFFFFFF, OEMSET_HELP);
+               HardwareRevision = atoi(message);
+               continue;
+           case 'c':
+           case 'C':
+               if (ap_type != ATMEL12350)
+                   continue;
+
+               Channel = menu_choose(3, strlen(S_DEFCHAN) - 2,
+#ifndef NO_REG_DOMAIN
+                channels + regdom_types[rd_idx].first_ch - 1,
+                regdom_types[rd_idx].chans) + regdom_types[rd_idx].first_ch;
+#else
+                channels, 14) + 1;
+#endif
+               sprintf(message, "%02u (%u MHz)", Channel, 2407 + 5 * Channel);
+               print_menusel(9, 0, S_DEFCHAN, message);
+               continue;
+           case 'o':
+           case 'O':
+               if (ap_type != ATMEL12350)
+                   continue;
+
+               get_value(CountryCode, 11, strlen(S_COUNTRYC), 3, ANY_STRING,
+                   0, 0, NULL);
+               continue;
+           case 'p':
+           case 'P':
+               if (ap_type != ATMEL12350)
+                   continue;
+
+               memset((void *)TxPower, 0, 14);
+               get_value(message, 12, strlen(S_TXPOWER), 4, INT_STRING, 0, 255,
+                   OEMSET_HELP);
+               c = atoi(message) & 0xFF;
+               for (i = regdom_types[rd_idx].first_ch; i <
+               regdom_types[rd_idx].first_ch + regdom_types[rd_idx].chans; i++)
+                  TxPower[i - 1] = c;
+
+               continue;
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 'w':
+           case 'W':
+               varbinds[0].oid = sysDeviceInfo;
+               varbinds[0].len_oid = sizeof(sysDeviceInfo);
+               varbinds[0].type = STRING_VALUE;
+
+               if (ap_type == ATMEL410) {
+                   str410.RegulatoryDomain     = RegulatoryDomain;
+                   str410.ProductType          = ProductType;
+                   str410.OEMID                = OEMID;
+                   str410.HardwareRevision     = HardwareRevision;
+                   varbinds[0].value = (char *) &str410;
+                   varbinds[0].len_val =
+                       sizeof(struct sysDeviceInfo_ATMEL410);
+               } else { /* ATMEL12350 */
+                   str12350.Channel            = Channel;
+                   str12350.RegulatoryDomain   = RegulatoryDomain;
+                   str12350.ProductType        = ProductType;
+                   str12350.OEMID              = OEMID;
+                   str12350.HardwareRevision   = HardwareRevision;
+//                 str12350.ChannelInformation = ChannelInformation;
+                   varbinds[0].value = (char *) &str12350;
+                   // first 92 bytes of struct sysDeviceInfo_ATMEL12350 here
+                   varbinds[0].len_val = 92;
+               }
+
+               print_help(WAIT_SET);
+               if (snmp(varbinds, 1, SET) <= 0) {
+                   print_helperr(ERR_SET);
+                   goto exit;
+               }
+
+               if (ap_type == ATMEL12350) {
+                   varbinds[0].oid = sysDeviceMoreInfo;
+                   varbinds[0].len_oid = sizeof(sysDeviceMoreInfo);
+                   varbinds[0].type = STRING_VALUE;
+                   // last 32 bytes of struct sysDeviceInfo_ATMEL12350 here
+                   varbinds[0].value = (char *) &str12350.CountryCode;
+                   varbinds[0].len_val = 32;
+                   if (snmp(varbinds, 1, SET) <= 0) {
+                       print_helperr(ERR_SET);
+                       goto exit;
+                   }
+               }
+
+               print_help(DONE_SET);
+               goto exit;
+       }
+    }
+
+  exit:
+    getch();
+  quit:
+    print_top(NULL, NULL);
+    clear_main(0);
+}
+
index f688c55d9242a473a203cc4b39985b630ecb35de..03bbf81a277a78bc6cef8a5c358b93b19e3654d5 100644 (file)
@@ -2,7 +2,8 @@
  *     snmp.c from Access Point SNMP Utils for Linux
  *     basic snmp packets assembly/disassembly and send/receive functions
  *
- * Copyright (c) 2002 Roman Festchook <roma at polesye dot net>
+ * Copyright (c) Roman Festchook <roma at polesye dot net>
+ *               Jan Rafaj <jr-aputils at cedric dot unob dot cz>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License Version 2 from
@@ -46,6 +47,20 @@ static void alarm_handler()
     siglongjmp(position, 1);
 }
 
+/*
+unsigned int ber_decode_uint(unsigned char *bevp, int len)
+{
+    unsigned int out = 0;
+
+    while (len--) {
+       out = (out << 7) | (*bevp & (*bevp & 0x80 ? 0x7f : 0xff));
+       bevp++;
+    }
+
+    return out;
+}
+*/
+
 int ber(char *message, varbind * varbindlist, int num, int type)
 {
 
index 56f46953428170f43f1eff1a0dc935e8cde0533d..7ebe726a926bc266899692df6468de6358ade8e1 100644 (file)
 #include <sys/time.h>
 #include <sys/wait.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
-#define QHELP _("Q - quit to menu. Other key - force update.")
-#define SELECT _("select() function error. Press any key.")
+#define ETH_STAT _("Ethernet Statistics")
+#define W_STAT _("Wireless Statistics")
 
 extern WINDOW *main_sub;
 extern short ap_type;
+extern int wait_mode;
 
 void EthStat()
 {
@@ -46,10 +46,8 @@ void EthStat()
        0x07, 0x02, 0x00
     };
     char message[1024];
-    int j;
     varbind varbinds[2];
-    fd_set rds;
-    struct timeval timeout;
+    int i;
 
     if (ap_type == ATMEL12350) {
        EthRx[5] = 0xE0;
@@ -58,10 +56,12 @@ void EthStat()
        EthTx[6] = 0x3E;
     }
     
-    print_title(_("Ethernet Statistics"));
-    print_help(QHELP);
+    print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, ETH_STAT);
     noecho();
 
+    if (wait_mode == WAIT_TIMEOUT)
+        print_help(QT_HELP);
+
     varbinds[0].oid = EthRx;
     varbinds[0].len_oid = sizeof(EthRx);
     varbinds[1].oid = EthTx;
@@ -75,12 +75,18 @@ void EthStat()
        varbinds[1].len_val = 0;
        varbinds[1].type = NULL_VALUE;
 
+       if (wait_mode == WAIT_FOREVER)
+           print_help(WAIT_RET);
+
        if (snmp(varbinds, 2, GET) <= 0) {
            print_helperr(ERR_RET);
            getch();
            goto quit;
        }
 
+       if (wait_mode == WAIT_FOREVER)
+           print_help(QT_HELP);
+
        if (varbinds[0].len_val == 64) {
            if (EthRxStat)
                free(EthRxStat);
@@ -175,30 +181,23 @@ void EthStat()
        mvwaddstr(main_sub, 18, 2, message);
        wrefresh(main_sub);
 
-       timeout.tv_sec = 1;
-       timeout.tv_usec = 0;
-       FD_ZERO(&rds);
-       FD_SET(0, &rds);
-
-       /* wait up to timeout until anything is avail. for reading on stdin */
-       j = select(1, &rds, NULL, NULL, &timeout);
-
-       /* error occured */
-       if (j == -1) {
-           print_helperr(SELECT);
-           getch();
-           break;
-       }
-
-       /* not timed out => anything avail. for reading in &rds */
-       if (j != 0) {
-           j = getc(stdin);
-           if (j == 'q' || j == 'Q')
-               break;
+       i = wait_key();
+       if (i == -1)
+           goto quit;
 
+       switch((char) i) {
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 't':
+           case 'T':
+               wait_mode = (wait_mode == WAIT_FOREVER ?
+                   WAIT_TIMEOUT : WAIT_FOREVER);
+               print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF,
+                   ETH_STAT);
        }
 
-       /* j = 0 => timeout => continue looping */
+       /* either timeout for user input (i == 0) or invalid key => continue */
     }
 
   quit:
@@ -208,7 +207,7 @@ void EthStat()
        free(EthTxStat);
 
     wclear(main_sub);
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
     return;
 }
@@ -222,20 +221,20 @@ void WirelessStat()
        0x00
     };
     char message[80];
-    int j;
+    int i;
     varbind varbinds[1];
-    fd_set rds;
-    struct timeval timeout;
 
     if (ap_type == ATMEL12350) {
        Wireless[5] = 0xE0;
        Wireless[6] = 0x3E;
     }
 
-    print_title(_("Wireless Statistics"));
-    print_help(QHELP);
+    print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, W_STAT);
     noecho();
 
+    if (wait_mode == WAIT_TIMEOUT)
+       print_help(QT_HELP);
+
     varbinds[0].oid = Wireless;
     varbinds[0].len_oid = sizeof(Wireless);
 
@@ -244,12 +243,18 @@ void WirelessStat()
        varbinds[0].len_val = 0;
        varbinds[0].type = NULL_VALUE;
 
+       if (wait_mode == WAIT_FOREVER)
+           print_help(WAIT_RET);
+
        if (snmp(varbinds, 1, GET) <= 0) {
            print_helperr(ERR_RET);
            getch();
            goto quit;
        }
 
+       if (wait_mode == WAIT_FOREVER)
+           print_help(QT_HELP);
+
        if (varbinds[0].len_val == 88 || varbinds[0].len_val == 104) {
            /*
             * 88 ... using traditional ATMEL 12350 MIB
@@ -326,6 +331,7 @@ void WirelessStat()
        sprintf(message, "InvalidPLCP        %10u",
                swap4(WirelessStat->InvalidPLCP));
        mvwaddstr(main_sub, 15, 1, message);
+
        /* ATMEL12350 MIB 'VERNET' modification has in addition the following */
        if (varbinds[0].len_val == 104) {
            mvwaddstr(main_sub, 16, 1, "TransmittedPackets:");
@@ -344,37 +350,30 @@ void WirelessStat()
        }
        wrefresh(main_sub);
 
-       timeout.tv_sec = 1;
-       timeout.tv_usec = 0;
-       FD_ZERO(&rds);
-       FD_SET(0, &rds);
-
-       /* wait up to timeout until anything is avail. for reading on stdin */
-       j = select(1, &rds, NULL, NULL, &timeout);
-
-       /* error occured */
-       if (j == -1) {
-           print_helperr(SELECT);
-           getch();
-           break;
-       }
-
-       /* not timed out => anything avail. for reading in &rds */
-       if (j != 0) {
-           j = getc(stdin);
-           if (j == 'q' || j == 'Q')
-               break;
+       i = wait_key();
+       if (i == -1)
+           goto quit;
 
+       switch((char) i) {
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 't':
+           case 'T':
+               wait_mode = (wait_mode == WAIT_FOREVER ?
+                   WAIT_TIMEOUT : WAIT_FOREVER);
+               print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF,
+                   W_STAT);
        }
 
-       /* j = 0 => timeout => continue looping */
+       /* either timeout for user input (i == 0) or invalid key => continue */
     }
 
   quit:
     if (WirelessStat)
        free(WirelessStat);
     wclear(main_sub);
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
@@ -415,17 +414,17 @@ void nwn_wireless_stat()
        { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x05, 0x01, 0x06, 0x01 };
 
     char message[80];
-    int j;
-    fd_set rds;
-    struct timeval timeout;
+    int i;
 
     varbind varbinds[16];
     curs_set(0);
 
-    print_title(_("Wireless Statistics"));
-    print_help(QHELP);
+    print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, W_STAT);
     noecho();
 
+    if (wait_mode == WAIT_TIMEOUT)
+       print_help(QT_HELP);
+
     varbinds[0].oid = oid_dot11TransmittedFragmentCount;
     varbinds[0].len_oid = sizeof(oid_dot11TransmittedFragmentCount);
     varbinds[1].oid = oid_dot11MulticastTransmittedFrameCount;
@@ -460,17 +459,24 @@ void nwn_wireless_stat()
     varbinds[15].len_oid = sizeof(oid_dot11WEPExcludedCount);
 
     while (1) {
-       for (j = 0; j < 16; j++) {
-           varbinds[j].value = oid_dot11TransmittedFragmentCount;
-           varbinds[j].len_val = 0;
-           varbinds[j].type = 0x05;
+       for (i = 0; i < 16; i++) {
+           varbinds[i].value = oid_dot11TransmittedFragmentCount;
+           varbinds[i].len_val = 0;
+           varbinds[i].type = 0x05;
        }
+
+       if (wait_mode == WAIT_FOREVER)
+           print_help(WAIT_RET);
+
        if (snmp(varbinds, 16, GET) <= 0) {
            print_helperr(ERR_RET);
            getch();
            goto quit;
        }
 
+       if (wait_mode == WAIT_FOREVER)
+           print_help(QT_HELP);
+
        sprintf(message, "FragmentTx       %10lu FragmentRx       %10lu",
                (long) swap4(*varbinds[0].value), (long) swap4(*varbinds[9].value));
        mvwaddstr(main_sub, 1, 1, message);
@@ -504,34 +510,28 @@ void nwn_wireless_stat()
        mvwaddstr(main_sub, 10, 1, message);
        wrefresh(main_sub);
 
-       timeout.tv_sec = 1;
-       timeout.tv_usec = 0;
-       FD_ZERO(&rds);
-       FD_SET(0, &rds);
-
-       /* wait up to timeout until anything is avail. for reading on stdin */
-       j = select(1, &rds, NULL, NULL, &timeout);
-
-       /* error occured */
-       if (j == -1) {
-           print_helperr(SELECT);
-           getch();
-           break;
-       }
-
-       /* not timed out => anything avail. for reading in &rds */
-       if (j != 0) {
-           j = getc(stdin);
-           if (j == 'q' || j == 'Q')
-               break;
+       i = wait_key();
+       if (i == -1)
+           goto quit;
 
+       switch((char) i) {
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 't':
+           case 'T':
+               wait_mode = (wait_mode == WAIT_FOREVER ?
+                   WAIT_TIMEOUT : WAIT_FOREVER);
+               print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF,
+                   W_STAT);
        }
 
-       /* j = 0 => timeout => continue looping */
+       /* either timeout for user input (i == 0) or invalid key => continue */
     }
 
   quit:
     wclear(main_sub);
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
+
index fd60dccd1f70bf9a817ee9503aca97577e037fec..283309f87779bbe79b2e0d3892f94ead8975ad22 100644 (file)
 #include <unistd.h>
 #include <stdlib.h>
 #include <fcntl.h>
-#include <signal.h>
 #include <string.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define SYS_DESCR _("System Description: ")
+#define SYSINFO _("System Info")
 
 #define OID_NUM 11
 
 extern WINDOW *main_sub;
-extern int LINES;
 
 void atmel_sysinfo()
 {
@@ -51,13 +49,14 @@ void atmel_sysinfo()
     char message[200];
     int i;
     varbind varbinds[3];
-    struct SysDeviceInfo_ATMEL410 ptr410;
-    struct SysDeviceInfo_ATMEL12350 ptr12350;
-    extern short ap_type;
-    extern char IS_ATMEL12350_VERNET;
+    struct sysDeviceInfo_ATMEL410 str410;
+    struct sysDeviceInfo_ATMEL12350 str12350;
+    extern short ap_type, ap_vendorext;
+    extern int LINES, wait_mode;
+    extern rdprops regdom_types[];
 
     /*
-     * These have to represent used SysDeviceInfo_{ATMEL410,ATMEL12350} members
+     * These have to represent used sysDeviceInfo_{ATMEL410,ATMEL12350} members
      */
     uint32_t ap_sversion;
     char *ap_macaddr;
@@ -75,125 +74,152 @@ void atmel_sysinfo()
        sysDeviceInfo[6] = 0x3E;
     }
 
-    i = 0;
+    print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, SYSINFO);
 
-    varbinds[0].oid = sysDescr;
-    varbinds[0].len_oid = sizeof(sysDescr);
-    varbinds[0].value = sysDescr;
-    varbinds[0].type = NULL_VALUE;
-    varbinds[0].len_val = 0;
-    i++;
-
-    varbinds[1].oid = sysDeviceInfo;
-    varbinds[1].len_oid = sizeof(sysDeviceInfo);
-    varbinds[1].value = sysDeviceInfo;
-    varbinds[1].len_val = 0;
-    varbinds[1].type = NULL_VALUE;
-    i++;
-
-    if (IS_ATMEL12350_VERNET) {
-       varbinds[2].oid = UpTime;
-       varbinds[2].len_oid = sizeof(UpTime);
-       varbinds[2].value = UpTime;
-       varbinds[2].len_val = 0;
-       varbinds[2].type = NULL_VALUE;
-       i++;
-    }
-
-    print_help(WAIT_RET);
-    if (snmp(varbinds, i, GET) <= 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
+    if (wait_mode == WAIT_TIMEOUT)
+       print_help(QT_HELP);
 
-    print_title(_("System Info"));
+    while (1) {
+       i = 0;
 
-    mvwaddstr(main_sub, 0, 0, _("Device hardware/software/name info:"));
-    for (i = 0; i < varbinds[0].len_val && *(varbinds[0].value + i); i++) {
-       mvwaddch(main_sub, 1, i + 1, *(varbinds[0].value + i));
-    }
+       varbinds[0].oid = sysDescr;
+       varbinds[0].len_oid = sizeof(sysDescr);
+       varbinds[0].value = sysDescr;
+       varbinds[0].type = NULL_VALUE;
+       varbinds[0].len_val = 0;
+       i++;
 
-    if (ap_type == ATMEL410) {
-       
-       memcpy(&ptr410, varbinds[1].value, sizeof(struct SysDeviceInfo_ATMEL410));
-       ap_sversion = ptr410.StructVersion;
-       ap_macaddr = ptr410.MacAddress;
-       ap_regdomain = swap4(ptr410.RegulationDomain);
-       ap_prodtype = ptr410.ProductType;
-       ap_oemname = ptr410.OEMName;
-       ap_oemid = ptr410.OEMID;
-       ap_prodname = ptr410.ProductName;
-       ap_hwrev = ptr410.HardwareRevision;
-    } else { /* ATMEL12350 */
-       
-       memcpy(&ptr12350, varbinds[1].value, sizeof(struct SysDeviceInfo_ATMEL12350));
-       ap_regdomain = ptr12350.RegulationDomain;
-       ap_sversion = ptr12350.StructVersion;
-       ap_macaddr = ptr12350.MacAddress;
-       ap_prodtype = ptr12350.ProductType;
-       ap_oemname = ptr12350.OEMName;
-       ap_oemid = ptr12350.OEMID;
-       ap_prodname = ptr12350.ProductName;
-       ap_hwrev = ptr12350.HardwareRevision;
-    }
+       varbinds[1].oid = sysDeviceInfo;
+       varbinds[1].len_oid = sizeof(sysDeviceInfo);
+       varbinds[1].value = sysDeviceInfo;
+       varbinds[1].len_val = 0;
+       varbinds[1].type = NULL_VALUE;
+       i++;
 
-    sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
+       if (ap_vendorext == VERNET) {
+           varbinds[2].oid = UpTime;
+           varbinds[2].len_oid = sizeof(UpTime);
+           varbinds[2].value = UpTime;
+           varbinds[2].len_val = 0;
+           varbinds[2].type = NULL_VALUE;
+           i++;
+       }
+
+       if (wait_mode == WAIT_FOREVER)
+           print_help(WAIT_RET);
+
+       if (snmp(varbinds, i, GET) <= 0) {
+           print_helperr(ERR_RET);
+           getch();
+           goto quit;
+       }
+
+       if (wait_mode == WAIT_FOREVER)
+           print_help(QT_HELP);
+
+       mvwaddstr(main_sub, 0, 0, _("Device hardware/software/name info:"));
+       for (i = 0; i < varbinds[0].len_val && *(varbinds[0].value + i); i++)
+           mvwaddch(main_sub, 1, i + 1, *(varbinds[0].value + i));
+
+       if (ap_type == ATMEL410) {
+           memcpy(&str410, varbinds[1].value,
+               sizeof(struct sysDeviceInfo_ATMEL410));
+           ap_sversion = str410.StructVersion;
+           ap_macaddr = str410.MacAddress;
+           ap_regdomain = swap4(str410.RegulatoryDomain);
+           ap_prodtype = str410.ProductType;
+           ap_oemname = str410.OEMName;
+           ap_oemid = str410.OEMID;
+           ap_prodname = str410.ProductName;
+           ap_hwrev = str410.HardwareRevision;
+       } else { /* ATMEL12350 */
+           memcpy(&str12350, varbinds[1].value,
+               sizeof(struct sysDeviceInfo_ATMEL12350));
+           ap_regdomain = str12350.RegulatoryDomain;
+           ap_sversion = str12350.StructVersion;
+           ap_macaddr = str12350.MacAddress;
+           ap_prodtype = str12350.ProductType;
+           ap_oemname = str12350.OEMName;
+           ap_oemid = str12350.OEMID;
+           ap_prodname = str12350.ProductName;
+           ap_hwrev = str12350.HardwareRevision;
+       }
+
+       sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
            ap_macaddr[0] & 0xFF, ap_macaddr[1] & 0xFF,
            ap_macaddr[2] & 0xFF, ap_macaddr[3] & 0xFF,
            ap_macaddr[4] & 0xFF, ap_macaddr[5] & 0xFF);
-    mvwaddstr(main_sub, 2, 0, message);
-
-    mvwaddstr(main_sub, 3, 0, _("Product name:"));
-    for (i = 0; i < 32 && ap_prodname[i]; i++) {
-       mvwaddch(main_sub, 3, i + 14, ap_prodname[i]);
-    }
-
-    sprintf(message, _("Product type: %u"), swap4(ap_prodtype));
-    mvwaddstr(main_sub, 4, 0, message);
-
-    sprintf(message, _("Hardware revision: %u"), swap4(ap_hwrev));
-    mvwaddstr(main_sub, 5, 0, message);
-
-    mvwaddstr(main_sub, 6, 0, _("OEM name:"));
-    for (i = 0; i < 32 && ap_oemname[i]; i++) {
-       mvwaddch(main_sub, 6, i + 10, ap_oemname[i]);
-    }
-
-    sprintf(message, "OEM ID: %u", swap4(ap_oemid));
-    mvwaddstr(main_sub, 7, 0, message);
-
-    sprintf(message, _("Regulation domain: %s [%d]"),
-           (ap_regdomain == 0x10) ? _("FCC (USA)") :
-           (ap_regdomain == 0x20) ? _("DOC (Canada)") :
-           (ap_regdomain == 0x30) ? _("ETSI (Europe)") :
-           (ap_regdomain == 0x31) ? _("Spain") :
-           (ap_regdomain == 0x32) ? _("France") :
-           (ap_regdomain == 0x40) ? _("MKK (Japan)") : _("unknown"), ap_regdomain);
-    mvwaddstr(main_sub, 8, 0, message);
-
-    sprintf(message, _("Info structure version: %u"), swap4(ap_sversion));
-    mvwaddstr(main_sub, 9, 0, message);
-
-    sprintf(message, _("Manufacturer OUI: %02X %02X %02X (%s)"),
-       ap_macaddr[0] & 0xFF, ap_macaddr[1] & 0xFF, ap_macaddr[2] & 0xFF,
-       oui2manufacturer(ap_macaddr));
-    mvwaddstr(main_sub, 10, 0, message);
-
-    if (IS_ATMEL12350_VERNET) {
-       i = varbinds[2].len_val == 2 ?
-           (varbinds[2].value[0] << 8) | varbinds[2].value[1] :
-           varbinds[2].value[0] < 0x80 ?
-           varbinds[2].value[0] : 0xff00 | varbinds[2].value[0];
-       sprintf(message, _("Uptime: %u days, %02u:%02u:%02u hours:mins:secs"),
-           i / 60 / 60 / 24, i / 60 / 60 % 24, i / 60 % 60, i % 60);
-       mvwaddstr(main_sub, 11, 0, message);
+       mvwaddstr(main_sub, 2, 0, message);
+
+       mvwaddstr(main_sub, 3, 0, _("Product name:"));
+       for (i = 0; i < 32 && ap_prodname[i]; i++)
+           mvwaddch(main_sub, 3, i + 14, ap_prodname[i]);
+
+       sprintf(message, _("Product type: %u"), swap4(ap_prodtype));
+       mvwaddstr(main_sub, 4, 0, message);
+
+       mvwaddstr(main_sub, 5, 0, _("OEM name:"));
+       for (i = 0; i < 32 && ap_oemname[i]; i++)
+           mvwaddch(main_sub, 5, i + 10, ap_oemname[i]);
+
+       sprintf(message, "OEM ID: %u", swap4(ap_oemid));
+       mvwaddstr(main_sub, 6, 0, message);
+
+       sprintf(message, _("Hardware revision: %u"), swap4(ap_hwrev));
+       mvwaddstr(main_sub, 7, 0, message);
+
+       i = regdom_idx(ap_regdomain);
+       sprintf(message, "Regulatory domain: %s [%d]",
+           regdom_types[i].desc, ap_regdomain);
+       mvwaddstr(main_sub, 8, 0, message);
+
+       sprintf(message, _("Info structure version: %u"), swap4(ap_sversion));
+       mvwaddstr(main_sub, 9, 0, message);
+
+       sprintf(message, _("Manufacturer OUI: %02X %02X %02X (%s)"),
+           ap_macaddr[0] & 0xFF, ap_macaddr[1] & 0xFF, ap_macaddr[2] & 0xFF,
+           oui2manufacturer(ap_macaddr));
+       mvwaddstr(main_sub, 10, 0, message);
+
+       if (ap_vendorext == VERNET) {
+           unsigned int j = 0;
+
+           if (varbinds[2].len_val > 1) {
+               for (i = 0; i < varbinds[2].len_val; i++)
+                   j |= (varbinds[2].value[i]
+                       << (8 * (varbinds[2].len_val - i - 1)));
+           } else {
+               j = varbinds[2].value[0] & 0x80 ?
+                   0xff00 | varbinds[2].value[0] : varbinds[2].value[0];
+           }
+           sprintf(message,
+               _("Uptime: %u days, %02u:%02u:%02u hours:mins:secs"),
+               j / 60 / 60 / 24, j / 60 / 60 % 24, j / 60 % 60, j % 60);
+           mvwaddstr(main_sub, 11, 0, message);
+       }
+
+       wrefresh(main_sub);
+
+       i = wait_key();
+       if (i == -1)
+           goto quit;
+
+       switch((char) i) {
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 't':
+           case 'T':
+               wait_mode = (wait_mode == WAIT_FOREVER ?
+                   WAIT_TIMEOUT : WAIT_FOREVER);
+               print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF,
+                   SYSINFO);
+       }
+
+       /* either timeout for user input (i == 0) or invalid key => continue */
     }
-
-    wrefresh(main_sub);
-    print_help(ANY_KEY);
-  exit:
-    getch();
-    print_title("");
+  quit:
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
@@ -212,7 +238,6 @@ int get_RegDomain()
     if (snmp(varbinds, 1, GET) <= 0)
        return 0;
     return *(varbinds[0].value);
-
 }
 
 void nwn_sysinfo()
@@ -268,190 +293,214 @@ void nwn_sysinfo()
     struct in_addr ip;
     varbind varbinds[OID_NUM];
     size_t time_stamp;
-
-    for (i = 0; i < OID_NUM; i++) {
-       varbinds[i].value = oid_mac;
-       varbinds[i].type = NULL_VALUE;
-       varbinds[i].len_val = 0;
-    }
-    varbinds[0].oid = oid_mac;
-    varbinds[0].len_oid = sizeof(oid_mac);
-    varbinds[1].oid = oid_manufacturerID;
-    varbinds[1].len_oid = sizeof(oid_manufacturerID);
-    varbinds[2].oid = oid_productID;
-    varbinds[2].len_oid = sizeof(oid_productID);
-    varbinds[3].oid = oid_dot11manufacturerOUI;
-    varbinds[3].len_oid = sizeof(oid_dot11manufacturerOUI);
-    varbinds[4].oid = oid_dot11manufacturerName;
-    varbinds[4].len_oid = sizeof(oid_dot11manufacturerName);
-    varbinds[5].oid = oid_dot11manufacturerProductName;
-    varbinds[5].len_oid = sizeof(oid_dot11manufacturerProductName);
-    varbinds[6].oid = oid_dot11manufacturerProductVersion;
-    varbinds[6].len_oid = sizeof(oid_dot11manufacturerProductVersion);
-    varbinds[7].oid = oid_dot11PHYType;
-    varbinds[7].len_oid = sizeof(oid_dot11PHYType);
-    varbinds[8].oid = oid_dot11TempType;
-    varbinds[8].len_oid = sizeof(oid_dot11TempType);
-    varbinds[9].oid = oid_TxPowerLevel1;
-    varbinds[9].len_oid = sizeof(oid_TxPowerLevel1);
-
-    print_help(WAIT_RET);
-    if (snmp(varbinds, OID_NUM - 1, GET) <= 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
-    print_title(_("System Info"));
-
-
-
-    sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
+    extern int wait_mode;
+
+    print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF, SYSINFO);
+
+    if (wait_mode == WAIT_TIMEOUT)
+       print_help(QT_HELP);
+
+    while (1) {
+       for (i = 0; i < OID_NUM; i++) {
+           varbinds[i].value = oid_mac;
+           varbinds[i].type = NULL_VALUE;
+           varbinds[i].len_val = 0;
+       }
+       varbinds[0].oid = oid_mac;
+       varbinds[0].len_oid = sizeof(oid_mac);
+       varbinds[1].oid = oid_manufacturerID;
+       varbinds[1].len_oid = sizeof(oid_manufacturerID);
+       varbinds[2].oid = oid_productID;
+       varbinds[2].len_oid = sizeof(oid_productID);
+       varbinds[3].oid = oid_dot11manufacturerOUI;
+       varbinds[3].len_oid = sizeof(oid_dot11manufacturerOUI);
+       varbinds[4].oid = oid_dot11manufacturerName;
+       varbinds[4].len_oid = sizeof(oid_dot11manufacturerName);
+       varbinds[5].oid = oid_dot11manufacturerProductName;
+       varbinds[5].len_oid = sizeof(oid_dot11manufacturerProductName);
+       varbinds[6].oid = oid_dot11manufacturerProductVersion;
+       varbinds[6].len_oid = sizeof(oid_dot11manufacturerProductVersion);
+       varbinds[7].oid = oid_dot11PHYType;
+       varbinds[7].len_oid = sizeof(oid_dot11PHYType);
+       varbinds[8].oid = oid_dot11TempType;
+       varbinds[8].len_oid = sizeof(oid_dot11TempType);
+       varbinds[9].oid = oid_TxPowerLevel1;
+       varbinds[9].len_oid = sizeof(oid_TxPowerLevel1);
+
+       if (wait_mode == WAIT_FOREVER)
+           print_help(WAIT_RET);
+
+       if (snmp(varbinds, OID_NUM - 1, GET) <= 0) {
+           print_helperr(ERR_RET);
+           getch();
+           goto quit;
+       }
+
+       sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
            varbinds[0].value[0] & 0xFF, varbinds[0].value[1] & 0xFF,
            varbinds[0].value[2] & 0xFF, varbinds[0].value[3] & 0xFF,
            varbinds[0].value[4] & 0xFF, varbinds[0].value[5] & 0xFF);
-    mvwaddstr(main_sub, 0, 0, message);
+       mvwaddstr(main_sub, 0, 0, message);
 
-    mvwaddstr(main_sub, 3, 0, _("Manufacturer:"));
-    i = 0;
-    while (varbinds[4].len_val > i) {
-       mvwaddch(main_sub, 3, i + 20, *(varbinds[4].value + i++));
-    }
+       mvwaddstr(main_sub, 3, 0, _("Manufacturer:"));
+       i = 0;
+       while (varbinds[4].len_val > i)
+           mvwaddch(main_sub, 3, i + 20, *(varbinds[4].value + i++));
 
-    mvwaddstr(main_sub, 4, 0, _("Manufacturer ID:"));
-    i = 0;
-    while (varbinds[1].len_val > i) {
-       mvwaddch(main_sub, 4, i + 20, *(varbinds[1].value + i++));
-    }
+       mvwaddstr(main_sub, 4, 0, _("Manufacturer ID:"));
+       i = 0;
+       while (varbinds[1].len_val > i)
+           mvwaddch(main_sub, 4, i + 20, *(varbinds[1].value + i++));
 
-    sprintf(message, _("Manufacturer OUI: %02X %02X %02X (%s)"),
+       sprintf(message, _("Manufacturer OUI: %02X %02X %02X (%s)"),
            varbinds[3].value[0] & 0xFF, varbinds[3].value[1] & 0xFF,
            varbinds[3].value[2] & 0xFF,
            oui2manufacturer(varbinds[3].value));
-    mvwaddstr(main_sub, 5, 0, message);
-
-    sprintf(message, _("Product Name:"));
-    mvwaddstr(main_sub, 6, 0, message);
-    i = 0;
-    while (varbinds[5].len_val > i) {
-       mvwaddch(main_sub, 6, i + 20, *(varbinds[5].value + i++));
-    }
-
-    sprintf(message, _("Product ID:"));
-    mvwaddstr(main_sub, 7, 0, message);
-    i = 0;
-    while (varbinds[2].len_val > i) {
-       mvwaddch(main_sub, 7, i + 20, *(varbinds[2].value + i++));
-    }
-    sprintf(message, _("Product Version:"));
-    mvwaddstr(main_sub, 8, 0, message);
-    i = 0;
-    while (varbinds[6].len_val > i) {
-       mvwaddch(main_sub, 8, i + 20, *(varbinds[6].value + i++));
-    }
-
-
-    sprintf(message, _("PHYType: %s"), types[*(varbinds[7].value) - 1]);
-    mvwaddstr(main_sub, 9, 0, message);
-
-    sprintf(message, _("Temperature: %s"), temp[*(varbinds[8].value) - 1]);
-    mvwaddstr(main_sub, 10, 0, message);
-
-    if ((i = get_RegDomain()) == 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
-    sprintf(message, _("Regulation Domain: %s"),
+       mvwaddstr(main_sub, 5, 0, message);
+
+       sprintf(message, _("Product Name:"));
+       mvwaddstr(main_sub, 6, 0, message);
+       i = 0;
+       while (varbinds[5].len_val > i)
+           mvwaddch(main_sub, 6, i + 20, *(varbinds[5].value + i++));
+
+       sprintf(message, _("Product ID:"));
+       mvwaddstr(main_sub, 7, 0, message);
+       i = 0;
+       while (varbinds[2].len_val > i)
+           mvwaddch(main_sub, 7, i + 20, *(varbinds[2].value + i++));
+
+       sprintf(message, _("Product Version:"));
+       mvwaddstr(main_sub, 8, 0, message);
+       i = 0;
+       while (varbinds[6].len_val > i)
+           mvwaddch(main_sub, 8, i + 20, *(varbinds[6].value + i++));
+
+       sprintf(message, _("PHYType: %s"), types[*(varbinds[7].value) - 1]);
+       mvwaddstr(main_sub, 9, 0, message);
+
+       sprintf(message, _("Temperature: %s"), temp[*(varbinds[8].value) - 1]);
+       mvwaddstr(main_sub, 10, 0, message);
+
+       if ((i = get_RegDomain()) == 0) {
+           print_helperr(ERR_RET);
+           getch();
+           goto quit;
+       }
+       sprintf(message, _("Regulatory Domain: %s"),
            (i == 0x10) ? _("FCC (USA)") :
            (i == 0x20) ? _("DOC (Canada)") :
            (i == 0x30) ? _("ETSI (Europe)") :
            (i == 0x31) ? _("Spain") :
            (i == 0x32) ? _("France") :
            (i == 0x40) ? _("MKK (Japan)") : _("unknown"));
-    mvwaddstr(main_sub, 11, 0, message);
-
-    sprintf(message, _("Transmit Power: %u mW"), *(varbinds[9].value));
-    mvwaddstr(main_sub, 12, 0, message);
-
-    varbinds[0].oid = oid_dot11PrivacyOptionImplemented;
-    varbinds[0].len_oid = sizeof(oid_dot11PrivacyOptionImplemented);
-    varbinds[0].value = oid_mac;
-    varbinds[0].type = NULL_VALUE;
-    varbinds[0].len_val = 0;
-    varbinds[1].oid = oid_dot11DiversitySupport;
-    varbinds[1].len_oid = sizeof(oid_dot11DiversitySupport);
-    varbinds[1].value = oid_mac;
-    varbinds[1].type = NULL_VALUE;
-    varbinds[1].len_val = 0;
-    varbinds[2].oid = oid_sysDescr;
-    varbinds[2].len_oid = sizeof(oid_sysDescr);
-    varbinds[2].value = oid_mac;
-    varbinds[2].type = NULL_VALUE;
-    varbinds[2].len_val = 0;
-    varbinds[3].oid = oid_sysUptime;
-    varbinds[3].len_oid = sizeof(oid_sysUptime);
-    varbinds[3].value = oid_mac;
-    varbinds[3].type = NULL_VALUE;
-    varbinds[3].len_val = 0;
-
-    print_help(WAIT_RET);
-    if (snmp(varbinds, 4, GET) <= 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
+       mvwaddstr(main_sub, 11, 0, message);
 
-    sprintf(message, _("WEP implemented: %s"),
+       sprintf(message, _("Transmit Power: %u mW"), *(varbinds[9].value));
+       mvwaddstr(main_sub, 12, 0, message);
+
+       varbinds[0].oid = oid_dot11PrivacyOptionImplemented;
+       varbinds[0].len_oid = sizeof(oid_dot11PrivacyOptionImplemented);
+       varbinds[0].value = oid_mac;
+       varbinds[0].type = NULL_VALUE;
+       varbinds[0].len_val = 0;
+       varbinds[1].oid = oid_dot11DiversitySupport;
+       varbinds[1].len_oid = sizeof(oid_dot11DiversitySupport);
+       varbinds[1].value = oid_mac;
+       varbinds[1].type = NULL_VALUE;
+       varbinds[1].len_val = 0;
+       varbinds[2].oid = oid_sysDescr;
+       varbinds[2].len_oid = sizeof(oid_sysDescr);
+       varbinds[2].value = oid_mac;
+       varbinds[2].type = NULL_VALUE;
+       varbinds[2].len_val = 0;
+       varbinds[3].oid = oid_sysUptime;
+       varbinds[3].len_oid = sizeof(oid_sysUptime);
+       varbinds[3].value = oid_mac;
+       varbinds[3].type = NULL_VALUE;
+       varbinds[3].len_val = 0;
+
+       if (snmp(varbinds, 4, GET) <= 0) {
+           print_helperr(ERR_RET);
+           getch();
+           goto quit;
+       }
+
+       sprintf(message, _("WEP implemented: %s"),
            (*(varbinds[0].value) == 1) ? ON : OFF);
-    mvwaddstr(main_sub, 13, 0, message);
-    sprintf(message, _("Diversity: %s"),
+       mvwaddstr(main_sub, 13, 0, message);
+       sprintf(message, _("Diversity: %s"),
            diversity[*(varbinds[1].value) - 1]);
-    mvwaddstr(main_sub, 14, 0, message);
-    mvwaddstr(main_sub, LINES - 8, 0, SYS_DESCR);
-    i = 0;
-    while (varbinds[2].len_val > i && varbinds[2].value[i]) {
-       message[i] = varbinds[2].value[i];
-       i++;
-    }
-    message[i] = '\0';
-    mvwaddstr(main_sub, LINES - 8, strlen(SYS_DESCR) + 1, message);
-
-    time_stamp = 0;
-    i = 1;
-
-    for (c = 1; c <= varbinds[3].len_val; c++) {
-       time_stamp +=
-           (unsigned char) varbinds[3].value[varbinds[3].len_val - c] * i;
-       i *= 256;
-    }
-
-    hand = time_stamp % 100;
-    time_stamp = time_stamp / 100;
-    sec = time_stamp % 60;
-    time_stamp = time_stamp / 60;
-    min = time_stamp % 60;
-    time_stamp = time_stamp / 60;
-
-    sprintf(message, _("Uptime: %u:%02u:%02u.%02u"), time_stamp, min, sec,
+       mvwaddstr(main_sub, 14, 0, message);
+       mvwaddstr(main_sub, LINES - 8, 0, SYS_DESCR);
+       i = 0;
+       while (varbinds[2].len_val > i && varbinds[2].value[i]) {
+           message[i] = varbinds[2].value[i];
+           i++;
+       }
+       message[i] = '\0';
+       mvwaddstr(main_sub, LINES - 8, strlen(SYS_DESCR) + 1, message);
+
+       time_stamp = 0;
+       i = 1;
+
+       for (c = 1; c <= varbinds[3].len_val; c++) {
+           time_stamp +=
+               (unsigned char) varbinds[3].value[varbinds[3].len_val - c] * i;
+           i *= 256;
+       }
+
+       hand = time_stamp % 100;
+       time_stamp = time_stamp / 100;
+       sec = time_stamp % 60;
+       time_stamp = time_stamp / 60;
+       min = time_stamp % 60;
+       time_stamp = time_stamp / 60;
+
+       sprintf(message, _("Uptime: %u:%02u:%02u.%02u"), time_stamp, min, sec,
            hand);
-    mvwaddstr(main_sub, 15, 0, message);
-
-    varbinds[0].oid = oid_ip;
-    varbinds[0].len_oid = sizeof(oid_ip);
-    varbinds[0].value = oid_mac;
-    varbinds[0].type = NULL_VALUE;
-    varbinds[0].len_val = 0;
-
-    print_help(WAIT_RET);
-    if (snmp(varbinds, 1, GET_NEXT) <= 0) {
-       print_helperr(ERR_RET);
-       goto exit;
+       mvwaddstr(main_sub, 15, 0, message);
+
+       varbinds[0].oid = oid_ip;
+       varbinds[0].len_oid = sizeof(oid_ip);
+       varbinds[0].value = oid_mac;
+       varbinds[0].type = NULL_VALUE;
+       varbinds[0].len_val = 0;
+
+       if (snmp(varbinds, 1, GET_NEXT) <= 0) {
+           print_helperr(ERR_RET);
+           getch();
+           goto quit;
+       }
+
+       if (wait_mode == WAIT_FOREVER)
+           print_help(QT_HELP);
+
+       memcpy(&ip.s_addr, varbinds[0].value, 4);
+       sprintf(message, _("IP  Address: %s"), inet_ntoa(ip));
+       mvwaddstr(main_sub, 1, 0, message);
+       wrefresh(main_sub);
+
+       i = wait_key();
+       if (i == -1)
+           goto quit;
+
+       switch((char) i) {
+           case 'q':
+           case 'Q':
+               goto quit;
+           case 't':
+           case 'T':
+               wait_mode = (wait_mode == WAIT_FOREVER ?
+                   WAIT_TIMEOUT : WAIT_FOREVER);
+               print_top(wait_mode == WAIT_TIMEOUT ? POLL_ON : POLL_OFF,
+                   SYSINFO);
+       }
+
+       /* either timeout for user input (i == 0) or invalid key => continue */
     }
-    memcpy(&ip.s_addr, varbinds[0].value, 4);
-    sprintf(message, _("IP  Address: %s"), inet_ntoa(ip));
-    mvwaddstr(main_sub, 1, 0, message);
-
-    wrefresh(main_sub);
-    print_help(ANY_KEY);
-  exit:
-    getch();
-    print_title("");
+  quit:
+    print_top(NULL, NULL);
     clear_main(0);
 }
+
index 40192017ebc314e806540a40d7dead65d98ebeea..037a6e7c9ac13bf023903665b8a4f5fd8e62dbe8 100644 (file)
@@ -22,7 +22,6 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define TEST_MODE _("[T] Test mode: ")
 #define ANTENNA _("[A] Antenna: ")
 
 extern WINDOW *main_sub;
 extern short ap_type;
+extern char *channels[];
 
 void test()
 {
-
     struct TestModeCommandStruct_ATMEL410 {
        unsigned char Channel;
        unsigned char Antenna;
@@ -70,11 +69,10 @@ void test()
     char message[1024], *antenna[2] =
        { _("Left"), _("Right") }, *filer[2] = {
     "EN", "US"}, *rates[4] = {
-    "1", "2", "5.5", "11"}, *item_name[14];
+    "1", "2", "5.5", "11"};
     char teston = 2, *commands[4] =
        { "CONTINUOUS_TX", "CONTINUOUS_RX", "CARRIER_ACCURACY", "IDLE" };
     varbind varbinds[5];
-    int ch_num = 0, i;
 
     if (ap_type == ATMEL12350) {
        TestModeOnOff[5] = 0xE0;
@@ -85,32 +83,18 @@ void test()
        TestModeStatistics[6] = 0x3E;
     }
 
-    print_title(_("Test mode"));
+    print_top(NULL, _("Test mode"));
     mvwaddstr(main_sub, 3, 6,
              _
              ("Using the \"Test mode\" may cause loss of your current"));
     mvwaddstr(main_sub, 4, 6, _("configuration."));
     mvwaddstr(main_sub, 6, 20, _("Do you want to continue? "));
     wrefresh(main_sub);
-    print_help(_("(Y - Yes; N - No (it's safer to answer No.)"));
-    i = 1;
-    while (i)
-       switch (getch()) {
-       case 'Y':
-       case 'y':
-           clear_main(3);
-           i = 0;
-           break;
-       case 'n':
-       case 'N':
-           clear_main(3);
-           goto quit;
-       }
 
-    if ((ch_num = ch_list(0, item_name)) == 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
+    if (help_ysn())
+       goto quit;
+
+    print_help(__HELP);
 
     sprintf(message, "%s%s", TEST_MODE, OFF);
     mvwaddstr(main_sub, 0, 0, message);
@@ -146,7 +130,6 @@ void test()
 
     wrefresh(main_sub);
     noecho();
-    print_help(__HELP);
     while (1) {
        switch (getch()) {
        case 'Q':
@@ -229,8 +212,8 @@ void test()
            continue;
        case 'C':
        case 'c':
-           testmode.Channel = menu_choose(3, strlen(CHANNEL), item_name,
-               ch_num) + 1;
+           testmode.Channel = menu_choose(3, strlen(CHANNEL), channels,
+               14) + 1;
            clear_main_new(3, 4);
            sprintf(message, "%02u (%u MHz)", testmode.Channel,
                2407 + 5 * testmode.Channel);
@@ -290,10 +273,7 @@ void test()
     print_help(ANY_KEY);
   exit:
     getch();
-    /* free memory allocated for channel list */
-    for (i = 0; i < ch_num; i++)
-       free(item_name[i]);
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
index a9590f739cef7c8e7012516af8b19f16f398eb6d..4495a36b3d6e430075668fb8fb0d723e18b131eb 100644 (file)
--- a/lib/wep.c
+++ b/lib/wep.c
@@ -24,8 +24,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
+#define PRIVSETTINGS _("Privacy Settings")
 #define ENCRYPT _("[E] Standard encryption mechanism: ")
 #define ALLOW _("[A] Allow unencrypted: ")
 #define DEFAULT _("[K] Default WEP key: ")
@@ -84,7 +84,7 @@ void wep()
     wepid = *(varbinds[1].value);
     print_help(_("EK1234 - set; W - write conf; Q - quit to menu"));
 
-    print_title(_("Privacy Settings"));
+    print_top(NULL, PRIVSETTINGS);
 
     sprintf(message, "%s%s", ENCRYPT, weps[wep - 1]);
     mvwaddstr(main_sub, 0, 0, message);
@@ -186,7 +186,7 @@ void wep()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
@@ -246,7 +246,7 @@ void nwn_wep()
     wepid=*(varbinds[3].value);
     print_help(_("AEPK1234 - set options; W - write conf; Q - quit to menu"));
 
-    print_title(_("Privacy Settings"));
+    print_top(NULL, PRIVSETTINGS);
 
     sprintf(message, "%s%s", ENCRYPT, weps[wep - 1]);
     mvwaddstr(main_sub, 1, 0, message);
@@ -415,6 +415,6 @@ void nwn_wep()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
index 33d8f698648facaa2c64c2da401d0f095ce1e4ea..fc8e555ec7a0b0b77fe78e53a265f01948835cd3 100644 (file)
@@ -23,7 +23,6 @@
 #include <unistd.h>
 #include <sys/types.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define ESSID _("[E] ESSID: ")
 #define AP_NAME _("[N] AP name: ")
@@ -49,9 +48,7 @@
 #define SIFS_T _("[T] SIFS time (msec): ")
 #define WLAN_HELP _("[key] - set option; W - write conf; Q - quit to menu")
 
-extern short ap_type;
-extern char IS_ATMEL12350_TELLUS;
-extern char IS_ATMEL12350_VERNET;
+extern short ap_type, ap_vendorext;
 
 void atmel_wireless()
 {
@@ -110,26 +107,27 @@ void atmel_wireless()
     };
 
     extern WINDOW *main_sub;
+    extern rdprops regdom_types[];
+    extern char *channels[];
     varbind varbinds[16];
     unsigned short int RTSThreshold, FragmentationThreshold,
-       InterRoaming, m_basic_rates = 0, first_channel = 1, BeaconPeriod = 0,
-       sifs = 0;
+       InterRoaming, m_basic_rates = 0, BeaconPeriod = 0, sifs = 0;
     unsigned char dtim, ch;
     char *AuthenticationTypes[3] = { OSYS, SH_KEY, BOTH_TYPE },
        message[1024];
     char domain[32], basic_rates[4], AutoRateFallBack, SSIDBroadcasting,
-       ap_name[32], ch_num = 0, PreambleType, AuthenticationType, channel;
+       ap_name[32], PreambleType, AuthenticationType, channel;
     char m_channel = 0, m_essid = 0, m_broadcast = 0, m_rts = 0,
        m_fragment = 0, m_auth = 0, m_ap_name = 0, m_preambule = 0,
        m_auto_rate = 0, m_inter_roaming = 0, m_beacon = 0, m_dtim = 0,
        m_sifs = 0;
-    char *item_name[14], *rates[3] = { ON, OFF, BASIC }, *preambules[2] = {
+    char *rates[3] = { ON, OFF, BASIC }, *preambules[2] = {
     _("Short"), _("Long")};
     short __rates[4] = { 2, 4, 11, 22 };
-    int i, c = 0;
+    int i, c = 0, rd_idx;
     unsigned short ap_regdomain;
-    struct SysDeviceInfo_ATMEL410 ptr410;
-    struct SysDeviceInfo_ATMEL12350 ptr12350;
+    struct sysDeviceInfo_ATMEL410 str410;
+    struct sysDeviceInfo_ATMEL12350 str12350;
 
 
     if (ap_type == ATMEL12350) {
@@ -181,14 +179,15 @@ void atmel_wireless()
     varbinds[i++].oid = sysDeviceInfo;
     if (ap_type == ATMEL12350) {
        varbinds[i++].oid = operInterRoaming;
-       if (IS_ATMEL12350_TELLUS) {
+       if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
            varbinds[i++].oid = operBeaconPeriod;
            varbinds[i++].oid = operDTIM;
        }
-       if (IS_ATMEL12350_VERNET)
+       if (ap_vendorext == VERNET)
            varbinds[i++].oid = operSIFSTIME;
     }
 
+    print_help(WAIT_RET);
     if (snmp(varbinds, i, GET) <= 0) {
        print_helperr(ERR_RET);
        goto exit;
@@ -209,14 +208,14 @@ void atmel_wireless()
     memcpy(ap_name, varbinds[10].value, 32);
     if (ap_type == ATMEL12350) {
        InterRoaming = *(varbinds[12].value);
-       if (IS_ATMEL12350_TELLUS) {
+       if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
            BeaconPeriod = varbinds[13].len_val == 2 ?
                (varbinds[13].value[0] << 8) | varbinds[13].value[1] :
                varbinds[13].value[0] < 0x80 ?
                varbinds[13].value[0] : 0xff00 | varbinds[13].value[0];
            dtim = *(varbinds[14].value);
        }
-       if (IS_ATMEL12350_VERNET)
+       if (ap_vendorext == VERNET)
            sifs = varbinds[15].len_val == 2 ?
                (varbinds[15].value[0] << 8) | varbinds[15].value[1] :
                varbinds[15].value[0] < 0x80 ?
@@ -224,23 +223,18 @@ void atmel_wireless()
     }
 
     if (ap_type == ATMEL12350) {
-       memcpy(&ptr12350, varbinds[11].value,
-           sizeof(struct SysDeviceInfo_ATMEL12350));
-       ap_regdomain=ptr12350.RegulationDomain;
+       memcpy(&str12350, varbinds[11].value,
+           sizeof(struct sysDeviceInfo_ATMEL12350));
+       ap_regdomain=str12350.RegulatoryDomain;
     } else /* ATMEL410 */{
-       memcpy(&ptr410, varbinds[11].value,
-           sizeof(struct SysDeviceInfo_ATMEL410));
-       ap_regdomain = swap4(ptr410.RegulationDomain);
+       memcpy(&str410, varbinds[11].value,
+           sizeof(struct sysDeviceInfo_ATMEL410));
+       ap_regdomain = swap4(str410.RegulatoryDomain);
     }
 
-    if ((ch_num = ch_list(ap_regdomain, item_name)) == 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
-    if (ap_regdomain == 0x31 || ap_regdomain == 0x32)
-       first_channel=10;
+    rd_idx = regdom_idx(ap_regdomain);
 
-    print_title(_("Wireless Settings"));
+    print_top(NULL, _("Wireless Settings"));
 
     sprintf(message, "%s%02u (%u MHz)", CHANNEL, channel, 2407 + 5 * channel);
     mvwaddstr(main_sub, 0, 0, message);
@@ -271,13 +265,13 @@ void atmel_wireless()
     if (ap_type == ATMEL12350) {
        sprintf(message, "%s%s", INT_ROAMING, (InterRoaming == 1) ? ON : OFF);
        mvwaddstr(main_sub, 15, 0, message);
-       if (IS_ATMEL12350_TELLUS) {
+       if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
            sprintf(message, "%s%u", BEACON_PER, BeaconPeriod);
            mvwaddstr(main_sub, 16, 0, message);
            sprintf(message, "%s%u", DTIM_I, dtim);
            mvwaddstr(main_sub, 17, 0, message);
        }
-       if (IS_ATMEL12350_VERNET) {
+       if (ap_vendorext == VERNET) {
            sprintf(message, "%s%u", SIFS_T, sifs);
            mvwaddstr(main_sub, 18, 0, message);
        }
@@ -317,8 +311,13 @@ void atmel_wireless()
            break;
        case 'C':
        case 'c':
-           channel = menu_choose(0, strlen(CHANNEL), item_name, ch_num)
-               + first_channel;
+           channel = menu_choose(0, strlen(CHANNEL),
+#ifndef NO_REG_DOMAIN
+               channels + regdom_types[rd_idx].first_ch - 1,
+               regdom_types[rd_idx].chans) + regdom_types[rd_idx].first_ch;
+#else
+               channels, 14) + 1;
+#endif
            sprintf(message, "%02u (%u MHz)", channel, 2407 + 5 * channel);
            print_menusel(0, 0, CHANNEL, message);
            m_channel = 1;
@@ -356,7 +355,7 @@ void atmel_wireless()
        case 'N':
        case 'n':
 //          make_field(2, strlen(AP_NAME), 32);
-           get_value(ap_name, 2, strlen(AP_NAME), 32, ANY_STRING, 0, 0, NULL);
+           get_value(ap_name, 2, strlen(AP_NAME), -32, ANY_STRING, 0, 0, NULL);
            m_ap_name = 1;
            continue;
        case 'E':
@@ -392,7 +391,7 @@ void atmel_wireless()
            continue;
        case 'B':
        case 'b':
-           if (!IS_ATMEL12350_TELLUS)
+           if (ap_vendorext != TELLUS && ap_vendorext != VERNET)
                continue;
            get_value(message, 16, strlen(BEACON_PER), 6, INT_STRING, 0, 65535,
                WLAN_HELP);
@@ -401,7 +400,7 @@ void atmel_wireless()
            continue;
        case 'D':
        case 'd':
-           if (!IS_ATMEL12350_TELLUS)
+           if (ap_vendorext != TELLUS && ap_vendorext != VERNET)
                continue;
            get_value(message, 17, strlen(DTIM_I), 4, INT_STRING, 0, 255,
                WLAN_HELP);
@@ -410,7 +409,7 @@ void atmel_wireless()
            continue;
        case 'T':
        case 't':
-           if (!IS_ATMEL12350_VERNET)
+           if (ap_vendorext != VERNET)
                continue;
            get_value(message, 18, strlen(SIFS_T), 6, INT_STRING, 0, 65535,
                WLAN_HELP);
@@ -564,59 +563,45 @@ void atmel_wireless()
   exit:
     getch();
   quit:
-    /* free memory allocated for channel list */
-    for (i = 0; i < ch_num; i++)
-       free(item_name[i]);
-
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
 void nwn_wireless()
 {
-    char *item_name[14];
-
-    char oid_dot11SupportedAntenna[][11] = {
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x02, 0x01, 0x01},
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x02, 0x01, 0x02},
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x03, 0x01, 0x01},
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x03, 0x01, 0x02},
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x04, 0x01, 0x01},
-       {0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x04, 0x01, 0x02}
-    };
-
-    char ChannelPref[] =
-       { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x02, 0x01,
-       0x06, 0x00
-    };
-    char operChannelID[] =
-       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x05, 0x01, 0x01, 0x01 };
-    char sysTrapSwitch[] =
-       { 0x2B, 0x06, 0x01, 0x02, 0x01, 0x0b, 0x1e, 0x00 };
-
     char operESSID[] =
        { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x01, 0x01, 0x09, 0x01 };
-
+    char operBasicRates[] =
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x01, 0x01, 0x0b, 0x01 };
+    char OpenSystem[] =
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x02, 0x01, 0x03, 0x01, 0x01 };
+    char SharedKey[] =
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02 };
     char operRTSThreshold[] =
        { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x02, 0x01, 0x01, 0x02, 0x01 };
     char operFragmentationThreshold[] =
        { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x02, 0x01, 0x01, 0x05, 0x01 };
-    char OpenSystem[] =
-       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x02, 0x01, 0x03, 0x01,
-       0x01
-    };
-    char SharedKey[] =
-       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x02, 0x01, 0x03, 0x01,
-       0x02
+    char operChannelID[] =
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x05, 0x01, 0x01, 0x01 };
+    char oid_dot11SupportedAntenna[][11] = {
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x02, 0x01, 0x01 },
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x02, 0x01, 0x02 },
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x03, 0x01, 0x01 },
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x03, 0x01, 0x02 },
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x04, 0x01, 0x01 },
+       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x04, 0x08, 0x01, 0x04, 0x01, 0x02 }
     };
-    char operBasicRates[] =
-       { 0x2a, 0x86, 0x48, 0xce, 0x34, 0x01, 0x01, 0x01, 0xb, 0x01 };
-    char operAccessPointName[] =
-       { 0x2b, 0x06, 0x01, 0x02, 0x01, 0x01, 0x05, 0x00 };
     char operAccessPointContact[] =
        { 0x2b, 0x06, 0x01, 0x02, 0x01, 0x01, 0x04, 0x00 };
+    char operAccessPointName[] =
+       { 0x2b, 0x06, 0x01, 0x02, 0x01, 0x01, 0x05, 0x00 };
     char operAccessPointLocation[] =
        { 0x2b, 0x06, 0x01, 0x02, 0x01, 0x01, 0x06, 0x00 };
+    char sysTrapSwitch[] =
+       { 0x2b, 0x06, 0x01, 0x02, 0x01, 0x0b, 0x1e, 0x00 };
+    char ChannelPref[] =
+       { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x87, 0x29, 0x03, 0x01, 0x02, 0x01,
+       0x06, 0x00 };
 
     unsigned short int i, RTSThreshold, FragmentationThreshold,
        m_basic_rates = 0, authi;
@@ -627,13 +612,15 @@ void nwn_wireless()
         antenna[6],
         channel_pref[2] = { 0, 0 };
     extern WINDOW *main_sub;
+    extern rdprops regdom_types[];
+    extern char *channels[];
     char *domain, basic_rates[] =
        { 0, 0, 0, 0 }, *ap_name, ap_location[32], ap_contact[32],
        m_ap_contact = 0, m_ap_location = 0;
     char m_channel = 0, m_essid = 0, m_rts = 0, m_fragment = 0, m_auth =
        0, m_ap_name = 0, channel, traps, m_traps = 0;
     varbind varbinds[11];
-    int c=0, ch_num = 0, first_channel=1, reg_domain=0;
+    int c = 0, reg_domain = 0, rd_idx;
     short __rates[4] = { 2, 4, 11, 22};
 
     domain = (char *) calloc(32, 1);
@@ -697,16 +684,10 @@ void nwn_wireless()
                basic(basic_rates[i]));
         mvwaddstr(main_sub, 11+i, 2, message);
     }
-    
+
     reg_domain = get_RegDomain();
-    if ((ch_num = ch_list(reg_domain, item_name)) == 0) {
-       print_helperr(ERR_RET);
-       goto exit;
-    }
+    rd_idx = regdom_idx(reg_domain);
 
-    if(reg_domain == 0x31 || reg_domain == 0x32)
-       first_channel = 10;
-       
     for (i = 0; i < 9; i++) {
        varbinds[i].len_val = 0;
        varbinds[i].type = NULL_VALUE;
@@ -764,7 +745,7 @@ void nwn_wireless()
            ANTENNA_DV_RIGHT, (antenna[5] == 1) ? ON : OFF);
     mvwaddstr(main_sub, 19, 1, message);
 
-    print_title(_("General Options"));
+    print_top(NULL, _("General Options"));
     print_help(_
               ("UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"));
     wrefresh(main_sub);
@@ -863,8 +844,13 @@ void nwn_wireless()
             break;
        case 'C':
        case 'c':
-           channel = menu_choose(0, strlen(CHANNEL), item_name, ch_num)
-               + first_channel;
+           channel = menu_choose(0, strlen(CHANNEL),
+#ifndef NO_REG_DOMAIN
+               channels + regdom_types[rd_idx].first_ch - 1,
+               regdom_types[rd_idx].chans) + regdom_types[rd_idx].first_ch;
+#else
+               channels, 14) + 1;
+#endif
            sprintf(message, "%02u (%u MHz)", channel, 2407 + 5 * channel);
            print_menusel(0, 0, CHANNEL, message);
            m_channel = 1;
@@ -1095,11 +1081,8 @@ void nwn_wireless()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
 
-    /* free memory allocated for channel list */
-    for (i = 0; i < ch_num; i++)
-       free(item_name[i]);
     free(domain);
     free(ap_name);
     clear_main(0);
index 4842b9ebe8689b2b35c8d204bf7c8b39a78b69ce..6502b65e5af71289cdeb26c896ac980cfe0c57a8 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,876 +15,928 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr ""
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr ""
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr ""
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr ""
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr ""
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 msgid "MAC auth"
 msgstr ""
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr ""
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr ""
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr ""
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr ""
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+msgid "Activate current configuration"
 msgstr ""
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr ""
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr ""
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr ""
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr ""
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr ""
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr ""
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr ""
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr ""
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr ""
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr ""
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr ""
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr ""
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr ""
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr ""
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr ""
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr ""
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr ""
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr ""
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr ""
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr ""
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr ""
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr ""
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr ""
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 msgid "[A] MAC authorization: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 msgid "Enter MAC: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 msgid "Delete Num: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 msgid "Authorized MAC addresses"
 msgstr ""
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 msgid "NUM       MAC address"
 msgstr ""
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr ""
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 msgid "A - auth; W - write conf; Q - quit"
 msgstr ""
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 msgid "Internal"
 msgstr ""
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr ""
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 msgid "[N] Netmask: "
 msgstr ""
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 msgid "[G] Gateway: "
 msgstr ""
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 msgid "[F] Filter non-IP traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 msgid "[P] Primary port: "
 msgstr ""
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 msgid "Attached station MAC: "
 msgstr ""
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 msgid "[D] DHCP client: "
 msgstr ""
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 msgid "[O] Operational mode: "
 msgstr ""
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr ""
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr ""
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr ""
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr ""
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr ""
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr ""
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr ""
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr ""
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr ""
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr ""
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr ""
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr ""
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr ""
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr ""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr ""
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 msgid "cause loss of Access Point's current configuration."
 msgstr ""
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 msgid "via its wireless port."
 msgstr ""
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr ""
 
-#: lib/aps.c:154
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr ""
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr ""
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr ""
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr ""
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr ""
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
-#: lib/aps.c:381
+#: lib/aps.c:369
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
 "reset"
 msgstr ""
 
-#: lib/aps.c:383
+#: lib/aps.c:371
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
 "view"
 msgstr ""
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr ""
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr ""
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr ""
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr ""
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr ""
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr ""
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr ""
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr ""
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr ""
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
+#: lib/ap_search.c:48
+msgid "Community name: "
+msgstr ""
+
+#: lib/ap_search.c:49
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
 msgstr ""
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr ""
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr ""
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr ""
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, c-format
 msgid "  Name: %s"
 msgstr ""
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
 msgstr ""
 
-#: lib/ap_search.c:327
-msgid "Access Points Search"
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
 msgstr ""
 
 #: lib/ap_search.c:345
+msgid "Access Points Search"
+msgstr ""
+
+#: lib/ap_search.c:363
 msgid "realloc() error."
 msgstr ""
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr ""
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 msgid "No local network interfaces found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr ""
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 msgid "# - connect to AP; Q - quit"
 msgstr ""
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 msgid "MAC address: "
 msgstr ""
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 msgid "[S] SNMP traps: "
 msgstr ""
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 msgid "[C] Frequency channel: "
 msgstr ""
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 msgid "Receive  antenna:"
 msgstr ""
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 msgid "[U] Left"
 msgstr ""
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 msgid "[I] Right"
 msgstr ""
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 msgid "Transmit antenna:"
 msgstr ""
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 msgid "[O] Left"
 msgstr ""
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 msgid "[P] Right"
 msgstr ""
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 msgid "Diversity select:"
 msgstr ""
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 msgid "[T] Left"
 msgstr ""
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 msgid "[Y] Right"
 msgstr ""
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr ""
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr ""
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr ""
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 msgid "Off"
 msgstr ""
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 msgid "Basic"
 msgstr ""
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr ""
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr ""
 
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr ""
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr ""
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr ""
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr ""
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+msgid "select() function error. Press any key."
+msgstr ""
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr ""
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr ""
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr ""
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr ""
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 msgid "Run subshell. To return type 'exit'."
 msgstr ""
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr ""
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr ""
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr ""
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 msgid "Set encryption; edit WEP keys"
 msgstr ""
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr ""
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 msgid "Set SNMP community/password for access to the AP"
 msgstr ""
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 msgid "Get info about AP hardware and firmware"
 msgstr ""
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 msgid "Get wireless port statistics"
 msgstr ""
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr ""
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 msgid "Get info and statistics from AP"
 msgstr ""
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 msgid "Set various configuration options"
 msgstr ""
 
-#: lib/cmd.c:25
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#: lib/ap-utils.h:130
+msgid "Associated stations"
 msgstr ""
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:132
+msgid "Polling: on"
+msgstr ""
+
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr ""
 
-#: lib/cmd.c:47
-msgid "After restoring factory defaults your current configuration."
+#: lib/cmd.c:43
+msgid "After restoring factory defaults your current configuration"
 msgstr ""
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr ""
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr ""
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr ""
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr ""
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr ""
 
-#: lib/cmd.c:149
-msgid "You need to upload the configuration only if you've changed"
+#: lib/cmd.c:119
+msgid "You may need to upload the configuration only if you've"
 msgstr ""
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr ""
 
-#: lib/cmd.c:153
-msgid "of your current configuration."
+#: lib/cmd.c:123
+msgid "cause loss of your current configuration."
 msgstr ""
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 msgid "Configuration uploaded. Press any key to continue."
 msgstr ""
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
+msgid "Access Point IP-address: "
 msgstr ""
 
 #: lib/common.c:31
-msgid "Access Point IP-address: "
+msgid "Password (community): "
 msgstr ""
 
 #: lib/common.c:32
-msgid "Password (community): "
+msgid "Autodetect AP MIB properties? "
 msgstr ""
 
 #: lib/common.c:33
-msgid "Access Point name: "
+msgid "AP MIB type: "
 msgstr ""
 
 #: lib/common.c:34
-msgid "Do you want to define name for this AP? "
+msgid "AP MIB vendor extensions: "
 msgstr ""
 
 #: lib/common.c:35
-msgid "AP type: "
+msgid "Do you want to use AP's name as its label? "
 msgstr ""
 
 #: lib/common.c:36
+msgid "Access Point label: "
+msgstr ""
+
+#: lib/common.c:37
 msgid "Save connect-settings: "
 msgstr ""
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr ""
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr ""
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr ""
 
-#: lib/common.c:82
-msgid "Copyright (c) Roman Festchook 2001-2004"
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
+#: lib/common.c:109
+msgid "Copyright (c) 2001-2004"
+msgstr ""
+
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
 msgstr ""
 
-#: lib/common.c:85
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr ""
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr ""
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr ""
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr ""
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr ""
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr ""
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-#: lib/common.c:187
-msgid "Determining AP type. Please wait..."
+#: lib/common.c:361
+msgid "Trying to probe AP for MIB properties. Please wait..."
 msgstr ""
 
-#: lib/common.c:272
-msgid "Unable to determine AP type (no response). Press any key."
+#: lib/common.c:390
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr ""
 
-#: lib/file.c:194
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
 msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 msgid "Choose an AP to connect to"
 msgstr ""
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr ""
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr ""
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+#: lib/file.c:376
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+
+#: lib/file.c:426
+msgid "Unable to write stations file. Press any key."
+msgstr ""
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
+#: lib/input.c:33
 msgid "Invalid value. Press any key to continue."
 msgstr ""
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
+msgstr ""
+
+#: lib/input.c:412
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
 msgstr ""
 
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr ""
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr ""
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 msgid "Antenna:"
 msgstr ""
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 msgid "[L] Left:"
 msgstr ""
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 msgid "[R] Right:"
 msgstr ""
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr ""
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 msgid "Key Channel Level"
 msgstr ""
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
 "key."
 msgstr ""
 
-#: lib/scr.c:203
+#: lib/scr.c:168
 #, c-format
-msgid "Current AP: %s Type: %s"
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr ""
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr ""
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 msgid "Key Access level"
 msgstr ""
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr ""
 
+#: lib/set_community.c:30
+msgid "[U] User "
+msgstr ""
+
 #: lib/set_community.c:31
-msgid "[U] User"
+msgid "[A] Administrator "
 msgstr ""
 
 #: lib/set_community.c:32
-msgid "[A] Administrator"
+msgid "[M] Manufacturer "
 msgstr ""
 
 #: lib/set_community.c:33
@@ -892,285 +944,268 @@ msgid ""
 "[key] - set community/password; W - write config to AP; Q - quit to menu"
 msgstr ""
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
+#: lib/stat.c:29
+msgid "Ethernet Statistics"
 msgstr ""
 
 #: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-msgid "select() function error. Press any key."
-msgstr ""
-
-#: lib/stat.c:61
-msgid "Ethernet Statistics"
+msgid "Wireless Statistics"
 msgstr ""
 
-#: lib/stat.c:92
+#: lib/stat.c:98
 msgid "EthRxStat packet error. Press any key."
 msgstr ""
 
-#: lib/stat.c:105
+#: lib/stat.c:111
 msgid "EthTxStat packet error. Press any key."
 msgstr ""
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr ""
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 msgid "Transmitted:"
 msgstr ""
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr ""
-
-#: lib/stat.c:265
+#: lib/stat.c:270
 msgid "WirelessStat packet error. Press any key."
 msgstr ""
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr ""
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr ""
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr ""
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 msgid "Product name:"
 msgstr ""
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, c-format
 msgid "Product type: %u"
 msgstr ""
 
-#: lib/sysinfo.c:154
-#, c-format
-msgid "Hardware revision: %u"
-msgstr ""
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 msgid "OEM name:"
 msgstr ""
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr ""
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr ""
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr ""
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr ""
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr ""
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr ""
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr ""
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
+msgid "Hardware revision: %u"
 msgstr ""
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, c-format
 msgid "Info structure version: %u"
 msgstr ""
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr ""
 
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr ""
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr ""
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr ""
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr ""
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr ""
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr ""
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr ""
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr ""
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr ""
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr ""
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr ""
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr ""
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr ""
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr ""
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr ""
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr ""
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr ""
 
-#: lib/sysinfo.c:362
+#: lib/sysinfo.c:390
 #, c-format
-msgid "Regulation Domain: %s"
+msgid "Regulatory Domain: %s"
+msgstr ""
+
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr ""
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr ""
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr ""
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr ""
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr ""
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
 msgstr ""
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr ""
 
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, c-format
 msgid "WEP implemented: %s"
 msgstr ""
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr ""
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr ""
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr ""
 
-#: lib/test.c:27
+#: lib/test.c:26
 msgid "[T] Test mode: "
 msgstr ""
 
-#: lib/test.c:28
+#: lib/test.c:27
 msgid "[A] Antenna: "
 msgstr ""
 
-#: lib/test.c:29
+#: lib/test.c:28
 msgid "[S] Signal level: "
 msgstr ""
 
-#: lib/test.c:30
+#: lib/test.c:29
 msgid "[R] Rate: "
 msgstr ""
 
-#: lib/test.c:31
+#: lib/test.c:30
 msgid "[F] TxFiler: "
 msgstr ""
 
-#: lib/test.c:32
+#: lib/test.c:31
 msgid "[O] Command: "
 msgstr ""
 
-#: lib/test.c:33
+#: lib/test.c:32
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr ""
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr ""
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr ""
 
-#: lib/test.c:88
+#: lib/test.c:86
 msgid "Test mode"
 msgstr ""
 
-#: lib/test.c:91
+#: lib/test.c:89
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr ""
 
-#: lib/test.c:92
+#: lib/test.c:90
 msgid "configuration."
 msgstr ""
 
-#: lib/test.c:95
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr ""
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr ""
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr ""
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr ""
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr ""
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr ""
+
 #: lib/wep.c:29
 msgid "[E] Standard encryption mechanism: "
 msgstr ""
@@ -1191,10 +1226,6 @@ msgstr ""
 msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr ""
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr ""
@@ -1207,136 +1238,136 @@ msgstr ""
 msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 msgid "[N] AP name: "
 msgstr ""
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 msgid "[K] AP contact: "
 msgstr ""
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 msgid "[L] AP location: "
 msgstr ""
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 msgid "[R] RTS threshold: "
 msgstr ""
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 msgid "[F] Fragmentation threshold: "
 msgstr ""
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 msgid "[P] Preambule type: "
 msgstr ""
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 msgid "[A] Auth type: "
 msgstr ""
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 msgid "Open system"
 msgstr ""
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 msgid "Shared key"
 msgstr ""
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 msgid "Both types"
 msgstr ""
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 msgid "[U] Auto rate fallback: "
 msgstr ""
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr ""
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 msgid "Basic and Supported rates:"
 msgstr ""
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr ""
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 msgid "[I] International roaming: "
 msgstr ""
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr ""
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr ""
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr ""
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr ""
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr ""
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr ""
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr ""
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr ""
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr ""
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr ""
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr ""
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr ""
 
@@ -1474,95 +1505,95 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr ""
 
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 msgid "NUM     MAC address"
 msgstr ""
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr ""
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr ""
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr ""
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 msgid "Both"
 msgstr ""
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr ""
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr ""
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr ""
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr ""
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr ""
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr ""
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr ""
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr ""
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 msgid "Authenticate Fail:"
 msgstr ""
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr ""
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr ""
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr ""
 
-#: src/stations.c:190
+#: src/stations.c:200
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr ""
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr ""
-
-#: src/stations.c:277
+#: src/stations.c:279
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr ""
diff --git a/po/fr.gmo b/po/fr.gmo
deleted file mode 100644 (file)
index 966449e..0000000
Binary files a/po/fr.gmo and /dev/null differ
index dd915d973c326dc5e60563fa9dcbda0c9800ce24..8f4fe59d5756f05d6cb3ed9144a96fd62d3781d5 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2004-05-10 08:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -15,404 +15,395 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
-msgstr "Établissement d'un pont"
+msgstr ""
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr "Configuré les options relative au pont et à IP"
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "Sans fil"
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "Configurer les options sans fil"
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "Intimité"
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
-#, fuzzy
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 msgid "MAC auth"
-msgstr "Authenfication MAC"
+msgstr ""
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "Communauté"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "Radio"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr ""
 "Sélectionner les options pour l'antenne et la puissance du signal radio"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "Téléchargement"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+#, fuzzy
+msgid "Activate current configuration"
 msgstr "Rendre la configuration courante active"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "Défauts"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "Restaurer les paramètres par défaut du manufacturier"
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "Réinitialisation"
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr ""
 "Réinitialiser le point d'accès. Toutes les config. non préservées seront "
 "perdues."
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "Mode test"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "Placer le point d'accès en mode test."
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "SysInfo"
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "Ethernet"
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "Obtenir les statistiques des ports Ethernet"
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "Stations"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "Point d'accès connus"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "Obtenir les info des points d'accès connus"
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "Info"
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "Config"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "Commandes"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "Exécuter les commandes sur le point d'accès"
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "Connecter"
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "Chercher"
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "À propos"
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "Shell"
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "Quitter"
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "Configurateur de point d'accès sans fil version %s"
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "Erreur de paquet AuthorizedMacTableString"
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 #, fuzzy
 msgid "[A] MAC authorization: "
 msgstr "[A] Autorisation Mac: %s"
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 #, fuzzy
 msgid "Enter MAC: "
 msgstr "Entrer Mac:"
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 #, fuzzy
 msgid "Delete Num: "
 msgstr "Détruire Num:"
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 #, fuzzy
 msgid "Authorized MAC addresses"
 msgstr "Mac adresses autorisées"
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 #, fuzzy
 msgid "NUM       MAC address"
 msgstr "NUM     MAC address"
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A - autor.; N - nouveau; D - détruire; flèches - défiler; W - sauvegarder la "
 "config.; Q - quitter"
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 #, fuzzy
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr ""
 "BPGINFDRT - initialisé; W - sauvegarder la config.; Q - quitter vers le menu"
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 #, fuzzy
 msgid "A - auth; W - write conf; Q - quit"
 msgstr ""
 "DA - options; W - sauvegarder la configuration; Q - quitter vers le menu"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 #, fuzzy
 msgid "Internal"
 msgstr "Général"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr ""
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 #, fuzzy
 msgid "[N] Netmask: "
 msgstr "[N] netmask: %s"
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 #, fuzzy
 msgid "[G] Gateway: "
 msgstr "[G] Passerelle (gateway) %s"
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 #, fuzzy
 msgid "[F] Filter non-IP traffic: "
 msgstr "[F] Filtrer le traffic non IP: %s"
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 #, fuzzy
 msgid "[P] Primary port: "
 msgstr "[P] Port primaire: %s"
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 #, fuzzy
 msgid "Attached station MAC: "
 msgstr "Station rattachée MAC: %02X%02X%02X%02X%02X%02X"
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 #, fuzzy
 msgid "[D] DHCP client: "
 msgstr "[D] protocol DHCP: %s"
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 #, fuzzy
 msgid "[O] Operational mode: "
 msgstr "[O] Mode opérationnel: %s"
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr ""
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr ""
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr ""
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 #, fuzzy
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr ""
 "BPGINFDRT - initialisé; W - sauvegarder la config.; Q - quitter vers le menu"
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr "Point d'accès pont sans fil vers Multi-point"
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "Point d'accès"
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "Point d'accès client"
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr "Point pont sans fil vers un point"
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "Répéteur"
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "Stations associées"
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr ""
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "Erreur de paquet AssociatedSTAsInfo"
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr ""
 "Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "Point d'accès connus"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr ""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr ""
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 #, fuzzy
 msgid "cause loss of Access Point's current configuration."
 msgstr "Configurateur de point d'accès sans fil"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 #, fuzzy
 msgid "via its wireless port."
 msgstr "Configurer les options sans fil"
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "Désirez-vous poursuivre?"
 
-#: lib/aps.c:154
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(Y - Oui; N - Non (il est plus sûr de répondre non)"
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "Point d'accès connus"
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "Type de réseau"
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "Infrastructure"
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 #, fuzzy
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr "P: type de préambule; S: court; L: long"
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
-#: lib/aps.c:381
+#: lib/aps.c:369
 #, fuzzy
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
@@ -421,7 +412,7 @@ msgstr ""
 "# connecter à cet AP; R rafraîchir avec réinitialisation; G rafraîchior sans "
 "réinitialisation; Q quitter"
 
-#: lib/aps.c:383
+#: lib/aps.c:371
 #, fuzzy
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
@@ -430,375 +421,399 @@ msgstr ""
 "# connecter à cet AP; R rafraîchir avec réinitialisation; G rafraîchior sans "
 "réinitialisation; Q quitter"
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, fuzzy, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "sendto() invalide: %s. Appuyer sur une touche."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr ""
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr ""
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr ""
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr ""
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr ""
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr ""
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr ""
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr ""
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
-msgstr ""
+#: lib/ap_search.c:48
+#, fuzzy
+msgid "Community name: "
+msgstr "Communauté"
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:49
+#, fuzzy
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
+msgstr "NUM       ADRESSE IP   TYPE"
+
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr ""
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 #, fuzzy
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr "Ne peut diffuser l'option au socket. Appuyer sur une touche."
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 #, fuzzy
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr "Ne peut diffiser par multicast au socket. Appuyer sur une touche."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr ""
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr ""
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, fuzzy, c-format
 msgid "  Name: %s"
 msgstr "[N] Nom du point d'accès:"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
+msgstr ""
+
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
 msgstr ""
 
-#: lib/ap_search.c:327
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "Recherche des points d'accès"
 
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 #, fuzzy
 msgid "realloc() error."
 msgstr "Erreur de création de socket"
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr ""
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 #, fuzzy
 msgid "No local network interfaces found. Press any key."
 msgstr "erreur de fork(). Appuyer sur une touche."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr ""
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 #, fuzzy
 msgid "# - connect to AP; Q - quit"
 msgstr "Connexion avec AP numéro:"
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 #, fuzzy
 msgid "MAC address: "
 msgstr "NUM     MAC address"
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 #, fuzzy
 msgid "[S] SNMP traps: "
 msgstr "[S] Trappes SNMP: %s"
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 #, fuzzy
 msgid "[C] Frequency channel: "
 msgstr "[C] canal de fréquence: %02u (%u MHz)"
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 #, fuzzy
 msgid "Receive  antenna:"
 msgstr "Reçu:"
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 #, fuzzy
 msgid "[U] Left"
 msgstr "Gauche"
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 #, fuzzy
 msgid "[I] Right"
 msgstr "Droite"
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 #, fuzzy
 msgid "Transmit antenna:"
 msgstr "Transmis:"
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 #, fuzzy
 msgid "[O] Left"
 msgstr "Gauche"
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 #, fuzzy
 msgid "[P] Right"
 msgstr "Droite"
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 #, fuzzy
 msgid "Diversity select:"
 msgstr "Diversité: %s"
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 #, fuzzy
 msgid "[T] Left"
 msgstr "Gauche"
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 #, fuzzy
 msgid "[Y] Right"
 msgstr "Droite"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr ""
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr ""
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr ""
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 #, fuzzy
 msgid "Off"
 msgstr "off"
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 #, fuzzy
 msgid "Basic"
 msgstr "de base"
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "Appuyer sur une touche pour continuer"
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr ""
 "Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
 "pour continuer."
 
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 #, fuzzy
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr ""
 "Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
 "pour continuer."
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+#, fuzzy
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "Récupérationd des données du point d'accès. SVP patientez..."
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "Écriture des données sur le point d'accès. SVP patientez..."
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 #, fuzzy
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr ""
 "Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
 "pour continuer."
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "select() function error. Press any key."
+msgstr "erreur fcntl(). Appuyer sur une touche."
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "Erreur de création du socket. Appuyer sur n'importe quelle touche."
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "Erreur de liaison de socket (bind). Appuyer sur une touche."
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "De retour au menu principal"
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "Quitter le programme"
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 #, fuzzy
 msgid "Run subshell. To return type 'exit'."
 msgstr "Exécuter le sous-shell. Pour retourner taper 'exit'"
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "Infos courtes à propos du logiciel"
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "Repérer les points d'accès connectés"
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "Sélectionner les options de connexion: ip et communauté"
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 #, fuzzy
 msgid "Set encryption; edit WEP keys"
 msgstr "Sélectionner l'encryptage, éditer les clés WEP"
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 #, fuzzy
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr ""
 "Sélectionner le type d'autorisation MAC, éditer le table d'autorisation MAC"
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 #, fuzzy
 msgid "Set SNMP community/password for access to the AP"
 msgstr ""
 "Sélectionner la communauté/mot de passe SNMP pour accéder un point d'accès"
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 #, fuzzy
 msgid "Get info about AP hardware and firmware"
 msgstr "Obtenir les infos à propos du point d'accès matériel et logiciel"
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 #, fuzzy
 msgid "Get wireless port statistics"
 msgstr "Obtenir les statistiques des ports sans fils"
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 #, fuzzy
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "Obtenir la liste des stations courramment associées"
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 #, fuzzy
 msgid "Get info and statistics from AP"
 msgstr "Obtention des infos et des statistiques à partir du point d'accès"
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 #, fuzzy
 msgid "Set various configuration options"
 msgstr "Sélectionner diverses options de configuration"
 
-#: lib/cmd.c:25
-#, fuzzy
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "Stations associées"
+
+#: lib/ap-utils.h:132
+msgid "Polling: on"
 msgstr ""
-"(Y - Oui; N - Non (il est plus sûr de répondre Non, à moins d'avoir vraiment "
-"besoin de cela.)"
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "Restauter les paramètres par défaut du manufacturier."
 
-#: lib/cmd.c:47
+#: lib/cmd.c:43
 #, fuzzy
-msgid "After restoring factory defaults your current configuration."
+msgid "After restoring factory defaults your current configuration"
 msgstr ""
 "Après restauration des paramètres du manufacturier, vous avez perdu la "
 "configuration courante."
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 #, fuzzy
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr ""
 "Configuration par défaut activée. Appuyer sur une touche pour continuer."
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "Réinitialiser le point d'accès"
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 #, fuzzy
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr ""
 "Après réinitialisation vous avez perdu toutes les configurations non "
 "préservées."
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr ""
 "Réinitialisation de point d'accès. Appuyer sur une touche pour continuer."
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "Configuration de chargement à distance"
 
-#: lib/cmd.c:149
+#: lib/cmd.c:119
 #, fuzzy
-msgid "You need to upload the configuration only if you've changed"
+msgid "You may need to upload the configuration only if you've"
 msgstr ""
 "Vous avez besoin de télécharger la configuration seulement lors de "
 "changements sur les options."
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr ""
 
-#: lib/cmd.c:153
+#: lib/cmd.c:123
 #, fuzzy
-msgid "of your current configuration."
+msgid "cause loss of your current configuration."
 msgstr "Rendre la configuration courante active"
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 #, fuzzy
 msgid "Configuration uploaded. Press any key to continue."
 msgstr ""
@@ -806,140 +821,179 @@ msgstr ""
 "continuer."
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr ""
-
-#: lib/common.c:31
 #, fuzzy
 msgid "Access Point IP-address: "
 msgstr "Adresse IP du point d'accès:"
 
-#: lib/common.c:32
+#: lib/common.c:31
 #, fuzzy
 msgid "Password (community): "
 msgstr "Mot de passe (communauté):"
 
+#: lib/common.c:32
+msgid "Autodetect AP MIB properties? "
+msgstr ""
+
 #: lib/common.c:33
 #, fuzzy
-msgid "Access Point name: "
-msgstr "Point d'accès"
+msgid "AP MIB type: "
+msgstr "Type de point d'accès:"
 
 #: lib/common.c:34
-#, fuzzy
-msgid "Do you want to define name for this AP? "
-msgstr "Désirez-vous poursuivre?"
+msgid "AP MIB vendor extensions: "
+msgstr ""
 
 #: lib/common.c:35
 #, fuzzy
-msgid "AP type: "
-msgstr "Type de point d'accès:"
+msgid "Do you want to use AP's name as its label? "
+msgstr "Désirez-vous poursuivre?"
 
 #: lib/common.c:36
 #, fuzzy
+msgid "Access Point label: "
+msgstr "Point d'accès"
+
+#: lib/common.c:37
+#, fuzzy
 msgid "Save connect-settings: "
 msgstr "Sauvegarder la configuration de connexion:"
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "À partir de %s"
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "Version %s"
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "Écrit par Roman Festchook (roma@polesye.net)"
 
-#: lib/common.c:82
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
+#: lib/common.c:109
 #, fuzzy
-msgid "Copyright (c) Roman Festchook 2001-2004"
+msgid "Copyright (c) 2001-2004"
 msgstr "Copyright © Roman Festchook 2001-2002"
 
-#: lib/common.c:85
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr ""
+
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "Ce logiciel est distribué selon les termes"
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "de la GNU General Public License version 2."
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "Consulter le fichier COPYING pour les détails."
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "Option d'établissement de connexion"
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "Entrer l'adresse IP de votre point d'accès"
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr ""
 "Caractères saisies ne seront pas affichés pour des raisons de sécurité."
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-#: lib/common.c:187
+#: lib/common.c:361
 #, fuzzy
-msgid "Determining AP type. Please wait..."
-msgstr "Récupérationd des données du point d'accès. SVP patientez..."
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "Écriture des données sur le point d'accès. SVP patientez..."
 
-#: lib/common.c:272
+#: lib/common.c:390
 #, fuzzy
-msgid "Unable to determine AP type (no response). Press any key."
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr ""
 "Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
 "pour continuer."
 
-#: lib/file.c:194
-#, fuzzy
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
-msgstr "NUM       ADRESSE IP   TYPE"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
+msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 #, fuzzy
 msgid "Choose an AP to connect to"
 msgstr "Choisir AP pour établir la connexion"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 "1-9,C: connect; N: nouveau; D: détruire; W: sauvegarder; Q: quitter; "
 "flèches: défiler"
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "Connexion avec AP numéro:"
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "Détruire num:"
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+#: lib/file.c:376
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+"Incapable de récupérer les données du point d'accès. Appuyer sur une touche "
+"pour continuer."
+
+#: lib/file.c:426
+#, fuzzy
+msgid "Unable to write stations file. Press any key."
+msgstr ""
+"Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
+"pour continuer."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
+#: lib/input.c:33
 #, fuzzy
 msgid "Invalid value. Press any key to continue."
 msgstr "Adresse IP invalide. Appuyer sur une touche."
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, fuzzy, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr ""
 "Incapable d'écrire les données sur le point d'accès. Appuyer sur une touche "
 "pour continuer."
 
+#: lib/input.c:412
+#, fuzzy
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(Y - Oui; N - Non (il est plus sûr de répondre non)"
+
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "Inconnu ou privé"
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 #, fuzzy
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
@@ -947,35 +1001,35 @@ msgstr ""
 "Key - niveau de puissance; UIOP - antenne; W - sauvegarder la config.; Q - "
 "quitter"
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 #, fuzzy
 msgid "Antenna:"
 msgstr "[A] Antenne: %s"
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 #, fuzzy
 msgid "[L] Left:"
 msgstr "Gauche"
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 #, fuzzy
 msgid "[R] Right:"
 msgstr "Droite"
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "Configuration radio"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 #, fuzzy
 msgid "Key Channel Level"
 msgstr "niveau du canal de clé"
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 #, fuzzy
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
@@ -984,32 +1038,39 @@ msgstr ""
 "Vous ne pouvez pas déactiver les deux antennes, incapable de sauvegarder la "
 "config. des antennes. Appuyer sur une touche."
 
-#: lib/scr.c:203
-#, c-format
-msgid "Current AP: %s Type: %s"
+#: lib/scr.c:168
+#, fuzzy, c-format
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr "Point d'accès courant: %s Type: %s"
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "Initialiser la communauté/mot de passe"
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 #, fuzzy
 msgid "Key Access level"
 msgstr "Niveau d'accès de la clé"
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "Communauté/Mot de passe"
 
-#: lib/set_community.c:31
-msgid "[U] User"
+#: lib/set_community.c:30
+#, fuzzy
+msgid "[U] User "
 msgstr "[U] Usager"
 
-#: lib/set_community.c:32
-msgid "[A] Administrator"
+#: lib/set_community.c:31
+#, fuzzy
+msgid "[A] Administrator "
 msgstr "[A] Administrateur"
 
+#: lib/set_community.c:32
+#, fuzzy
+msgid "[M] Manufacturer "
+msgstr "[M] Manufacturier"
+
 #: lib/set_community.c:33
 #, fuzzy
 msgid ""
@@ -1018,307 +1079,288 @@ msgstr ""
 "Clé - initialiser la communauté/mot de passe; W - sauvegarder la config du "
 "point d'accès; Q - quitter"
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "[M] Manufacturier"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "erreur fcntl(). Appuyer sur une touche."
-
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "Statistiques Etherne"
 
-#: lib/stat.c:92
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Statistiques du sans fil"
+
+#: lib/stat.c:98
 #, fuzzy
 msgid "EthRxStat packet error. Press any key."
 msgstr "Erreur de paquet EthRxStat. Appuyer sur la touche Q pour continuer."
 
-#: lib/stat.c:105
+#: lib/stat.c:111
 #, fuzzy
 msgid "EthTxStat packet error. Press any key."
 msgstr "Erreur de paquet EthTxStat. Appuyer sur la touche Q pour continuer."
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "Reçu:"
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 #, fuzzy
 msgid "Transmitted:"
 msgstr "Transmis:"
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "Statistiques du sans fil"
-
-#: lib/stat.c:265
+#: lib/stat.c:270
 #, fuzzy
 msgid "WirelessStat packet error. Press any key."
 msgstr "Erreur de paquet WirelessStat. Appuyer sur la touche Q pour continuer."
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "Description système: "
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "Info système"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr ""
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 #, fuzzy
 msgid "Product name:"
 msgstr "Nom de produit:"
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, fuzzy, c-format
 msgid "Product type: %u"
 msgstr "Type de produit: %lu"
 
-#: lib/sysinfo.c:154
-#, fuzzy, c-format
-msgid "Hardware revision: %u"
-msgstr "Révision matérielle: %lu"
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 #, fuzzy
 msgid "OEM name:"
 msgstr "Nom du OEM:"
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, fuzzy, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "Domaine régulateur: %s"
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC (EU)"
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (Canada)"
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (Europe)"
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "Espagne"
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "France"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK (Japon)"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "inconnu"
+msgid "Hardware revision: %u"
+msgstr "Révision matérielle: %lu"
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, fuzzy, c-format
 msgid "Info structure version: %u"
 msgstr "Version du Struct: %lu"
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "OUI du manufacturier: %02X %02X %02X (%s)"
 
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, fuzzy, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr "Temps de marche (uptime): %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "DSSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "Fréquence de base IR"
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "Étendue commerciale 0..40 C"
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "Étendue industrielle -30..70 C"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "inconnu"
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "manuel"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "non supporté"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "dynamique"
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "Manufacturier"
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "Identificateur du manufacturier"
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "Nom de produit:"
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "Identificateur du produit:"
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "Version du produit:"
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "Type PHY: %s"
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "Température: %s"
 
-#: lib/sysinfo.c:362
-#, c-format
-msgid "Regulation Domain: %s"
+#: lib/sysinfo.c:390
+#, fuzzy, c-format
+msgid "Regulatory Domain: %s"
 msgstr "Domaine régulateur: %s"
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC (EU)"
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (Canada)"
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (Europe)"
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "Espagne"
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "France"
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK (Japon)"
+
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "Puissance de transmission: %u mW"
 
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, fuzzy, c-format
 msgid "WEP implemented: %s"
 msgstr "WEP non implanté: %s"
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "Diversité: %s"
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "Temps de marche (uptime): %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "Adresse IP: %s"
 
-#: lib/test.c:27
+#: lib/test.c:26
 #, fuzzy
 msgid "[T] Test mode: "
 msgstr "[T] Mode test: %s"
 
-#: lib/test.c:28
+#: lib/test.c:27
 #, fuzzy
 msgid "[A] Antenna: "
 msgstr "[A] Antenne: %s"
 
-#: lib/test.c:29
+#: lib/test.c:28
 #, fuzzy
 msgid "[S] Signal level: "
 msgstr "[S] niveau du signal: %03u"
 
-#: lib/test.c:30
+#: lib/test.c:29
 #, fuzzy
 msgid "[R] Rate: "
 msgstr "[R] Taux: %.1f Mbit/s"
 
-#: lib/test.c:31
+#: lib/test.c:30
 #, fuzzy
 msgid "[F] TxFiler: "
 msgstr "[F] TxFiler: %s"
 
-#: lib/test.c:32
+#: lib/test.c:31
 #, fuzzy
 msgid "[O] Command: "
 msgstr "[O] Commande: %s"
 
-#: lib/test.c:33
+#: lib/test.c:32
 #, fuzzy
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr ""
 "T - TestMode On/Off; CASRFO - initialiser les options; Q - quitter vers le "
 "menu"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "Gauche"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "Droite"
 
-#: lib/test.c:88
+#: lib/test.c:86
 #, fuzzy
 msgid "Test mode"
 msgstr "Mode test"
 
-#: lib/test.c:91
+#: lib/test.c:89
 #, fuzzy
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr ""
 "L'utilisation du nmode test peut causer la perte de la configuration "
 "courante."
 
-#: lib/test.c:92
+#: lib/test.c:90
 #, fuzzy
 msgid "configuration."
 msgstr "Configuration de chargement à distance"
 
-#: lib/test.c:95
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(Y - Oui; N - Non (il est plus sûr de répondre Non)"
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "Options"
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "Statistiques:"
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "Trames transmises: 0 Trames non transmises: 0"
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "Trames transmises: %lu Trames non transmises: %lu"
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "Configuration privée"
+
 #: lib/wep.c:29
 #, fuzzy
 msgid "[E] Standard encryption mechanism: "
@@ -1344,10 +1386,6 @@ msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr ""
 "EK1234 - initialisé; W - sauvegarder la config.; Q - quitter vers le menu"
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "Configuration privée"
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr "Clé du WEP"
@@ -1364,154 +1402,154 @@ msgstr ""
 "AEPK1234 - options de configuration; W - sauvegarder la configuration; Q - "
 "quitter vers le menu"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 #, fuzzy
 msgid "[N] AP name: "
 msgstr "[N] Nom du point d'accès:"
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 #, fuzzy
 msgid "[K] AP contact: "
 msgstr "[E] Contact du point d'accès:          %s"
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 #, fuzzy
 msgid "[L] AP location: "
 msgstr "[L] Localisation du point d'accès:     %s"
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 #, fuzzy
 msgid "[R] RTS threshold: "
 msgstr "[R] Seuil RTS: %d"
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 #, fuzzy
 msgid "[F] Fragmentation threshold: "
 msgstr "[F] Seuil de fragmentation: %d"
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 #, fuzzy
 msgid "[P] Preambule type: "
 msgstr "[P] type de préambule: %s"
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 #, fuzzy
 msgid "[A] Auth type: "
 msgstr "[A] Type autor.: %s"
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 #, fuzzy
 msgid "Open system"
 msgstr "Système ouvert"
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 #, fuzzy
 msgid "Shared key"
 msgstr "Clé partagée"
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 #, fuzzy
 msgid "Both types"
 msgstr "Les deux types"
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 #, fuzzy
 msgid "[U] Auto rate fallback: "
 msgstr "[U] AutoRateFallBack: %s"
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 #, fuzzy
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "[S] insérer ESSID dans les paquets de type broadcast: %s"
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 #, fuzzy
 msgid "Basic and Supported rates:"
 msgstr "Taux de base et supportés:"
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "Clé   Taux   État"
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 #, fuzzy
 msgid "[I] International roaming: "
 msgstr "[O] Mode opérationnel: %s"
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr ""
 "[key] - initialiser l'option; W - sauvegarder la config.; Q - quitter vers "
 "le menu"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "Court"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "Long"
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "Paramétrage du sans fil"
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "Configuration de l'antenne:"
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "Options générales"
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr ""
 "UIOPTY - antenne; SCANLEDFR1234 - options; W - sauvegarder la config.; Q - "
 "quitter vers le menu"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "Général"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "Initialiser les options générales"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "Avancé"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "Initialiser les options avancées"
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "Réinitialisation du point d'accès."
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "Dernier"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "Obtenir les infos à propos des derniers événements"
 
@@ -1668,108 +1706,130 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 #, fuzzy
 msgid "NUM     MAC address"
 msgstr "NUM     MAC address"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr ""
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr ""
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr ""
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 #, fuzzy
 msgid "Both"
 msgstr "Les deux types"
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] DB délai d'oisiveté de la station: %d"
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "[A] fenêtre ACK: %d"
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "Options avancées"
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr ""
 "DA - options; W - sauvegarder la configuration; Q - quitter vers le menu"
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "Raison: %u Station: %02X%02X%02X%02X%02X%02X"
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "Derniers événements"
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "Dissocier:"
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "Désauthentifier:"
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 #, fuzzy
 msgid "Authenticate Fail:"
 msgstr "Échec d'authentification:"
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "Dernière erreur:"
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "Erreur:"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 #, fuzzy
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr ""
 "Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
 
-#: src/stations.c:190
+#: src/stations.c:200
 #, fuzzy
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr ""
 "Flècher - défiler; S - sauvegarder dans un fichier; Q - quitter vers le menu."
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "Stations associées"
-
-#: src/stations.c:277
+#: src/stations.c:279
 #, fuzzy
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "Id      Adresse MAC     Qualité  Âge  RSSI"
 
+#~ msgid "Associated Stations"
+#~ msgstr "Stations associées"
+
+#, fuzzy
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgstr ""
+#~ "(Y - Oui; N - Non (il est plus sûr de répondre Non, à moins d'avoir "
+#~ "vraiment besoin de cela.)"
+
+#, fuzzy
+#~ msgid "Determining AP type. Please wait..."
+#~ msgstr "Récupérationd des données du point d'accès. SVP patientez..."
+
+#, fuzzy
+#~ msgid "Regulation domain: %s [%d]"
+#~ msgstr "Domaine régulateur: %s"
+
+#, fuzzy
+#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
+#~ msgstr "(Y - Oui; N - Non (il est plus sûr de répondre Non)"
+
 #~ msgid "Unable to get data from AP. Press Q to continue."
 #~ msgstr ""
 #~ "Incapable d'obtenir des données du point d'accès. Appuyer Q pour "
diff --git a/po/nl.gmo b/po/nl.gmo
deleted file mode 100644 (file)
index 67c1ca7..0000000
Binary files a/po/nl.gmo and /dev/null differ
index b3011da9a3f5900123e06540811186a0381ba2d2..2617ed365c42751a6f0790b5cfeee94815abbec0 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2003-07-31 19:03+0100\n"
 "Last-Translator: Elros Cyriatan <cyriatan@fastmail.fm>\n"
 "Language-Team: Dutch <vertaling@nl.linux.org>\n"
@@ -15,400 +15,392 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Report-Msgid-Bugs-To: \n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr ""
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 #, fuzzy
 msgid "Set bridging and IP-related options"
 msgstr "Bridging en IP-gerelateerde opties instellen"
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "Draadloos"
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "Draadloze opties instellen"
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "Privacy"
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 #, fuzzy
 msgid "MAC auth"
 msgstr "Mac toelating"
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "Gemeenschap"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "Radio"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr "Vermogen radio en antenne opties instellen"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "Uploaden"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+#, fuzzy
+msgid "Activate current configuration"
 msgstr "Huidige configuratie actief maken"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "Standaardwaarden"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "Fabrieksinstellingen terugzetten"
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "Opnieuw instellen"
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr ""
 "AP opnieuw instellen. Alle niet verzonden instellingen zullen verloren gaan."
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "Testmodus"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "Access Point in testmodus zetten"
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "SysInfo"
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "Ethernet"
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "Ethernet poortstatistieken opvragen"
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "Stations"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "BekendeAPs"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "Info opvragen over bekende Access Points"
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "Info"
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "Config"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "Opdrachten"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "Opdrachten uitvoeren op Access Point"
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "Verbinden"
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "Zoeken"
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "Info"
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "Shell"
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "Afsluiten"
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "Draadloos Access Point configurator versie %s"
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "AuthorizedMacTableString pakketfout"
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 #, fuzzy
 msgid "[A] MAC authorization: "
 msgstr "[A] Mac toelating: %s"
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 #, fuzzy
 msgid "Enter MAC: "
 msgstr "Geef Mac:"
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 #, fuzzy
 msgid "Delete Num: "
 msgstr "Nummer verwijderen:"
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 #, fuzzy
 msgid "Authorized MAC addresses"
 msgstr "Toegelaten Mac adressen"
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 #, fuzzy
 msgid "NUM       MAC address"
 msgstr "NUM     MAC adres"
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A - toelaten; N - nieuw; D - verwijderen; pijltjes - schuiven; W - conf "
 "schrijven; Q - afsluiten"
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 #, fuzzy
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 #, fuzzy
 msgid "A - auth; W - write conf; Q - quit"
 msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 #, fuzzy
 msgid "Internal"
 msgstr "Algemeen"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr ""
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 #, fuzzy
 msgid "[N] Netmask: "
 msgstr "[N] Netmask: %s"
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 #, fuzzy
 msgid "[G] Gateway: "
 msgstr "[G] Gateway %s"
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 #, fuzzy
 msgid "[F] Filter non-IP traffic: "
 msgstr "[F] Niet-IP verkeer filteren: %s"
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 #, fuzzy
 msgid "[P] Primary port: "
 msgstr "[P] Hoofdpoort: %s"
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 #, fuzzy
 msgid "Attached station MAC: "
 msgstr "Verbonden station MAC: %02X%02X%02X%02X%02X%02X"
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 #, fuzzy
 msgid "[D] DHCP client: "
 msgstr "[D] DHCP-protocol: %s"
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 #, fuzzy
 msgid "[O] Operational mode: "
 msgstr "[O] Operationele modus: %s"
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 #, fuzzy
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr "[R] Mac adres op afstand: %02X%02X%02X%02X%02X%02X"
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr ""
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr ""
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 #, fuzzy
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr "BPGINFDRT - instellen; W - conf schrijven; Q - afsluiten naar menu"
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr ""
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "Access Point"
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "Access Point client"
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr ""
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "Repeater"
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "Geassocieerde stations"
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr ""
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "AssociatedSTAsInfo pakketfout"
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr ""
 "Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "Bekende Access Points"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr ""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr ""
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 #, fuzzy
 msgid "cause loss of Access Point's current configuration."
 msgstr "Draadloos Access Point configurator"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 #, fuzzy
 msgid "via its wireless port."
 msgstr "Draadloze opties instellen"
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "Wilt u doorgaan?"
 
-#: lib/aps.c:154
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden)"
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "Bekende Access Points"
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "Soort netwerk"
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "Infrastructuur"
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr ""
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
-#: lib/aps.c:381
+#: lib/aps.c:369
 #, fuzzy
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
@@ -417,7 +409,7 @@ msgstr ""
 "# verbinden met deze AP; R verversen met opnieuw instellen; G verversen "
 "zonder opnieuw instellen; Q afsluiten"
 
-#: lib/aps.c:383
+#: lib/aps.c:371
 #, fuzzy
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
@@ -426,366 +418,390 @@ msgstr ""
 "# verbinden met deze AP; R verversen met opnieuw instellen; G verversen "
 "zonder opnieuw instellen; Q afsluiten"
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, fuzzy, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "Onjuist sendto: %s. Druk op een toets."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr ""
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr ""
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr ""
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr ""
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr ""
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr ""
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr ""
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr ""
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
-msgstr ""
+#: lib/ap_search.c:48
+#, fuzzy
+msgid "Community name: "
+msgstr "Gemeenschap"
+
+#: lib/ap_search.c:49
+#, fuzzy
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
+msgstr "NUMMER    IP ADRES     SOORT"
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr ""
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 #, fuzzy
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr "Kan broadcast optie naar socket niet instellen. Druk op een toets."
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 #, fuzzy
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr "Kan multicast deelname naar socket niet instellen. Druk op een toets."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr ""
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr ""
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, fuzzy, c-format
 msgid "  Name: %s"
 msgstr "[N] AP naam:"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
+msgstr ""
+
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
 msgstr ""
 
-#: lib/ap_search.c:327
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "Access Points zoeken"
 
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 #, fuzzy
 msgid "realloc() error."
 msgstr "Fout bij maken socket"
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr ""
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 #, fuzzy
 msgid "No local network interfaces found. Press any key."
 msgstr "fork() fout. Druk op een toets."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr ""
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 #, fuzzy
 msgid "# - connect to AP; Q - quit"
 msgstr "Verbinden met AP nummer:"
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 #, fuzzy
 msgid "MAC address: "
 msgstr "IP-adres: %s"
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 #, fuzzy
 msgid "[S] SNMP traps: "
 msgstr "[S] SNMP vallen: %s"
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 #, fuzzy
 msgid "[C] Frequency channel: "
 msgstr "[C] Frequentiekanaal: %02u (%u MHz)"
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 #, fuzzy
 msgid "Receive  antenna:"
 msgstr "Ontvangen:"
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 #, fuzzy
 msgid "[U] Left"
 msgstr "Links"
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 #, fuzzy
 msgid "[I] Right"
 msgstr "Rechts"
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 #, fuzzy
 msgid "Transmit antenna:"
 msgstr "Verzonden:"
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 #, fuzzy
 msgid "[O] Left"
 msgstr "Links"
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 #, fuzzy
 msgid "[P] Right"
 msgstr "Rechts"
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 #, fuzzy
 msgid "Diversity select:"
 msgstr "Diversiteit: %s"
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 #, fuzzy
 msgid "[T] Left"
 msgstr "Links"
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 #, fuzzy
 msgid "[Y] Right"
 msgstr "Rechts"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr ""
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr ""
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr ""
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 #, fuzzy
 msgid "Off"
 msgstr "uit"
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 #, fuzzy
 msgid "Basic"
 msgstr "basis"
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "Druk op een toets om door te gaan."
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr ""
 "Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
 
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 #, fuzzy
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+#, fuzzy
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "Bezig met ontvangen gegevens van AP. Even geduld a.u.b...."
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "Bezig met schrijven gegevens naar AP. Even geduld a.u.b...."
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 #, fuzzy
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr ""
 "Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "select() function error. Press any key."
+msgstr "fcntl() fout. Druk op een toets."
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "Fout bij maken socket. Druk op een toets."
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "Fout bij verbinden socket. Druk op een toets."
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "Terug naar hoofdmenu"
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "Programma afsluiten"
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 #, fuzzy
 msgid "Run subshell. To return type 'exit'."
 msgstr "Deelshell uitvoeren. Typ 'exit' om terug te keren"
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "Korte informatie over programma"
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "Verbonden Access Points zoeken"
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "Verbindingsopties instellen: IP en gemeenschap"
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 #, fuzzy
 msgid "Set encryption; edit WEP keys"
 msgstr "Codering instellen, WEP-sleutels bewerken"
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 #, fuzzy
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr "Mac toelating instellen, mac toelatingstabel bewerken"
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 #, fuzzy
 msgid "Set SNMP community/password for access to the AP"
 msgstr "SNMP gemeenschap/wachtwoord voor toegang AP instellen"
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 #, fuzzy
 msgid "Get info about AP hardware and firmware"
 msgstr "Info opvragen over AP hardware en software"
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 #, fuzzy
 msgid "Get wireless port statistics"
 msgstr "Statistieken opvragen over draadloze poorten"
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 #, fuzzy
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "Lijst opvragen met nu geassocieerde stations"
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 #, fuzzy
 msgid "Get info and statistics from AP"
 msgstr "Info en statistieken opvragen van AP"
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 #, fuzzy
 msgid "Set various configuration options"
 msgstr "Verschillende configuratie-opties instellen"
 
-#: lib/cmd.c:25
-#, fuzzy
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "Geassocieerde stations"
+
+#: lib/ap-utils.h:132
+msgid "Polling: on"
 msgstr ""
-"(J - Ja; N - Nee (het is veiliger om Nee te antwoorden, tenzij u dit echt "
-"nodig heeft.)"
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "Fabrieksinstellingen terugzetten"
 
-#: lib/cmd.c:47
+#: lib/cmd.c:43
 #, fuzzy
-msgid "After restoring factory defaults your current configuration."
+msgid "After restoring factory defaults your current configuration"
 msgstr ""
 "Na het terugzetten van de fabrieksinstellingen is de huidige configuratie "
 "verloren."
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 #, fuzzy
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr "Standaard configuratie geactiveerd. Druk op een toets om door te gaan."
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "Access Point opnieuw instellen"
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 #, fuzzy
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr ""
 "Bij het opnieuw instellen gaan alle niet-verzonden instellingen verloren."
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr "Access Point opnieuw ingesteld. Druk op een toets om door te gaan."
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "Configuratie uploaden"
 
-#: lib/cmd.c:149
+#: lib/cmd.c:119
 #, fuzzy
-msgid "You need to upload the configuration only if you've changed"
+msgid "You may need to upload the configuration only if you've"
 msgstr ""
 "U dient de configuratie alleen up te loaden als u instellingen heeft "
 "gewijzigd."
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr ""
 
-#: lib/cmd.c:153
+#: lib/cmd.c:123
 #, fuzzy
-msgid "of your current configuration."
+msgid "cause loss of your current configuration."
 msgstr "Huidige configuratie actief maken"
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 #, fuzzy
 msgid "Configuration uploaded. Press any key to continue."
 msgstr ""
@@ -793,171 +809,207 @@ msgstr ""
 "gaan."
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr ""
-
-#: lib/common.c:31
 #, fuzzy
 msgid "Access Point IP-address: "
 msgstr "Access Point IP-adres:"
 
-#: lib/common.c:32
+#: lib/common.c:31
 #, fuzzy
 msgid "Password (community): "
 msgstr "Wachtwoord (gemeenschap):"
 
+#: lib/common.c:32
+msgid "Autodetect AP MIB properties? "
+msgstr ""
+
 #: lib/common.c:33
 #, fuzzy
-msgid "Access Point name: "
-msgstr "Access Point"
+msgid "AP MIB type: "
+msgstr "AP soort:"
 
 #: lib/common.c:34
-#, fuzzy
-msgid "Do you want to define name for this AP? "
-msgstr "Wilt u doorgaan?"
+msgid "AP MIB vendor extensions: "
+msgstr ""
 
 #: lib/common.c:35
 #, fuzzy
-msgid "AP type: "
-msgstr "AP soort:"
+msgid "Do you want to use AP's name as its label? "
+msgstr "Wilt u doorgaan?"
 
 #: lib/common.c:36
 #, fuzzy
+msgid "Access Point label: "
+msgstr "Access Point"
+
+#: lib/common.c:37
+#, fuzzy
 msgid "Save connect-settings: "
 msgstr "Verbindingsinstellingen opslaan:"
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "Van %s"
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "Versie %s"
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "Geschreven door Roman Festchook roma@polesye.net"
 
-#: lib/common.c:82
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
+#: lib/common.c:109
 #, fuzzy
-msgid "Copyright (c) Roman Festchook 2001-2004"
+msgid "Copyright (c) 2001-2004"
 msgstr "Copyright (c) Roman Festchook 2001-2002"
 
-#: lib/common.c:85
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr ""
+
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "This program is distributed under the terms"
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "of the GNU General Public License version 2."
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "See the included COPYING file for details."
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "Verbindingsopties"
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "Geef het IP-adres van uw Access Point."
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr "Ingevoerde tekens worden vanwege veiligheidsredenen niet weergegeven."
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-#: lib/common.c:187
+#: lib/common.c:361
 #, fuzzy
-msgid "Determining AP type. Please wait..."
-msgstr "Bezig met ontvangen gegevens van AP. Even geduld a.u.b...."
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "Bezig met schrijven gegevens naar AP. Even geduld a.u.b...."
 
-#: lib/common.c:272
+#: lib/common.c:390
 #, fuzzy
-msgid "Unable to determine AP type (no response). Press any key."
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
 
-#: lib/file.c:194
-#, fuzzy
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
-msgstr "NUMMER    IP ADRES     SOORT"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
+msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 #, fuzzy
 msgid "Choose an AP to connect to"
 msgstr "Kies AP om mee te verbinden"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 "1-9,C: verbinden; N: nieuw; D: verwijderen; W: opslaan; Q: afsluiten; "
 "pijltjes: schuiven"
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "Verbinden met AP nummer:"
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "Nummer verwijderen:"
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+#: lib/file.c:376
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Kan geen gegevens ontvangen van AP. Druk op een toets om door te gaan."
+
+#: lib/file.c:426
+#, fuzzy
+msgid "Unable to write stations file. Press any key."
+msgstr ""
+"Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
+#: lib/input.c:33
 #, fuzzy
 msgid "Invalid value. Press any key to continue."
 msgstr "Onjuist IP-adres.  Druk op een toets om door te gaan."
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, fuzzy, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr ""
 "Kan geen gegevens schrijven naar AP. Druk op een toets om door te gaan."
 
+#: lib/input.c:412
+#, fuzzy
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden)"
+
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "Onbekend of privé"
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 #, fuzzy
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr ""
 "Toets - vermogenssterkte; UIOP - antenne; W - config schrijven; Q - afsluiten"
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 #, fuzzy
 msgid "Antenna:"
 msgstr "[A] Antenne: %s"
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 #, fuzzy
 msgid "[L] Left:"
 msgstr "Links"
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 #, fuzzy
 msgid "[R] Right:"
 msgstr "Rechts"
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "Radio configuratie"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 #, fuzzy
 msgid "Key Channel Level"
 msgstr "sleutel kanaal niveau"
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 #, fuzzy
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
@@ -966,32 +1018,39 @@ msgstr ""
 "U kunt niet beide antennes uitzetten; kan antenne instellingen niet opslaan. "
 "Druk op een toets."
 
-#: lib/scr.c:203
-#, c-format
-msgid "Current AP: %s Type: %s"
+#: lib/scr.c:168
+#, fuzzy, c-format
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr "Huidige AP: %s Soort: %s"
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "Gemeenschap/wachtwoord instellen"
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 #, fuzzy
 msgid "Key Access level"
 msgstr "Toegangsniveau sleutel"
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "Gemeenschap/Wachtwoord"
 
-#: lib/set_community.c:31
-msgid "[U] User"
+#: lib/set_community.c:30
+#, fuzzy
+msgid "[U] User "
 msgstr "[U] Gebruiker"
 
-#: lib/set_community.c:32
-msgid "[A] Administrator"
+#: lib/set_community.c:31
+#, fuzzy
+msgid "[A] Administrator "
 msgstr "[A] Beheerder"
 
+#: lib/set_community.c:32
+#, fuzzy
+msgid "[M] Manufacturer "
+msgstr "[M] Maker"
+
 #: lib/set_community.c:33
 #, fuzzy
 msgid ""
@@ -1000,306 +1059,287 @@ msgstr ""
 "KEY - gemeenschap/wachtwoord instellen; W - conf schrijven naar AP; Q - "
 "afsluiten"
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "[M] Maker"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "fcntl() fout. Druk op een toets."
-
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "Ethernet statistieken"
 
-#: lib/stat.c:92
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Draadloos statistieken"
+
+#: lib/stat.c:98
 #, fuzzy
 msgid "EthRxStat packet error. Press any key."
 msgstr "EthRxStat pakketfout. Druk op Q om door te gaan."
 
-#: lib/stat.c:105
+#: lib/stat.c:111
 #, fuzzy
 msgid "EthTxStat packet error. Press any key."
 msgstr "EthTxStat pakketfout. Druk op Q om door te gaan."
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "Ontvangen:"
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 #, fuzzy
 msgid "Transmitted:"
 msgstr "Verzonden:"
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "Draadloos statistieken"
-
-#: lib/stat.c:265
+#: lib/stat.c:270
 #, fuzzy
 msgid "WirelessStat packet error. Press any key."
 msgstr "WirelessStat pakketfout. Druk op Q om door te gaan."
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "Systeemomschrijving:"
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "Systeeminfo"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr ""
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 #, fuzzy
 msgid "Product name:"
 msgstr "Produktnaam:"
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, fuzzy, c-format
 msgid "Product type: %u"
 msgstr "Produktsoort: %lu"
 
-#: lib/sysinfo.c:154
-#, fuzzy, c-format
-msgid "Hardware revision: %u"
-msgstr "Hardware revisie: %lu"
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 #, fuzzy
 msgid "OEM name:"
 msgstr "OEM naam:"
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, fuzzy, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "Reguleringsdomein: %s"
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC (USA)"
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (Canada)"
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (Europa)"
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "Spanje"
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "Frankrijk"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK (Japan)"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "onbekend"
+msgid "Hardware revision: %u"
+msgstr "Hardware revisie: %lu"
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, fuzzy, c-format
 msgid "Info structure version: %u"
 msgstr "StructVersie: %lu"
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "Maker OUI: %02X %02X %02X (%s)"
 
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, fuzzy, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr "Uptime: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "DSSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "IR Baseband"
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "Commercieel bereik 0..40 C"
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "Industrieel bereik -30..70 C"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "onbekend"
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "handmatig"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "niet ondersteund"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "dynamisch"
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "Maker:"
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "Maker ID:"
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "Produktnaam:"
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "Produkt ID:"
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "Produktversie:"
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "PHY soort: %s"
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "Temperatuur: %s"
 
-#: lib/sysinfo.c:362
-#, c-format
-msgid "Regulation Domain: %s"
+#: lib/sysinfo.c:390
+#, fuzzy, c-format
+msgid "Regulatory Domain: %s"
 msgstr "Reguleringsdomein: %s"
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC (USA)"
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (Canada)"
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (Europa)"
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "Spanje"
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "Frankrijk"
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK (Japan)"
+
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "Zendvermogen: %u mW"
 
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, fuzzy, c-format
 msgid "WEP implemented: %s"
 msgstr "WEP geïmplementeerd: %s"
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "Diversiteit: %s"
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "Uptime: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "IP-adres: %s"
 
-#: lib/test.c:27
+#: lib/test.c:26
 #, fuzzy
 msgid "[T] Test mode: "
 msgstr "[T] Testmodus: %s"
 
-#: lib/test.c:28
+#: lib/test.c:27
 #, fuzzy
 msgid "[A] Antenna: "
 msgstr "[A] Antenne: %s"
 
-#: lib/test.c:29
+#: lib/test.c:28
 #, fuzzy
 msgid "[S] Signal level: "
 msgstr "[S] Signaalniveau: %03u"
 
-#: lib/test.c:30
+#: lib/test.c:29
 #, fuzzy
 msgid "[R] Rate: "
 msgstr "[R] Snelheid: %.1f Mbit/s"
 
-#: lib/test.c:31
+#: lib/test.c:30
 #, fuzzy
 msgid "[F] TxFiler: "
 msgstr "[F] TxFiler: %s"
 
-#: lib/test.c:32
+#: lib/test.c:31
 #, fuzzy
 msgid "[O] Command: "
 msgstr "[O] Opdracht: %s"
 
-#: lib/test.c:33
+#: lib/test.c:32
 #, fuzzy
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr ""
 "T - Testmodus Aan/Uit; CASRFO - opties instellen; Q - afsluiten naar menu"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "Links"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "Rechts"
 
-#: lib/test.c:88
+#: lib/test.c:86
 #, fuzzy
 msgid "Test mode"
 msgstr "Testmodus"
 
-#: lib/test.c:91
+#: lib/test.c:89
 #, fuzzy
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr ""
 "Gebruik van de testmodus kan ervoor zorgen dat de huidige configuratie "
 "verloren gaat."
 
-#: lib/test.c:92
+#: lib/test.c:90
 #, fuzzy
 msgid "configuration."
 msgstr "Configuratie uploaden"
 
-#: lib/test.c:95
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden.)"
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "Opties:"
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "Statistieken:"
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "Succesvolle frames: 0 Mislukte frames: 0"
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "Succesvolle frames: %lu Mislukte frames: %lu"
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "Privacy instellingen"
+
 #: lib/wep.c:29
 #, fuzzy
 msgid "[E] Standard encryption mechanism: "
@@ -1324,10 +1364,6 @@ msgstr "[P] Openbare sleutel: %s"
 msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr "EK1234 - instellen; W - conf schrijven; Q - afsluiten naar menu"
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "Privacy instellingen"
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr "Sleutel  WEP"
@@ -1343,151 +1379,151 @@ msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr ""
 "AEPK1234 - opties instellen; W - conf schrijven; Q - afsluiten naar menu"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 #, fuzzy
 msgid "[N] AP name: "
 msgstr "[N] AP naam:"
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 #, fuzzy
 msgid "[K] AP contact: "
 msgstr "[E] AP contact:          %s"
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 #, fuzzy
 msgid "[L] AP location: "
 msgstr "[L] AP lokatie:         %s"
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 #, fuzzy
 msgid "[R] RTS threshold: "
 msgstr "[R] RTS drempelwaarde: %d"
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 #, fuzzy
 msgid "[F] Fragmentation threshold: "
 msgstr "[F] Fragmentatie drempelwaarde: %d"
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 msgid "[P] Preambule type: "
 msgstr ""
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 #, fuzzy
 msgid "[A] Auth type: "
 msgstr "[A] Auth soort: %s"
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 #, fuzzy
 msgid "Open system"
 msgstr "Open systeem"
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 #, fuzzy
 msgid "Shared key"
 msgstr "Gedeelde sleutel"
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 #, fuzzy
 msgid "Both types"
 msgstr "Beide soorten"
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 #, fuzzy
 msgid "[U] Auto rate fallback: "
 msgstr "[U] AutoRateFallBack: %s"
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 #, fuzzy
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "[S] ESSID in broadcast pakketjes invoegen: %s"
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 #, fuzzy
 msgid "Basic and Supported rates:"
 msgstr "Basis en ondersteunde snelheden:"
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "Sleutel Snelheid Status"
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 #, fuzzy
 msgid "[I] International roaming: "
 msgstr "[O] Operationele modus: %s"
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr "[toets] - optie instellen; W - conf schrijven; Q - afsluiten naar menu"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "Kort"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "Lang"
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "Draadloos instellingen"
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "Antenneconfiguratie:"
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "Algemene opties"
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr ""
 "UIOPTY - antenne; SCANLEDFR1234 - opties; W - conf schrijven; Q - afsluiten "
 "naar menu"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "Algemeen"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "Algemene opties instellen"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "Geavanceerd"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "Geavanceerde opties instellen"
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "AP opnieuw instellen."
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "Laatste"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "Info opvragen over laatste gebeurtenissen"
 
@@ -1643,107 +1679,129 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 #, fuzzy
 msgid "NUM     MAC address"
 msgstr "NUM     MAC adres"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr ""
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr ""
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr ""
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 #, fuzzy
 msgid "Both"
 msgstr "Beide soorten"
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] DB station time-out: %d"
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "[A] ACK Window: %d"
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "Geavanceerde opties"
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr "DA - opties; W - conf schrijven; Q - afsluiten naar menu"
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "Reden: %u Station: %02X%02X%02X%02X%02X%02X"
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "Laatste gebeurtenissen"
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "De-associëren:"
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "De-authentificeren:"
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 #, fuzzy
 msgid "Authenticate Fail:"
 msgstr "Authentificatie mislukt:"
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "Laatste fout:"
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "Fout:"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 #, fuzzy
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr ""
 "Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
 
-#: src/stations.c:190
+#: src/stations.c:200
 #, fuzzy
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr ""
 "Pijltjes - schuiven; S - opslaan naar bestand; Q - afsluiten naar menu."
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "Geassocieerde stations"
-
-#: src/stations.c:277
+#: src/stations.c:279
 #, fuzzy
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "Id      MAC adres       Kwaliteit Ouderdom RSSI"
 
+#~ msgid "Associated Stations"
+#~ msgstr "Geassocieerde stations"
+
+#, fuzzy
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgstr ""
+#~ "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden, tenzij u dit echt "
+#~ "nodig heeft.)"
+
+#, fuzzy
+#~ msgid "Determining AP type. Please wait..."
+#~ msgstr "Bezig met ontvangen gegevens van AP. Even geduld a.u.b...."
+
+#, fuzzy
+#~ msgid "Regulation domain: %s [%d]"
+#~ msgstr "Reguleringsdomein: %s"
+
+#, fuzzy
+#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
+#~ msgstr "(J - Ja; N - Nee (het is veiliger om Nee te antwoorden.)"
+
 #~ msgid "Unable to get data from AP. Press Q to continue."
 #~ msgstr "Kan geen gegevens opvragen van AP. Druk op Q om door te gaan."
 
diff --git a/po/pl.gmo b/po/pl.gmo
deleted file mode 100644 (file)
index 712d93b..0000000
Binary files a/po/pl.gmo and /dev/null differ
index 5fdea31bfc5644431b38eede5671cd8a9b686d7c..fd4df19bf569d4664744608a514df3d5d7f62a6e 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU ap-utils 1.1.1\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2002-10-16 08:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -15,444 +15,435 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 
 # src/ap-config.c:42 src/bridge.c:166
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr "Podstawowe"
 
 # src/ap-config.c:42
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr "Ustawianie opcji mostu i IP"
 
 # src/ap-config.c:44 src/ap-config.c:112 src/ap-config.c:121 src/bridge.c:90
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "Radiowe"
 
 # src/ap-config.c:44
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "Opcje radiowe"
 
 # src/ap-config.c:45 src/ap-config.c:57
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "Klucze"
 
 # src/ap-config.c:46 src/ap-config.c:58
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 msgid "MAC auth"
 msgstr "Blokuj MAC"
 
 # src/ap-config.c:47 src/ap-config.c:59
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "Dostêp"
 
 # src/ap-config.c:48
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "Radio"
 
 # src/ap-config.c:48
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr "Ustawianie mocy sygna³u i opcji antenowych"
 
 # src/ap-config.c:78
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "Wy¶lij"
 
 # src/ap-config.c:78
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+#, fuzzy
+msgid "Activate current configuration"
 msgstr "Uczyñ konfiguracjê aktywn±"
 
 # src/ap-config.c:79
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "Domy¶lne"
 
 # src/ap-config.c:79
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "Przywróæ ustawienia producenta"
 
 # src/ap-config.c:81 src/ap-config.c:89
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "Reset"
 
 # src/ap-config.c:82
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr "Reset. Wszystkie nie za³adowane opcje bêd± utracone"
 
 # src/ap-config.c:84
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "TrybTest"
 
 # src/ap-config.c:84
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "W³±cza tryb testowy AP"
 
 # src/ap-config.c:110 src/ap-config.c:120
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "Ogólne"
 
 # src/ap-config.c:111 src/bridge.c:90
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "Ethernet"
 
 # src/ap-config.c:111
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "Pobierz statystyki ethernetu"
 
 # src/ap-config.c:113 src/ap-config.c:122
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "Stacje"
 
 # src/ap-config.c:115
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "Znane AP"
 
 # src/ap-config.c:115
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "Podaj informacje o Access Pointach"
 
 # src/ap-config.c:141
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "Info"
 
 # src/ap-config.c:142
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "Konfig"
 
 # src/ap-config.c:143
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "Komendy"
 
 # src/ap-config.c:143
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "Wykonaj operacje w AP"
 
 # src/ap-config.c:145
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "Po³±cz"
 
 # src/ap-config.c:146
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "Znajd¼"
 
 # lib/common.c:50 src/ap-config.c:147
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "O..."
 
 # src/ap-config.c:148
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "Shell"
 
 # src/ap-config.c:149
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "Wyjd¼"
 
 # src/ap-config.c:194
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "Konfigurator bezprzewodowych access-pointów wersja %s"
 
 # src/auth_mac.c:35
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "B³êdny pakiet AuthorizedMacTableString"
 
 # lib/ap-utils.h:117
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 msgid "[A] MAC authorization: "
 msgstr "[A] Ograniczenie dostêpu dla wybranych adresów MAC: "
 
 # lib/ap-utils.h:122
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 msgid "Enter MAC: "
 msgstr "Adres fizyczny: "
 
 # lib/ap-utils.h:121
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 msgid "Delete Num: "
 msgstr "Skasuj pozycjê: "
 
 # lib/ap-utils.h:118
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 msgid "Authorized MAC addresses"
 msgstr "Dostêp w/g MAC"
 
 # lib/ap-utils.h:119
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 msgid "NUM       MAC address"
 msgstr "Numer adres fizyczny (MAC)"
 
 # lib/ap-utils.h:120
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A W³/Wy³; N - nowe; D - kasuj; strza³ki - przewijanie; W - zapis; Q - Wyjd¼"
 
 # src/nwn_advanced.c:70
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr "DA - opcje; W - zapis; Q - powrót"
 
 # src/nwn_advanced.c:70
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 msgid "A - auth; W - write conf; Q - quit"
 msgstr "DA - opcje; W - zapis; Q - powrót"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
 # src/ap-config.c:55
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 msgid "Internal"
 msgstr "Ogólnie"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr "<ukryto>"
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
 # src/bridge.c:169
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 msgid "[N] Netmask: "
 msgstr "[N] Maska:  "
 
 # src/bridge.c:171
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 msgid "[G] Gateway: "
 msgstr "[G] Brama: "
 
 # src/bridge.c:32
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 msgid "[F] Filter non-IP traffic: "
 msgstr "[F] Wycinaj ruch nie-IP: "
 
 # src/bridge.c:33
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 msgid "[P] Primary port: "
 msgstr "[P] Port podstawowy: "
 
 # src/bridge.c:144
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 msgid "Attached station MAC: "
 msgstr "MAC do³±czonej stacji:"
 
 # src/bridge.c:34
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 msgid "[D] DHCP client: "
 msgstr "[D] Klient DHCP: "
 
 # src/bridge.c:35
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 msgid "[O] Operational mode: "
 msgstr "[O] Tryb pracy: "
 
 # src/bridge.c:36
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr "[M] Zdalny adres fizyczny: "
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr "[T] SNMP-Trap na porty: "
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr "[R] Przesy³aj ruch rozg³oszeniowy: "
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr "[U] Izoluj klientów radiowych: "
 
 # src/bridge.c:30
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr "BPGINFDRT - ustaw; W - Zapisz; Q - powrót"
 
 # src/bridge.c:85
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr "Bridge punkt-wielopunkt"
 
 # src/bridge.c:86
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "Access Point"
 
 # src/bridge.c:87
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "Klient Access pointa"
 
 # src/bridge.c:88
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr "Bridge punkt-punkt"
 
 # src/bridge.c:88
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "Repeater"
 
-# src/stations.c:29
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "Pod³±czonych stacji"
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 #, fuzzy
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr "AP jest teraz w trybie klienta i nie ma stacji pod³±czonych"
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
 # src/stations.c:110
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "B³êdny pakiet AssociatedSTAsInfo"
 
 # src/stations.c:132 src/stations.c:284
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
 
-#: lib/aps.c:128
+# src/aps.c:138
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "Znane Access pointy"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr "Twój AP nie jest w trybie \"klient AP\""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr "tymczasowo skonfigurowano w tryb klienta AP i zrestartowano."
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
 # src/ap-config.c:78
-#: lib/aps.c:143
+#: lib/aps.c:144
 msgid "cause loss of Access Point's current configuration."
 msgstr "Zapisuje aktualn± konfiguracje na sta³e"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
 # src/ap-config.c:44
-#: lib/aps.c:150
+#: lib/aps.c:151
 msgid "via its wireless port."
 msgstr "poprzez port radiowy"
 
 # src/aps.c:91 src/cmd.c:41 src/cmd.c:85 src/cmd.c:141 src/test.c:82
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "Czesz kontynuowaæ?"
 
-# src/aps.c:93
-#: lib/aps.c:154
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(Y - Tak; N - Nie (lepiej nie)"
-
-# src/aps.c:138
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "Znane Access pointy"
-
 # src/aps.c:143
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "Typ sieci"
 
 # src/aps.c:176
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "Infrastruktura"
 
 # src/aps.c:191
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr "P: Typ nag³ówka; P: Preambu³a (S: Krótki; L: D³ugi)"
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
 # src/aps.c:194
-#: lib/aps.c:381
+#: lib/aps.c:369
 #, fuzzy
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
@@ -461,7 +452,7 @@ msgstr ""
 "# po³±cz z tym AP; R od¶wie¿ przez reset; G od¶wie¿ bez resetu; Q wyj¶cie"
 
 # src/aps.c:194
-#: lib/aps.c:383
+#: lib/aps.c:371
 #, fuzzy
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
@@ -470,947 +461,1010 @@ msgstr ""
 "# po³±cz z tym AP; R od¶wie¿ przez reset; G od¶wie¿ bez resetu; Q wyj¶cie"
 
 # lib/ap_search.c:134
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "B³±d sendto() : %s. Wci¶nij dowolny klawisz."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr "W³a¶nie zainicjalizowa³e¶ skanowanie sieci. Musisz wiedzieæ,"
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr "¿e potrwa chwilkê, zanim twój AP znajdzie cokolwiek"
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr "i mo¿esz oczekiwaæ zakoñczenia skanowania do 5 sekund."
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr "Musisz wiedzieæ równie¿. ¿e AP przestanie przesy³aæ ruch"
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr "sieciowy podczas skanowania, ale przywróci swój stan"
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr "do normalnej pracy po oko³o 1 minucie."
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr "Uwa¿aj! Je¶li jeste¶ pod³±czony do tego AP przez jego"
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr "port radiowy, bêdziesz musia³ poczekaæ trochê d³u¿ej"
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr "po naci¶niêciu klawisza 'S'."
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
+# src/ap-config.c:47 src/ap-config.c:59
+#: lib/ap_search.c:48
+#, fuzzy
+msgid "Community name: "
+msgstr "Dostêp"
+
+#: lib/ap_search.c:49
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
 msgstr ""
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr "Trwa skanowanie, poczekaj chwilê, by przerwaæ wci¶nij 'Q'"
 
 # lib/ap_search.c:110
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr "Nie moge ustawiæ trybu BROADCAST. Wci¶nij dowolny klawisz."
 
 # lib/ap_search.c:117
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr "Nie moge ustawiæ przynale¿no¶ci multicast. Wci¶nij dowolny klawisz."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr "Szukam poprzez interfejs sieciowy: "
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr " Indeks: %i"
 
 # lib/ap-utils.h:78
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, c-format
 msgid "  Name: %s"
 msgstr " Nazwa: %s"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
-#, c-format
-msgid "Scanning for AP type: %s"
+#: lib/ap_search.c:146
+#, fuzzy, c-format
+msgid "Scanning for AP with MIB type: %s"
 msgstr "Szukam typu AP: %s"
 
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
+msgstr ""
+
 # lib/ap_search.c:128
-#: lib/ap_search.c:327
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "Szukanie Access-pointów"
 
 # src/ap-mrtg.c:178
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 msgid "realloc() error."
 msgstr "B³±d otwarcia gniazdka"
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr "B³±d interfejsu sieciowego."
 
 # src/stat.c:41
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 msgid "No local network interfaces found. Press any key."
 msgstr "Nie znaleziono interfejsu sieci lokalnej. Wci¶nij dowolny klawisz."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr "Nie znaleziono ¿adnego osi±galnego AP. Naci¶nij dowolny klawisz."
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 #, fuzzy
 msgid "Single-screen maximum number of APs found."
 msgstr "Program osi±gn±³ maksymaln± liczê Access Pointów znalezionych."
 
 # lib/common.c:118
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 msgid "# - connect to AP; Q - quit"
 msgstr "# - pod³±cz do AP; Q - wyjd¼"
 
 # src/sysinfo.c:402
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 msgid "MAC address: "
 msgstr "Adres MAC: "
 
 # lib/ap-utils.h:80
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 msgid "[S] SNMP traps: "
 msgstr "[S] Sygnalizacja SNMP: "
 
 # lib/ap-utils.h:68
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 msgid "[C] Frequency channel: "
 msgstr "[C] Czêstotliwo¶æ fali: "
 
 # src/stat.c:123
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 msgid "Receive  antenna:"
 msgstr "Odebrane:"
 
 # src/test.c:70
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 msgid "[U] Left"
 msgstr "[U] Lewa"
 
 # src/test.c:70
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 msgid "[I] Right"
 msgstr "[I] Prawa"
 
 # src/stat.c:124
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 msgid "Transmit antenna:"
 msgstr "Antena nadawcza:"
 
 # src/test.c:70
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 msgid "[O] Left"
 msgstr "[O] Lewa"
 
 # src/test.c:70
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 msgid "[P] Right"
 msgstr "[P] Prawa"
 
 # src/sysinfo.c:358
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 msgid "Diversity select:"
 msgstr "Naprzemienno¶æ:"
 
 # src/test.c:70
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 msgid "[T] Left"
 msgstr "[T] Lewa"
 
 # src/test.c:70
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 msgid "[Y] Right"
 msgstr "[Y] Prawa"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr "Tak"
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr "Nie"
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr "w³±"
 
 # lib/ap-utils.h:55
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 msgid "Off"
 msgstr "wy³"
 
 # lib/ap-utils.h:56
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 msgid "Basic"
 msgstr "Podstawowy"
 
 # lib/ap-utils.h:58
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "Wci¶nij dowolny klawisz aby kontynuowaæ."
 
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
 # lib/ap-utils.h:86
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr "Nie moge wys³aæ danych do AP. Wci¶nij dowolny klawisz."
 
 # lib/ap-utils.h:87
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 #, fuzzy
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
 
 # lib/ap-utils.h:88
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+#, fuzzy
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "Pobieram dane z AP. Proszê czekaæ..."
 
 # lib/ap-utils.h:89
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "Zapisuje dane do AP. Proszê czekaæ..."
 
 # lib/ap-utils.h:86
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr "Konfiguracja zapisana do AP. Wci¶nij dowolny klawisz."
 
+# src/stat.c:40
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "select() function error. Press any key."
+msgstr "B³±d fcntl(). Wci¶nij dowolny klawisz."
+
 # lib/ap-utils.h:92
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "Nie moge utworzyæ gniazdka. Wci¶nij dowolny klawisz."
 
 # lib/ap-utils.h:93
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "Bl±d gniazdka. Wci¶nij dowolny klawisz."
 
 # lib/ap-utils.h:102
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "Powrót do menu g³ównego"
 
 # lib/ap-utils.h:103
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "Wyj¶cie z programu"
 
 # lib/ap-utils.h:104
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 msgid "Run subshell. To return type 'exit'."
 msgstr "Uruchomienie podpow³oki. By wróciæ wpisz 'exit'."
 
 # lib/ap-utils.h:105
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "O programie"
 
 # lib/ap-utils.h:106
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "Znajd¼ pod³±czone Access-pointy"
 
 # lib/ap-utils.h:107
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "Ustawianie opcji po³±czeñ: ip i grupa"
 
 # lib/ap-utils.h:108
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 msgid "Set encryption; edit WEP keys"
 msgstr "Ustawianie szyfracji, zmiana kluczy"
 
 # lib/ap-utils.h:109
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr "Ustawianie praw dostêpu w/g MAC i listy MAC"
 
 # lib/ap-utils.h:110
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 msgid "Set SNMP community/password for access to the AP"
 msgstr "Ustawianie hase³/praw SNMP dla AP"
 
 # lib/ap-utils.h:111
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 msgid "Get info about AP hardware and firmware"
 msgstr "Informacja o sprzêcie i oprogramowaniu AP"
 
 # lib/ap-utils.h:112
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 msgid "Get wireless port statistics"
 msgstr "Statystyki portu radiowego"
 
 # lib/ap-utils.h:113
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "Lista aktualnie przy³±czonych stacji"
 
 # lib/ap-utils.h:114
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 msgid "Get info and statistics from AP"
 msgstr "Pobieram informacje i statystyki z AP"
 
 # lib/ap-utils.h:115
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 msgid "Set various configuration options"
 msgstr "Ustawianie ró¿nych opcji"
 
-# src/cmd.c:24
-#: lib/cmd.c:25
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
-msgstr "(Y - Tak; N - Nie (lepiej nie)"
+# src/stations.c:194 src/stations.c:278
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "Pod³±czone stacje"
+
+#: lib/ap-utils.h:132
+msgid "Polling: on"
+msgstr ""
+
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
 
 # src/cmd.c:37
-#: lib/cmd.c:44
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "Przywróæ ustawienia fabryczne."
 
 # src/cmd.c:40
-#: lib/cmd.c:47
-msgid "After restoring factory defaults your current configuration."
+#: lib/cmd.c:43
+#, fuzzy
+msgid "After restoring factory defaults your current configuration"
 msgstr "Po odtworzeniu ustawieñ fabrycznych CA£O¦Æ ustawien zostanie stracona."
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
 # src/cmd.c:71
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr "Za³adowano ustawienia producenta. Wci¶nij dowolny klawisz."
 
 # src/cmd.c:81
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "Zresetuj Access pointa"
 
 # src/cmd.c:84
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr "Przy resecie stracisz wszystkie nie za³adowane informacje."
 
 # src/cmd.c:106
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr "Access point zresetowany. Wci¶nij dowolny klawisz."
 
 # src/cmd.c:134
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "Za³aduj konfiguracje"
 
 # src/cmd.c:137
-#: lib/cmd.c:149
-msgid "You need to upload the configuration only if you've changed"
+#: lib/cmd.c:119
+#, fuzzy
+msgid "You may need to upload the configuration only if you've"
 msgstr "Musisz za³adowaæ konfiguracje tylko je¶li co¶ zmieni³e¶"
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+#, fuzzy
+msgid "changed some option values before. Using this option may"
 msgstr "jak±¶ opcjê. U¿ywanie tej opcji mo¿e byæ przyczyn± stracenia"
 
 # src/ap-config.c:78
-#: lib/cmd.c:153
-msgid "of your current configuration."
+#: lib/cmd.c:123
+#, fuzzy
+msgid "cause loss of your current configuration."
 msgstr "twojej obecnej koniguracji."
 
 # src/cmd.c:163
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 msgid "Configuration uploaded. Press any key to continue."
 msgstr "Konfiguracja za³adowana. Wci¶nij dowolny klawisz."
 
-#: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr "Wykryæ typ AP? "
-
 # lib/common.c:120
-#: lib/common.c:31
+#: lib/common.c:30
 msgid "Access Point IP-address: "
 msgstr "Adres IP Access Pointa: "
 
 # lib/common.c:121
-#: lib/common.c:32
+#: lib/common.c:31
 msgid "Password (community): "
 msgstr "Has³o (community): "
 
-# src/bridge.c:86
+#: lib/common.c:32
+#, fuzzy
+msgid "Autodetect AP MIB properties? "
+msgstr "Wykryæ typ AP? "
+
+# lib/common.c:122
 #: lib/common.c:33
 #, fuzzy
-msgid "Access Point name: "
-msgstr "Access Point"
+msgid "AP MIB type: "
+msgstr "Typ AP: "
 
-# src/aps.c:91 src/cmd.c:41 src/cmd.c:85 src/cmd.c:141 src/test.c:82
 #: lib/common.c:34
+msgid "AP MIB vendor extensions: "
+msgstr ""
+
+# src/aps.c:91 src/cmd.c:41 src/cmd.c:85 src/cmd.c:141 src/test.c:82
+#: lib/common.c:35
 #, fuzzy
-msgid "Do you want to define name for this AP? "
+msgid "Do you want to use AP's name as its label? "
 msgstr "Czesz kontynuowaæ?"
 
-# lib/common.c:122
-#: lib/common.c:35
-msgid "AP type: "
-msgstr "Typ AP: "
+# src/bridge.c:86
+#: lib/common.c:36
+#, fuzzy
+msgid "Access Point label: "
+msgstr "Access Point"
 
 # lib/common.c:159
-#: lib/common.c:36
+#: lib/common.c:37
 msgid "Save connect-settings: "
 msgstr "Zapisz na sta³e: "
 
 # lib/common.c:67
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "Od %s"
 
 # lib/common.c:69
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "Wersja %s"
 
 # lib/common.c:72
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "Napisa³ Roman Festchook (roma@polesye.net)"
 
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
 # lib/common.c:74
-#: lib/common.c:82
-msgid "Copyright (c) Roman Festchook 2001-2004"
+#: lib/common.c:109
+#, fuzzy
+msgid "Copyright (c) 2001-2004"
 msgstr "Prawa autorskie - Roman Festchook 2001-2004"
 
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr ""
+
 # lib/common.c:77
-#: lib/common.c:85
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "Program dostêpnu wed³ug zasad"
 
 # lib/common.c:79
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "Publicznej Licencji GNU w wersji 2."
 
 # lib/common.c:81
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "Szczegó³y - przeczytaj plik COPYING."
 
 # lib/common.c:118
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "Opcje pod³±czenia"
 
 # lib/common.c:124
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "Wpisz adres IP swojego Access Pointa."
 
 # lib/common.c:133
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr "Wpisywane litery nie bêd± wy¶wietlane z powodów bezpieczeñstwa."
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-# lib/ap-utils.h:88
-#: lib/common.c:187
-msgid "Determining AP type. Please wait..."
-msgstr "Pobieram dane z AP. Proszê czekaæ..."
+# lib/ap-utils.h:89
+#: lib/common.c:361
+#, fuzzy
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "Zapisuje dane do AP. Proszê czekaæ..."
 
 # lib/ap-utils.h:87
-#: lib/common.c:272
-msgid "Unable to determine AP type (no response). Press any key."
+#: lib/common.c:390
+#, fuzzy
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
 
-#: lib/file.c:194
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
 msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 msgid "Choose an AP to connect to"
 msgstr "Wybierz AP do którego chcesz siê pod³±czyæ"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 "1-9,C: pod³±cz; N: nowy; D: kasuj; W: zapisz; Q: wyjd¼; kursor: przewiñ"
 
 # lib/common.c:118
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "Nr AP do pod³. :"
 
 # lib/ap-utils.h:121
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "Skasuj pozycje:"
 
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+# lib/ap-utils.h:87
+#: lib/file.c:376
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Nie moge pobraæ danych z AP. Wci¶nij dowolny klawisz."
+
+# lib/ap-utils.h:86
+#: lib/file.c:426
+#, fuzzy
+msgid "Unable to write stations file. Press any key."
+msgstr "Nie moge wys³aæ danych do AP. Wci¶nij dowolny klawisz."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
 # src/bridge.c:31
-#: lib/input.c:31
+#: lib/input.c:33
 msgid "Invalid value. Press any key to continue."
 msgstr "B³êdny adres IP. Wci¶nij dowolny klawisz."
 
 # lib/ap-utils.h:86
-#: lib/input.c:32
-#, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+#: lib/input.c:34
+#, fuzzy, c-format
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr "Warto¶æ musi byæ od %i do %i. Wci¶nij dowolny klawisz."
 
+# src/aps.c:93
+#: lib/input.c:412
+#, fuzzy
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(Y - Tak; N - Nie (lepiej nie)"
+
 # lib/oui.c:6048
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "Nieznany lub Prywatny"
 
 # src/radio.c:93
-#: lib/radio.c:27
+#: lib/radio.c:26
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr "Kl. - moc sygna³y; UIOP - antena; W - Zapis.; Q - Koniec"
 
 # src/test.c:28
-#: lib/radio.c:29
+#: lib/radio.c:28
 msgid "Antenna:"
 msgstr "Antena:"
 
 # src/test.c:70
-#: lib/radio.c:30
+#: lib/radio.c:29
 msgid "[L] Left:"
 msgstr "[L] Lewa"
 
 # src/test.c:70
-#: lib/radio.c:31
+#: lib/radio.c:30
 msgid "[R] Right:"
 msgstr "[R] Prawa:"
 
 # src/radio.c:100
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "Konfiguracja radia"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
 # src/radio.c:103
-#: lib/radio.c:124
+#: lib/radio.c:123
 msgid "Key Channel Level"
 msgstr "Kl. kana³  poziom"
 
 # src/radio.c:225
-#: lib/radio.c:280
+#: lib/radio.c:279
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
 "key."
 msgstr "Nie wy³±cza siê wszystkich anten!!! Wci¶nij dowolny klawisz"
 
 # lib/scr.c:112
-#: lib/scr.c:203
-#, c-format
-msgid "Current AP: %s Type: %s"
+#: lib/scr.c:168
+#, fuzzy, c-format
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr "Aktualny AP: %s Typ: %s"
 
 # lib/ap-utils.h:95
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "Ustawianie hase³"
 
 # lib/ap-utils.h:96
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 msgid "Key Access level"
 msgstr "Kl. Prawa dostêpu"
 
 # lib/ap-utils.h:97
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "Has³o"
 
 # lib/ap-utils.h:98
-#: lib/set_community.c:31
-msgid "[U] User"
+#: lib/set_community.c:30
+#, fuzzy
+msgid "[U] User "
 msgstr "[U] U¿ytkownik"
 
 # lib/ap-utils.h:99
-#: lib/set_community.c:32
-msgid "[A] Administrator"
+#: lib/set_community.c:31
+#, fuzzy
+msgid "[A] Administrator "
 msgstr "[A] Administrator"
 
+# lib/set_community.c:64
+#: lib/set_community.c:32
+#, fuzzy
+msgid "[M] Manufacturer "
+msgstr "[M] Producent"
+
 # lib/ap-utils.h:100
 #: lib/set_community.c:33
 msgid ""
 "[key] - set community/password; W - write config to AP; Q - quit to menu"
 msgstr "Kl. - ustaw has³o; W - zapisz konfiguracje; Q - wyj¶cie"
 
-# lib/set_community.c:64
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "[M] Producent"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-# src/stat.c:40
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "B³±d fcntl(). Wci¶nij dowolny klawisz."
-
 # src/stat.c:72
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "Statystyki ethernetu"
 
+# src/stat.c:246 src/stat.c:422
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Statystyki radiowe"
+
 # src/stat.c:108
-#: lib/stat.c:92
+#: lib/stat.c:98
 #, fuzzy
 msgid "EthRxStat packet error. Press any key."
 msgstr "B³êdny pakiet EthRxStat. Wci¶nij Q aby kontynuowaæ."
 
 # src/stat.c:120
-#: lib/stat.c:105
+#: lib/stat.c:111
 #, fuzzy
 msgid "EthTxStat packet error. Press any key."
 msgstr "B³êdny pakiet EthTxStat. Wci¶nij Q aby kontynuowaæ."
 
 # src/stat.c:123
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "Odebrane:"
 
 # src/stat.c:124
-#: lib/stat.c:110
+#: lib/stat.c:116
 msgid "Transmitted:"
 msgstr "Wys³ane:"
 
-# src/stat.c:246 src/stat.c:422
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "Statystyki radiowe"
-
 # src/stat.c:277
-#: lib/stat.c:265
+#: lib/stat.c:270
 #, fuzzy
 msgid "WirelessStat packet error. Press any key."
 msgstr "B³êdny pakiet WirelessStat. Wci¶nij dowolny klawisz."
 
 # src/sysinfo.c:42
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "Opis systemu: "
 
 # src/sysinfo.c:83 src/sysinfo.c:257
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "Informacja o systemie"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr "Wersja urz±dzenia sprzêtowa/programowa/nazwa:"
 
 # src/sysinfo.c:103 src/sysinfo.c:285
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 msgid "Product name:"
 msgstr "Produkt:"
 
 # src/sysinfo.c:108
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, c-format
 msgid "Product type: %u"
 msgstr "Typ produktu: %u"
 
-# src/sysinfo.c:111
-#: lib/sysinfo.c:154
-#, c-format
-msgid "Hardware revision: %u"
-msgstr "Wersja sprzêtu: %u"
-
 # src/sysinfo.c:116
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 msgid "OEM name:"
 msgstr "Nazwa OEM:"
 
-# src/sysinfo.c:316
-#: lib/sysinfo.c:165
+# src/sysinfo.c:111
+#: lib/sysinfo.c:168
 #, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "Regulacje: %s [%d]"
-
-# src/sysinfo.c:126 src/sysinfo.c:317
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC (USA)"
-
-# src/sysinfo.c:127 src/sysinfo.c:318
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (Kanada)"
-
-# src/sysinfo.c:128 src/sysinfo.c:319
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (Europa)"
-
-# src/sysinfo.c:129 src/sysinfo.c:320
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "Hiszpania"
-
-# src/sysinfo.c:130 src/sysinfo.c:321
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "Francja"
-
-# src/sysinfo.c:131 src/sysinfo.c:322
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK (Japonia)"
-
-# src/sysinfo.c:131 src/sysinfo.c:216 src/sysinfo.c:322
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "nieznany"
+msgid "Hardware revision: %u"
+msgstr "Wersja sprzêtu: %u"
 
 # src/sysinfo.c:134
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, c-format
 msgid "Info structure version: %u"
 msgstr "StructVersion: %u"
 
 # src/sysinfo.c:138 src/sysinfo.c:279
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "OUI producenta: %02X %02X %02X (%s)"
 
 # src/sysinfo.c:386
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, fuzzy, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr "Dzia³a ju¿: %u:%02u:%02u.%02u"
 
 # src/sysinfo.c:213
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 GHz"
 
 # src/sysinfo.c:213
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "DSSS 2.4 GHz"
 
 # src/sysinfo.c:213
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "IR Baseband"
 
 # src/sysinfo.c:214
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "Temp. standardowe: 0..40 C"
 
 # src/sysinfo.c:215
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "Temp przemys³owe: -30..70 C"
 
+# src/sysinfo.c:131 src/sysinfo.c:216 src/sysinfo.c:322
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "nieznany"
+
 # src/sysinfo.c:218
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "rêczne"
 
 # src/sysinfo.c:218
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "nie obs³ugiwane"
 
 # src/sysinfo.c:218
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "dynamiczne"
 
 # src/sysinfo.c:267
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "Producent:"
 
 # src/sysinfo.c:273
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "ID producenta:"
 
 # src/sysinfo.c:103 src/sysinfo.c:285
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "Nazwa produktu:"
 
 # src/sysinfo.c:292
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "ID produktu:"
 
 # src/sysinfo.c:298
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "Wersja produktu:"
 
 # src/sysinfo.c:306
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "Typ PHY: %s"
 
 # src/sysinfo.c:309
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "Temperatura: %s"
 
 # src/sysinfo.c:316
-#: lib/sysinfo.c:362
-#, c-format
-msgid "Regulation Domain: %s"
+#: lib/sysinfo.c:390
+#, fuzzy, c-format
+msgid "Regulatory Domain: %s"
 msgstr "Regulacje dot. kana³ów: %s"
 
+# src/sysinfo.c:126 src/sysinfo.c:317
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC (USA)"
+
+# src/sysinfo.c:127 src/sysinfo.c:318
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (Kanada)"
+
+# src/sysinfo.c:128 src/sysinfo.c:319
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (Europa)"
+
+# src/sysinfo.c:129 src/sysinfo.c:320
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "Hiszpania"
+
+# src/sysinfo.c:130 src/sysinfo.c:321
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "Francja"
+
+# src/sysinfo.c:131 src/sysinfo.c:322
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK (Japonia)"
+
 # src/sysinfo.c:325
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "Moc wyj¶ciowa: %u mW"
 
 # src/sysinfo.c:355
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, fuzzy, c-format
 msgid "WEP implemented: %s"
 msgstr "Obs³uga WEP: %s"
 
 # src/sysinfo.c:358
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "Naprzemienno¶æ: %s"
 
 # src/sysinfo.c:386
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "Dzia³a ju¿: %u:%02u:%02u.%02u"
 
 # src/sysinfo.c:402
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "Adres IP: %s"
 
 # src/test.c:32
-#: lib/test.c:27
+#: lib/test.c:26
 msgid "[T] Test mode: "
 msgstr "[T] Tryb testowy: "
 
 # src/test.c:28
-#: lib/test.c:28
+#: lib/test.c:27
 msgid "[A] Antenna: "
 msgstr "[A] Antena: "
 
 # src/test.c:117
-#: lib/test.c:29
+#: lib/test.c:28
 msgid "[S] Signal level: "
 msgstr "[S] Poziom sygna³u: "
 
 # src/test.c:29
-#: lib/test.c:30
+#: lib/test.c:29
 msgid "[R] Rate: "
 msgstr "[R] Prêdko¶æ: "
 
 # src/test.c:31
-#: lib/test.c:31
+#: lib/test.c:30
 msgid "[F] TxFiler: "
 msgstr "[F] TxFiler: "
 
 # src/test.c:30
-#: lib/test.c:32
+#: lib/test.c:31
 msgid "[O] Command: "
 msgstr "[O] Komenda: "
 
 # src/test.c:33
-#: lib/test.c:33
+#: lib/test.c:32
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr "T - Test W³/Wy³; CASRFO - ustawianie; Q - koniecmenu"
 
 # src/test.c:70
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "Lewa"
 
 # src/test.c:70
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "Prawa"
 
 # src/test.c:78
-#: lib/test.c:88
+#: lib/test.c:86
 msgid "Test mode"
 msgstr "Tryb testowy"
 
 # src/test.c:81
-#: lib/test.c:91
+#: lib/test.c:89
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr "U¿ycie trybu testowego mo¿e spowodowaæ utratê obecnej"
 
 # src/cmd.c:134
-#: lib/test.c:92
+#: lib/test.c:90
 msgid "configuration."
 msgstr "konfiguracji."
 
-# src/test.c:84
-#: lib/test.c:95
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(Y - Tak; N - Nie (bezpieczny wybór)"
-
 # src/test.c:106
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "Opcje:"
 
 # src/test.c:132
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "Statystyki:"
 
 # src/test.c:133
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "Ramki OK: 0 Ramki z³e: 0"
 
 # src/test.c:197
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "Ramki OK: %lu Ramki z³e: %lu"
 
+# src/wep.c:75 src/wep.c:236
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "Ustawienia szyfracji"
+
 # lib/ap-utils.h:62
 #: lib/wep.c:29
 msgid "[E] Standard encryption mechanism: "
@@ -1436,11 +1490,6 @@ msgstr "[P] Klucz publiczny: "
 msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr "EK1234 - ustaw; W - zapisz; Q - wyj¶cie"
 
-# src/wep.c:75 src/wep.c:236
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "Ustawienia szyfracji"
-
 # src/wep.c:82 src/wep.c:250
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
@@ -1455,166 +1504,166 @@ msgstr "Podpowied
 msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr "AEPK1234 - ustaw opcje; W - Zapis; Q - Wyj¶cie"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
 # lib/ap-utils.h:78
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 msgid "[N] AP name: "
 msgstr "[N] Nazwa AP: "
 
 # src/wlan.c:579
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 msgid "[K] AP contact: "
 msgstr "[K] Osoba kontaktowa: "
 
 # src/wlan.c:577
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 msgid "[L] AP location: "
 msgstr "[L] Lokalizacja: "
 
 # lib/ap-utils.h:71
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 msgid "[R] RTS threshold: "
 msgstr ""
 
 # lib/ap-utils.h:72
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 msgid "[F] Fragmentation threshold: "
 msgstr ""
 
 # src/wlan.c:33
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 msgid "[P] Preambule type: "
 msgstr "[P] Preambu³a: "
 
 # lib/ap-utils.h:69
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 msgid "[A] Auth type: "
 msgstr "[A] Tryb autoryzacji: "
 
 # lib/ap-utils.h:64
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 msgid "Open system"
 msgstr "Bez kluczy"
 
 # lib/ap-utils.h:65
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 msgid "Shared key"
 msgstr "Wspólny klucz"
 
 # lib/ap-utils.h:66
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 msgid "Both types"
 msgstr "Oba"
 
 # src/wlan.c:32
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 msgid "[U] Auto rate fallback: "
 msgstr "[U] Auto. ustawianie prêdko¶ci: "
 
 # src/wlan.c:31
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "[S] Wysy³aæ ESSID w pakietach rozg³oszeniowych (broadcast): "
 
 # lib/ap-utils.h:74
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 msgid "Basic and Supported rates:"
 msgstr "Podstawowe i obs³ugiwane prêdko¶ci:"
 
 # lib/ap-utils.h:75
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "Klu   Prêd  Stan"
 
 # src/bridge.c:35
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 msgid "[I] International roaming: "
 msgstr ""
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
 # src/wlan.c:185
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr "[kl] - ustaw opcje; W - zapis; Q - wyj¶cie do menu"
 
 # src/wlan.c:100
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "Krótka"
 
 # src/wlan.c:100
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "D³uga"
 
 # src/wlan.c:104
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "Parametry radia"
 
 # src/wlan.c:584
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "Konfiguracja anten:"
 
 # src/wlan.c:596
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "Opcje ogólne"
 
 # src/wlan.c:598
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr "UIOPTY - antena; SCANLEDFR1234 - opcje; W - zapis; Q - powrót"
 
 # src/ap-config.c:55
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "Ogólne"
 
 # src/ap-config.c:55
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "Opcje ogólne"
 
 # src/ap-config.c:56
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "Zaawansowane"
 
 # src/ap-config.c:56
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "Opcje zaawansowane"
 
 # 
 # src/ap-config.c:89
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "Reset AP."
 
 # src/ap-config.c:123
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "Ostatnie"
 
 # src/ap-config.c:123
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "Pobiera info o ostatnich zdarzeniach"
 
@@ -1791,118 +1840,138 @@ msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. Dzia³a ju¿ %d:%02d:%02d.%02d"
 
 # lib/ap-utils.h:119
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 #, fuzzy
 msgid "NUM     MAC address"
 msgstr "Numer adres fizyczny (MAC)"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr "[C] Dostêp do konfiguracji porzez port: "
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr "[B] Izolacja klientów radiowych (ruch broadcast): "
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr "[U] Izolacja klientów radiowych (ruch unicast): "
 
 # lib/ap-utils.h:66
-#: src/bridge.c:122
+#: src/bridge.c:119
 msgid "Both"
 msgstr "Oba"
 
 # src/nwn_advanced.c:64
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] Czas bezaktywno¶ci stacji DB: %d"
 
 # src/nwn_advanced.c:66
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "[A] Okno potwierdzenia (ACK): %d"
 
 # src/nwn_advanced.c:69
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "Opcje zaawansowane"
 
 # src/nwn_advanced.c:70
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr "DA - opcje; W - zapis; Q - powrót"
 
 # src/nwn_latest.c:31
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "Przyczyna: %u Stacja: %02X%02X%02X%02X%02X%02X"
 
 # src/nwn_latest.c:89
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "Ostatnie zdarzenia"
 
 # src/nwn_latest.c:90
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "Oddziel:"
 
 # src/nwn_latest.c:97
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "Usuñ autoryzacjê:"
 
 # src/nwn_latest.c:104
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 msgid "Authenticate Fail:"
 msgstr "B³±d autoryzacji:"
 
 # src/nwn_latest.c:110
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "Ostatni b³±d:"
 
 # src/nwn_latest.c:111
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "B³±d:"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
 # src/stations.c:132 src/stations.c:284
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 #, fuzzy
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
 
 # src/stations.c:132 src/stations.c:284
-#: src/stations.c:190
+#: src/stations.c:200
 #, fuzzy
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr "Strza³ki - przewijanie; S - zapis do zbioru; Q - powrót."
 
-# src/stations.c:194 src/stations.c:278
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "Pod³±czone stacje"
-
 # src/stations.c:196
-#: src/stations.c:277
+#: src/stations.c:279
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "Id       Adres fizyczny  Jako¶æ   Wiek RSSI"
 
+# src/stations.c:29
+#~ msgid "Associated Stations"
+#~ msgstr "Pod³±czonych stacji"
+
+# src/cmd.c:24
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgstr "(Y - Tak; N - Nie (lepiej nie)"
+
+# lib/ap-utils.h:88
+#~ msgid "Determining AP type. Please wait..."
+#~ msgstr "Pobieram dane z AP. Proszê czekaæ..."
+
+# src/sysinfo.c:316
+#~ msgid "Regulation domain: %s [%d]"
+#~ msgstr "Regulacje: %s [%d]"
+
+# src/test.c:84
+#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
+#~ msgstr "(Y - Tak; N - Nie (bezpieczny wybór)"
+
 # src/stat.c:37
 #~ msgid "Unable to get data from AP. Press Q to continue."
 #~ msgstr "Nie moge pobraæ danych z AP. Wci¶nij Q aby kontynuowaæ."
diff --git a/po/ro.gmo b/po/ro.gmo
deleted file mode 100644 (file)
index dda0584..0000000
Binary files a/po/ro.gmo and /dev/null differ
index 6b490931eee4f8bf8f857558f228792218622cb0..c445f211fde9ebe337eddb8238b83e4167818b3a 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: ap-utils-1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2003-05-19 12:51+0300\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -15,398 +15,390 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Report-Msgid-Bugs-To: \n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr "Conexiune(Bridging)"
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr "Setare opþiuni legate de bridging ºi IP"
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "Wireless"
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "Setare opþiuni wireless"
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "Secret(Privacy)"
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 #, fuzzy
 msgid "MAC auth"
 msgstr "Autorizare Mac"
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "Comunitate"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "Radio"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr "Setãri putere semnal radio ºi opþiuni antenã"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "Upload"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+#, fuzzy
+msgid "Activate current configuration"
 msgstr "Seteazã configuraþia curentã ca activã"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "Implicite"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "Restaureazã setãrile implicite din fabricã"
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "Reset"
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr "Resetare AP. Toate configuraþiile ne-uploadate vor fi pierdute"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "ModTestare"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "Aducere Access Point în mod testare"
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "SysInfo"
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "Ethernet"
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "Procurare statistici port ethernet"
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "Staþii"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "AP-uri cunoscute"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "Procurare informaþii despre Access Point-urile cunoscute"
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "Informaþii"
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "Configuraþie"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "Comenzi"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "Executare comenzi pe Access Point"
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "Conectare "
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "Cãutare"
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "Despre"
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "Shell"
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "Ieºire"
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "Wireless Access Point Configurator ver. %s"
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "Eroare pachet AuthorizedMacTableString"
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 #, fuzzy
 msgid "[A] MAC authorization: "
 msgstr "[A] Autorizare prin MAC: %s"
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 #, fuzzy
 msgid "Enter MAC: "
 msgstr "Introducere Mac:"
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 #, fuzzy
 msgid "Delete Num: "
 msgstr "ªterge Num:"
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 #, fuzzy
 msgid "Authorized MAC addresses"
 msgstr "Adrese MAC Autorizate"
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 #, fuzzy
 msgid "NUM       MAC address"
 msgstr "NUM     adresã MAC"
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A - autentificare; N - nou; D - ºtergere; sãgeþi -scroll; W- scriere conf; Q "
 "- ieºire"
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 #, fuzzy
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 #, fuzzy
 msgid "A - auth; W - write conf; Q - quit"
 msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 #, fuzzy
 msgid "Internal"
 msgstr "General"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr ""
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 #, fuzzy
 msgid "[N] Netmask: "
 msgstr "[N] Netmask: %s"
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 #, fuzzy
 msgid "[G] Gateway: "
 msgstr "[G] Gateway %s"
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 #, fuzzy
 msgid "[F] Filter non-IP traffic: "
 msgstr "[F] Filtrare traficul non IP: %s"
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 #, fuzzy
 msgid "[P] Primary port: "
 msgstr "[P] Port primar: %s"
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 #, fuzzy
 msgid "Attached station MAC: "
 msgstr "MAC ataºat staþiei: %02X%02X%02X%02X%02X%02X"
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 #, fuzzy
 msgid "[D] DHCP client: "
 msgstr "[D] Protocol DHCP: %s"
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 #, fuzzy
 msgid "[O] Operational mode: "
 msgstr "[O] Mod Operaþional: %s"
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 #, fuzzy
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr "[R] Adresã Mac remote: %02X:%02X:%02X:%02X:%02X:%02X"
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr ""
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr ""
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 #, fuzzy
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr "BPGINFDRT - setãri; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr "Conexiune(bridge) Wireless Point to MultiPoint"
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "Access Point"
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "Client Access Point"
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr "Conexiune(bridge) Wireless Point to Point"
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "Repetor"
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "Staþii Asociate"
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr ""
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "Eroare pachet AssociatedSTAsInfo"
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "Access Point-uri Cunoscute"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr ""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr ""
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 #, fuzzy
 msgid "cause loss of Access Point's current configuration."
 msgstr "Seteazã configuraþia curentã ca activã"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 #, fuzzy
 msgid "via its wireless port."
 msgstr "Setare opþiuni wireless"
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "Doriþi sã continuaþi? "
 
-#: lib/aps.c:154
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(Y - Da; N - Nu (e mai sigur sã rãspundeþi Nu)"
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "Access Point-uri Cunoscute"
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "TipReþea"
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "Infrastructurã"
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 #, fuzzy
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr "P: Tip Preambul; S: Scurt; L: Lung"
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
-#: lib/aps.c:381
+#: lib/aps.c:369
 #, fuzzy
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
@@ -415,7 +407,7 @@ msgstr ""
 "# conectare la acest AP; R împrospãtare cu reset; G împrospãtare fãrã reset; "
 "Q ieºire"
 
-#: lib/aps.c:383
+#: lib/aps.c:371
 #, fuzzy
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
@@ -424,532 +416,591 @@ msgstr ""
 "# conectare la acest AP; R împrospãtare cu reset; G împrospãtare fãrã reset; "
 "Q ieºire"
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, fuzzy, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "Sendto invalid: %s. Apãsaþi o tastã."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr ""
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr ""
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr ""
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr ""
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr ""
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr ""
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr ""
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr ""
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
-msgstr ""
+#: lib/ap_search.c:48
+#, fuzzy
+msgid "Community name: "
+msgstr "Comunitate"
+
+#: lib/ap_search.c:49
+#, fuzzy
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
+msgstr "NUM       ADRES? IP   TIP"
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr ""
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 #, fuzzy
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr "Nu se poate seta opþiunea de broadcast spre socket. Apãsaþi o tastã."
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 #, fuzzy
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr ""
 "Nu se poate seta apartenenþa(membership) multicast la socket. Apãsaþi o "
 "tastã."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr ""
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr ""
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, fuzzy, c-format
 msgid "  Name: %s"
 msgstr "[N] Nume AP:"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
+msgstr ""
+
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
 msgstr ""
 
-#: lib/ap_search.c:327
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "Cãutare de Access Points."
 
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 #, fuzzy
 msgid "realloc() error."
 msgstr "Eroare în crearea socketului"
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr ""
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 #, fuzzy
 msgid "No local network interfaces found. Press any key."
 msgstr "Eroare la fork. Apãsaþi o tastã."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr ""
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 #, fuzzy
 msgid "# - connect to AP; Q - quit"
 msgstr "Conectare la AP num:"
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 #, fuzzy
 msgid "MAC address: "
 msgstr "Adresã IP: %s"
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 #, fuzzy
 msgid "[S] SNMP traps: "
 msgstr "[S] Referinþe(traps) SNMP: %s"
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 #, fuzzy
 msgid "[C] Frequency channel: "
 msgstr "[C] Frecvenþã Canal: %02u (%u MHz)"
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 #, fuzzy
 msgid "Receive  antenna:"
 msgstr "Primite:"
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 #, fuzzy
 msgid "[U] Left"
 msgstr "Stânga"
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 #, fuzzy
 msgid "[I] Right"
 msgstr "Dreapta"
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 #, fuzzy
 msgid "Transmit antenna:"
 msgstr "Transmise:"
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 #, fuzzy
 msgid "[O] Left"
 msgstr "Stânga"
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 #, fuzzy
 msgid "[P] Right"
 msgstr "Dreapta"
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 #, fuzzy
 msgid "Diversity select:"
 msgstr "Variaþie: %s"
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 #, fuzzy
 msgid "[T] Left"
 msgstr "Stânga"
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 #, fuzzy
 msgid "[Y] Right"
 msgstr "Dreapta"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr ""
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr ""
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr ""
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 #, fuzzy
 msgid "Off"
 msgstr "oprit(off)"
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 #, fuzzy
 msgid "Basic"
 msgstr "de bazã"
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "Apãsaþi o tastã pentru continuare."
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
 
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 #, fuzzy
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+#, fuzzy
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "Recuperare date din AP. Vã rugãm aºteptaþi..."
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "Scriere date în AP. Vã rugãm aºteptaþi..."
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 #, fuzzy
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "select() function error. Press any key."
+msgstr "Eroare fcntl. Apãsaþi o tastã."
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "Eroare în creare socket. Apãsaþi o tastã."
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "Eroare de legãturã. Apãsaþi o tastã."
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "Înapoi în meniul principal"
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "Ieºire din program"
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 #, fuzzy
 msgid "Run subshell. To return type 'exit'."
 msgstr "Rulare subshell. Pentru întoarcere scrieþi 'exit'"
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "Scurte informaþii despre program"
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "Cautã Access Pointurile conectate"
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "Setare opþiuni conexiune: ip ºi comunitate"
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 #, fuzzy
 msgid "Set encryption; edit WEP keys"
 msgstr "Setare encripþie, editare chei WEP"
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 #, fuzzy
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr "Setare autorizare prin mac, editare tabel autorizare prin mac"
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 #, fuzzy
 msgid "Set SNMP community/password for access to the AP"
 msgstr "Setare comunitate/parolã SNMP pentru accesare AP"
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 #, fuzzy
 msgid "Get info about AP hardware and firmware"
 msgstr "Procurare informaþii despre hardware ºi software AP"
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 #, fuzzy
 msgid "Get wireless port statistics"
 msgstr "Procurare statistici porturi wireless"
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 #, fuzzy
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "Procurare listã staþii asociate în acest moment"
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 #, fuzzy
 msgid "Get info and statistics from AP"
 msgstr "Procurare informaþii ºi statistici din AP"
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 #, fuzzy
 msgid "Set various configuration options"
 msgstr "Setare diverse opþiuni de configurare"
 
-#: lib/cmd.c:25
-#, fuzzy
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "Staþii asociate"
+
+#: lib/ap-utils.h:132
+msgid "Polling: on"
 msgstr ""
-"(Y - Da; N - Nu (E mai sigur sa raspundeþi Nu, în afarã de cazul când aveþi "
-"nevoie neapãrat de asta.)"
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "Restaureazã configuraþia implicitã din fabricã"
 
-#: lib/cmd.c:47
+#: lib/cmd.c:43
 #, fuzzy
-msgid "After restoring factory defaults your current configuration."
+msgid "After restoring factory defaults your current configuration"
 msgstr ""
 "Dupã restaurarea valorilor implicite din fabricã aþi pierdut configuraþia "
 "curentã."
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 #, fuzzy
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr "Configuraþia implicitã activatã. Apãsaþi o tastã pentru continuare."
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "Resetare Access Point"
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 #, fuzzy
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr "Când resetaþi veþi pierde toate configuraþiile ne-uploadate."
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr "Access Point resetat. Apãsaþi o tastã pentru continuare."
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "Upload de configuraþie"
 
-#: lib/cmd.c:149
+#: lib/cmd.c:119
 #, fuzzy
-msgid "You need to upload the configuration only if you've changed"
+msgid "You may need to upload the configuration only if you've"
 msgstr ""
 "E nevoie sã uploadaþi configuraþia numai dacã schimbaþi anumite opþiuni."
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr ""
 
-#: lib/cmd.c:153
+#: lib/cmd.c:123
 #, fuzzy
-msgid "of your current configuration."
+msgid "cause loss of your current configuration."
 msgstr "Seteazã configuraþia curentã ca activã"
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 #, fuzzy
 msgid "Configuration uploaded. Press any key to continue."
 msgstr "Upload-ul de configuraþie efectuat. Apãsaþi o tastã pentru continuare."
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr ""
-
-#: lib/common.c:31
 #, fuzzy
 msgid "Access Point IP-address: "
 msgstr "Adresã IP Access Point:"
 
-#: lib/common.c:32
+#: lib/common.c:31
 #, fuzzy
 msgid "Password (community): "
 msgstr "Parolã (comunitate):"
 
+#: lib/common.c:32
+msgid "Autodetect AP MIB properties? "
+msgstr ""
+
 #: lib/common.c:33
 #, fuzzy
-msgid "Access Point name: "
-msgstr "Access Point"
+msgid "AP MIB type: "
+msgstr "Tip AP:"
 
 #: lib/common.c:34
-#, fuzzy
-msgid "Do you want to define name for this AP? "
-msgstr "Doriþi sã continuaþi? "
+msgid "AP MIB vendor extensions: "
+msgstr ""
 
 #: lib/common.c:35
 #, fuzzy
-msgid "AP type: "
-msgstr "Tip AP:"
+msgid "Do you want to use AP's name as its label? "
+msgstr "Doriþi sã continuaþi? "
 
 #: lib/common.c:36
 #, fuzzy
+msgid "Access Point label: "
+msgstr "Access Point"
+
+#: lib/common.c:37
+#, fuzzy
 msgid "Save connect-settings: "
 msgstr "Salvare setãri conectare:"
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "De la %s"
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "Versiunea %s"
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "Scris de Roman Festchook roma@polesye.net"
 
-#: lib/common.c:82
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
+#: lib/common.c:109
 #, fuzzy
-msgid "Copyright (c) Roman Festchook 2001-2004"
+msgid "Copyright (c) 2001-2004"
 msgstr "Copyright (c) Roman Festchook 2001-2002"
 
-#: lib/common.c:85
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr ""
+
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "Acest program este distribuit sub termenii "
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "Licenþei Publice Generale GNU versiunea 2"
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "Citiþi fiºierul COPYING inclus pentru detalii."
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "Opþiuni conectare"
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "Scrieþi adresa IP a Access Point-ului vostru:"
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr "Caracterele introduse nu vor fi afiºate din motive de securitate."
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-#: lib/common.c:187
+#: lib/common.c:361
 #, fuzzy
-msgid "Determining AP type. Please wait..."
-msgstr "Recuperare date din AP. Vã rugãm aºteptaþi..."
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "Scriere date în AP. Vã rugãm aºteptaþi..."
 
-#: lib/common.c:272
+#: lib/common.c:390
 #, fuzzy
-msgid "Unable to determine AP type (no response). Press any key."
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
 
-#: lib/file.c:194
-#, fuzzy
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
-msgstr "NUM       ADRES? IP   TIP"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
+msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 #, fuzzy
 msgid "Choose an AP to connect to"
 msgstr "Alege?i AP-ul la care se efectueaz? conexiunea"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 "1-9,C: conectare; N: nou; D: ?tergere; W: salvare; Q: ie?ire; s?ge?i: scroll"
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "Conectare la AP num:"
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "ªterge Num:"
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+#: lib/file.c:376
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "Nu se pot recupera date din AP. Apãsaþi o tastã pentru continuare."
+
+#: lib/file.c:426
+#, fuzzy
+msgid "Unable to write stations file. Press any key."
+msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
+#: lib/input.c:33
 #, fuzzy
 msgid "Invalid value. Press any key to continue."
 msgstr "Adresã IP invalidã.  Apãsaþi o tastã pentru continuare."
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, fuzzy, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr "Nu se pot scrie date în AP. Apãsaþi o tastã pentru continuare."
 
+#: lib/input.c:412
+#, fuzzy
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(Y - Da; N - Nu (e mai sigur sã rãspundeþi Nu)"
+
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "Necunoscut sau Privat"
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 #, fuzzy
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr ""
 "Tastã - nivel putere; UIOP - antena; W - scriere configuraþie; Q - ieºire"
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 #, fuzzy
 msgid "Antenna:"
 msgstr "[A] Antena: %s"
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 #, fuzzy
 msgid "[L] Left:"
 msgstr "Stânga"
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 #, fuzzy
 msgid "[R] Right:"
 msgstr "Dreapta"
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "Configuraþie Radio"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 #, fuzzy
 msgid "Key Channel Level"
 msgstr "cheie nivel canal"
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 #, fuzzy
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
@@ -958,32 +1009,39 @@ msgstr ""
 "Nu puteþi dezactiva ambele antene, nu se poate salva configuraþia antenei. "
 "Apãsaþi o tastã."
 
-#: lib/scr.c:203
-#, c-format
-msgid "Current AP: %s Type: %s"
+#: lib/scr.c:168
+#, fuzzy, c-format
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr "AP Current: %s Tip: %s"
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "Setare comunitate/parolã"
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 #, fuzzy
 msgid "Key Access level"
 msgstr "Nivel Access Cheie(Key)"
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "Comunitate/Parola"
 
-#: lib/set_community.c:31
-msgid "[U] User"
+#: lib/set_community.c:30
+#, fuzzy
+msgid "[U] User "
 msgstr "[U] User"
 
-#: lib/set_community.c:32
-msgid "[A] Administrator"
+#: lib/set_community.c:31
+#, fuzzy
+msgid "[A] Administrator "
 msgstr "[A] Administrator"
 
+#: lib/set_community.c:32
+#, fuzzy
+msgid "[M] Manufacturer "
+msgstr "[M] Producãtor"
+
 #: lib/set_community.c:33
 #, fuzzy
 msgid ""
@@ -991,305 +1049,286 @@ msgid ""
 msgstr ""
 "CHEIE - setare comunitate/parolã; W - scriere configurare în AP;Q - ieºire"
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "[M] Producãtor"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "Eroare fcntl. Apãsaþi o tastã."
-
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "Statistici Ethernet"
 
-#: lib/stat.c:92
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Statistici Wireless"
+
+#: lib/stat.c:98
 #, fuzzy
 msgid "EthRxStat packet error. Press any key."
 msgstr "Eroare de pachet EthRxStat Apãsaþi Q pentru continuare."
 
-#: lib/stat.c:105
+#: lib/stat.c:111
 #, fuzzy
 msgid "EthTxStat packet error. Press any key."
 msgstr "Eroare de pachet EthTxStat. Apãsaþi Q pentru continuare."
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "Primite:"
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 #, fuzzy
 msgid "Transmitted:"
 msgstr "Transmise:"
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "Statistici Wireless"
-
-#: lib/stat.c:265
+#: lib/stat.c:270
 #, fuzzy
 msgid "WirelessStat packet error. Press any key."
 msgstr "Eroare de pachet WirelessStat. Apãsaþi Q pentru continuare."
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "Descriere sistem: "
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "Informaþii Sistem"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr ""
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 #, fuzzy
 msgid "Product name:"
 msgstr "Nume Produs:"
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, fuzzy, c-format
 msgid "Product type: %u"
 msgstr "TipProdus: %u"
 
-#: lib/sysinfo.c:154
-#, fuzzy, c-format
-msgid "Hardware revision: %u"
-msgstr "RevizieHardware: %u"
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 #, fuzzy
 msgid "OEM name:"
 msgstr "NumeOEM:"
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, fuzzy, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "Domeniu Regularizare: %s"
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC (USA)"
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (Canada)"
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (Europa)"
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "Spania"
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "Franþa"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK (Japonia)"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "necunoscut"
+msgid "Hardware revision: %u"
+msgstr "RevizieHardware: %u"
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, fuzzy, c-format
 msgid "Info structure version: %u"
 msgstr "VersiuneStruct: %u"
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "OUI Producãtor: %02X %02X %02X (%s)"
 
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, fuzzy, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr "Uptime: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "DSSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "Bandã de bazã IR"
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "Interval comercial 0..40 C"
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "Interval industrial -30..70 C"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "necunoscut"
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "manual"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "nesuportat"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "dinamic"
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "Producãtor:"
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "ID Producãtor:"
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "Nume Produs:"
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "ID Produs:"
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "Versiune Produs:"
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "TipPHY: %s"
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "Temperaturã: %s"
 
-#: lib/sysinfo.c:362
-#, c-format
-msgid "Regulation Domain: %s"
+#: lib/sysinfo.c:390
+#, fuzzy, c-format
+msgid "Regulatory Domain: %s"
 msgstr "Domeniu Regularizare: %s"
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC (USA)"
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (Canada)"
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (Europa)"
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "Spania"
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "Franþa"
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK (Japonia)"
+
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "Putere Transmisie: %u mW"
 
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, fuzzy, c-format
 msgid "WEP implemented: %s"
 msgstr "WEP inplementat: %s"
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "Variaþie: %s"
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "Uptime: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "Adresã IP: %s"
 
-#: lib/test.c:27
+#: lib/test.c:26
 #, fuzzy
 msgid "[T] Test mode: "
 msgstr "[T] Mod Testare: %s"
 
-#: lib/test.c:28
+#: lib/test.c:27
 #, fuzzy
 msgid "[A] Antenna: "
 msgstr "[A] Antena: %s"
 
-#: lib/test.c:29
+#: lib/test.c:28
 #, fuzzy
 msgid "[S] Signal level: "
 msgstr "[S] Nivel semnal: %03u"
 
-#: lib/test.c:30
+#: lib/test.c:29
 #, fuzzy
 msgid "[R] Rate: "
 msgstr "[R] Ratã: %.1f Mbit/s"
 
-#: lib/test.c:31
+#: lib/test.c:30
 #, fuzzy
 msgid "[F] TxFiler: "
 msgstr "[F] TxFiler: %s"
 
-#: lib/test.c:32
+#: lib/test.c:31
 #, fuzzy
 msgid "[O] Command: "
 msgstr "[O] Comandã: %s"
 
-#: lib/test.c:33
+#: lib/test.c:32
 #, fuzzy
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr ""
 "T - ModTest Activat/Dezactivat; CASRFO - setãri opþiuni; Q - ieºire în meniu"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "Stânga"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "Dreapta"
 
-#: lib/test.c:88
+#: lib/test.c:86
 #, fuzzy
 msgid "Test mode"
 msgstr "Mod Testare"
 
-#: lib/test.c:91
+#: lib/test.c:89
 #, fuzzy
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr ""
 "Folosirea modului de testare poate cauza pierderea configuraþiei curente."
 
-#: lib/test.c:92
+#: lib/test.c:90
 #, fuzzy
 msgid "configuration."
 msgstr "Upload de configuraþie"
 
-#: lib/test.c:95
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(Y - Da; N - Nu (e mai sigur sa raspundeþi Nu.)"
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "Opþiuni:"
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "Statistici:"
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "Frame-uri cu succes: 0 Frame-uri eºuate: 0"
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "Frame-uri cu succes: %lu Frame-uri eºuate: %lu"
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "Setãri de Secretizare(Privacy)"
+
 #: lib/wep.c:29
 #, fuzzy
 msgid "[E] Standard encryption mechanism: "
@@ -1314,10 +1353,6 @@ msgstr "[P] Cheie Public
 msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr "EK1234 - setare; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "Setãri de Secretizare(Privacy)"
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr "Cheie  WEP"
@@ -1333,153 +1368,153 @@ msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr ""
 "AEPK1234 - setãri opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 #, fuzzy
 msgid "[N] AP name: "
 msgstr "[N] Nume AP:"
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 #, fuzzy
 msgid "[K] AP contact: "
 msgstr "[E] Contact AP:          %s"
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 #, fuzzy
 msgid "[L] AP location: "
 msgstr "[L] Locaþie AP:         %s"
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 #, fuzzy
 msgid "[R] RTS threshold: "
 msgstr "[R] Prag(Threshold) RTS: %d"
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 #, fuzzy
 msgid "[F] Fragmentation threshold: "
 msgstr "[F] Prag(theshold) de Fragmentare: %d"
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 #, fuzzy
 msgid "[P] Preambule type: "
 msgstr "[P] Tip Preambul: %s"
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 #, fuzzy
 msgid "[A] Auth type: "
 msgstr "[A] Tip Autentificare: %s"
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 #, fuzzy
 msgid "Open system"
 msgstr "Sistem Deschis(Open)"
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 #, fuzzy
 msgid "Shared key"
 msgstr "Cheie Partajatã(shared)"
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 #, fuzzy
 msgid "Both types"
 msgstr "Ambele Tipuri"
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 #, fuzzy
 msgid "[U] Auto rate fallback: "
 msgstr "[U] AutoRateFallBack: %s"
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 #, fuzzy
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "[S] Insereazã ESSID în pachetele de broadcast: %s"
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 #, fuzzy
 msgid "Basic and Supported rates:"
 msgstr "Rate de bazã ºi suportate:"
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "Cheie   Ratã  Stare"
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 #, fuzzy
 msgid "[I] International roaming: "
 msgstr "[O] Mod Operaþional: %s"
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr ""
 "[tastã] - setãri opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "Scurt"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "Lung"
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "Setãri Wireless"
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "Configuraþie Antenã:"
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "Opþiuni Generale"
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr ""
 "UIOPTY - antenã; SCANLEDFR1234 - opþiuni; W - scriere configuraþie; Q - "
 "ieºire în meniu"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "General"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "Setare opþiuni generale"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "Avansat"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "Setare opþiuni avansate"
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "Resetare AP."
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "Ultimul"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "Procurare informaþii despre ultimele evenimente"
 
@@ -1636,105 +1671,127 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 #, fuzzy
 msgid "NUM     MAC address"
 msgstr "NUM     adresã MAC"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr ""
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr ""
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr ""
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 #, fuzzy
 msgid "Both"
 msgstr "Ambele Tipuri"
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] Timp Limitã(timeout) Staþie DB: %d"
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "[A] Fereastrã ACK: %d"
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "Opþiuni Avansate"
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr "DA - opþiuni; W - scriere configuraþie; Q - ieºire în meniu"
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "Motiv: %u Staþie: %02X:%02X:%02X:%02X:%02X:%02X"
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "Ultimele Evenimente"
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "Dezasociere:"
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "Deautentificare:"
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 #, fuzzy
 msgid "Authenticate Fail:"
 msgstr "Autentificare Eºuatã:"
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "Ultima eroare:"
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "Eroare:"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 #, fuzzy
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
 
-#: src/stations.c:190
+#: src/stations.c:200
 #, fuzzy
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr "Sãgeþi - scroll; S - salvare în fiºier; Q - ieºire în meniu."
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "Staþii asociate"
-
-#: src/stations.c:277
+#: src/stations.c:279
 #, fuzzy
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "Id      Adresã MAC     Calitate  Vechime  RSSI"
 
+#~ msgid "Associated Stations"
+#~ msgstr "Staþii Asociate"
+
+#, fuzzy
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgstr ""
+#~ "(Y - Da; N - Nu (E mai sigur sa raspundeþi Nu, în afarã de cazul când "
+#~ "aveþi nevoie neapãrat de asta.)"
+
+#, fuzzy
+#~ msgid "Determining AP type. Please wait..."
+#~ msgstr "Recuperare date din AP. Vã rugãm aºteptaþi..."
+
+#, fuzzy
+#~ msgid "Regulation domain: %s [%d]"
+#~ msgstr "Domeniu Regularizare: %s"
+
+#, fuzzy
+#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
+#~ msgstr "(Y - Da; N - Nu (e mai sigur sa raspundeþi Nu.)"
+
 #~ msgid "Unable to get data from AP. Press Q to continue."
 #~ msgstr "Nu se pot procura date din AP. Apãsaþi Q pentru continuare."
 
diff --git a/po/tr.gmo b/po/tr.gmo
deleted file mode 100644 (file)
index 06ecf54..0000000
Binary files a/po/tr.gmo and /dev/null differ
index 31f1632f326bccef757aabecb4ffcdfaef25905d..4697a96b2f7122b9db8cc58c341df0a4843bed94 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: ap-utils 1.3.2-pre3\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2004-06-14 14:03+0200\n"
 "Last-Translator: Elif Bilge Maden <bilgemaden_1@yahoo.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -15,397 +15,389 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Report-Msgid-Bugs-To: \n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr "Bağlanıyor"
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr "Bağlantı kurma ve IP bağlantılı seçenekler"
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "Kablosuz"
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "Kablosuz seçenekleri kur"
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "Gizlilik"
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 #, fuzzy
 msgid "MAC auth"
 msgstr "Mac adresini gir"
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "Topluluk"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "Radyo"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr "Radyo sinyal gücünü ve anten seçeneklerini ayarlayınız."
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "Yükleme"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+#, fuzzy
+msgid "Activate current configuration"
 msgstr "Geçerli yapılandırmaları aktif hale getir."
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "Varsayılanlar"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "Fabrika varsayılan ayarlarını geri yükle "
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "Sıfırla"
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr "AP' yi sıfırla. Yüklenmemiş yapılandırmalar kaybolacaktır"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "TestKipi"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "Test kipine Erişim Noktası koy"
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "Sistembilgisi"
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "Eternet"
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "Eternet bağlantı noktaları istatistiklerini bul"
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "İstasyonlar"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "Bilinen AP' ler"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "Bilinen Erişim Noktaları hakkında bilgi edinin."
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "Bilgi"
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "Yapılandırma"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "Komutlar"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "Erişim Noktasında komut gönder"
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "Bağlan"
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "Ara"
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "Hakkında"
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "Kabuk"
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "Çıkış"
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "Kablosuz Erişim Noktası Konfigürasyon Tanımlayıcısı Sürümü %s"
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "YetkiliMacTablosuDizgi paketi hatası"
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 #, fuzzy
 msgid "[A] MAC authorization: "
 msgstr "(A) Makro yetki: %s"
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 #, fuzzy
 msgid "Enter MAC: "
 msgstr "Makro gir"
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 #, fuzzy
 msgid "Delete Num: "
 msgstr "Numarayı sil:"
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 #, fuzzy
 msgid "Authorized MAC addresses"
 msgstr "Yetkili makro adresler"
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 #, fuzzy
 msgid "NUM       MAC address"
 msgstr "NUM MAKRO adres"
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A - yetki; N - yeni; D - sil; oklar - kaydırma; W - yapılandırmayı yaz; Q - "
 "durdur "
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 #, fuzzy
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 #, fuzzy
 msgid "A - auth; W - write conf; Q - quit"
 msgstr "DA -seçenekler; W - yapılandırmayı yaz; Q - menüye geri dön"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr ""
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 #, fuzzy
 msgid "Internal"
 msgstr "Genel"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr ""
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr ""
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 #, fuzzy
 msgid "[N] Netmask: "
 msgstr "[N] Ağ Maskesi: %s"
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 #, fuzzy
 msgid "[G] Gateway: "
 msgstr "(G) Ağ Geçidi %s"
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 #, fuzzy
 msgid "[F] Filter non-IP traffic: "
 msgstr "(F) IP- dışı trafik süzgeci: %s"
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 #, fuzzy
 msgid "[P] Primary port: "
 msgstr "(P) Gizli bağlantı noktaları: %s"
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 #, fuzzy
 msgid "Attached station MAC: "
 msgstr "İliştirilmiş MAC İstasyonu: %02X%02X%02X%02X%02X%02X"
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 #, fuzzy
 msgid "[D] DHCP client: "
 msgstr "(D) DHCP protokolü: %s"
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 #, fuzzy
 msgid "[O] Operational mode: "
 msgstr "(O) İşlemsel Kip: %s"
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr ""
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr ""
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr ""
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr ""
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 #, fuzzy
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr "BPGINFDRT - kur;W - yapılandırmayı yaz; Q - menüye dön"
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr "Noktadan Çok Bağlantı Noktasına Kablosuz Köprü"
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "Erişim Noktası"
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "Erşim Noktası Kullanıcısı"
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr "noktadan noktaya kablosuz köprü"
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "Yineleyici"
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "İlişkili istasyonlar"
-
-#: ap-gl/stations.c:80 src/stations.c:96
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
 msgstr ""
 
-#: ap-gl/stations.c:105
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
 msgstr ""
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "İlişkiliSTAbilgi paketi hatası"
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "Tanımlana Erişim Noktaları"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr ""
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr ""
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr ""
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr ""
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr ""
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 #, fuzzy
 msgid "cause loss of Access Point's current configuration."
 msgstr "Kablosuz Erişim Noktası Konfigürasyon Tanımlayıcısı"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr ""
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 #, fuzzy
 msgid "via its wireless port."
 msgstr "Kablosuz seçenekleri kur"
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "Devam etmek istiyor musunuz?"
 
-#: lib/aps.c:154
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(Y - Evet; N - Hayır (Hayır yanıtı daha güvenlidir)"
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "Tanımlana Erişim Noktaları"
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "Ağ Türü"
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "Altyapı"
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 #, fuzzy
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr "P: Başlangıç Türü, S: Kısa; L: Uzun"
 
-#: lib/aps.c:357
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
 msgstr ""
 
-#: lib/aps.c:359 lib/aps.c:367
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
 msgstr ""
 
-#: lib/aps.c:365
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
 msgstr ""
 
-#: lib/aps.c:373
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
 msgstr ""
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr ""
 
-#: lib/aps.c:381
+#: lib/aps.c:369
 #, fuzzy
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
@@ -414,7 +406,7 @@ msgstr ""
 "# bu AP'ye bağlan; R yeniden başlatarak yenile; G yeniden başlatmadan "
 "yenile; Q geri dön"
 
-#: lib/aps.c:383
+#: lib/aps.c:371
 #, fuzzy
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
@@ -423,528 +415,589 @@ msgstr ""
 "# bu AP'ye bağlan; R yeniden başlatarak yenile; G yeniden başlatmadan "
 "yenile; Q geri dön"
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, fuzzy, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "Geçersiz gönderim: %s. Bir tuşa basınız."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr ""
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr ""
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr ""
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr ""
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr ""
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr ""
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr ""
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr ""
 
-#: lib/ap_search.c:50
-msgid " #        Type              IP              Name"
-msgstr ""
+#: lib/ap_search.c:48
+#, fuzzy
+msgid "Community name: "
+msgstr "Topluluk"
+
+#: lib/ap_search.c:49
+#, fuzzy
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
+msgstr "NO        IP ADRESİ       TÜR"
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr ""
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 #, fuzzy
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr "Yuvaya yayın seçeneği kurulamıyor. Bir tuşa basınız."
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 #, fuzzy
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr "yuvaya çoğa gönderim üyeliği kurulamıyor. Bir tuşa basınız."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr ""
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr ""
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, fuzzy, c-format
 msgid "  Name: %s"
 msgstr "(N) AP Adı:"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr ""
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
 msgstr ""
 
-#: lib/ap_search.c:327
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
+msgstr ""
+
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "Erişim Noktaları Araştırması"
 
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 #, fuzzy
 msgid "realloc() error."
 msgstr "Soket hatası oluştur"
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr ""
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 #, fuzzy
 msgid "No local network interfaces found. Press any key."
 msgstr "çatal hata. Bir tuşa basınız."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr ""
 
-#: lib/ap_search.c:439
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr ""
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 #, fuzzy
 msgid "# - connect to AP; Q - quit"
 msgstr "AP numarasına bağlan:"
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 #, fuzzy
 msgid "MAC address: "
 msgstr "NUM MAKRO adres"
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 #, fuzzy
 msgid "[S] SNMP traps: "
 msgstr "(S) SNMP Tuzakları: %s"
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 #, fuzzy
 msgid "[C] Frequency channel: "
 msgstr "[C] Sıklık Kanalı: %02u (%u MHz)"
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 #, fuzzy
 msgid "Receive  antenna:"
 msgstr "Alındı:"
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 #, fuzzy
 msgid "[U] Left"
 msgstr "Sol"
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 #, fuzzy
 msgid "[I] Right"
 msgstr "Sağ"
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 #, fuzzy
 msgid "Transmit antenna:"
 msgstr "İletildi:"
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 #, fuzzy
 msgid "[O] Left"
 msgstr "Sol"
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 #, fuzzy
 msgid "[P] Right"
 msgstr "Sağ"
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 #, fuzzy
 msgid "Diversity select:"
 msgstr "Çeşitleme: %s"
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 #, fuzzy
 msgid "[T] Left"
 msgstr "Sol"
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 #, fuzzy
 msgid "[Y] Right"
 msgstr "Sağ"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr ""
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr ""
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr ""
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 #, fuzzy
 msgid "Off"
 msgstr "kapama"
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 #, fuzzy
 msgid "Basic"
 msgstr "temel"
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "devam etmek için bir tuşa basınız"
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr ""
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
 
-#: lib/ap-utils.h:100
+#: lib/ap-utils.h:106
 #, fuzzy
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
 msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+#, fuzzy
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "AP' den veri alınıyor. Lütfen bekleyin."
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "AP' ye veri yazılıyor. Lütfen bekleyin."
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 #, fuzzy
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+#, fuzzy
+msgid "select() function error. Press any key."
+msgstr "fcntl hatası: Bir tuşa basınız."
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "Yuva hatası oluştur.. Bir tuşa basınız."
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "Yuva hatasını bağlayınız. Bir tuşa basınız."
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "Ana menüye geri dön."
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "Programdan çık."
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 #, fuzzy
 msgid "Run subshell. To return type 'exit'."
 msgstr "Alt kabuğu çalıştır. Çıkış tipine geri dönüş için"
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "Program hakkında kısa bilgi"
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "Bağlantılı Erişim Noktalarını bul."
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "Bağlantı seçeneklerini ayarla: ip ve topluluk "
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 #, fuzzy
 msgid "Set encryption; edit WEP keys"
 msgstr "Kriptolamayı ayarla, WEP tuşlarını düzenle."
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 #, fuzzy
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr "Makro yetkiyi ayarla, makro yetki tablosunu düzelt."
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 #, fuzzy
 msgid "Set SNMP community/password for access to the AP"
 msgstr "AP' ye erişim için SNMP topluluk/ şifre ayarını kur. "
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 #, fuzzy
 msgid "Get info about AP hardware and firmware"
 msgstr "AP donanımı ve yazılımı hakkında bilgi al."
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 #, fuzzy
 msgid "Get wireless port statistics"
 msgstr "kablosuz bağlantı noktaları istatistiklerine ulaş."
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 #, fuzzy
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "Geçerli ilişkilendirilmiş istasyonlar listesine ulaş"
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 #, fuzzy
 msgid "Get info and statistics from AP"
 msgstr "AP bilgi ve istatistiklerine ulaş"
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 #, fuzzy
 msgid "Set various configuration options"
 msgstr "Çeşitli yapılandırma seçenekleri kurma "
 
-#: lib/cmd.c:25
-#, fuzzy
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
-msgstr "(Y - Evet; "
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "İlişkili istasyonlar"
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:132
+msgid "Polling: on"
+msgstr ""
+
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr ""
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "varsayılan fabrika yapılandırmasını geri yükle"
 
-#: lib/cmd.c:47
+#: lib/cmd.c:43
 #, fuzzy
-msgid "After restoring factory defaults your current configuration."
+msgid "After restoring factory defaults your current configuration"
 msgstr ""
 "varsayılan fabrika yapılandırmasını geri yükledikten sonra mevcut "
 "yapılandırma kaybolur "
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr ""
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 #, fuzzy
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr ""
 "Varsayılan yapılandırma aktif hale geçti. Devam etmek için bit tuşa basınız"
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "Erşim Noktasını yeniden başlat"
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 #, fuzzy
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr "yeniden başlatma esnasında tüm yüklenmiş yapılandırma kaybolur."
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr "Erişim Noktasını yeniden başlat. Devam etmek için bir tuşa basınız."
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "Yapılandırmayı yükle"
 
-#: lib/cmd.c:149
+#: lib/cmd.c:119
 #, fuzzy
-msgid "You need to upload the configuration only if you've changed"
+msgid "You may need to upload the configuration only if you've"
 msgstr ""
 "yüklenmiş yapılandırmaya ancak bazı seçenekler değiştirilmek istendiğinde "
 "ihtiyaç duyulur"
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr ""
 
-#: lib/cmd.c:153
+#: lib/cmd.c:123
 #, fuzzy
-msgid "of your current configuration."
+msgid "cause loss of your current configuration."
 msgstr "Geçerli yapılandırmaları aktif hale getir."
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 #, fuzzy
 msgid "Configuration uploaded. Press any key to continue."
 msgstr "Tamamlanmış yapılandırmayı yükle. Devam etmek için bir tuşa basınız."
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr ""
-
-#: lib/common.c:31
 #, fuzzy
 msgid "Access Point IP-address: "
 msgstr "Erişim Noktası IP-adresi:"
 
-#: lib/common.c:32
+#: lib/common.c:31
 #, fuzzy
 msgid "Password (community): "
 msgstr "Şifre  ( topluluk):"
 
+#: lib/common.c:32
+msgid "Autodetect AP MIB properties? "
+msgstr ""
+
 #: lib/common.c:33
 #, fuzzy
-msgid "Access Point name: "
-msgstr "Erişim Noktası"
+msgid "AP MIB type: "
+msgstr "AP türü:"
 
 #: lib/common.c:34
-#, fuzzy
-msgid "Do you want to define name for this AP? "
-msgstr "Devam etmek istiyor musunuz?"
+msgid "AP MIB vendor extensions: "
+msgstr ""
 
 #: lib/common.c:35
 #, fuzzy
-msgid "AP type: "
-msgstr "AP türü:"
+msgid "Do you want to use AP's name as its label? "
+msgstr "Devam etmek istiyor musunuz?"
 
 #: lib/common.c:36
 #, fuzzy
+msgid "Access Point label: "
+msgstr "Erişim Noktası"
+
+#: lib/common.c:37
+#, fuzzy
 msgid "Save connect-settings: "
 msgstr "Bağlantı ayarlarını kaydediniz."
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "%s' ten"
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "Sürüm %s"
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "Roman Festchook tarafından yazılmıştır roma@polesye.net"
 
-#: lib/common.c:82
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr ""
+
+#: lib/common.c:109
 #, fuzzy
-msgid "Copyright (c) Roman Festchook 2001-2004"
+msgid "Copyright (c) 2001-2004"
 msgstr "Telif Hakkı (c) Roman Festchoo 2001-2002"
 
-#: lib/common.c:85
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr ""
+
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "Bu program GNU Toplu Kamu Lisansı Sürüm 2"
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "denetiminde dağıtılmaktadır. "
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "Ayrıntılar için mevcuti KOPYALAMA dosyasına bakınız."
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "Seçeneklere bağlan"
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "Erişim Noktanızın IP adresini giriniz."
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr "Girdiğiniz karakterler güvenlik nedeniyle gösterilmeyecektir."
 
-#: lib/common.c:157
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
 msgstr ""
 
-#: lib/common.c:187
+#: lib/common.c:361
 #, fuzzy
-msgid "Determining AP type. Please wait..."
-msgstr "AP' den veri alınıyor. Lütfen bekleyin."
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "AP' ye veri yazılıyor. Lütfen bekleyin."
 
-#: lib/common.c:272
+#: lib/common.c:390
 #, fuzzy
-msgid "Unable to determine AP type (no response). Press any key."
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
 
-#: lib/file.c:194
-#, fuzzy
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
-msgstr "NO        IP ADRESİ       TÜR"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
+msgstr ""
 
-#: lib/file.c:195
+#: lib/file.c:206
 #, fuzzy
 msgid "Choose an AP to connect to"
 msgstr "Bağlanmak için AP'yi seç"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr "1-9,C: bağlan; N: yeni; D: sil; W: kaydet; Q: çıkış; oklar: kaydırma"
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "AP numarasına bağlan:"
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "numarayı sil"
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+
+#: lib/file.c:376
+#, fuzzy
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr "AP' den veri alınamıyor. Devam etmek için bir tuşa basınız."
+
+#: lib/file.c:426
+#, fuzzy
+msgid "Unable to write stations file. Press any key."
+msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr ""
+
+#: lib/input.c:33
 #, fuzzy
 msgid "Invalid value. Press any key to continue."
 msgstr "Geçersiz IP- adresi"
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, fuzzy, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr "AP' ye veri yazılamıyor. Devam etmek için bir tuşa basınız."
 
+#: lib/input.c:412
+#, fuzzy
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(Y - Evet; N - Hayır (Hayır yanıtı daha güvenlidir)"
+
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "Bilinmiyor ya da gizli"
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 #, fuzzy
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr "Tuş -gücü seviyesi; UIOP - anten; W - yapılandırmayı yaz; Q - çıkış"
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 #, fuzzy
 msgid "Antenna:"
 msgstr "(A) Anten: %s"
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 #, fuzzy
 msgid "[L] Left:"
 msgstr "Sol"
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 #, fuzzy
 msgid "[R] Right:"
 msgstr "Sağ"
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "Radyo Yapılandırması"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr ""
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 #, fuzzy
 msgid "Key Channel Level"
 msgstr "tuş kanal seviyesi"
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 #, fuzzy
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
@@ -953,32 +1006,39 @@ msgstr ""
 "İki anten birden geçersiz kılınamaz, anten yapılandırması kaydedilemiyor. "
 "Bir tuşa basınız."
 
-#: lib/scr.c:203
-#, c-format
-msgid "Current AP: %s Type: %s"
+#: lib/scr.c:168
+#, fuzzy, c-format
+msgid "Current AP: %s Type: %s Ext: %s"
 msgstr "Geçerli AP: %s Çeşit: %s"
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "Topluluk/ şifre ayarını yapınız."
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 #, fuzzy
 msgid "Key Access level"
 msgstr "Tuş Erişim Düzeyi"
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "Topluluk/ Şifre"
 
-#: lib/set_community.c:31
-msgid "[U] User"
+#: lib/set_community.c:30
+#, fuzzy
+msgid "[U] User "
 msgstr "(U) Kullanıcı"
 
-#: lib/set_community.c:32
-msgid "[A] Administrator"
+#: lib/set_community.c:31
+#, fuzzy
+msgid "[A] Administrator "
 msgstr "(A) Yönetici"
 
+#: lib/set_community.c:32
+#, fuzzy
+msgid "[M] Manufacturer "
+msgstr "(M) Üretici"
+
 #: lib/set_community.c:33
 #, fuzzy
 msgid ""
@@ -987,303 +1047,284 @@ msgstr ""
 "TUŞ - topluluk/ şifre ayarını yapınız; W - tamamlanmış AP'ye yapılandırma "
 "yapınız."
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "(M) Üretici"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "fcntl hatası: Bir tuşa basınız."
-
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "Eternet İstatistikleri"
 
-#: lib/stat.c:92
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "Kablosuz İstatistikler"
+
+#: lib/stat.c:98
 #, fuzzy
 msgid "EthRxStat packet error. Press any key."
 msgstr "EthRxStat paket hatası. Devam etmek için Q'ya basınız."
 
-#: lib/stat.c:105
+#: lib/stat.c:111
 #, fuzzy
 msgid "EthTxStat packet error. Press any key."
 msgstr "EthTxStat paket hatası. Devam etmek için Q'ya basınız."
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "Alındı:"
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 #, fuzzy
 msgid "Transmitted:"
 msgstr "İletildi:"
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "Kablosuz İstatistikler"
-
-#: lib/stat.c:265
+#: lib/stat.c:270
 #, fuzzy
 msgid "WirelessStat packet error. Press any key."
 msgstr "Kablosuz İstatistik paket hatası. Devam etmek için bir tuşa basınız."
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "Sistem Tanımı:"
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "Sistem Bilgisi"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr ""
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 #, fuzzy
 msgid "Product name:"
 msgstr "Ürün Adı"
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, fuzzy, c-format
 msgid "Product type: %u"
 msgstr "ÜrünTürü: %lu"
 
-#: lib/sysinfo.c:154
-#, fuzzy, c-format
-msgid "Hardware revision: %u"
-msgstr "DonanımDeğişiklikleri: %lu"
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 #, fuzzy
 msgid "OEM name:"
 msgstr "OEMAdı:"
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, fuzzy, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "Düzenleme Alanı: %s"
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC ( Amerika)"
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (Kanada)"
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (Avrupa)"
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "İspanya"
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "Fransa"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK ( Japonya)"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "tanımlanamayan"
+msgid "Hardware revision: %u"
+msgstr "DonanımDeğişiklikleri: %lu"
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, fuzzy, c-format
 msgid "Info structure version: %u"
 msgstr "YapıSürüm: %lu"
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "Üretici OUI: %02X %02X %02X (%s)"
 
-#: lib/sysinfo.c:187
+#: lib/sysinfo.c:196
 #, fuzzy, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
 msgstr "işlem süresi: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "DSSS 2.4 GHz"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "IR Tabanbant"
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "Ticari Aralık 0..40 C"
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "Endüstriyel aralık -30..70 C"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "tanımlanamayan"
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "kılavuz"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "desteklenmiyor"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "dinamik"
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "Üretici:"
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "Üretici ID:"
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "Ürün Adı"
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "Ürün ID:"
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "Ürün Sürümü:"
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "PHYTürü: %s"
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "Sıcaklık: %s"
 
-#: lib/sysinfo.c:362
-#, c-format
-msgid "Regulation Domain: %s"
+#: lib/sysinfo.c:390
+#, fuzzy, c-format
+msgid "Regulatory Domain: %s"
 msgstr "Düzenleme Alanı: %s"
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC ( Amerika)"
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (Kanada)"
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (Avrupa)"
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "İspanya"
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "Fransa"
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK ( Japonya)"
+
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "Geçiş süresi: %u mW"
 
-#: lib/sysinfo.c:401
+#: lib/sysinfo.c:429
 #, fuzzy, c-format
 msgid "WEP implemented: %s"
 msgstr "WEP girildi: %s"
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "Çeşitleme: %s"
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "işlem süresi: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "IP Adresi: %s"
 
-#: lib/test.c:27
+#: lib/test.c:26
 #, fuzzy
 msgid "[T] Test mode: "
 msgstr "[T] Test Kipi: %s"
 
-#: lib/test.c:28
+#: lib/test.c:27
 #, fuzzy
 msgid "[A] Antenna: "
 msgstr "(A) Anten: %s"
 
-#: lib/test.c:29
+#: lib/test.c:28
 #, fuzzy
 msgid "[S] Signal level: "
 msgstr "[S] Sinyal Düzeyi: %03u"
 
-#: lib/test.c:30
+#: lib/test.c:29
 #, fuzzy
 msgid "[R] Rate: "
 msgstr "(R) Rate: %.1f Mbit/s"
 
-#: lib/test.c:31
+#: lib/test.c:30
 #, fuzzy
 msgid "[F] TxFiler: "
 msgstr "(F) TxFiler: %s"
 
-#: lib/test.c:32
+#: lib/test.c:31
 #, fuzzy
 msgid "[O] Command: "
 msgstr "[O] Komut: %s"
 
-#: lib/test.c:33
+#: lib/test.c:32
 #, fuzzy
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr "T - TestKipi Açma/Kapama; CASRFO - seçenekleri kur; Q - menüye dön"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "Sol"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "Sağ"
 
-#: lib/test.c:88
+#: lib/test.c:86
 #, fuzzy
 msgid "Test mode"
 msgstr "Test Kipi"
 
-#: lib/test.c:91
+#: lib/test.c:89
 #, fuzzy
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr "Test kipi kullanımı mevcut yapılandırmada kayıplara yol açabilir."
 
-#: lib/test.c:92
+#: lib/test.c:90
 #, fuzzy
 msgid "configuration."
 msgstr "Yapılandırmayı yükle"
 
-#: lib/test.c:95
-#, fuzzy
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(Y - Evet; N - Hayır (Hayır yanıtı daha güvenlidir.)"
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "Seçenekler:"
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "İstatistikler:"
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "Başarı Profili: 0 Başarısızlık Profili: 0"
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "Başarı Profili: %lu  Başarısızlık Profili: %lu"
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "Kişisel Ayarlar"
+
 #: lib/wep.c:29
 #, fuzzy
 msgid "[E] Standard encryption mechanism: "
@@ -1308,10 +1349,6 @@ msgstr "(P) Kamusal Anahtar: %s"
 msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr "EK1234 - kur; W - yapılandırmayı yaz; Q - menüye geri dön"
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "Kişisel Ayarlar"
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr "WEP tuşu"
@@ -1327,152 +1364,152 @@ msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr ""
 "AEPK1234 - seçenekleri kur; W - yapılandırmayı yaz; Q - menüye geri dön"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr ""
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 #, fuzzy
 msgid "[N] AP name: "
 msgstr "(N) AP Adı:"
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 #, fuzzy
 msgid "[K] AP contact: "
 msgstr "(E) AP Kontağı:          %s"
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 #, fuzzy
 msgid "[L] AP location: "
 msgstr "(L) AP Konumu:           %s"
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 #, fuzzy
 msgid "[R] RTS threshold: "
 msgstr "(R) RTS Eşiği: %d"
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 #, fuzzy
 msgid "[F] Fragmentation threshold: "
 msgstr "(F) Parçalanma Eşiği: %d"
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 #, fuzzy
 msgid "[P] Preambule type: "
 msgstr "(P) Başlangıç türü: %s"
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 #, fuzzy
 msgid "[A] Auth type: "
 msgstr "(A) Yetki Türü: %s"
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 #, fuzzy
 msgid "Open system"
 msgstr "Açık Sistem"
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 #, fuzzy
 msgid "Shared key"
 msgstr "Paylaşılan Tuş"
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 #, fuzzy
 msgid "Both types"
 msgstr "Her İki Tür"
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 #, fuzzy
 msgid "[U] Auto rate fallback: "
 msgstr "(U) son çare otomatik hız: %s"
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 #, fuzzy
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "(S) ESSID'i yayın paketine ekle: %s"
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 #, fuzzy
 msgid "Basic and Supported rates:"
 msgstr "Temel ve Destekli Hız:"
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "Tuş Hızı Durumu"
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 #, fuzzy
 msgid "[I] International roaming: "
 msgstr "(O) İşlemsel Kip: %s"
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr ""
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr ""
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
 msgstr ""
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr "(tuş) - seçenek kur; W - yapılandırmayı yaz; Q - menüye geri dön"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "Kısa"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "Uzun"
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "Kablosuz Ayarlar"
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "Anten Yapılandırması"
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "Genel Seçenekler"
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr ""
 "UIOPTY - anten; SCANLEDFR1234 - seçenekler; W - yapılandırmayı yaz; Q - "
 "menüye geri dön"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "Genel"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "Genel seçenekleri kurunuz"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "Gelişmiş"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "Gelişmiş seçenekleri kurunuz"
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "AP'yi sıfırla"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "Son haberler"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "son gelişmeler hakkında bilgi edinin."
 
@@ -1625,105 +1662,125 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "Aracı:v%d %s (%s@%s:%d) %s%s%s. SistemİşlemSüresi %d:%02d:%02d.%02d"
 
-#: src/auth_mac.c:34
+#: src/auth_mac.c:33
 #, fuzzy
 msgid "NUM     MAC address"
 msgstr "NUM MAKRO adres"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr ""
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr ""
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr ""
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 #, fuzzy
 msgid "Both"
 msgstr "Her İki Tür"
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] DB İstasyonu Zaman Aşımı %d"
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "(A) ACK Penceresi: %d"
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "Gelişmiş Seçenekler"
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr "DA -seçenekler; W - yapılandırmayı yaz; Q - menüye geri dön"
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "Neden: %u İstasyonu: %02X%02X%02X%02X%02X%02X"
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "Son Gelişmeler"
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "İlişkilendirilmemiş:"
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "Doğrulanmamış:"
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 #, fuzzy
 msgid "Authenticate Fail:"
 msgstr "Doğrulanmış Hata:"
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "Son hata:"
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "Hata"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr ""
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
 msgstr ""
 
-#: src/stations.c:34
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
 msgstr ""
 
-#: src/stations.c:187
+#: src/stations.c:195 src/stations.c:367
 #, fuzzy
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
 msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
 
-#: src/stations.c:190
+#: src/stations.c:200
 #, fuzzy
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr "Oklar - kaydırma; S - dosyaya kaydet; Q - menüye geri dön"
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "İlişkili istasyonlar"
-
-#: src/stations.c:277
+#: src/stations.c:279
 #, fuzzy
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "Id       MAC adresi       Kalite Yükseltme RSSI"
 
+#~ msgid "Associated Stations"
+#~ msgstr "İlişkili istasyonlar"
+
+#, fuzzy
+#~ msgid ""
+#~ "(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
+#~ msgstr "(Y - Evet; "
+
+#, fuzzy
+#~ msgid "Determining AP type. Please wait..."
+#~ msgstr "AP' den veri alınıyor. Lütfen bekleyin."
+
+#, fuzzy
+#~ msgid "Regulation domain: %s [%d]"
+#~ msgstr "Düzenleme Alanı: %s"
+
+#, fuzzy
+#~ msgid "(Y - Yes; N - No (it's safer to answer No.)"
+#~ msgstr "(Y - Evet; N - Hayır (Hayır yanıtı daha güvenlidir.)"
+
 #~ msgid "Unable to get data from AP. Press Q to continue."
 #~ msgstr "AP'den veri alınamıyor. Devam etmek için Q'ya basınız."
 
diff --git a/po/uk.gmo b/po/uk.gmo
deleted file mode 100644 (file)
index 6057f73..0000000
Binary files a/po/uk.gmo and /dev/null differ
index 497e763daa991a05eab4ce6b97e7730e20cd0202..3f5c69578c592dde83ca5e3bb79766f9e398c8e0 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: ap-utils 1.4.1\n"
-"POT-Creation-Date: 2004-11-14 22:46+0200\n"
+"POT-Creation-Date: 2004-11-28 00:59+0200\n"
 "PO-Revision-Date: 2004-02-27 00:44+0200\n"
 "Last-Translator: Roman Festchook <roma@polesye.net>\n"
 "Language-Team: UK <roma@polesye.net>\n"
@@ -15,1188 +15,1210 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Report-Msgid-Bugs-To: \n"
 
-#: ap-gl/ap-gl.c:47 ap-gl/bridge.c:179 src/ap-config.c:50 src/bridge.c:184
+#: ap-gl/ap-gl.c:41 ap-gl/bridge.c:178 src/ap-config.c:41 src/bridge.c:182
 msgid "Bridging"
 msgstr "íÏÓÔ"
 
-#: ap-gl/ap-gl.c:47 src/ap-config.c:50
+#: ap-gl/ap-gl.c:41 src/ap-config.c:41
 msgid "Set bridging and IP-related options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÏÐ槠ÍÏÓÔÁ ÔÁ ¶ò ÐÒÏÔÏËÏÌÕ"
 
-#: ap-gl/ap-gl.c:49 ap-gl/ap-gl.c:85 ap-gl/bridge.c:133 src/ap-config.c:52
-#: src/ap-config.c:120 src/ap-config.c:129 src/bridge.c:120 src/bridge.c:124
+#: ap-gl/ap-gl.c:43 ap-gl/ap-gl.c:81 ap-gl/bridge.c:132 src/ap-config.c:43
+#: src/ap-config.c:112 src/ap-config.c:120 src/bridge.c:117 src/bridge.c:121
 msgid "Wireless"
 msgstr "òÁĦÏ"
 
-#: ap-gl/ap-gl.c:49 src/ap-config.c:52
+#: ap-gl/ap-gl.c:43 src/ap-config.c:43
 msgid "Set wireless options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
 
-#: ap-gl/ap-gl.c:50 src/ap-config.c:53 src/ap-config.c:65
+#: ap-gl/ap-gl.c:44 src/ap-config.c:44 src/ap-config.c:56
 msgid "Privacy"
 msgstr "ûÉÆÒÕ×ÁÎÎÑ"
 
-#: ap-gl/ap-gl.c:51 src/ap-config.c:54 src/ap-config.c:66
+#: ap-gl/ap-gl.c:45 src/ap-config.c:45 src/ap-config.c:57
 msgid "MAC auth"
 msgstr "íáó ÄÏÓÔÕÐ"
 
-#: ap-gl/ap-gl.c:52 src/ap-config.c:55 src/ap-config.c:67
+#: ap-gl/ap-gl.c:46 src/ap-config.c:46 src/ap-config.c:58
 msgid "Community"
 msgstr "ëÏÍ'ÀΦԦ"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Radio"
 msgstr "ðÅÒÅÄÁ×ÁÞ"
 
-#: ap-gl/ap-gl.c:53 src/ap-config.c:56
+#: ap-gl/ap-gl.c:47 src/ap-config.c:47
 msgid "Set radio signal power and antenna options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÏÔÕÖΦÓÔØ ÐÅÒÅÄÁ×ÁÞÁ ÔÁ ÁÎÔÅÎÉ"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
 msgid "Upload"
 msgstr "úÁ×ÁÎÔÁÖÉÔÉ"
 
-#: ap-gl/ap-gl.c:66 src/ap-config.c:87
-msgid "Make current configuration active"
-msgstr "úÒÏÂÉÔÉ ÐÏÔÏÞÎÕ ËÏÎƦÇÕÒÁæÀ ÁËÔÉ×ÎÏÀ"
+#: ap-gl/ap-gl.c:62 src/ap-config.c:80
+msgid "Activate current configuration"
+msgstr "áËÔÉצÚÕ×ÁÔÉ ÐÏÔÏÞÎÕ ËÏÎƦÇÕÒÁæÀ"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Defaults"
 msgstr "æÁÂÒ¦ÞΦ"
 
-#: ap-gl/ap-gl.c:67 src/ap-config.c:88
+#: ap-gl/ap-gl.c:63 src/ap-config.c:81
 msgid "Restore factory default settings"
 msgstr "÷¦ÄÎÏ×ÉÔÉ ÆÁÂÒ¦ÞΦ ÎÁÓÔÒÏÊËÉ."
 
-#: ap-gl/ap-gl.c:69 src/ap-config.c:89 src/ap-config.c:97
+#: ap-gl/ap-gl.c:64 src/ap-config.c:82 src/ap-config.c:89
 msgid "Reset"
 msgstr "òÅÓÔÁÒÔ"
 
-#: ap-gl/ap-gl.c:70 src/ap-config.c:90
+#: ap-gl/ap-gl.c:65 src/ap-config.c:83
 msgid "Reset AP. All not uploaded configuration will be lost"
 msgstr "ðÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ áò. îÅÁËÔÉצÚÏ×ÁΦ ÚͦÎÉ Õ ËÏÎƦÇÕÒÁ槠ÂÕÄÁ ×ÔÒÁÞÅÎÏ."
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "TestMode"
 msgstr "ôÅÓÔ"
 
-#: ap-gl/ap-gl.c:72 src/ap-config.c:92
+#: ap-gl/ap-gl.c:66 src/ap-config.c:84
 msgid "Put Access Point in test mode"
 msgstr "ðÏÓÔÁ×ÉÔÉ áò Õ ÔÅÓÔÏ×ÉÊ ÒÅÖÉÍ"
 
-#: ap-gl/ap-gl.c:83 src/ap-config.c:118 src/ap-config.c:128
+#: ap-gl/ap-gl.c:79 src/ap-config.c:110 src/ap-config.c:119
 msgid "SysInfo"
 msgstr "óÉÓÔÅÍÁ"
 
-#: ap-gl/ap-gl.c:84 ap-gl/bridge.c:132 src/ap-config.c:119 src/bridge.c:119
-#: src/bridge.c:123
+#: ap-gl/ap-gl.c:80 ap-gl/bridge.c:131 src/ap-config.c:111 src/bridge.c:116
+#: src/bridge.c:120
 msgid "Ethernet"
 msgstr "åÚÅÒÎÅÔ"
 
-#: ap-gl/ap-gl.c:84 src/ap-config.c:119
+#: ap-gl/ap-gl.c:80 src/ap-config.c:111
 msgid "Get ethernet port statistics"
 msgstr "ïÔÒÉÍÁÔÉ ÓÔÁÔÉÓÔÉËÕ ÅÚÅÒÎÅÔ ÐÏÒÔÕ"
 
-#: ap-gl/ap-gl.c:86 src/ap-config.c:121 src/ap-config.c:130
+#: ap-gl/ap-gl.c:82 src/ap-config.c:113 src/ap-config.c:121
 msgid "Stations"
 msgstr "óÔÁÎæ§"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "KnownAPs"
 msgstr "÷¦ÄÏͦôÏÞËÉ"
 
-#: ap-gl/ap-gl.c:88 src/ap-config.c:123
+#: ap-gl/ap-gl.c:83 src/ap-config.c:114
 msgid "Get info about known Access Points"
 msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁÃÉÀ ÐÒϠצÄÏͦ ôÏÞËÉ äÏÓÔÕÐÕ"
 
-#: ap-gl/ap-gl.c:105 src/ap-config.c:156
+#: ap-gl/ap-gl.c:100 src/ap-config.c:147
 msgid "Info"
 msgstr "¶ÎÆÏÒÍÁæÑ"
 
-#: ap-gl/ap-gl.c:106 src/ap-config.c:157
+#: ap-gl/ap-gl.c:101 src/ap-config.c:148
 msgid "Config"
 msgstr "õÓÔÁÎÏ×ËÉ"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Commands"
 msgstr "ëÏÍÁÎÄÉ"
 
-#: ap-gl/ap-gl.c:107 src/ap-config.c:158
+#: ap-gl/ap-gl.c:102 src/ap-config.c:149
 msgid "Execute commands on Access Point"
 msgstr "÷ÉËÏÎÁÔÉ ËÏÍÁÎÄÉ ÎÁ áò"
 
-#: ap-gl/ap-gl.c:109 src/ap-config.c:160
+#: ap-gl/ap-gl.c:104 src/ap-config.c:151
 msgid "Connect"
 msgstr "ú'¤ÄÎÁÎÎÑ"
 
-#: ap-gl/ap-gl.c:110 src/ap-config.c:161
+#: ap-gl/ap-gl.c:105 src/ap-config.c:152
 msgid "Search"
 msgstr "ðÏÛÕË"
 
-#: ap-gl/ap-gl.c:111 lib/common.c:58 src/ap-config.c:162
+#: ap-gl/ap-gl.c:106 lib/common.c:83 src/ap-config.c:153
 msgid "About"
 msgstr "ðÒÏÇÒÁÍÁ"
 
-#: ap-gl/ap-gl.c:112 src/ap-config.c:163
+#: ap-gl/ap-gl.c:107 src/ap-config.c:154
 msgid "Shell"
 msgstr "ïÂÏÌÏÎËÁ"
 
-#: ap-gl/ap-gl.c:113 src/ap-config.c:164
+#: ap-gl/ap-gl.c:108 src/ap-config.c:155
 msgid "Exit"
 msgstr "÷ÉȦÄ"
 
-#: ap-gl/ap-gl.c:162 src/ap-config.c:212
+#: ap-gl/ap-gl.c:158 src/ap-config.c:204
 #, c-format
 msgid "Wireless Access Point Configurator ver. %s"
 msgstr "ëÏÎƦÇÕÒÁÔÏÒ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÒÁĦÏÍÅÒÅÖ¦ ×ÅÒ. %s"
 
-#: ap-gl/auth_mac.c:28 src/auth_mac.c:28
+#: ap-gl/auth_mac.c:27 src/auth_mac.c:27
 msgid "AuthorizedMacTableString packet error"
 msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AuthorizedMacTableString"
 
-#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
+#: ap-gl/auth_mac.c:29 src/auth_mac.c:29
 msgid "[A] MAC authorization: "
 msgstr "[A] Máó Á×ÔÏÒÉÚÁæÑ: "
 
-#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
+#: ap-gl/auth_mac.c:30 src/auth_mac.c:30
 msgid "Enter MAC: "
 msgstr "÷×ÅĦÔØ íáó:"
 
-#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
+#: ap-gl/auth_mac.c:31 src/auth_mac.c:31
 msgid "Delete Num: "
 msgstr "÷ÉÄÁÌÉÔÉ ÎÏÍÅÒ:"
 
-#: ap-gl/auth_mac.c:33 src/auth_mac.c:33
+#: ap-gl/auth_mac.c:32 src/auth_mac.c:32
 msgid "Authorized MAC addresses"
 msgstr "á×ÔÏÒÉÚÏ×ÁΦ íáó ÁÄÒÅÓÉ"
 
-#: ap-gl/auth_mac.c:34
+#: ap-gl/auth_mac.c:33
 msgid "NUM       MAC address"
 msgstr "#         íáó ÁÄÒÅÓÁ"
 
-#: ap-gl/auth_mac.c:35 src/auth_mac.c:35
+#: ap-gl/auth_mac.c:34 src/auth_mac.c:34
 msgid "A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit"
 msgstr ""
 "A Á×ÔÏÒÉÚÁæÑ; N ÎÏ×Á; D ×ÉÄÁÌÉÔÉ; ÓÔÒ¦ÌËÉ ÐÅÒÅÇÌÑÄ; W ÚÁÐÉÓÁÔÉ; Q ×ÉÊÔÉ"
 
-#: ap-gl/auth_mac.c:36
+#: ap-gl/auth_mac.c:35
 msgid "A - auth; IPSTF - set; W - write conf; Q - quit"
 msgstr "A - a×ÔÏÒÉÚÁæÑ; IPSTF - ×ÓÔÁÎÏ×ÉÔÉ;W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: ap-gl/auth_mac.c:37
+#: ap-gl/auth_mac.c:36
 msgid "A - auth; W - write conf; Q - quit"
 msgstr "A - a×ÔÏÒÉÚÁæÑ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: ap-gl/auth_mac.c:39
+#: ap-gl/auth_mac.c:38
 msgid "[I] RADIUS SERVER IP: "
 msgstr "[I] ¶ò ÁÄÒÅÓÁ RADIUS ÓÅÒ×ÅÒÁ: "
 
-#: ap-gl/auth_mac.c:40
+#: ap-gl/auth_mac.c:39
 msgid "[P] RADIUS SERVER PORT: "
 msgstr "[P] ðÏÒÔ RADIUS ÓÅÒ×ÅÒÁ: "
 
-#: ap-gl/auth_mac.c:41
+#: ap-gl/auth_mac.c:40
 msgid "[S] RADIUS SERVER SECRET: "
 msgstr "[S] ðÁÒÏÌØ RADIUS ÓÅÒ×ÅÒÁ: "
 
-#: ap-gl/auth_mac.c:42
+#: ap-gl/auth_mac.c:41
 msgid "[T] REAUTHORIZATION TIME: "
 msgstr "[T] þÁÓ ÐÅÒÅÁ×ÔÏÒÉÚÁæ§: "
 
-#: ap-gl/auth_mac.c:43
+#: ap-gl/auth_mac.c:42
 msgid "[F] RADIUS SOURCE PORT: "
 msgstr "[F] ÷ÉȦÄÎÉÊ ÐÏÒÔ RADIUS ÐÁËÅÔ¦×: "
 
-#: ap-gl/auth_mac.c:88
+#: ap-gl/auth_mac.c:87
 msgid "Internal"
 msgstr "÷ÎÕÔÒ¦ÛÎÑ ÔÁÂÌÉÃÑ"
 
-#: ap-gl/auth_mac.c:96
+#: ap-gl/auth_mac.c:95
 msgid "<hidden>"
 msgstr "<ÐÒÉÈÏ×ÁÎÏ>"
 
-#: ap-gl/bridge.c:27 src/bridge.c:27
+#: ap-gl/bridge.c:26 src/bridge.c:26
 msgid "[I] IP: "
 msgstr "[I] ¶ò: "
 
-#: ap-gl/bridge.c:28 src/bridge.c:28
+#: ap-gl/bridge.c:27 src/bridge.c:27
 msgid "[N] Netmask: "
 msgstr "[N] íÁÓËÁ: "
 
-#: ap-gl/bridge.c:29 src/bridge.c:29
+#: ap-gl/bridge.c:28 src/bridge.c:28
 msgid "[G] Gateway: "
 msgstr "[G] ûÌÀÚ: "
 
-#: ap-gl/bridge.c:30 src/bridge.c:30
+#: ap-gl/bridge.c:29 src/bridge.c:29
 msgid "[F] Filter non-IP traffic: "
 msgstr "[F] æ¦ÌØÔÒÕ×ÁÔÉ ÎÅ-¶ò ÔÒÁƦË: "
 
-#: ap-gl/bridge.c:31 src/bridge.c:31
+#: ap-gl/bridge.c:30 src/bridge.c:30
 msgid "[P] Primary port: "
 msgstr "[P] çÏÌÏ×ΦʠÐÏÒÔ: "
 
-#: ap-gl/bridge.c:32 src/bridge.c:32
+#: ap-gl/bridge.c:31 src/bridge.c:31
 msgid "Attached station MAC: "
 msgstr "ð¦Ä'¤ÄÎÁÎÁ ÓÔÁÎæÑ: "
 
-#: ap-gl/bridge.c:33 src/bridge.c:33
+#: ap-gl/bridge.c:32 src/bridge.c:32
 msgid "[D] DHCP client: "
 msgstr "[D] DHCP Ë̦¤ÎÔ: "
 
-#: ap-gl/bridge.c:34 src/bridge.c:34
+#: ap-gl/bridge.c:33 src/bridge.c:33
 msgid "[O] Operational mode: "
 msgstr "[O] òÅÖÉÍ ÒÏÂÏÔÉ: "
 
-#: ap-gl/bridge.c:35 src/bridge.c:35
+#: ap-gl/bridge.c:34 src/bridge.c:34
 msgid "[M] Preferred BSSID (remote MAC addr.): "
 msgstr "[M] ÷¦ÄÄÁÌÅÎÉÊ Máó: "
 
-#: ap-gl/bridge.c:37 src/bridge.c:37
+#: ap-gl/bridge.c:36 src/bridge.c:36
 msgid "[T] Trap-sending port(s): "
 msgstr "[T] ðÏÒԠצÄÐÒÁ×ËÉ ÔÒÁЦ×: "
 
-#: ap-gl/bridge.c:38 src/bridge.c:38
+#: ap-gl/bridge.c:37 src/bridge.c:37
 msgid "[R] Forward broadcast traffic: "
 msgstr "[R] ðÅÒÅÄÁÞÁ ÂÒÏÁÄËÁÓÔÏ×ÉÈ ÐÁËÕÎ˦×: "
 
-#: ap-gl/bridge.c:40
+#: ap-gl/bridge.c:39
 msgid "[U] Isolate wireless clients: "
 msgstr "[U] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎÔ¦×: "
 
-#: ap-gl/bridge.c:41 src/bridge.c:41
+#: ap-gl/bridge.c:40 src/bridge.c:40
 msgid "INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu"
 msgstr "INGFPDOMSCTRBU - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: ap-gl/bridge.c:125 src/bridge.c:112
+#: ap-gl/bridge.c:124 src/bridge.c:109
 msgid "Wireless Bridge Point to MultiPoint"
 msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÂÁÇÁÔÏÔÏÞËÁ"
 
-#: ap-gl/bridge.c:126 src/bridge.c:113
+#: ap-gl/bridge.c:125 src/bridge.c:110
 msgid "Access Point"
 msgstr "âÁÚÏ×Á ÓÔÁÎæÑ"
 
-#: ap-gl/bridge.c:127 src/bridge.c:114
+#: ap-gl/bridge.c:126 src/bridge.c:111
 msgid "Access Point client"
 msgstr "ë̦¤ÎÔÓØËÁ ÓÔÁÎæÑ"
 
-#: ap-gl/bridge.c:128 src/bridge.c:115
+#: ap-gl/bridge.c:127 src/bridge.c:112
 msgid "Wireless Bridge Point to Point"
 msgstr "òÁĦÏÍÏÓÔ ÔÏÞËÁ-ÔÏÞËÁ"
 
-#: ap-gl/bridge.c:129 src/bridge.c:116
+#: ap-gl/bridge.c:128 src/bridge.c:113
 msgid "Repeater"
 msgstr "ðÏ×ÔÏÒÀ×ÁÞ"
 
-#: ap-gl/stations.c:31 src/stations.c:29
-msgid "Associated Stations"
-msgstr "áÓÏæÊÏ×ÁΦ ÓÔÁÎæ§"
-
-#: ap-gl/stations.c:80 src/stations.c:96
-#, fuzzy
+#: ap-gl/stations.c:77 src/stations.c:100
 msgid "AP is currently in AP Client Mode => no associated STAtions."
-msgstr "îÅÍÁ¤ Ð¦Ä'¤ÄÎÁÎÉÈ ÓÔÁÎæʠ- ôÏÞËÁ äÏÓÔÕÐÕ Õ ÒÅÖÉͦ Ë̦¤ÎÔÁ"
+msgstr "ôÏÞËÁ äÏÓÔÕÐÕ Õ ÒÅÖÉͦ Ë̦¤ÎÔÁ => ÎÅÍÁ¤ Ð¦Ä'¤ÄÎÁÎÉÈ ÓÔÁÎæÊ"
 
-#: ap-gl/stations.c:105
-#, fuzzy
+#: ap-gl/stations.c:102
 msgid "#     MAC       LQ    RSSI   Status Port IP"
-msgstr "#  MAC          LQ    RSSI   óÔÁÔ   ðÏÒÔ IP"
+msgstr "#     MAC       LQ    RSSI   óÔÁÔ   ðÏÒÔ IP"
 
-#: ap-gl/stations.c:131 src/stations.c:155
+#: ap-gl/stations.c:128 src/stations.c:159
 msgid "AssociatedSTAsInfo packet error"
 msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ AssociatedSTAsInfo."
 
-#: ap-gl/stations.c:160 src/stations.c:364
+#: ap-gl/stations.c:160
 msgid "Arrows - scroll; S - save to file; Q - quit to menu."
 msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
 
-#: lib/aps.c:128
+#: lib/aps.c:29
+msgid "Known Access Points"
+msgstr "÷¦ÄÏͦ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
+
+#: lib/aps.c:129
 msgid "Your Access Point is not in \"AP client\" mode => getting"
 msgstr "÷ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÎÅ Õ ÒÅÖÉͦ ë̦¤ÎÔÁ, ÏÔÒÉÍÁÎÎÑ ÄÁÎÎÉÈ"
 
-#: lib/aps.c:131
+#: lib/aps.c:132
 msgid "up-to-date \"Known APs\" info requires your AP to be"
 msgstr "ÐÒϠצÄÏͦ ÔÏÞËÉ ÄÏÓÔÕÐÕ ×ÉÍÁÇÁ¤ ÔÉÍÞÁÓÏ×ÏÇÏ ËÏÎƦÇÕÒÕ×ÁÎÎÑ"
 
-#: lib/aps.c:134
+#: lib/aps.c:135
 msgid "temporarily configured into \"AP client\" mode and rebooted."
 msgstr "Õ ÒÅÖÉÍ ë̦¤ÎÔÁ ÔÁ ÐÅÒÅÚÁ×ÁÎÔÁÖÅÎÎÑ."
 
-#: lib/aps.c:137
+#: lib/aps.c:138
 msgid "Your AP will be reconfigured back to original mode by this"
 msgstr "÷ÁÛÕ ÔÏÞËÕ ÄÏÓÔÕÐÕ ÂÕÄÅ ÐÏ×ÅÒÎÅÎÏ ÄÏ ÐÏÞÁÔËÏ×ÏÇÏ ÓÔÁÎÕ ËÏÌÉ"
 
-#: lib/aps.c:140
+#: lib/aps.c:141
 msgid "utility once you quit the \"KnownAP\" view. This, in turn, may"
 msgstr "÷É ×ÉÊÄÅÔÅ Ú ÒÅÖÉÍÕ \"÷¦ÄÏͦôÏÞËÉ\". ¶ÎËÏÌÉ, ÃÅ ÍÏÖÅ ÓÐÒÉÞÉÎÉÔÉ"
 
-#: lib/aps.c:143
+#: lib/aps.c:144
 msgid "cause loss of Access Point's current configuration."
 msgstr "×ÔÒÁÔÕ ÐÏÔÏÞÎϧ ËÏÎƦÇÕÒÁ槠÷ÁÛϧ ôÏÞËÉ äÏÓÔÕÐÕ"
 
-#: lib/aps.c:147
+#: lib/aps.c:148
 msgid "Do NOT answer \"Yes\" if you're connected to the Access Point"
 msgstr "îŠצÄÐÏצÄÁÊÔÅ ôÁË ÑËÝÏ ÷ɠЦÄ'¤ÄÎÁΦ ÄÏ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
 
-#: lib/aps.c:150
+#: lib/aps.c:151
 msgid "via its wireless port."
 msgstr "ÞÅÒÅÚ §§ ÒÁĦÏÐÏÒÔ."
 
-#: lib/aps.c:152 lib/cmd.c:49 lib/cmd.c:92 lib/test.c:93
+#: lib/aps.c:153 lib/cmd.c:45 lib/cmd.c:75 lib/test.c:91
 msgid "Do you want to continue? "
 msgstr "âÁÖÁ¤ÔÅ ÐÒÏÄÏ×ÖÉÔÉ? "
 
-#: lib/aps.c:154
-msgid "(Y - Yes; N - No (it's safer to answer No)"
-msgstr "(Y - ÔÁË; N - Î¦ (ÂÅÚÐÅÞΦÛŠצÄÐÏצÓÔɠΦ)"
-
-#: lib/aps.c:202
-msgid "Known Access Points"
-msgstr "÷¦ÄÏͦ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
-
-#: lib/aps.c:219
+#: lib/aps.c:207
 msgid "NetworkType"
 msgstr "ôÉРÍÅÒÅÖ¦"
 
-#: lib/aps.c:295
+#: lib/aps.c:283
 msgid "Infrastructure"
 msgstr "¶ÎÆÒÁÓÔÒÕËÔÕÒÁ"
 
-#: lib/aps.c:355 lib/aps.c:363 lib/aps.c:371
+#: lib/aps.c:343 lib/aps.c:351 lib/aps.c:359
 msgid "CN: Channel Name; P: Preambule Type (S: Short; L: Long);"
 msgstr "CN: ëÁÎÁÌ; P: ôÉРÐÒÅÁÍÂÕÌÉ (S: ëÏÒÏÔËÁ; L: äÏ×ÇÁ)"
 
-#: lib/aps.c:357
-#, fuzzy
+#: lib/aps.c:345
 msgid "RSSI: Radio Signal Strength Indicator [%]"
-msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [%];"
+msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [%]"
 
-#: lib/aps.c:359 lib/aps.c:367
-#, fuzzy
+#: lib/aps.c:347 lib/aps.c:355
 msgid "; LQ: Link Quality [%]"
-msgstr "LQ: ñ˦ÓÔØ Ú'¤ÄÎÁÎÎÑ [%]"
+msgstr "LQ: ñ˦ÓÔØ Ú'¤ÄÎÁÎÎÑ [%]"
 
-#: lib/aps.c:365
-#, fuzzy
+#: lib/aps.c:353
 msgid "RSSI: Radio Signal Strength Indicator [dBm]"
-msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [dBm];"
+msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [dBm]"
 
-#: lib/aps.c:373
-#, fuzzy
+#: lib/aps.c:361
 msgid "RSSI: Radio Signal Strength Indicator [raw]"
-msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [ÎÅÏÂÒÏÂÌÅÎÅ];"
+msgstr "RSSI: ¶ÎÄÉËÁÔÏÒ ÐÏÔÕÖÎÏÓÔ¦ ÓÉÇÎÁÌÕ [ÎÅÏÂÒÏÂÌÅÎÅ]"
 
-#: lib/aps.c:375
+#: lib/aps.c:363
 msgid "; LQ: Link Q. [raw]"
 msgstr "; LQ: ñ˦ÓÔؠ̦ÎËÕ [ÎÅÏÂÒÏÂÌÅÎÅ]"
 
-#: lib/aps.c:381
-#, fuzzy
+#: lib/aps.c:369
 msgid ""
 "# con. to AP #; R refresh with reset; T toggle; Q quit; Other = refr. w/o "
 "reset"
 msgstr ""
 "# ÐÒɤÄÎÁÔÉÓÑ ÄÏ áò; R ÐÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ; S ÐÏÎÏ×ÉÔÉ; T ÐÅÒÅÍËÎÕÔÉ; Q ×ÉÊÔÉ"
 
-#: lib/aps.c:383
-#, fuzzy
+#: lib/aps.c:371
 msgid ""
 "# con. to AP #; R initiate AP scan; T toggle view; Q quit; Other = refresh "
 "view"
 msgstr ""
 "# ÐÒɤÄÎÁÔÉÓÑ ÄÏ áò; R ÚÁÐÕÓÔÉÔÉ ÐÏÛÕË; S ÐÏÎÏ×ÉÔÉ; T ÐÅÒÅÍËÎÕÔÉ; Q ×ÉÊÔÉ"
 
-#: lib/aps.c:512 lib/ap_search.c:164
+#: lib/aps.c:500 lib/ap_search.c:167
 #, c-format
 msgid "Failure in sendto(): %s. Press any key."
 msgstr "îÅ×iÒÎÉÊ sendto: %s. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/aps.c:521
+#: lib/aps.c:509
 msgid "You have just initiated the AP scan. Be advised that it may"
 msgstr "÷É ÚÁÐÕÓÔÉÌÉ ÓËÁÎÕ×ÁÎÎÑ ÄÌÑ ÐÏÛÕËÕ ÔÏÞÏË ÄÏÓÔÕÐÕ. ãÅ ÍÏÖÅ"
 
-#: lib/aps.c:524
+#: lib/aps.c:512
 msgid "take a few seconds for your Access Point to find out some"
 msgstr "ÚÁÊÎÑÔÉ ÄÅ˦ÌØËÁ ÓÅËÕÎÄ ÄÏËÉ ×ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÚÎÁÊÄÅ"
 
-#: lib/aps.c:527
+#: lib/aps.c:515
 msgid "values, so expect finishing the scan in about 5 seconds."
 msgstr ""
 "ÎÅÏÂȦÄΦ ÄÁÎΦ, ÔÏÖ ÒÁÚÒÁÈÏ×ÕÊÔÅ ÎÁ ÚÁ×ÅÒÛÅÎΦ ÓËÁÎÕ×ÁÎÎÑ ÚÁ 5 ÓÅËÕÎÄ."
 
-#: lib/aps.c:530
+#: lib/aps.c:518
 msgid "Also note that your Access Point stops forwarding the network"
 msgstr "ôÁËÖ ÚÁÕ×ÁÖÔÅ, ÝÏ ÷ÁÛÁ ÔÏÞËÁ ÄÏÓÔÕÐÕ ÐÒÉÐÉÎѤ ÐÅÒÅÄÁ×ÁÔÉ"
 
-#: lib/aps.c:533
+#: lib/aps.c:521
 msgid "traffic while the scan is in progress, but restores itself"
 msgstr "ÍÅÒÅÖÅ×ÉÊ ÔÒÁƦˠÐÒÉ ÓËÁÎÕ×ÁÎΦ, ÔÁ ×¦ÄÎÏ×ÌÀ¤ ÓÅÂÅ Õ ÎÏÒÍÁÌØÎÉÊ"
 
-#: lib/aps.c:536
+#: lib/aps.c:524
 msgid "to normal operation in time ranging up to 1 minute."
 msgstr "ÒÅÖÉÍ ÒÁÂÏÔÉ ÐÒÉÂÌÉÚÎÏ ÚÁ È×ÉÌÉÎÕ."
 
-#: lib/aps.c:539
+#: lib/aps.c:527
 msgid "Hence, if you are connected to target Access Point via its"
 msgstr "ôÁËÏÖ, ÑËÝÏ ÷ɠЦÄ'¤ÄÎÁΦ ÄϠæÏÌØÏ×ϧ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÞÅÒÅÚ §§"
 
-#: lib/aps.c:542
+#: lib/aps.c:530
 msgid "wireless port, you need to wait a bit longer"
 msgstr "ÒÁĦϠÐÏÒÔ, ÔÏ ÷ÁÍ ÐÏÔÒ¦ÂÎÏ ÚÁÖÄÁÔÉ ÔÒÏÈÉ ÄÏ×ÛÅ "
 
-#: lib/aps.c:545
+#: lib/aps.c:533
 msgid "after pressing 'S'."
 msgstr "ЦÓÌÑ ÎÁÔÉÓËÁÎÎÑ 'S'."
 
-#: lib/ap_search.c:50
-#, fuzzy
-msgid " #        Type              IP              Name"
-msgstr "#       ôÉР              IP          ïÐÉÓ"
+#: lib/ap_search.c:48
+msgid "Community name: "
+msgstr "ëÏÍ'ÀΦԦ: "
 
-#: lib/ap_search.c:99
+#: lib/ap_search.c:49
+msgid "  NUM  IP ADDRESS       MIB TYPE    NAME"
+msgstr "    #  IP áäòåóá        ôéð         ¶í'ñ"
+
+#: lib/ap_search.c:100
 msgid "Please wait while scanning, or press 'Q' to quit."
 msgstr "úÁÞÅËÁÊÔÅ ÐÏËÉ ÊÄÅ ÐÏÛÕË ÁÂÏ ÎÁÔÉÓΦÔØ 'Q' ÄÌÑ ×ÉÈÏÄÕ. "
 
-#: lib/ap_search.c:115
+#: lib/ap_search.c:116
 msgid "Can't set broadcast option on socket. Press any key."
 msgstr ""
 "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ ÂÒÏÁÄËÁÓÔÏ×ÉÊ ÓÏËÅÔ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap_search.c:124
+#: lib/ap_search.c:125
 msgid "Can't set multicast membership on socket. Press any key."
 msgstr "îÅ ÍÏÖÕ ×ÓÔÁÎÏ×ÉÔÉ ÍÕÌØÔÉËÁÓÔÏ×ÉÊ ÓÏËÅÔ. ðÒÏÄÏ×ÖÅÎÎÑ ÂÕÄØ ÑËÁ ËÌÁצÛÁ."
 
-#: lib/ap_search.c:131
+#: lib/ap_search.c:132
 msgid "Scanning via network interface:"
 msgstr "ûÕËÁ¤ÍÏ ÞÅÒÅÚ ÍÅÒÅÖÅ×ÉÊ ¦ÎÔÅÒÆÅÊÓ:"
 
-#: lib/ap_search.c:132
+#: lib/ap_search.c:133
 #, c-format
 msgid "  Index: %i"
 msgstr "  ¶ÎÄÅËÓ: %i"
 
-#: lib/ap_search.c:134
+#: lib/ap_search.c:135
 #, c-format
 msgid "  Name: %s"
 msgstr "  ¶Í'Ñ: %s"
 
-#: lib/ap_search.c:136
+#: lib/ap_search.c:137
 #, c-format
 msgid "  IP: %s"
 msgstr "  IP: %s"
 
-#: lib/ap_search.c:145
+#: lib/ap_search.c:146
 #, c-format
-msgid "Scanning for AP type: %s"
+msgid "Scanning for AP with MIB type: %s"
 msgstr "÷ÉÚÎÁÞÁÀ ÔÉРáò: %s"
 
-#: lib/ap_search.c:327
+#: lib/ap_search.c:334
+msgid "Please enter SNMP community name that will be used for AP detection."
+msgstr "÷×ÅĦÔØ SNMP ËÏÍ'ÀΦԦ, ÝÏ ÂÕÄÅ ×ÉËÏÒÉÓÔÁÎÏ ÄÌÑ ÐÏÛÕËÕ áò"
+
+#: lib/ap_search.c:345
 msgid "Access Points Search"
 msgstr "ðÏÛÕË ÔÏÞÏË ÄÏÓÔÕÐÕ"
 
-#: lib/ap_search.c:345
+#: lib/ap_search.c:363
 msgid "realloc() error."
 msgstr "ðÏÍÉÌËÁ realloc()."
 
-#: lib/ap_search.c:357
+#: lib/ap_search.c:375
 msgid "Network interface discovery error."
 msgstr "ðÏÍÉÌËÁ ×ÉÚÎÁÞÅÎÎÑ ÍÅÒÅÖÅ×ÉÈ ¦ÎÔÅÒÆÅÊÓ¦×."
 
-#: lib/ap_search.c:432
+#: lib/ap_search.c:450
 msgid "No local network interfaces found. Press any key."
 msgstr "îÅ ÚÎÁÊÄÅÎÏ ÍÅÒÅÖÅ×ÉÈ ¦ÎÔÅÒÆÅÊÓ¦×. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap_search.c:434
+#: lib/ap_search.c:452
 msgid "No directly reachable Access Points found. Press any key."
 msgstr "îÅ ÚÎÁÊÄÅÎÏ ÄÏÓÔÕÐÎÉÈ ÎÁÐÒÑÍÕ áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap_search.c:439
-#, fuzzy
+#: lib/ap_search.c:457
 msgid "Single-screen maximum number of APs found."
 msgstr "úÎÁÊÄÅÎÏ ÍÁËÓÉÍÁÌØÎÕ ÄÌÑ ÐÒÏÇÒÁÍɠ˦ÌØ˦ÓÔØ áò."
 
-#: lib/ap_search.c:442
+#: lib/ap_search.c:460
 msgid "# - connect to AP; Q - quit"
 msgstr "# - Ð¦Ä'¤ÄÎÁÔÉÓÑ ÄÏ AP; Q - ×ÉÊÔÉ"
 
-#: lib/ap-utils.h:74
+#: lib/ap-utils.h:79
 msgid "MAC address: "
 msgstr "MAC ÁÄÒÅÓÁ: "
 
-#: lib/ap-utils.h:75
+#: lib/ap-utils.h:80
 msgid "[S] SNMP traps: "
 msgstr "[S] SNMP ÔÒÁÐÉ: "
 
-#: lib/ap-utils.h:77
+#: lib/ap-utils.h:82
 msgid "[C] Frequency channel: "
 msgstr "[C] þÁÓÔÏÔÎÉÊ ËÁÎÁÌ: "
 
-#: lib/ap-utils.h:79
+#: lib/ap-utils.h:84
 msgid "Receive  antenna:"
 msgstr "ðÒÉÊÍÁÀÞÁ ÁÎÔÅÎÁ:"
 
-#: lib/ap-utils.h:80
+#: lib/ap-utils.h:85
 msgid "[U] Left"
 msgstr "[U] ì¦×Á"
 
-#: lib/ap-utils.h:81
+#: lib/ap-utils.h:86
 msgid "[I] Right"
 msgstr "[I] ðÒÁ×Á"
 
-#: lib/ap-utils.h:82
+#: lib/ap-utils.h:87
 msgid "Transmit antenna:"
 msgstr "ðÅÒÅÄÁÀÞÁ ÁÎÔÅÎÁ:"
 
-#: lib/ap-utils.h:83
+#: lib/ap-utils.h:88
 msgid "[O] Left"
 msgstr "[O] ì¦×Á"
 
-#: lib/ap-utils.h:84
+#: lib/ap-utils.h:89
 msgid "[P] Right"
 msgstr "[P] ðÒÁ×Á"
 
-#: lib/ap-utils.h:85
+#: lib/ap-utils.h:90
 msgid "Diversity select:"
 msgstr "÷ɦҠÁÎÔÅÎÉ:"
 
-#: lib/ap-utils.h:86
+#: lib/ap-utils.h:91
 msgid "[T] Left"
 msgstr "[T] ì¦×Á"
 
-#: lib/ap-utils.h:87
+#: lib/ap-utils.h:92
 msgid "[Y] Right"
 msgstr "[Y] ðÒÁ×Á"
 
-#: lib/ap-utils.h:89
+#: lib/ap-utils.h:94
 msgid "Yes"
 msgstr "ôÁË"
 
-#: lib/ap-utils.h:90
+#: lib/ap-utils.h:95
 msgid "No"
 msgstr "î¦"
 
-#: lib/ap-utils.h:92
+#: lib/ap-utils.h:97
 msgid "On"
 msgstr "ôÁË"
 
-#: lib/ap-utils.h:93
+#: lib/ap-utils.h:98
 msgid "Off"
 msgstr "î¦"
 
-#: lib/ap-utils.h:95
+#: lib/ap-utils.h:100
 msgid "Basic"
 msgstr "ïÓÎÏ×ÎÉÊ"
 
-#: lib/ap-utils.h:97
+#: lib/ap-utils.h:102
 msgid "Press any key to continue."
 msgstr "âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap-utils.h:99
+#: lib/ap-utils.h:103
+msgid "Q - quit to menu. T - toggle polling mode, Other key - force update."
+msgstr "Q - ×ÉÊÔÉ × ÍÅÎÀ. T - ÐÅÒÅÍËÎÕÔÉ ÒÅÖÉÍ ÚÁÐÉÔÕ, ¶ÎÛ¦ - ÐÏÎÏ×ÉÔÉ."
+
+#: lib/ap-utils.h:105
 msgid "Unable to write data to AP. Press any key to continue."
 msgstr "îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÄÁÎΦ × áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap-utils.h:100
-#, fuzzy
+#: lib/ap-utils.h:106
 msgid "Unable to retrieve (valid) data from AP. Press any key to continue."
-msgstr "îÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ ÄÁÎΦ Ú áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
+msgstr "îÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ (צÒΦ) ÄÁÎΦ Ú áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap-utils.h:101
-msgid "Retrieving data from AP. Please wait..."
+#: lib/ap-utils.h:107
+msgid "Trying to retrieve data from AP. Please wait..."
 msgstr "ïÔÒÉÍÕÀ ÄÁÎΦ - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
 
-#: lib/ap-utils.h:102
+#: lib/ap-utils.h:108
 msgid "Writing data to AP. Please wait..."
 msgstr "úÁÐÉÓÕÀ ÄÁÎΦ - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
 
-#: lib/ap-utils.h:103
+#: lib/ap-utils.h:109
 msgid "Configuration written to the AP. Press any key to continue."
 msgstr "ëÏÎƦÇÕÒÁæÀ ÚÁÐÉÓÁÎÏ × áò. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/ap-utils.h:105
+#: lib/ap-utils.h:110
+msgid "select() function error. Press any key."
+msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ select(). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
+
+#: lib/ap-utils.h:112
 msgid "Create socket error. Press any key."
 msgstr "ðÏÍÉÌËÁ ÓÔ×ÏÒÅÎÎÑ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
 
-#: lib/ap-utils.h:106
+#: lib/ap-utils.h:113
 msgid "Bind socket error. Press any key."
 msgstr "ðÏÍÉÌËÁ ÐÒÉ×`ÑÚËÉ ÓÏËÅÔÕ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
 
-#: lib/ap-utils.h:108
+#: lib/ap-utils.h:115
 msgid "Back to main menu"
 msgstr "ðÏ×ÅÒÎÕÔÉÓÑ ÄÏ ÍÅÎÀ"
 
-#: lib/ap-utils.h:109
+#: lib/ap-utils.h:116
 msgid "Exit program"
 msgstr "÷ÉÊÔÉ Ú ÐÒÏÇÒÁÍÉ"
 
-#: lib/ap-utils.h:110
+#: lib/ap-utils.h:117
 msgid "Run subshell. To return type 'exit'."
 msgstr "úÁÐÕÓÔÉÔÉ ÛÅÌÌ. äÌÑ ÐÏ×ÅÒÎÅÎÎÑ ÎÁÂÅÒ¦ÔØ 'exit'."
 
-#: lib/ap-utils.h:111
+#: lib/ap-utils.h:118
 msgid "Short info about program"
 msgstr "ðÒÏ ÐÒÏÇÒÁÍÍÕ"
 
-#: lib/ap-utils.h:112
+#: lib/ap-utils.h:119
 msgid "Find connected Access Points"
 msgstr "úÎÁÊÔɠЦÄËÌÀÞÅΦ áò"
 
-#: lib/ap-utils.h:113
+#: lib/ap-utils.h:120
 msgid "Set connection options: ip and community"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ Ú`¤ÄÎÁÎÎÑ"
 
-#: lib/ap-utils.h:114
+#: lib/ap-utils.h:121
 msgid "Set encryption; edit WEP keys"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÛÉÆÒÕ×ÁÎÎÑ, ÒÅÄÁÇÕ×ÁÔÉ WEP ËÌÀÞ¦"
 
-#: lib/ap-utils.h:115
+#: lib/ap-utils.h:122
 msgid "Set MAC authorization; edit MAC authorization table"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ íáó Á×ÔÏÒÉÚÁæÀ; ÒÅÄÁÇÕ×ÁÔÉ ÔÁÂÌÉÃÀ Á×ÔÏÒÉÚÁæ§"
 
-#: lib/ap-utils.h:116
+#: lib/ap-utils.h:123
 msgid "Set SNMP community/password for access to the AP"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ SNMP ËÏÍ'ÀΦԦ/ÐÁÒÏÌØ ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ áò"
 
-#: lib/ap-utils.h:117
+#: lib/ap-utils.h:124
 msgid "Get info about AP hardware and firmware"
 msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÁÐÁÒÁÔÎÅ ÔÁ ÐÒÏÇÒÁÍÎÅ ÚÁÂÅÚÐÅÞÅÎÎÑ"
 
-#: lib/ap-utils.h:118
+#: lib/ap-utils.h:125
 msgid "Get wireless port statistics"
 msgstr "ïÔÒÉÍÁÔÉ ÓÔÁÔÉÓÔÉËÕ ÒÁĦϠÐÏÒÔÕ"
 
-#: lib/ap-utils.h:119
+#: lib/ap-utils.h:126
 msgid "Get list of currently associated stations (Access Point clients)"
 msgstr "ïÔÒÉÍÁÔÉ ÐÅÒÅ̦ˠÁÓÏæÊÏ×ÁÎÉÈ ÓÔÁÎæʠ(Ë̦¤ÎԦנáò)"
 
-#: lib/ap-utils.h:120
+#: lib/ap-utils.h:127
 msgid "Get info and statistics from AP"
 msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÔÁ ÓÔÁÔÉÓÔÉËÕ Ú áò"
 
-#: lib/ap-utils.h:121
+#: lib/ap-utils.h:128
 msgid "Set various configuration options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒÉ ËÏÎƦÇÕÒÁæ§"
 
-#: lib/cmd.c:25
-msgid ""
-"(Y - Yes; N - No (it's safer to answer No, unless you really need this.)"
-msgstr "(Y - ÔÁË; N - Î¦ (ÂÅÚÐÅÞΦÛŠצÄÐÏצÓÔɠΦ, ÑËÝÏ ×ÁÍ ÃÅ ÎÅ ÐÏÔÒ¦ÂÎÏ.)"
+#: lib/ap-utils.h:130
+msgid "Associated stations"
+msgstr "áÓÏæÊÏ×ÁΦ ÓÔÁÎæ§"
 
-#: lib/cmd.c:44
+#: lib/ap-utils.h:132
+msgid "Polling: on"
+msgstr "ïÐÉÔÕ×ÁÎÎÑ: ÔÁË"
+
+#: lib/ap-utils.h:133
+msgid "Polling: off"
+msgstr "ïÐÉÔÕ×ÁÎÎÑ: Î¦"
+
+#: lib/cmd.c:40
 msgid "Restore factory default configuration"
 msgstr "÷¦ÄÎÏ×ÌÅÎÎÑ ÆÁÂÒ¦ÞÎϧ ËÏÎƦÇÕÒÁæ§"
 
-#: lib/cmd.c:47
-msgid "After restoring factory defaults your current configuration."
+#: lib/cmd.c:43
+msgid "After restoring factory defaults your current configuration"
 msgstr "ð¦ÓÌѠצÄÎÏ×ÌÅÎÎÑ ÆÁÂÒ¦ÞÎϧ ËÏÎƦÇÕÒÁ槠ÐÏÔÏÞÎÕ ËÏÎƦÇÕÒÁæÀ"
 
-#: lib/cmd.c:48
+#: lib/cmd.c:44
 msgid "will be lost."
 msgstr "ÂÕÄÅ ×ÔÒÁÞÅÎÏ."
 
-#: lib/cmd.c:79
+#: lib/cmd.c:63
 msgid "Factory default settings loaded. Press any key to continue."
 msgstr "æÁÂÒ¦ÞΦ ÐÁÒÁÍÅÔÒɠצÄÎÏ×ÌÅÎÏ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/cmd.c:88
+#: lib/cmd.c:71
 msgid "Reset Access Point"
 msgstr "ðÅÒÅÚÁ×ÁÎÔÁÖÉÔÉ áò"
 
-#: lib/cmd.c:91
+#: lib/cmd.c:74
 msgid "By reset you'll lose all non-uploaded configuration."
 msgstr "ðÒÉ ÐÅÒÅÚÁ×ÁÎÔÁÖÅÎΦ ×É ×ÔÒÁÔÉÔÅ ÕÓ¦ ÎÅÁËÔÉצÚÏ×ÁΦ ÚͦÎÉ."
 
-#: lib/cmd.c:113
+#: lib/cmd.c:85
 msgid "Access Point reset. Press any key to continue."
 msgstr "ðÅÒÅÚÁ×ÁÎÔÁÖÅÎÎÑ ×ÉËÏÎÁÎÏ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/cmd.c:146
+#: lib/cmd.c:117
 msgid "Upload configuration"
 msgstr "áËÔÉצÚÕ×ÁÔÉ ÚͦÎÉ"
 
-#: lib/cmd.c:149
-msgid "You need to upload the configuration only if you've changed"
+#: lib/cmd.c:119
+msgid "You may need to upload the configuration only if you've"
 msgstr "áËÔÉצÚÁæѠÐÏÔÒ¦ÂÎÁ ÑËÝÏ ÚͦÎÅÎÏ Ñ˦ÓØ ÐÁÒÁÍÅÔÒÉ."
 
-#: lib/cmd.c:152
-msgid "some option values before. Using this option may cause loss"
+#: lib/cmd.c:121
+msgid "changed some option values before. Using this option may"
 msgstr "÷ÉËÏÒÉÓÔÁÎÎѠ椧 ËÏÍÁÎÄÉ ÍÏÖÅ ÍÁÔÉ ÎÁÓ̦ÄËÏÍ ×ÔÒÁÔÕ"
 
-#: lib/cmd.c:153
-msgid "of your current configuration."
+#: lib/cmd.c:123
+msgid "cause loss of your current configuration."
 msgstr "÷ÁÛϧ ÐÏÔÏÞÎϧ ËÏÎƦÇÕÒÁæ§."
 
-#: lib/cmd.c:176
+#: lib/cmd.c:135
 msgid "Configuration uploaded. Press any key to continue."
 msgstr "ëÏÎƦÇÕÒÁæÀ ÁËÔÉצÚÏ×ÁÎÏ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
 #: lib/common.c:30
-msgid "Autodetect AP type? "
-msgstr "á×ÔÏÍÁÔÉÞÎÏ ×ÉÚÎÁÞÉÔÉ ÔÉРáò? "
-
-#: lib/common.c:31
 msgid "Access Point IP-address: "
 msgstr "¶ò ÁÄÒÅÓÁ áò: "
 
-#: lib/common.c:32
+#: lib/common.c:31
 msgid "Password (community): "
 msgstr "ðÁÒÏÌØ (ËÏÍ`ÀΦԦ): "
 
+#: lib/common.c:32
+msgid "Autodetect AP MIB properties? "
+msgstr "á×ÔÏÍÁÔÉÞÎÏ ×ÉÚÎÁÞÉÔÉ MIB ÔÉРáò? "
+
 #: lib/common.c:33
-msgid "Access Point name: "
-msgstr "¶Í'Ñ áò: "
+msgid "AP MIB type: "
+msgstr "ôÉРMIB áò: "
 
 #: lib/common.c:34
-#, fuzzy
-msgid "Do you want to define name for this AP? "
-msgstr "âÁÖÁ¤ÔÅ ÐÒÏÄÏ×ÖÉÔÉ? "
+msgid "AP MIB vendor extensions: "
+msgstr "MIB áò ÒÏÚÛÉÒÅÎÎÑ ×ÉÒÏÂÎÉËÁ: "
 
 #: lib/common.c:35
-msgid "AP type: "
-msgstr "ôÉРáò: "
+msgid "Do you want to use AP's name as its label? "
+msgstr "âÁÖÁ¤ÔÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÎÁÚ×Õ áò ÑË ÊÏÇϠͦÔËÕ? "
 
 #: lib/common.c:36
+msgid "Access Point label: "
+msgstr "í¦ÔËÁ áò: "
+
+#: lib/common.c:37
 msgid "Save connect-settings: "
 msgstr "úÂÅÒÅÇÔɠæ ÐÁÒÁÍÅÔÒÉ: "
 
-#: lib/common.c:75
+#: lib/common.c:100
 #, c-format
 msgid "From %s"
 msgstr "Ú %s"
 
-#: lib/common.c:77
+#: lib/common.c:102
 #, c-format
 msgid "Version %s"
 msgstr "÷ÅÒӦѠ%s"
 
-#: lib/common.c:80
+#: lib/common.c:105
 msgid "Written by Roman Festchook roma@polesye.net"
 msgstr "á×ÔÏÒ òÏÍÁΠæÅÝÕË roma@polesye.net"
 
-#: lib/common.c:82
-msgid "Copyright (c) Roman Festchook 2001-2004"
-msgstr "Copyright (c) òÏÍÁΠæÅÝÕË 2001-2004"
+#: lib/common.c:107
+msgid "Portions by Jan Rafaj aputils@cedric.unob.cz"
+msgstr "þÁÓÔËÏ×Ï Jan Rafaj aputils@cedric.unob.cz"
+
+#: lib/common.c:109
+msgid "Copyright (c) 2001-2004"
+msgstr "Copyright (c) 2001-2004"
 
-#: lib/common.c:85
+#: lib/common.c:111
+msgid "Roman Festchook and Jan Rafaj"
+msgstr "òÏÍÁΠæÅÝÕË ÔÁ Jan Rafaj"
+
+#: lib/common.c:114
 msgid "This program is distributed under the terms"
 msgstr "ãÑ ÐÒÏÇÒÁÍÁ ÒÏÚÐÏ×ÓÀÄÖÕ¤ÔØÓÑ ÎÁ ÕÍÏ×ÁÈ"
 
-#: lib/common.c:87
+#: lib/common.c:116
 msgid "of the GNU General Public License version 2."
 msgstr "GNU úÁÇÁÌØÎϧ ðÕÂ̦ÞÎϧ ì¦ÃÅÎÚ¦§ ×ÅÒÓ¦§ 2"
 
-#: lib/common.c:89
+#: lib/common.c:118
 msgid "See the included COPYING file for details."
 msgstr "ÄÌÑ ¦ÎÆÏÒÍÁ槠ÄÉצÔØÓÑ ÆÁÊÌ COPYING"
 
-#: lib/common.c:135
+#: lib/common.c:175
 msgid "Connect options"
 msgstr "ïÐ槠Ú'¤ÄÎÁÎÎÑ"
 
-#: lib/common.c:143
+#: lib/common.c:183
 msgid "Enter IP address of your Access Point."
 msgstr "÷×ÅĦÔØ ¶ò ÁÄÒÅÓÕ ÔÏÞËÉ ÄÏÓÔÕÐÕ."
 
-#: lib/common.c:148
+#: lib/common.c:192
 msgid "Entered characters will not be displayed for security reason."
 msgstr "÷×ÅÄÅΦ ÓÉÍ×ÏÌɠΊצÄÏÂÒÁÖÕÀÔØÓѠڠͦÒËÕ×ÁΦ ÂÅÚÐÅËÉ."
 
-#: lib/common.c:157
-#, fuzzy
-msgid "Display name for the Access point (NOT the name defined inside the AP!)"
-msgstr "¶Í'Ñ ÔÏÞËÉ ÄÏÓÔÕÐÕ"
+#: lib/common.c:266
+msgid "This label will be stored on HDD (independently on AP name!)."
+msgstr "í¦ÔËÕ ÂÕÄÅ ÚÂÅÒÅÖÅÎÏ ÎÁ ÖÏÒÓÔËÉÊ ÄÉÓË (ÎÅÚÁÌÅÖÎϠצĠÎÁÚ×É áò)."
 
-#: lib/common.c:187
-msgid "Determining AP type. Please wait..."
-msgstr "÷ÉÚÎÁÞÁÀ ÔÉРáò - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
+#: lib/common.c:361
+msgid "Trying to probe AP for MIB properties. Please wait..."
+msgstr "ïÐÉÔÕÀ áò Õ ÐÏÛÕËÕ ×ÌÁÓÔÉ×ÏÓÔÅÊ MIB - ÚÁÖĦÔØ ÂÕÄØ ÌÁÓËÁ..."
 
-#: lib/common.c:272
-msgid "Unable to determine AP type (no response). Press any key."
+#: lib/common.c:390
+msgid ""
+"Unable to determine AP MIB properties (no response from AP). Press any key."
 msgstr ""
-"îÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ÔÉРáò (ΊצÄÐÏצÄÁ¤). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+"îÅ ÍÏÖÕ ×ÉÚÎÁÞÉÔÉ ÔÉРáò MIB (ΊצÄÐÏצÄÁ¤). âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
+"ÐÒÏÄÏ×ÖÅÎÎÑ"
 
-#: lib/file.c:194
-#, fuzzy
-msgid "NUM       IP ADDRESS   TYPE        NAME (in ~/.ap-config)"
-msgstr "  #       IP áäòåóá    ôéð         ¶í'ñ"
+#: lib/file.c:205
+msgid "NUM  IP ADDRESS       MIB TYPE    MIB EXT.  LABEL"
+msgstr "  #  ¶ò ÁÄÒÅÓÁ        ôÉРMIB     MIB ÒÏÚ.  í¦ÔËÁ"
 
-#: lib/file.c:195
+#: lib/file.c:206
 msgid "Choose an AP to connect to"
 msgstr "÷ÉÂÅÒ¦ÔØ áò ÄÌÑ Ú`¤ÄÎÁÎÎÑ"
 
-#: lib/file.c:200
+#: lib/file.c:212
 msgid "1-9,C: connect; N: new; D: delete; W: save; Q: quit; arrows: scroll"
 msgstr ""
 "1-9,C Ú`¤ÄÎÁÎÎÑ; N ÎÏ×ÉÊ; D ×ÉÄÁÌÉÔÉ; W ÚÂÅÒÅÇÔÉ; Q ×ÉÊÔÉ; ÓÔÒ¦ÌËÉ ÐÒÏËÒÕÔËÁ"
 
-#: lib/file.c:257
+#: lib/file.c:268
 msgid "Connect to AP num:"
 msgstr "ú`ÜÄÎÁÔÉÓÑ Ú áò #:"
 
-#: lib/file.c:293
+#: lib/file.c:304
 msgid "Delete num:"
 msgstr "÷ÉÄÁÌÉÔÉ #:"
 
-#: lib/input.c:31
+#: lib/file.c:372
+msgid "AP list file ~/.ap-config successfully written. Press any key."
+msgstr ""
+"æÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config ×ÄÁÌÏ ÚÁÐÉÓÁÎÏ. îÁÔÉÓΦÔØ ÂÕÄØ ÑËÕ ËÌÁצÛÕ."
+
+#: lib/file.c:376
+msgid "Unable to write AP list file ~/.ap-config. Press any key."
+msgstr ""
+"îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ÓÐÉÓËÕ AP ~/.ap-config. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ "
+"ÐÒÏÄÏ×ÖÅÎÎÑ"
+
+#: lib/file.c:426
+msgid "Unable to write stations file. Press any key."
+msgstr ""
+"îÅ ÍÏÖÕ ÚÁÐÉÓÁÔÉ ÆÁÊÌ ÓÐÉÓËÕ ÓÔÁÎæÊ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
+
+#: lib/file.c:428
+msgid "Stations file succesfully written. Press any key."
+msgstr "æÁÊÌ ÓÐÉÓËÕ ÓÔÁÎæʠ×ÄÁÌÏ ÚÁÐÉÓÁÎÏ. îÁÔÉÓΦÔØ ÂÕÄØ ÑËÕ ËÌÁצÛÕ."
+
+#: lib/input.c:33
 msgid "Invalid value. Press any key to continue."
 msgstr "îÅצÒÎÅ ÚÎÁÞÅÎÎÑ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/input.c:32
+#: lib/input.c:34
 #, c-format
-msgid "Value must be in range %i - %i. Press any key to continue."
+msgid "Value must be in range %u - %u. Press any key to continue."
 msgstr ""
-"úÎÁÞÅÎÎÑ ÍÁ¤ ÂÕÔÉ Õ ÄÉÁÐÁÚÏΦ %i - %i. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+"úÎÁÞÅÎÎÑ ÍÁ¤ ÂÕÔÉ Õ ÄÉÁÐÁÚÏΦ %u - %u. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
+
+#: lib/input.c:412
+msgid "Y - Yes; Any other key - No (it's safer to answer No)"
+msgstr "(Y - ÔÁË; N - Î¦ (ÂÅÚÐÅÞΦÛŠצÄÐÏצÓÔɠΦ)"
 
 #: lib/oui.c:6056
 msgid "Unknown or Private"
 msgstr "îÅצÄÏÍÉÊ ÁÂÏ ÐÒÉ×ÁÔÎÉÊ"
 
-#: lib/radio.c:27
+#: lib/radio.c:26
 msgid ""
 "[key] - power level; UIOP or LR - antenna; W - write config; Q - quit to menu"
 msgstr "# - ÐÏÔÕÖΦÓÔØ; UIOPLR - ÁÎÔÅÎÁ; W - ÚÂÅÒÅÇÔÉ; Q - ×ÉÊÔÉ"
 
-#: lib/radio.c:29
+#: lib/radio.c:28
 msgid "Antenna:"
 msgstr "áÎÔÅÎÁ:"
 
-#: lib/radio.c:30
+#: lib/radio.c:29
 msgid "[L] Left:"
 msgstr "[L] ì¦×Á"
 
-#: lib/radio.c:31
+#: lib/radio.c:30
 msgid "[R] Right:"
 msgstr "[R] ðÒÁ×Á"
 
-#: lib/radio.c:121
+#: lib/radio.c:120
 msgid "Radio Configuration"
 msgstr "ëÏÎƦÇÕÒÁæѠÒÁĦÏÐÅÒÅÄÁ×ÁÞÁ"
 
-#: lib/radio.c:122
+#: lib/radio.c:121
 msgid "Output RF signal power level (CR31 register values)"
 msgstr "ò¦×ÅÎØ ×ÉȦÄÎÏÇÏ ÒÁĦÏÓÉÇÎÁÌÕ (ÚÎÁÞÅÎÎÑ ÒÅǦÓÔÒÕ CR31)"
 
-#: lib/radio.c:124
+#: lib/radio.c:123
 msgid "Key Channel Level"
 msgstr "#  ËÁÎÁÌ   Ò¦×ÅÎØ"
 
-#: lib/radio.c:280
+#: lib/radio.c:279
 msgid ""
 "You can't disable both antennas; unable to save antenna-config. Press any "
 "key."
 msgstr "÷É ÎÅ ÍÏÖÅÔÅ ×ÉÍËÎÕÔÉ ÏÂÉÄצ ÁÎÔÅÎÉ. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
 
-#: lib/scr.c:203
+#: lib/scr.c:168
 #, c-format
-msgid "Current AP: %s Type: %s"
-msgstr "ðÏÔÏÞÎÉÊ ÐÒÉÓÔÒ¦Ê: %s ôÉÐ: %s"
+msgid "Current AP: %s Type: %s Ext: %s"
+msgstr "ðÏÔÏÞÎÉÊ ÐÒÉÓÔÒ¦Ê: %s ôÉÐ: %s òÏÚ: %s"
 
-#: lib/set_community.c:28
+#: lib/set_community.c:27
 msgid "Set community/password"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ËÏÍ`ÀΦԦ/ÐÁÒÏÌØ"
 
-#: lib/set_community.c:29
+#: lib/set_community.c:28
 msgid "Key Access level"
 msgstr "#   ò¦×ÅÎØ ÄÏÓÔÕÐÕ"
 
-#: lib/set_community.c:30
+#: lib/set_community.c:29
 msgid "Community/Password"
 msgstr "ëÏÍ'ÀΦԦ/ðÁÒÏÌØ"
 
+#: lib/set_community.c:30
+msgid "[U] User "
+msgstr "[U] ëÏÒÉÓÔÕ×ÁÞ "
+
 #: lib/set_community.c:31
-msgid "[U] User"
-msgstr "[U] ëÏÒÉÓÔÕ×ÁÞ"
+msgid "[A] Administrator "
+msgstr "[A] áÄͦΦÓÔÒÁÔÏÒ "
 
 #: lib/set_community.c:32
-msgid "[A] Administrator"
-msgstr "[A] áÄͦΦÓÔÒÁÔÏÒ"
+msgid "[M] Manufacturer "
+msgstr "[M] ÷ÉÒÏÂÎÉË "
 
 #: lib/set_community.c:33
 msgid ""
 "[key] - set community/password; W - write config to AP; Q - quit to menu"
 msgstr "# - ×ÓÔÁÎÏ×ÉÔÉ ËÏÍ`ÀΦԦ/ÐÁÒÏÌØ; W - ÚÁÐÉÓÁÔÉ ÕÓÔÁÎÏ×ËÉ; Q - ×ÉȦÄ"
 
-#: lib/set_community.c:80
-msgid "[M] Manufacturer"
-msgstr "[M] ÷ÉÒÏÂÎÉË"
-
-#: lib/stat.c:30
-msgid "Q - quit to menu. Other key - force update."
-msgstr ""
-
-#: lib/stat.c:31
-#, fuzzy
-msgid "select() function error. Press any key."
-msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ fcntl. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-
-#: lib/stat.c:61
+#: lib/stat.c:29
 msgid "Ethernet Statistics"
 msgstr "óÔÁÔÉÓÔÉËÁ ÅÚÅÒÎÅÔ ÐÏÒÔÕ"
 
-#: lib/stat.c:92
-#, fuzzy
+#: lib/stat.c:30
+msgid "Wireless Statistics"
+msgstr "óÔÁÔÉÓÔÉËÁ ÒÁĦÏÐÏÒÔÕ"
+
+#: lib/stat.c:98
 msgid "EthRxStat packet error. Press any key."
 msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ EthRxStat. îÁÔÉÓΦÔØ Q ÄÌÑ ×ÉÈÏÄÕ."
 
-#: lib/stat.c:105
-#, fuzzy
+#: lib/stat.c:111
 msgid "EthTxStat packet error. Press any key."
 msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ EthTxStat. îÁÔÉÓΦÔØ Q ÄÌÑ ×ÉÈÏÄÕ."
 
-#: lib/stat.c:109
+#: lib/stat.c:115
 msgid "Received:"
 msgstr "ðÒÉÊÎÑÔÏ:"
 
-#: lib/stat.c:110
+#: lib/stat.c:116
 msgid "Transmitted:"
 msgstr "ðÅÒÅÄÁÎÏ:"
 
-#: lib/stat.c:235 lib/stat.c:425
-msgid "Wireless Statistics"
-msgstr "óÔÁÔÉÓÔÉËÁ ÒÁĦÏÐÏÒÔÕ"
-
-#: lib/stat.c:265
-#, fuzzy
+#: lib/stat.c:270
 msgid "WirelessStat packet error. Press any key."
 msgstr "ðÏÍÉÌËÏ×ÉÊ ÐÁËÅÔ WirelessStat. îÁÔÉÓΦÔØ Q ÄÌÑ ×ÉÈÏÄÕ."
 
-#: lib/sysinfo.c:31
+#: lib/sysinfo.c:29
 msgid "System Description: "
 msgstr "ïÐÉÓ ÓÉÓÔÅÍÉ:"
 
-#: lib/sysinfo.c:109 lib/sysinfo.c:303
+#: lib/sysinfo.c:30
 msgid "System Info"
 msgstr "óÉÓÔÅÍÎÁ ¦ÎÆÏÒÍÁæÑ"
 
-#: lib/sysinfo.c:111
+#: lib/sysinfo.c:120
 msgid "Device hardware/software/name info:"
 msgstr "¶ÎÆÏÒÍÁæѠÐÒÏ ÐÒÉÓÔҦʠÁÐÁÒÁÔÕÒÁ/ÐÒÏÇÒÁÍÁ/ÎÁÚ×Á:"
 
-#: lib/sysinfo.c:146
+#: lib/sysinfo.c:154
 msgid "Product name:"
 msgstr "¶Í`Ñ ÐÒÏÄÕËÔÕ:"
 
-#: lib/sysinfo.c:151
+#: lib/sysinfo.c:158
 #, c-format
 msgid "Product type: %u"
 msgstr "ôÉРÐÒÏÄÕËÔÕ: %u"
 
-#: lib/sysinfo.c:154
-#, c-format
-msgid "Hardware revision: %u"
-msgstr "áÐÁÒÁÔÎÁ ×ÅÒÓ¦Ñ: %u"
-
-#: lib/sysinfo.c:157
+#: lib/sysinfo.c:161
 msgid "OEM name:"
 msgstr "OEM ¶Í`Ñ:"
 
-#: lib/sysinfo.c:165
+#: lib/sysinfo.c:168
 #, c-format
-msgid "Regulation domain: %s [%d]"
-msgstr "òÅÇÕÌÑÔÏÒΦ ÏÂÍÅÖÅÎÎÑ: %s [%d]"
-
-#: lib/sysinfo.c:166 lib/sysinfo.c:363
-msgid "FCC (USA)"
-msgstr "FCC (óûá)"
-
-#: lib/sysinfo.c:167 lib/sysinfo.c:364
-msgid "DOC (Canada)"
-msgstr "DOC (ëÁÎÁÄÁ)"
-
-#: lib/sysinfo.c:168 lib/sysinfo.c:365
-msgid "ETSI (Europe)"
-msgstr "ETSI (´×ÒÏÐÁ)"
-
-#: lib/sysinfo.c:169 lib/sysinfo.c:366
-msgid "Spain"
-msgstr "¶ÓÐÁΦÑ"
-
-#: lib/sysinfo.c:170 lib/sysinfo.c:367
-msgid "France"
-msgstr "æÒÁÎæÑ"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:368
-msgid "MKK (Japan)"
-msgstr "MKK (ñÐÏΦÑ)"
-
-#: lib/sysinfo.c:171 lib/sysinfo.c:262 lib/sysinfo.c:368
-msgid "unknown"
-msgstr "ÎÅצÄÏÍÉÊ"
+msgid "Hardware revision: %u"
+msgstr "áÐÁÒÁÔÎÁ ×ÅÒÓ¦Ñ: %u"
 
-#: lib/sysinfo.c:174
+#: lib/sysinfo.c:176
 #, c-format
 msgid "Info structure version: %u"
 msgstr "÷ÅÒӦѠÓÔÒÕËÔÕÒÉ: %u"
 
-#: lib/sysinfo.c:177 lib/sysinfo.c:325
+#: lib/sysinfo.c:179 lib/sysinfo.c:355
 #, c-format
 msgid "Manufacturer OUI: %02X %02X %02X (%s)"
 msgstr "OUI ×ÉÒÏÂÎÉËÁ: %02X %02X %02X (%s)"
 
-#: lib/sysinfo.c:187
-#, fuzzy, c-format
+#: lib/sysinfo.c:196
+#, c-format
 msgid "Uptime: %u days, %02u:%02u:%02u hours:mins:secs"
-msgstr "îÁÐÒÁÃØÏ×ÁÎÏ: %u:%02u:%02u.%02u"
+msgstr "îÁÐÒÁÃØÏ×ÁÎÏ: %u ÄΦ×, :%02u:%02u.%02u ÇÏÄ:È×:ÓÅË"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "FHSS 2.4 GHz"
 msgstr "FHSS 2.4 ççÃ"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "DSSS 2.4 GHz"
 msgstr "ûðó 2.4 ççÃ"
 
-#: lib/sysinfo.c:259
+#: lib/sysinfo.c:284
 msgid "IR Baseband"
 msgstr "¶ÎÆÒÁÞÅÒ×ÏÎÉÊ"
 
-#: lib/sysinfo.c:260
+#: lib/sysinfo.c:285
 msgid "Commercial range 0..40 C"
 msgstr "ëÏÍÅÒæÊÎÉʠĦÁÐÁÚÏΠ0..40 C"
 
-#: lib/sysinfo.c:261
+#: lib/sysinfo.c:286
 msgid "Industrial range -30..70 C"
 msgstr "¶ÎÄÕÓÔÒ¦ÁÌØÎÉʠĦÁÐÁÚÏΠ-30..70 C"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:287 lib/sysinfo.c:396
+msgid "unknown"
+msgstr "ÎÅצÄÏÍÉÊ"
+
+#: lib/sysinfo.c:289
 msgid "manual"
 msgstr "×ÒÕÞÎÕ"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "notsupported"
 msgstr "ΊЦÄÔÒÉÍÕ¤ÔØÓÑ"
 
-#: lib/sysinfo.c:264
+#: lib/sysinfo.c:289
 msgid "dynamic"
 msgstr "ĦÎÁͦÞÎÏ"
 
-#: lib/sysinfo.c:313
+#: lib/sysinfo.c:345
 msgid "Manufacturer:"
 msgstr "÷ÉÒÏÂÎÉË:"
 
-#: lib/sysinfo.c:319
+#: lib/sysinfo.c:350
 msgid "Manufacturer ID:"
 msgstr "ID ×ÉÒÏÂÎÉËÁ:"
 
-#: lib/sysinfo.c:331
+#: lib/sysinfo.c:361
 msgid "Product Name:"
 msgstr "¶Í`Ñ ÐÒÏÄÕËÔÕ:"
 
-#: lib/sysinfo.c:338
+#: lib/sysinfo.c:367
 msgid "Product ID:"
 msgstr "ID ÐÒÏÄÕËÔÕ:"
 
-#: lib/sysinfo.c:344
+#: lib/sysinfo.c:373
 msgid "Product Version:"
 msgstr "÷ÅÒӦѠÐÒÏÄÕËÔÕ:"
 
-#: lib/sysinfo.c:352
+#: lib/sysinfo.c:379
 #, c-format
 msgid "PHYType: %s"
 msgstr "ôÉРPHY: %s"
 
-#: lib/sysinfo.c:355
+#: lib/sysinfo.c:382
 #, c-format
 msgid "Temperature: %s"
 msgstr "ôÅÍÐÅÒÁÔÕÒÁ: %s"
 
-#: lib/sysinfo.c:362
+#: lib/sysinfo.c:390
 #, c-format
-msgid "Regulation Domain: %s"
+msgid "Regulatory Domain: %s"
 msgstr "òÅÇÕÌÑÔÏÒΦ ÏÂÍÅÖÅÎÎÑ: %s"
 
-#: lib/sysinfo.c:371
+#: lib/sysinfo.c:391
+msgid "FCC (USA)"
+msgstr "FCC (óûá)"
+
+#: lib/sysinfo.c:392
+msgid "DOC (Canada)"
+msgstr "DOC (ëÁÎÁÄÁ)"
+
+#: lib/sysinfo.c:393
+msgid "ETSI (Europe)"
+msgstr "ETSI (´×ÒÏÐÁ)"
+
+#: lib/sysinfo.c:394
+msgid "Spain"
+msgstr "¶ÓÐÁΦÑ"
+
+#: lib/sysinfo.c:395
+msgid "France"
+msgstr "æÒÁÎæÑ"
+
+#: lib/sysinfo.c:396
+msgid "MKK (Japan)"
+msgstr "MKK (ñÐÏΦÑ)"
+
+#: lib/sysinfo.c:399
 #, c-format
 msgid "Transmit Power: %u mW"
 msgstr "ðÏÔÕÖΦÓÔØ: %u Í÷Ô"
 
-#: lib/sysinfo.c:401
-#, fuzzy, c-format
+#: lib/sysinfo.c:429
+#, c-format
 msgid "WEP implemented: %s"
 msgstr "ð¦ÄÔÒÉÍËÁ WEP: %s"
 
-#: lib/sysinfo.c:404
+#: lib/sysinfo.c:432
 #, c-format
 msgid "Diversity: %s"
 msgstr "÷ɦҠÁÎÔÅÎÉ: %s"
 
-#: lib/sysinfo.c:432
+#: lib/sysinfo.c:460
 #, c-format
 msgid "Uptime: %u:%02u:%02u.%02u"
 msgstr "îÁÐÒÁÃØÏ×ÁÎÏ: %u:%02u:%02u.%02u"
 
-#: lib/sysinfo.c:448
+#: lib/sysinfo.c:480
 #, c-format
 msgid "IP  Address: %s"
 msgstr "IP ÁÄÒÅÓÁ: %s"
 
-#: lib/test.c:27
+#: lib/test.c:26
 msgid "[T] Test mode: "
 msgstr "[T] ôÅÓÔÏ×ÉÊ ÒÅÖÉÍ: "
 
-#: lib/test.c:28
+#: lib/test.c:27
 msgid "[A] Antenna: "
 msgstr "[A] áÎÔÅÎÁ: "
 
-#: lib/test.c:29
+#: lib/test.c:28
 msgid "[S] Signal level: "
 msgstr "[S] ò¦×ÅÎØ ÓÉÇÎÁÌÕ: "
 
-#: lib/test.c:30
+#: lib/test.c:29
 msgid "[R] Rate: "
 msgstr "[R] û×ÉÄ˦ÓÔØ: "
 
-#: lib/test.c:31
+#: lib/test.c:30
 msgid "[F] TxFiler: "
 msgstr "[F] úÁÐÏ×ÎÀ×ÁÞ ÐÅÒÅÄÁÞ¦: "
 
-#: lib/test.c:32
+#: lib/test.c:31
 msgid "[O] Command: "
 msgstr "[O] ëÏÍÁÎÄÁ: "
 
-#: lib/test.c:33
+#: lib/test.c:32
 msgid "T - Test mode On/Off; CASRFO - set options; Q - quit to menu"
 msgstr "T - ÒÅÖÉÍ ÔÅÓÔÕ ÔÁË/Φ; CASRFO - ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒ; Q - ×ÉÊÔÉ × ÍÅÎÀ"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Left"
 msgstr "ì¦×Á"
 
-#: lib/test.c:71
+#: lib/test.c:70
 msgid "Right"
 msgstr "ðÒÁ×Á"
 
-#: lib/test.c:88
+#: lib/test.c:86
 msgid "Test mode"
 msgstr "ôÅÓÔÏ×ÉÊ ÒÅÖÉÍ"
 
-#: lib/test.c:91
+#: lib/test.c:89
 msgid "Using the \"Test mode\" may cause loss of your current"
 msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ ÔÅÓÔÏ×ÏÇÏ ÒÅÖÉÍÕ ÍÏÖÅ ÐÒÉÚ×ÅÓÔÉ ÄÏ ×ÔÒÁÔÉ"
 
-#: lib/test.c:92
+#: lib/test.c:90
 msgid "configuration."
 msgstr "ÐÏÔÏÞÎϧ ËÏÎƦÇÕÒÁæ§."
 
-#: lib/test.c:95
-msgid "(Y - Yes; N - No (it's safer to answer No.)"
-msgstr "(Y - ôÁË; N - î¦ (ÂÅÚÐÅÞΦÛŠצÄÐÏצÓÔÉ î¦.)"
-
-#: lib/test.c:118
+#: lib/test.c:102
 msgid "Options:"
 msgstr "ðÁÒÁÍÅÔÒÉ:"
 
-#: lib/test.c:144
+#: lib/test.c:128
 msgid "Statistics:"
 msgstr "óÔÁÔÉÓÔÉËÁ:"
 
-#: lib/test.c:145
+#: lib/test.c:129
 msgid "Success Frames: 0 Failed Frames: 0"
 msgstr "÷ÄÁÌÉȠצËÏÎ: 0 îÅ×ÄÁÌÉȠצËÏÎ: 0"
 
-#: lib/test.c:207
+#: lib/test.c:190
 #, c-format
 msgid "Success Frames: %lu Failed Frames: %lu"
 msgstr "÷ÄÁÌÉȠצËÏÎ: %lu îÅ×ÄÁÌÉȠצËÏÎ: %lu"
 
+#: lib/wep.c:28
+msgid "Privacy Settings"
+msgstr "ðÁÒÁÍÅÔÒÉ ÛÉÆÒÕ×ÁÎÎÑ"
+
 #: lib/wep.c:29
 msgid "[E] Standard encryption mechanism: "
 msgstr "[E] óÔÁÎÄÁÒÔÎÅ ÛÉÆÒÕ×ÁÎÎÑ: "
@@ -1218,10 +1240,6 @@ msgid "EK1234 - set; W - write conf; Q - quit to menu"
 msgstr ""
 "EK1234 - ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒ; W - ÚÁÐÉÓÁÔÉ ËÏÎƦÇÕÒÁæÀ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
 
-#: lib/wep.c:87 lib/wep.c:249
-msgid "Privacy Settings"
-msgstr "ðÁÒÁÍÅÔÒÉ ÛÉÆÒÕ×ÁÎÎÑ"
-
 #: lib/wep.c:94 lib/wep.c:263
 msgid "Key  WEP"
 msgstr "#   WEP"
@@ -1234,136 +1252,136 @@ msgstr "
 msgid "AEPK1234 - set options; W - write conf; Q - quit to menu"
 msgstr "AEPK1234 - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: lib/wlan.c:28
+#: lib/wlan.c:27
 msgid "[E] ESSID: "
 msgstr "[E] ESSID (¦Í'Ñ ÍÅÒÅÖ¦): "
 
-#: lib/wlan.c:29
+#: lib/wlan.c:28
 msgid "[N] AP name: "
 msgstr "[N] ¶Í`Ñ AP: "
 
-#: lib/wlan.c:31
+#: lib/wlan.c:30
 msgid "[K] AP contact: "
 msgstr "[K] ëÏÎÔÁËÔÎÁ ÐÅÒÓÏÎÁ: "
 
-#: lib/wlan.c:32
+#: lib/wlan.c:31
 msgid "[L] AP location: "
 msgstr "[L] í¦ÓÃÅÒÏÚÔÁÛÕ×ÁÎÎÑ: "
 
-#: lib/wlan.c:34
+#: lib/wlan.c:33
 msgid "[R] RTS threshold: "
 msgstr "[R] íÅÖÁ RTS: "
 
-#: lib/wlan.c:35
+#: lib/wlan.c:34
 msgid "[F] Fragmentation threshold: "
 msgstr "[F] íÅÖÁ ÆÒÁÇÍÅÎÔÁæ§: "
 
-#: lib/wlan.c:36
+#: lib/wlan.c:35
 msgid "[P] Preambule type: "
 msgstr "[P] ôÉРÐÒÅÁÍÂÕÌÉ: "
 
-#: lib/wlan.c:37
+#: lib/wlan.c:36
 msgid "[A] Auth type: "
 msgstr "[A] á×ÔÏÒÉÚÁæÑ: "
 
-#: lib/wlan.c:38
+#: lib/wlan.c:37
 msgid "Open system"
 msgstr "÷¦ÄËÒÉÔÁ ÓÉÓÔÅÍÁ"
 
-#: lib/wlan.c:39
+#: lib/wlan.c:38
 msgid "Shared key"
 msgstr "óЦÌØÎÉÊ ËÌÀÞ"
 
-#: lib/wlan.c:40
+#: lib/wlan.c:39
 msgid "Both types"
 msgstr "ïÂÉÄ×Á"
 
-#: lib/wlan.c:41
+#: lib/wlan.c:40
 msgid "[U] Auto rate fallback: "
 msgstr "[U] á×ÔÏÍÁÔÉÞÎÏ ÐÅÒÅ×ÓÔÁÎÏ×ÌÀ×ÁÔÉ Û×ÉÄ˦ÓÔØ: "
 
-#: lib/wlan.c:42
+#: lib/wlan.c:41
 msgid "[S] Insert ESSID in broadcast packets: "
 msgstr "[S] ÷ÓÔÁ×ÌÑÔÉ ESSID ÄÏ ÂÒÏÁÄËÁÓÔÏ×ÉÈ ÐÁËÅÔ¦×: "
 
-#: lib/wlan.c:43
+#: lib/wlan.c:42
 msgid "Basic and Supported rates:"
 msgstr "ïÓÎÏ×Φ ÔÁ Ð¦ÄÔÒÉÍÕ×ÁΦ Û×ÉÄËÏÓÔ¦:"
 
-#: lib/wlan.c:44
+#: lib/wlan.c:43
 msgid "Key   Rate  Status"
 msgstr "#   û×ÉÄ˦ÓÔØ óÔÁÎ"
 
-#: lib/wlan.c:46
+#: lib/wlan.c:45
 msgid "[I] International roaming: "
 msgstr "[I] í¦ÖÎÁÒÏÄÎÉÊ ÒÏÕͦÎÇ: "
 
-#: lib/wlan.c:47
+#: lib/wlan.c:46
 msgid "[B] Beacon period (msec): "
 msgstr "[B] ðÅÒ¦ÏÄ ÂÅËÏΦנ(ÍÓÅË): "
 
-#: lib/wlan.c:48
+#: lib/wlan.c:47
 msgid "[D] DTIM sending interval (beacons): "
 msgstr "[D] ¶ÎÔÅÒ×Á̠צÄÐÒÁ×ËÉ DTIM (ÂÅËÏÎÉ): "
 
-#: lib/wlan.c:49
+#: lib/wlan.c:48
 msgid "[T] SIFS time (msec): "
-msgstr ""
+msgstr "[T] þÁÓ SIFS (ÍÓÅË): "
 
-#: lib/wlan.c:50
+#: lib/wlan.c:49
 msgid "[key] - set option; W - write conf; Q - quit to menu"
 msgstr "# - ×ÓÔÁÎÏ×ÉÔÉ ÐÁÒÁÍÅÔÒ; W - ÚÁÐÉÓÁÔÉ ËÏÎƦÇÕÒÁæÀ; Q - ×ÉÊÔÉ × ÍÅÎÀ"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Short"
 msgstr "ËÏÒÏÔËÁ"
 
-#: lib/wlan.c:127
+#: lib/wlan.c:125
 msgid "Long"
 msgstr "ÄÏ×ÇÁ"
 
-#: lib/wlan.c:243
+#: lib/wlan.c:237
 msgid "Wireless Settings"
 msgstr "ðÁÒÁÍÅÔÒÉ ÒÁĦÏÍÅÒÅÖ¦"
 
-#: lib/wlan.c:750
+#: lib/wlan.c:731
 msgid "Antenna Configuration:"
 msgstr "ëÏÎƦÇÕÒÁæѠÁÎÔÅÎ:"
 
-#: lib/wlan.c:767
+#: lib/wlan.c:748
 msgid "General Options"
 msgstr "úÁÇÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
 
-#: lib/wlan.c:769
+#: lib/wlan.c:750
 msgid ""
 "UIOPTY - antenna; SCANLEDFR1234 - options; W - write conf; Q - quit to menu"
 msgstr "UIOPTY - ÁÎÔÅÎÁ; SCANLEDFR1234 - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "General"
 msgstr "çÏÌÏ×Φ"
 
-#: src/ap-config.c:63
+#: src/ap-config.c:54
 msgid "Set general options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÚÁÇÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Advanced"
 msgstr "óÐÅæÁÌØΦ"
 
-#: src/ap-config.c:64
+#: src/ap-config.c:55
 msgid "Set advanced options"
 msgstr "÷ÓÔÁÎÏ×ÉÔÉ ÓÐÅæÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
 
-#: src/ap-config.c:97
+#: src/ap-config.c:89
 msgid "Reset AP."
 msgstr "òÅÓÔÁÒÔ"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Latest"
 msgstr "ðÏĦ§"
 
-#: src/ap-config.c:131
+#: src/ap-config.c:122
 msgid "Get info about latest events"
 msgstr "ïÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ÏÓÔÁÎΦ ÐÏĦ§"
 
@@ -1522,135 +1540,96 @@ msgstr ""
 msgid "Agent:v%d %s (%s@%s:%d) %s%s%s. SysUptime %d:%02d:%02d.%02d"
 msgstr "áÇÅÎÔ:v%d %s (%s@%s:%d) %s%s%s. îÁÐÒÁÃØÏ×ÁÎÏ %d:%02d:%02d.%02d"
 
-#: src/auth_mac.c:34
-#, fuzzy
+#: src/auth_mac.c:33
 msgid "NUM     MAC address"
-msgstr "#         íáó ÁÄÒÅÓÁ"
+msgstr "#       íáó ÁÄÒÅÓÁ"
 
-#: src/bridge.c:36
+#: src/bridge.c:35
 msgid "[C] Configuration-enabled port(s): "
 msgstr "[C] ðÏÒÔ ËÏÎƦÇÕÒÕ×ÁÎÎÑ: "
 
-#: src/bridge.c:39
+#: src/bridge.c:38
 msgid "[B] Isolate wireless clients (broadcast traffic): "
 msgstr "[B] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎԦנ(ÂÒÏÁÄËÁÓÔÏצ ÐÁËÕÎËÉ): "
 
-#: src/bridge.c:40
+#: src/bridge.c:39
 msgid "[U] Isolate wireless clients (unicast traffic): "
 msgstr "[U] ¶ÚÏÌÀ×ÁÔÉ ÒÁĦÏË̦¤ÎԦנ(ÕΦËÁÓÔÏצ ÐÁËÕÎËÉ): "
 
-#: src/bridge.c:122
+#: src/bridge.c:119
 msgid "Both"
 msgstr "ïÂÉÄ×Á"
 
-#: src/nwn_advanced.c:61
+#: src/nwn_advanced.c:60
 #, c-format
 msgid "[D] DB Station Timeout: %d"
 msgstr "[D] ðÏÎÏ×ÌÅÎÎÑ óÔÁÎæÊ: %d"
 
-#: src/nwn_advanced.c:63
+#: src/nwn_advanced.c:62
 #, c-format
 msgid "[A] ACK Window: %d"
 msgstr "[A] ÷¦ËÎÏ ACK : %d"
 
-#: src/nwn_advanced.c:66
+#: src/nwn_advanced.c:65
 msgid "Advanced Options"
 msgstr "óÐÅæÁÌØΦ ÐÁÒÁÍÅÔÒÉ"
 
-#: src/nwn_advanced.c:67
+#: src/nwn_advanced.c:66
 msgid "DA - options; W - write conf; Q - quit to menu"
 msgstr "DA - ×ÓÔÁÎÏ×ÉÔÉ; W - ÚÁÐÉÓÁÔÉ; Q - ×ÉÊÔÉ"
 
-#: src/nwn_latest.c:31
+#: src/nwn_latest.c:30
 #, c-format
 msgid "Reason: %u Station: %02X%02X%02X%02X%02X%02X"
 msgstr "ðÒÉצÄ: %u óÔÁÎæÑ: %02X%02X%02X%02X%02X%02X"
 
-#: src/nwn_latest.c:89
+#: src/nwn_latest.c:88
 msgid "Latest Events"
 msgstr "ïÓÔÁÎΦ ÐÏĦ§"
 
-#: src/nwn_latest.c:90
+#: src/nwn_latest.c:89
 msgid "Disassociate:"
 msgstr "äÅÁÓÏæÁæÑ:"
 
-#: src/nwn_latest.c:97
+#: src/nwn_latest.c:96
 msgid "Deauthenticate:"
 msgstr "äÅÁÕÔÅÎÔÉƦËÁæÑ:"
 
-#: src/nwn_latest.c:104
+#: src/nwn_latest.c:103
 msgid "Authenticate Fail:"
 msgstr "îÅ×ÄÁÌÁ ÁÕÔÅÎÔÉƦËÁæÑ:"
 
-#: src/nwn_latest.c:110
+#: src/nwn_latest.c:109
 msgid "Last error:"
 msgstr "ïÓÔÁÎÎÑ ÐÏÍÉÌËÁ:"
 
-#: src/nwn_latest.c:111
+#: src/nwn_latest.c:110
 msgid "Error:"
 msgstr "ðÏÍÉÌËÁ:"
 
-#: src/stations.c:31
+#: src/stations.c:33
+msgid "AP link state"
+msgstr "óÔÁΠÚ×'ÑÚËÕ Ú AP"
+
+#: src/stations.c:37
 msgid " #            MAC                                               "
-msgstr ""
+msgstr " #            MAC                                               "
 
-#: src/stations.c:34
-#, fuzzy
+#: src/stations.c:40
 msgid " #     MAC       Parent MAC    RSSI  Status MACn      IP        "
-msgstr "#  MAC          LQ    RSSI   óÔÁÔ   ðÏÒÔ IP"
+msgstr " #     MAC       MAC ÂÁÚÉ      RSSI   óÔÁÔÕ MACn      IP        "
 
-#: src/stations.c:187
-#, fuzzy
+#: src/stations.c:195 src/stations.c:367
 msgid ""
-"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other key - "
+"Arrows - scroll; S - save to file; Q - return; T - toggle view; Other - "
 "refresh"
-msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
+msgstr ""
+"óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; T - ÐÅÒÅÍËÎÕÔÉ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
 
-#: src/stations.c:190
-#, fuzzy
+#: src/stations.c:200
 msgid "Arrows - scroll; S - save to file; Q - return; Other key - refresh"
 msgstr "óÔÒ¦ÌËÉ - ÐÒÏËÒÕÔËÁ; S - ÚÂÅÒÅÇÔÉ Õ ÆÁÊÌ; Q - ×ÉÊÔÉ × ÍÅÎÀ."
 
-#: src/stations.c:275 src/stations.c:358
-msgid "Associated stations"
-msgstr "áÓÏæÊÏ×ÁΦ ÓÔÁÎæ§"
-
-#: src/stations.c:277
+#: src/stations.c:279
 msgid "Id       MAC address     Quality  Age  RSSI"
 msgstr "#        MAC ÁÄÒÅÓÁ      ñ˦ÓÔØ âÅÚĦѠóÉÌÁ ÓÉÇÎÁÌÕ"
-
-#~ msgid "LQ: Link Quality [raw]"
-#~ msgstr "LQ: ñ˦ÓÔØ Ú'¤ÄÎÁÎÎÑ [ÎÅÏÂÒÏÂÌÅÎÅ]"
-
-#~ msgid "Unable to get data from AP. Press Q to continue."
-#~ msgstr "îÅ ÍÏÖÕ ÏÔÒÉÍÁÔÉ ÄÁÎΦ Ú áò. îÁÔÉÓΦÔØ Q ÄÌÑ ×ÉÈÏÄÕ"
-
-#~ msgid "Q - quit to menu."
-#~ msgstr "Q - ×ÉÊÔÉ × ÍÅÎÀ"
-
-#~ msgid "pipe error. Press any key."
-#~ msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ pipe. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-
-#~ msgid "fork error. Press any key."
-#~ msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ fork. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ."
-
-#~ msgid "pipe error. Press any key"
-#~ msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ pipe. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
-
-#~ msgid "fcntl error. Press any key"
-#~ msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ fcntl. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
-
-#~ msgid "fork error. Press any key"
-#~ msgstr "ðÏÍÉÌËÁ ×ÉËÏÎÁÎÎÑ fork. âÕÄØ ÑËÁ ËÌÁצÛÁ ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ"
-
-#~ msgid "Id       MAC address"
-#~ msgstr "#       MAC ÁÄÒÅÓÁ"
-
-#~ msgid "[B] Send back broadcast traffic: "
-#~ msgstr "[B] ÷¦ÄÐÒÁ×ËÁ ÂÒÏÁÄËÁÓÔÏ×ÉÈ ÐÁËÕÎ˦×: "
-
-#~ msgid "[U] Send back unicast traffic: "
-#~ msgstr "[U] ÷¦ÄÐÒÁ×ËÁ ÕΦËÁÓÔÏ×ÉÈ ÐÁËÕÎ˦×: "
-
-#~ msgid "Wireless Access Point Configurator"
-#~ msgstr "ëÏÎƦÇÕÒÁÔÏÒ ÔÏÞËÉ ÄÏÓÔÕÐÕ ÒÁĦÏÍÅÒÅÖ¦"
index 4ef92872b66cd571cb90848d2fcb9f26023e6f3c..c41525e89b6d640d95ada9b0d585dd4fcff4dd4e 100644 (file)
 #include <sys/ioctl.h>
 #include "ap-utils.h"
 
-char *ap_types[3] = {
-    "ATMEL410",
-    "NWN",
-    "ATMEL12350"
-};
-
 WINDOW *win_for_menu, *sub_for_menu, *win_for_help, *main_win, *main_sub;
-short ap_type;
 char *community;
-int sockfd, atmel410_filter=0;
+int sockfd, atmel410_filter = 0, wait_mode = WAIT_FOREVER;
 struct in_addr ap_ip;
 char *prog_title = "Wireless Access Point Configurator";
-
-extern char IS_ATMEL410_SBRIDGES;
-extern char IS_ATMEL12350_TELLUS;
-extern char IS_ATMEL12350_VERNET;
+char set_oeminfo_allowed = 0;
+extern short ap_type;
 
 void config_menu()
 {
@@ -72,7 +63,9 @@ void config_menu()
     switch (ap_type) {
        case ATMEL410:
        case ATMEL12350:
+           set_oeminfo_allowed++;
            uni_menu(umenu_atmel, sizeof(umenu_atmel) / sizeof(umenu_atmel[0]));
+           set_oeminfo_allowed--;
            break;
        case NWN:
            uni_menu(umenu_nwn, sizeof(umenu_nwn) / sizeof(umenu_nwn[0]));
@@ -84,11 +77,10 @@ void config_menu()
 void command_menu()
 {
     struct umitems command_umenu_atmel[] = {
-       {_("Upload"), _("Make current configuration active"), upload, 0},
+       {_("Upload"), _("Activate current configuration"), upload, 0},
        {_("Defaults"), _("Restore factory default settings"), defaults, 0},
        {_("Reset"),
-        _("Reset AP. All not uploaded configuration will be lost"),
-        reset, 0},
+        _("Reset AP. All not uploaded configuration will be lost"), reset, 0},
        {_("TestMode"), _("Put Access Point in test mode"), test, 0},
        {"..", MAIN_MENU, NULL, 0},
        {0, 0, NULL, 0}
@@ -118,8 +110,7 @@ void stat_menu()
        {_("SysInfo"), MENU_SYSINFO, atmel_sysinfo, 0},
        {_("Ethernet"), _("Get ethernet port statistics"), EthStat, 0},
        {_("Wireless"), MENU_WIRELESS, WirelessStat, 0},
-       {_("Stations"), MENU_STAS, stations,
-        0},
+       {_("Stations"), MENU_STAS, atmel_stations, 0},
        {_("KnownAPs"), _("Get info about known Access Points"), APs, 0},
        {"..", MAIN_MENU, NULL, 0},
        {0, 0, NULL, 0}
@@ -133,7 +124,7 @@ void stat_menu()
         {0, 0, NULL, 0}
     };
     
-     switch (ap_type) {
+    switch (ap_type) {
        case ATMEL410:
        case ATMEL12350:
            uni_menu(umenu_atmel, sizeof(umenu_atmel) / sizeof(umenu_atmel[0]));
@@ -146,7 +137,7 @@ void stat_menu()
 
 void _auth()
 {
-    if(get_opts() == 0)
+    if (get_opts() == 0)
        connect_options((unsigned long) NULL, (int) NULL);
 }
 
@@ -164,6 +155,7 @@ void main_menu()
        {_("Exit"), MENU_EXIT, exit_program, 0},
        {0, 0, NULL, 0}
     };
+
     uni_menu(config_umenu, sizeof(config_umenu) / sizeof(config_umenu[0]));
 }
 
index d59d7709bdd430e7473edce60144f0095a96a179..847d62f644067798c7a17a482a0dcaabe50f2319 100644 (file)
@@ -22,7 +22,6 @@
 #include <unistd.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define MAX_LINES LINES-6
 #define PACKET_ERROR _("AuthorizedMacTableString packet error")
@@ -78,7 +77,7 @@ void atmel_auth_mac()
        print_helperr(ERR_RET);
        goto exit;
     }
-    print_title(MAC_TITLE);
+    print_top(NULL, MAC_TITLE);
 
     auth_mac = *(varbinds[0].value);
     sprintf(message, "%s%s", MAC_AUTH, (auth_mac == 1) ? ON : OFF);
@@ -288,7 +287,7 @@ void atmel_auth_mac()
     }
     if (AuthMac)
        free(AuthMac);
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
@@ -312,7 +311,7 @@ void nwn_auth_mac()
     char destroy = 6, create = 4, allow = 1;
     int i, auth_mac = 0, mac_num = 0, begin, end;
     varbind varbinds[3];
-    print_title(MAC_TITLE);
+    print_top(NULL, MAC_TITLE);
 
     mvwaddstr(main_sub, 2, 5, MAC_HEADER);
     wrefresh(main_sub);
@@ -589,6 +588,6 @@ void nwn_auth_mac()
        first = curr->next;
        free(curr);
     }
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
index 8c065004f775ce06c69b8ec0c8f578065559b855..7833cc510ffb38f72cc0f5cafcdd8274a7a21e60 100644 (file)
@@ -22,7 +22,6 @@
 #include <string.h>
 #include <sys/types.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 #define IPADDR _("[I] IP: ")
 #define NETMASK _("[N] Netmask: ")
@@ -40,9 +39,7 @@
 #define SB_UCAST _("[U] Isolate wireless clients (unicast traffic): ")
 #define HELP _("INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu")
 
-extern short ap_type;
-extern char IS_ATMEL410_SBRIDGES;
-extern char IS_ATMEL12350_TELLUS;
+extern short ap_type, ap_vendorext;
 
 void bridging()
 {
@@ -172,16 +169,17 @@ void bridging()
        varbinds[i++].oid = ForwardBroadcast;
        varbinds[i++].oid = SendBackBcast;
        varbinds[i++].oid = SendBackUnicast;
-       if (IS_ATMEL12350_TELLUS)
+       if (ap_vendorext == TELLUS || ap_vendorext == VERNET)
            varbinds[i++].oid = TrapPort;
     }
 
+    print_help(WAIT_RET);
     if (snmp(varbinds, i, GET) <= 0) {
        print_helperr(ERR_RET);
        goto exit;
     }
 
-    print_title(_("Bridging"));
+    print_top(NULL, _("Bridging"));
 
     sprintf(message, "%s%02X%02X%02X%02X%02X%02X", MAC,
            varbinds[0].value[0] & 0xFF,
@@ -208,7 +206,7 @@ void bridging()
     sprintf(message, "%s%s", IP_FILTER, (filter == 1) ? ON : OFF);
     mvwaddstr(main_sub, 3, 0, message);
 
-    if (IS_ATMEL410_SBRIDGES) {
+    if (ap_vendorext == SBRIDGES) {
        sprintf(message, "%s%02X%02X%02X%02X%02X%02X", SB_ATTMAC,
                *(varbinds[2].value +0) & 0xFF, *(varbinds[2].value +1) & 0xFF,
                *(varbinds[2].value +2) & 0xFF, *(varbinds[2].value +3) & 0xFF,
@@ -248,7 +246,7 @@ void bridging()
        sprintf(message, "%s%s", CF_PORT, cf_trap_ports[config_port]);
        mvwaddstr(main_sub, 9, 0, message);
 
-       if (IS_ATMEL12350_TELLUS) {
+       if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
            for (i = 0; i < varbinds[14].len_val;
                    trap_port += varbinds[14].value[i] *
                    (1 << ((varbinds[14].len_val - i - 1) * 8)), i++);
@@ -298,7 +296,7 @@ void bridging()
            continue;
        case 'P':
        case 'p':
-           if (!IS_ATMEL410_SBRIDGES) {
+           if (ap_vendorext != SBRIDGES) {
                primary_port = menu_choose(4, strlen(PR_PORT), pr_ports, 2) + 1;
                clear_main_new(4, 5);
                print_menusel(4, 0, PR_PORT, pr_ports[primary_port - 1]);
@@ -365,7 +363,7 @@ void bridging()
            continue;
        case 'T':
        case 't':
-           if (IS_ATMEL12350_TELLUS) {
+           if (ap_vendorext == TELLUS || ap_vendorext == VERNET) {
                get_value(message, 10, strlen(TRAP_PORT), 6, INT_STRING,
                    0, 65535, HELP);
                trap_port = atoi(message);
@@ -539,7 +537,7 @@ void bridging()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index 986baca0d2df39d30fe293f42ffed399ad365fd2..db68a788d6c0d76504ed579ff7c304c9132aebb9 100644 (file)
@@ -21,7 +21,6 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 #include <menu.h>
 
 #define RATES_RECORD "[%d]   %02.1fM\t%s"
@@ -63,7 +62,7 @@ void advanced()
     sprintf(message, _("[A] ACK Window: %d"), ackwindow);
     mvwaddstr(main_sub, 2, 0, message);
     
-    print_title(_("Advanced Options"));
+    print_top(NULL, _("Advanced Options"));
     print_help(_("DA - options; W - write conf; Q - quit to menu"));
     wrefresh(main_sub);
 
@@ -130,7 +129,7 @@ void advanced()
   exit:
     getch();
   quit:
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
index 56b02f26b99c6df8aa8c4f2ccbfbb59d68b22296..59d6b936eda8c04ab10b266e5d78b9cf75758f8f 100644 (file)
@@ -23,7 +23,6 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
 extern WINDOW *main_sub;
 
@@ -86,7 +85,7 @@ void latest()
        goto exit;
     }
 
-    print_title(_("Latest Events"));
+    print_top(NULL, _("Latest Events"));
     mvwaddstr(main_sub, 1, 0, _("Disassociate:"));
     sprintf(message, DESCR,
            *varbinds[0].value,
@@ -124,6 +123,6 @@ void latest()
     print_help(ANY_KEY);
   exit:
     getch();
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
index 5eb272d3815f08c7e6f9a625abc0418c9a8f94e6..6c23478305ad874811e587dfbf1945aa2a7cfef4 100644 (file)
 #include <signal.h>
 #include <string.h>
 #include "ap-utils.h"
-#include "ap-curses.h"
 
-#define STAS _("Associated Stations")
-#define STAS_HEADER \
+/*
+ * NOTE: SBRIDGES seems to be currently handled by ap-gl =>
+ * no SBRIDGES-related code here (yet)!
+ */
+
+#define TITLE_AP _("AP link state")
+
+/* following for any non-VERNET ATMEL* MIB */
+#define HEADER_STAS \
        _(" #            MAC                                               ")
 /* following for VERNET-enhanced ATMEL12350 MIB */
-#define STAS_HEADER_VERNET \
+#define HEADER_STAS_VERNET \
        _(" #     MAC       Parent MAC    RSSI  Status MACn      IP        ")
 
 #define MAX_LINES LINES-4
 
 extern int LINES;
 extern WINDOW *main_sub;
-extern short ap_type;
-extern char IS_ATMEL12350_VERNET;
+extern short ap_type, ap_vendorext;
 extern int sts_viewtype;
 
-void stations()
+void atmel_stations()
 {
     char bridgeOperationalMode[] = {
        0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
@@ -69,7 +74,6 @@ void stations()
     int mac_idx, begin, end, total_mac;
     varbind varbinds[1];
 
-
     if (ap_type == ATMEL12350) {
         bridgeOperationalMode[5] = 0xE0;
        bridgeOperationalMode[6] = 0x3E;
@@ -92,7 +96,7 @@ void stations()
     }
 
     /* for AP in AP-Client mode & without VERNET firmware, disable status */
-    if (*(varbinds[0].value) == 3 && !IS_ATMEL12350_VERNET) {
+    if (*(varbinds[0].value) == 3 && ap_vendorext != VERNET) {
        mvwaddstr(main_sub, 3, 1, _("AP is currently in AP Client Mode => "
            "no associated STAtions."));
        print_help(ANY_KEY);
@@ -103,10 +107,10 @@ void stations()
 
     noecho();
     wattrset(main_sub, COLOR_PAIR(3));
-    if (IS_ATMEL12350_VERNET)
-       mvwaddstr(main_sub, 0, 0, STAS_HEADER_VERNET);
+    if (ap_vendorext == VERNET)
+       mvwaddstr(main_sub, 0, 0, HEADER_STAS_VERNET);
     else
-       mvwaddstr(main_sub, 0, 0, STAS_HEADER);
+       mvwaddstr(main_sub, 0, 0, HEADER_STAS);
     wattrset(main_sub, A_NORMAL);
 
 refresh:
@@ -168,7 +172,7 @@ refresh:
 
        memcpy(curr->addr, mac->MacAddress, 6);
 
-       if (IS_ATMEL12350_VERNET) {
+       if (ap_vendorext == VERNET) {
            curr->Status = mac->Status;
            curr->Port = mac->Port;
            memcpy(curr->ParentMacAddress, mac->ParentMacAddress, 6);
@@ -183,22 +187,20 @@ refresh:
     begin = 1;
     end = (MAX_LINES < mac_idx) ? MAX_LINES : mac_idx;
 
-    if (IS_ATMEL12350_VERNET)
-       print_help(_("Arrows - scroll; S - save to file; Q - return; "
-                    "T - toggle view; Other key - refresh"));
-    else
-       print_help(_("Arrows - scroll; S - save to file; Q - return; "
-                    "Other key - refresh"));
-
+    sprintf(message, "%s: %d", TITLE_STAS, total_mac);
     while (1) {
-       sprintf(message, "%s: %d", STAS, total_mac);
-       print_title(message);
+       if (ap_vendorext == VERNET) {
+           print_top_rssi(message);
 
-       if (IS_ATMEL12350_VERNET) {
-           print_viewtype_rssi();
+           print_help(_("Arrows - scroll; S - save to file; Q - return; "
+                        "T - toggle view; Other - refresh"));
            scroll_rows(first, begin, end, 1, 3);
-       } else
+       } else {
+           print_top(NULL, message);
+           print_help(_("Arrows - scroll; S - save to file; Q - return; "
+                        "Other key - refresh"));
            scroll_rows(first, begin, end, 1, 0);
+       }
 
        switch (getch()) {
            case 'S':
@@ -224,7 +226,7 @@ refresh:
                goto exit;
            case 'T':
            case 't':
-               if (IS_ATMEL12350_VERNET) {
+               if (ap_vendorext == VERNET) {
                    sts_viewtype += 1;
                    if (sts_viewtype == 3)
                        sts_viewtype = 0;
@@ -245,7 +247,7 @@ exit:
        first = curr->next;
        free(curr);
     }
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }
 
@@ -272,9 +274,9 @@ void nwn_stations()
 
 
     mac_idx = 0;
-    print_title(_("Associated stations"));
+    print_top(NULL, TITLE_STAS);
     mvwaddstr(main_sub, 0, 3,
-             _("Id       MAC address     Quality  Age  RSSI"));
+       _("Id       MAC address     Quality  Age  RSSI"));
     noecho();
     print_help(WAIT_RET);
 
@@ -355,14 +357,21 @@ void nwn_stations()
        next_num = varbinds[0].oid[varbinds[0].len_oid - 1];
                                                
     }
-   sprintf(message, "%s: %d", _("Associated stations"), mac_idx);
-   print_title(message);
+
    if(mac_idx) {
+
     begin = 1;
-    end = (MAX_LINES < mac_idx+1) ? MAX_LINES : mac_idx+1;
-    scroll_rows(first, begin, end, 1, 1);
-    print_help(_("Arrows - scroll; S - save to file; Q - quit to menu."));
+    end = (MAX_LINES < mac_idx + 1) ? MAX_LINES : mac_idx + 1;
+
     while (1) {
+       print_help(_("Arrows - scroll; S - save to file; Q - return; "
+           "T - toggle view; Other - refresh"));
+
+       scroll_rows(first, begin, end, 1, 1);
+
+       sprintf(message, "%s: %d", TITLE_STAS, mac_idx);
+       print_top_rssi(message);
+
        switch (getch()) {
        case 'S':
        case 's':
@@ -373,7 +382,6 @@ void nwn_stations()
            if (end < mac_idx+1) {
                begin++;
                end++;
-               scroll_rows(first, begin, end, 1, 1);
            }
            continue;
        case KEY_UP:
@@ -381,12 +389,18 @@ void nwn_stations()
            if (begin > 1) {
                begin--;
                end--;
-               scroll_rows(first, begin, end, 1, 1);
            }
            continue;
        case 'Q':
        case 'q':
            goto exit;
+       case 'T':
+       case 't':
+           sts_viewtype += 1;
+           if (sts_viewtype == 3)
+               sts_viewtype = 0;
+
+           continue;
        }
     }
    }
@@ -400,7 +414,7 @@ void nwn_stations()
        free(curr);
     }
     
-    print_title("");
+    print_top(NULL, NULL);
     clear_main(0);
 }