pax_global_header 0000666 0000000 0000000 00000000064 11172466627 0014526 g ustar 00root root 0000000 0000000 52 comment=17cd5711411f45df26b33c51288780627b7377e2
ap-utils-1.5/ 0000775 0000000 0000000 00000000000 11172466627 0013131 5 ustar 00root root 0000000 0000000 ap-utils-1.5/ABOUT-NLS 0000664 0000000 0000000 00000052075 11172466627 0014371 0 ustar 00root root 0000000 0000000 Notes on the Free Translation Project
*************************************
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do _not_
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
Quick configuration advice
==========================
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias, message inheritance, automatic
charset conversion or plural form handling) as the implementation here.
It is also not possible to offer this additional functionality on top
of a `catgets' implementation. Future versions of GNU `gettext' will
very likely convey even more functionality. So it might be a good idea
to change to GNU `gettext' as soon as possible.
So you need _not_ provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
provides the GNU `gettext' functions. If not, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is _not_ required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --disable-nls
will respectively bypass any pre-existing `gettext' to use the
internationalizing routines provided within this package, or else,
_totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this. This might be not what is desirable. You
should use the more recent version of the GNU `gettext' library. I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use
./configure --with-included-gettext
to prevent auto-detection.
The configuration process will not test for the `catgets' function
and therefore it will not be used. The reason is that even an
emulation of `gettext' on top of `catgets' could not provide all the
extensions of the GNU `gettext' library.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
and `CC' is an ISO 3166 two-letter country code. For example, let's
suppose that you speak German and live in Germany. At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
This can be done from your `.login' or `.profile' file, once and for
all.
You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries. For
example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
country code serves to distinguish the dialects.
The locale naming convention of `LL_CC', with `LL' denoting the
language and `CC' denoting the country, is the one use on systems based
on GNU libc. On other systems, some variations of this scheme are
used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
locales supported by your system for your country by running the command
`locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
for the purpose of message handling, but you still need to have `LANG'
set to the primary language; this is required by other parts of the
system libraries. For example, some Swedish users who would rather
read translations in German than English for when Swedish is not
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
In the `LANGUAGE' environment variable, but not in the `LANG'
environment variable, `LL_CC' combinations can be abbreviated as `LL'
to denote the language's main dialect. For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
area.
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of March
2002. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
Ready PO files bg ca cs da de el en eo es et fi fr
+-------------------------------------+
a2ps | [] [] [] [] |
bash | [] [] [] [] |
bfd | [] [] |
binutils | [] [] |
bison | [] [] [] |
clisp | [] [] [] [] |
cpio | [] [] [] [] |
diffutils | [] [] [] [] [] [] |
enscript | [] [] |
error | [] [] |
fetchmail | () [] [] [] () |
fileutils | [] [] [] [] [] |
findutils | [] [] [] [] [] |
flex | [] [] [] [] |
gas | [] [] |
gawk | [] [] |
gcal | [] [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gnupg | [] [] [] [] [] [] |
gprof | [] [] |
grep | [] [] [] [] [] [] |
hello | [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] [] [] |
jpilot | () [] [] [] |
jwhois | [] [] |
kbd | [] [] |
ld | [] [] |
libc | [] [] [] [] [] [] [] |
lilypond | [] [] |
lynx | [] [] [] [] |
m4 | [] [] [] [] [] |
make | [] [] [] [] |
mysecretdiary | [] [] |
nano | [] () [] [] [] [] |
nano_1_0 | [] () [] [] [] [] |
opcodes | [] [] [] |
parted | [] [] [] [] |
ptx | [] [] [] [] [] |
python | |
recode | [] [] [] [] [] [] |
sed | [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] [] [] [] |
sharutils | [] [] [] [] [] [] |
sketch | () [] () |
soundtracker | [] [] [] |
sp | |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] [] [] |
textutils | [] [] [] [] [] |
util-linux | [] [] [] [] |
vorbis-tools | |
wdiff | [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] |
+-------------------------------------+
bg ca cs da de el en eo es et fi fr
1 12 11 31 36 9 1 8 39 15 1 50
gl he hr hu id it ja ko lv nb nl nn
+-------------------------------------+
a2ps | () () [] |
bash | |
bfd | [] |
binutils | [] |
bison | [] [] |
clisp | [] |
cpio | [] [] [] |
diffutils | [] [] [] |
enscript | [] |
error | [] |
fetchmail | |
fileutils | [] [] [] |
findutils | [] [] [] [] [] [] |
flex | [] |
gas | |
gawk | [] |
gcal | |
gcc | |
gettext | [] |
gnupg | [] [] [] |
gprof | |
grep | [] |
hello | [] [] [] [] [] [] [] [] [] [] |
id-utils | [] |
indent | [] [] [] |
jpilot | () () |
jwhois | |
kbd | |
ld | |
libc | [] [] [] [] |
lilypond | [] [] |
lynx | [] [] |
m4 | [] [] [] [] |
make | [] [] [] [] |
mysecretdiary | |
nano | [] [] [] () [] () [] |
nano_1_0 | [] [] [] () [] () [] |
opcodes | [] |
parted | [] [] [] |
ptx | [] [] [] [] |
python | |
recode | [] [] [] |
sed | [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] |
sharutils | [] [] [] |
sketch | () |
soundtracker | [] |
sp | |
tar | [] [] [] |
texinfo | [] [] |
textutils | [] [] |
util-linux | () [] |
vorbis-tools | |
wdiff | |
wget | [] [] [] [] [] |
+-------------------------------------+
gl he hr hu id it ja ko lv nb nl nn
19 7 0 4 6 11 22 9 1 8 19 4
no pl pt pt_BR ru sk sl sv tr uk zh_TW
+----------------------------------------+
a2ps | () () () [] [] [] () | 8
bash | | 4
bfd | [] [] | 5
binutils | [] | 4
bison | [] [] [] | 8
clisp | | 5
cpio | [] [] [] [] | 11
diffutils | [] [] [] [] [] | 14
enscript | [] [] [] | 6
error | [] [] [] | 6
fetchmail | () () [] | 4
fileutils | [] [] [] [] | 12
findutils | [] [] [] [] [] [] [] | 18
flex | [] [] [] | 8
gas | [] | 3
gawk | [] [] | 5
gcal | [] [] | 4
gcc | [] | 3
gettext | [] [] [] [] | 10
gnupg | [] [] [] | 12
gprof | [] [] | 4
grep | [] [] [] | 10
hello | [] [] [] [] [] [] [] | 25
id-utils | [] [] | 6
indent | [] [] [] [] | 12
jpilot | () () | 3
jwhois | () () [] | 3
kbd | [] [] | 4
ld | [] [] | 4
libc | [] [] [] [] [] [] | 17
lilypond | [] | 5
lynx | [] [] [] | 9
m4 | [] [] [] | 12
make | [] [] [] [] | 12
mysecretdiary | [] [] | 4
nano | () [] [] [] [] | 14
nano_1_0 | () [] [] [] | 13
opcodes | [] [] | 6
parted | [] [] [] | 10
ptx | [] [] [] [] [] [] | 15
python | | 0
recode | [] [] [] [] | 13
sed | [] [] [] [] [] [] | 21
sh-utils | [] [] [] [] [] [] [] [] [] | 22
sharutils | [] [] [] | 12
sketch | [] () | 3
soundtracker | [] | 5
sp | | 0
tar | [] [] [] [] [] [] [] | 16
texinfo | [] [] [] | 10
textutils | [] [] [] [] | 11
util-linux | [] [] [] | 8
vorbis-tools | [] | 1
wdiff | [] [] [] [] | 9
wget | [] [] [] [] [] [] [] | 20
+----------------------------------------+
35 teams no pl pt pt_BR ru sk sl sv tr uk zh_TW
55 domains 5 13 2 12 25 11 11 41 34 4 7 489
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If March 2002 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
Using `gettext' in new packages
===============================
If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
package. Of course you have to respect the GNU Library General Public
License which covers the use of the GNU `gettext' library. This means
in particular that even non-free programs can use `libintl' as a shared
library, whereas only free software can use `libintl' as a static
library or use modified versions of `libintl'.
Once the sources are changed appropriately and the setup can handle
to use of `gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
`translation@iro.umontreal.ca' to make the `.pot' files available to
the translation teams.
ap-utils-1.5/AUTHORS 0000664 0000000 0000000 00000000052 11172466627 0014176 0 ustar 00root root 0000000 0000000 Roman Festchook
ap-utils-1.5/COPYING 0000664 0000000 0000000 00000043100 11172466627 0014162 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
ap-utils-1.5/ChangeLog 0000664 0000000 0000000 00000267533 11172466627 0014723 0 ustar 00root root 0000000 0000000 2005-03-07 Roman Festchook
* src/ap-rrd.c: changed format of error messages
* configure.in, NEWS: version 1.5
2005-03-06 Jan Rafaj
Since one of the users has provided me with SmartBridges APPO,
the support for latest APPO firmware (1.4k5) can now hopefully
be finished as originally intended.
* TODO: updated
* Documentation/FAQ: updated
* ap-gl/Makefile.am:
- bugfix: added missing @CURSESLIBS@ to the target
* lib/ap-utils.h:
- Q_HELP is gone
- added dbmconv() macro to correctly handle dBm computing for
smartBridges firmware
* lib/ap_search.c:
- 'Wireless' OID is really 'sysDescr' OID
- no longer ask for community, since device will respond to
sysDescr query no matter what community is currently being used
(Roman, thanks for notifying!)
- bugfix: 'AP NAME' changed to 'FW TYPE (VERSION) AP NAME', to
reflect better whats being displayed
- bugfix: scan_local_segment() now triggers screen-width truncation
limit correctly
* lib/common.c:
- cosmetics: screen is now properly cleared with exit_program()
* lib/input.c:
- bugfix: exclusive use of getch() in wait_key() instead of
escape-sequences-not-aware getc() results in greater robustness
of input code (it is now a lot harder to end up with buffered
content in stdin, that would otherwise lead to odd results
elsewhere)
- get_value() almost completely rewritten. switched from getchar()
to getch() to get correct output on older terminals, as well as
to avoid displaying of escape-sequences and to interpret escape-
sequences for the following usual keys, that now work:
INSERT (toggles Insert/Overwrite mode)
DELETE (rightside delete)
BACKSPACE (leftside delete)
LEFT ARROW (move cursor back 1 character)
RIGHT ARROW (advance cursor forward 1 character)
HOME (move to the beginning of the string)
END (move to the end of the string)
- bugfix: get_value() will now omit leading zeros from correct number
given by the user (they will be eaten upon user's ENTER keypress)
- bugfix: in get_mask(), trans_count must be always reset upon
failure to validate user input, or after single failure, all
subsequent attempts would (previously) fail
* lib/oui.c: added OUIs:
- 000E2E (Edimax Technology Co., Ltd.)
- 000F66 (Cisco-Linksys)
- 00117C (e-zy.net) :)
* lib/set_oeminfo.c:
- prepended 'USB ' in front of 'Vendor ID' and 'Product ID'
(cosmetic)
* lib/snmp.c:
- bugfix: eliminated leak by unfreed malloc'ed memory in snmp() using
static buffer
- introduced three new functions: close_sockfd(), open_sockfd()
and reopen_sockfd(). They should really be in common.c, but then
again, they are low-level stuff that should primarily be used
only in snmp(), and snmp.c itself contains no ncurses stuff
so functions it defines can be reused by external non-ncurses-
- in snmp(), switched from sig*jmp()/alarm() timeout code to select()
in favor of simplicity and possibility to monitor stdin read-state
change at the same time
- snmp() will now return with 0 immediately upon keypress, if
snmp_quit_by_keypress = 1 and type = GET. This has been added
to allow user-requested last-resort quit from blocking state
(for example when the target AP does not respond). The decision
of what to do is up to the calling code, that has to check
stdin content and act accordingly (currently this is used for
immediate quit using q/Q key from otherwise blocking snmp() calls).
- sockfd is now globally defined here
- snmp() now always 'flushes' sockfd prior further network processing
so that eventual packet received on sockfd prior snmp() call
wont cause desync errors
- snmp_retries global is gone. We need to wait at least 1 second
past sendto() for response packet, and do everything necessary
to avoid 'response for previous request received in next snmp()
call' => extra TODO: check, whether the OID part of received packet
matches with OID of preceding request, and if not, flush sockfd
and do an extra retry of sendto()/recv()
dependant programs.
* Documentation/ap-tftp.8:
- (introduced in previous patchset)
- added warning that it is unsafe to try upgrading devices for whose
there's no vendor firmware nor upgrade utilities (such as
Tellus A13 a.k.a. i-Tec AP GOLD with blue front)
* src/Makefile.am:
- ap-tftp needs to be linked to libap.a from now on
* src/ap-tftp.c:
- bugfix: computation of percentage was not really correct in v1.0
- bugfix: fixed memleak caused by unfreed strdup()
- cleanup; use of float type eliminated
- it should be now possible to reuse tftp() for .cfg upload, too
(.cfg upload code still not there)
- revamp of config. parameters
- added capability to upgrade all AT76C510-based SmartBridges
devices (those with FCC ID 'PWG DOLPHIN')
* src/aplink.c:
- polling mode is now always enforced
- LQ top value is now computed/shown for devices with ATMEL410
SBRIDGES MIB
- bugfix: screen is now correctly cleaned up upon transition
from 'associated: yes' to 'associated: no' state
- added pause possibility (using 'q' or 'Q' key)
- big facelift: added RSSI 'rounding' (a.k.a. RSSI average / last
20 samples) gauge, and a general side-scrolling bargraph
showing the history of RSSI, RSSI average, RSSI rounding, and,
in case of smartBridges firmware, also Link Quality. Views
can be toggled using 't' or 'T' key. At the moment, all values
are presented in percentage, since this (compared to dBm)
does not fluctuate a lot among different firmware versions.
User may just pause the polling process and see the corresponding
dBm value for the bar currently shown in graph, near the
corresponding gauge.
* src/auth.c:
- bugfixes: shown ea_dest_port, ea_time and ea_port values are now
properly decoded
* src/bridge.c:
- renamed cf_trap_ports to cf_ports (cosmetic)
- bugfix: fixed up order of cf_ports to respect MIB-defined order.
Interresting note: ATMEL12350 EZYNET MIB firmware actually
returns config_port = 0 when it should return 3 ('Both' ports) =>
this case is now taken care of.
* lib/common.c:
- screen is now cleared upon exiting ap-config
* bugfix: fixed rare ap-config crash when sysDeviceInfo OID query
would return structure length of 92 bytes instead of 128. Suspection:
returning 128 might be a snmp() state machinery error?
* squashed any sockfd lowlevel-manipulating stuff (socket(), bind(),
close()) everywhere in favour of already globally declared sockfd
in snmp.c and eventual reopen_sockfd() call. Lets forget about
sockfd if we use just snmp(). TODO: re-evaluate necessity to use
reopen_sockfd() in common.c and file.c .
* dbmconv() is now used in every place that handles raw->dBm
conversion - TODO: just the ap_mrtg needs to be fixed (add
detection for SBRIDGES ap_vendorext, then dbmconv())
* cosmetics: highlighting over changed values will now disappear,
once they are written (using 'W' key)
* ERR_CREATING_SOCKET and ERR_BINDING_SOCKET replaced with one single,
more generic ERR_SOCKET
* new feature: it is now possible to change polling interval in
range from <0,1;86400> seconds (default is 1 second)
2005-01-16 Jan Rafaj
* ap-gl/auth.c: small bugfix
2005-01-15 Roman Festchook
* src/ap-rrd.c: added utility to store stats from AP into RRD database
* src/wlan.c: added 'ACK timeout' additional info into [T] SIFS time (msec)
option description
* configure.in, NEWS: version 1.5pre2
2005-01-11 Jan Rafaj
Note to SmartBridges PTE: you could have nice support in ap-utils
at cost of sending me one APPO sample. Since I actually have
no sample to test & verify on, all my support for airPoints is on
blind or 'someones trial and error report' basis. You should really
support OSS developers better way. Info about how to reliably load
airPoint PRO firmware to non-SB brand devices, based on the same HW
ref. design, would of course help too.
NOTE TO ALL USERS: IF YOU HAVE SMARTBRIDGES airPoint PRO (indoor or
outdoor) AND WANT BETTER AP-UTILS SUPPORT, YOU CAN SEND ME ONE SAMPLE
OF THIS DEVICE. OTHERWISE THERE WILL APPARENTLY BE _INCOMPLETE_ SUPPORT
EVEN IN FUTURE! THE LAST APPO I I'VE SEEN IN BAZAAR THAT I WAS PLANNING
TO GET IN ORDER TO IMPROVE SUPPORT IN AP-UTILS, HAS BEEN JUST SOLD
OUT, SO MY PLANS ARE GONE. I'M NOT WILLING TO PAY LIKE $350
FOR ONE SAMPLE JUST TO SUPPORT THE WORLD. SO UNTIL SOMEONE SUPPORTS
ME WITH SAMPLE DEVICE TO TEST ON, MY SUPPORT FOR SmartBridges
APPO in AP-UTILS IS _OVER_ (and this round of patches is apparently
the last effort to improve support in this area).
I'LL ALSO ACCEPT ANY DEVICE THAT USES THE SAME FIRMWARE / MIB
AS SMARTBRIDGES airPoint PRO.
You can contact me about the subjects above via e-mail at
.
Dedicated to memory of cat Micka, my pet.
* EZYNET-enhanced AP firmware is now freely available! Read more about
its availability, upgrade possibilities and caveats in README,
section 'Firmware available free of charge for ATMEL12350 MIB
devices' !!!
* renamed all references of 'VERNET' to 'EZYNET' (true vendor name)
* renamed all references of 'TELLUS' to 'GEMTEK' (Tellus, SparkLan,
etc. appear to be GemTek subsidiaries or at least they seem to use
firmware from GemTek. If someone knows I'm wrong with this
conclusion, please let me know).
* note: my primary focus is on support for devices running firmware
0.2.x.x, equipped with flash memory AT29LV040A (TSOP1), and
second SRAM, such as Tellus A14, SparkLan WX-1590L, etc.
Easy way of how to tell that the device has second SRAM, is
presence of (poor, locky) web management interface. Older devices
with single SRAM may be supported too, but my older test equipment
is restricted to W-Link WEN2021 and I-TEC AP GOLD / blue, which means
that support for other old ATMEL flavours may or may not work,
despite all effort towards supporting them.
* README:
- added entries for supported APs: i-Tec AP GOLD (black front),
InterEpoch IWE1000A, OSBRiDGE m2410/p2410, SparkLAN WX-1590,
SparkLAN WX-1590L, D-com WX-1590 web, BOSSWAP
- the supported AP table is now sorted according to manufacturer name
- added section 'Firmware available free of charge for ATMEL12350 MIB
devices'
- made WARNING notices more accurate
* THANKS:
- added entry with thanks to EZYNET
* Makefile.am:
- reordered directory components so that 'intl' and 'po' will be
built as last ones. This helps on systems with old/broken auto*
tools, where building 'po' may fail (it still will do, but its
failure now wont prevent building other components).
* Documentation/mibs-atmel:
- created & populated with all AT76C510 MIB prototypes that should
be supported by ap-utils
* ap-gl/ap-gl.c, ap-gl/stations.c:
- backport of few changes from respective counterparts in src/,
to stay compatible with changed color scheme definitions
and format of 'Stations' output (btw, there is now no difference!)
* ap-gl/auth.c:
- backported few non-invasive changes from auth.c
* lib/ap-utils.h:
- added DONE_WRITING_APCONF & ERR_WRITING_APCONF, since they are
now referred from connect_options() as well as get_opts()
- added new structs AssociatedSTAsInfo_ATMEL410,
AssociatedSTAsInfo_ATMEL12350, NetworkSettings_ATMEL410_SBRIDGES
and NetworkSettings_ATMEL12350_EZYNET in favour of unified support
across most available vendor-enhanced MIBs
* lib/common.c:
- connect_options() is now verbose about status of writing
~/.ap-config file, through DONE_WRITING_APCONF & ERR_WRITING_APCONF
- bugfix: fixed ap_vendorexts[ap_type][] boundary check error;
no more segfaults when manually specifying MIB type as "ATMEL12350"
- bugfix: get_mib_details() no longer relies on OUI part of device's
eth. MAC address as authoritative info for MIB vendor extension
determination. This was 1. giving totally fake results
if someone changed device's MAC, and 2. giving false results
for people with devices whose firmware has had certain MIB vendor
extensions available (for example SparkLan users with GEMTEK
firmware). Autodetection should now work for much broader range
of devices with AP firmware.
* lib/file.c:
- added functionality for HOME, END, PGUP and PGDN keys
* lib/input.c:
- bugfix: in get_value(), use wmove()/wrefresh() instead of wechochar
with 0x08 char. (backspace) as parameter - this fixes visual effect
of disrespecting leftmost bound on platforms with older ncurses
- bugfix: get_mac() now forces user to specify all 12 numbers of MAC,
avoiding ambiguous results
* lib/menu.c:
- squeezed the number of wrefresh(menu) calls to a minimum
- mark and highlighting of current menu item are now
cleared/restored upon entering/leaving atmel_set_oeminfo()
* lib/oui.c: added OUIs:
- 000F3D (D-Link Corporation)
- 00112F (ASUSTek Computer Inc.)
* lib/scr.c:
- simplified & unified 'Stations' menu output section in
scroll_rows() - it is now used for all ATMEL AP types.
Part separately dealing with APs using SmartBridges firmware
has been eliminated.
- shorten screen output of print_top_rssi()
- bugfix: in scroll_rows(), clear_main(3) changed to
clear_main(row), to make the first-row offset of scroll list
really configurable (required by auth.c)
* lib/set_community.c:
- left boundaries of community fields now start at offset 37
* lib/set_oeminfo.c:
- now also shows board VID & PID
- added possibility to configure # of calibrated channels
Reached 100% compatibility with original utility.
* lib/snmp.c:
- removed RETRIES constant. Instead, snmp_retries now keeps
the default amount of retries. This was somewhat necessary,
as we may eventually influence amount of retries one snmp() call
will attempt, in src/aplink.c
* lib/test.c:
- since test() is not yet ATMEL12350-ready, temporary kludge
has been added to disable this menu for devices with
such a MIB
* lib/wlan.c:
- bugfix: fix utility crash, that could previously happen if
someone changed value of Fragm. threshold from default to
value < length of typical expected SNMP response packet,
on device managed with ap-config via wireless port.
The return value of snmp() is now checked against the number
of varbinds members entering snmp() (it covers return value
<= 0 as well).
NOTE: IT IS _VERY_ UNWISE AND RISKY TO CHANGE 'RTS threshold'
AND 'Fragmentation threshold' VALUES ON DEVICE MANAGED VIA
WIRELESS PORT, SINCE THEY HAVE DIRECT IMPACT ON PACKETS TRANSMITTED
VIA WIRELESS PORT, AND IF THE VALUE IS BEHIND CERTAIN THRESHOLD,
THE DEVICE MAY BECOME COMPLETELY _UNMANAGEABLE_ VIA WIRELESS PORT.
If this happens and you have management access to the device
via wireless port only, you may try your favourite *-snmp tools to
restore RTS threshold and Frag. threshold settings to their
default value (2346), but if this fails, the only real way left
to fix these values would be through ethernet or USB port. Beware!
* lib/set_oeminfo.c, lib/sysinfo.c, lib/wlan.c:
- bugfix: changed assumption about selection of proper length
sysDeviceInfo OID - this cant be distinguished based on ATMEL MIB
type, since, for example, NETGEAR ME102 MIB has ATMEL12350 MIB, but
has length of this structure 128 bytes (which most ATMEL410 MIB
equipped devices have). Now the proper structure is selected
based purely on length of response returned on SysDeviceInfo
SNMP query - should 'fix' all places that deal with values
generated by query to SysDeviceInfo OID
* src/aplink.c:
- newly introduced. Embeds atmel_aplink(), which is bound
to 'AP link' entry in the 'Info' menu. This entry allows to
monitor link state of the device in APclient or WRepeater mode.
It will inform user whether the APclient device is actually
associated to the AP or not, and if yes, what is the RSSI level of
the link (as well as Link Quality in case of device with
SmartBridges firmware, or actual connection speed in case of device
with EZYNET firmware), MAC of joined BSSID, ESSID, and used
RF channel.
RSSI top value per entire measurement session is also available.
Since the RSSI indication may be somewhat unstable (at least
with EZYNET firmware), showing of RSSI average from up to
99999 samples has also been implemented.
Note that the code will currently only work for ATMEL410 / SBRIDGES
or ATMEL12350 / EZYNET MIB devices, as MIBs of firmware from
other vendors does not seem to support NetworkSettings OID.
Exception is ATMEL12350 / NONE (NetGear ME102), whose APCLientInfo
OID is capable to give connection status too, but is not currently
implemented, since it uses different OID & structure and I do not
possess ME102 board to test with (TODO).
* src/ap-auth.c:
- hardened input validation for the '-i ' parameter (according to
get_ip() in lib/input.c)
- added AP MIB type autodetection => utility will now also work
for devices with ATMEL12350 MIB. Devices with NWN MIB are yet
to be supported (TODO).
- assigned credits to Teemu
* src/ap-config.c:
- added definitions for several 'should be defined by default' color
pairs, that are actually used in bargraph code of aplink.c .
Previous pairs 1,2,3,4 were redefined to 11,12,13,14 to avoid
clash with 'standard' color pairs above. This change has been
propagated to all files dealing with color pairs.
* src/ap-mrtg.c:
- the same level of changes as in src/ap-auth.c. As side result,
it is no longer needed to specify AP MIB type (it will be
autodetected).
- bugfix: take into account different length of wirelessStatistics
structure in ATMEL12350 MIB & EZYNET extensions => '-t w'
will now also work for devices with this MIB & extensions.
- bugfix: restrict the '-t l' to ATMEL410 MIB devices in APClient
mode (ATMEL12350 MIB devices usually do not return any LinkQuality
indicators in wirelessKnownAPs structure).
* src/ap-tftp.c:
- introduced tftp client for upgrading ATMEL-based AP firmware.
Should work with boards utilising either 1.4x.y firmware (generally
AT76C510+INTERSIL boards, such as D-Link 1150, W-Link WEN-2021,
SmartBridges APPO, etc.), and boards utilising 0.x.y.z firmware
(generally AT76C510+RFMD boards, such as Tellus A14, Sparklan
WX-1590L, NetGear ME-102, OSBRiDGE p2410/m2410, etc.).
Use with care and NEVER EVER try to use this utility to upload
firmware that is from different vendor than your AP, unless you
perfectly know what you are doing, of course - otherwise,
you may irreversibly turn your AP into paperweight quite easily.
ATMEL APs are well known for their general firmware upload
design flaw (no authorization necessary for firmware upgrade),
that has caused many destroyed APs by joe-blow users uploading
incorrect firmware, and even APs destroyed by malicious users
that have intentionally uploaded incorrect firmware. See manpage
for details.
You have been warned.
* src/ap-trapd.c:
- recognise ATMEL12350 enterprise ID => will now react to traps
sent by devices with ATMEL 12350 enterprise MIB
- will now also print Trap number along with its string
representation
- bugfix: fixed problem with printing trap strings from
non-SmartBridges traplist when '-s' given, and vice versa
* src/auth.c:
- introduced as replacement for old 'auth_mac.c'. Simple 'auth'
name reflects its purpose better - it now contains not just
MAC-based "auth.", but also other auth. types (Radius, 802.1x)
based on the available MIB vendor "extensions".
- now properly distinguishes between authorization error and
invalid data error for SET snmp() operation. Particularly imporant
when user tries to enter Config/MAC Auth menu with user community
(which only permits reading, but not writing, and since writing
is basically required even for pure showing of authorized MAC
addresses, we need to distinguish these errors).
If the AP is accessed with 'user' community and it has record(s)
in MAC auth. list, it will print '(insufficient community used)'
in the first row of the MAC auth. list field.
public
- bugfix: it is now possible to delete last MAC entry too
- bugfix: when no MAC address left on the list, disallow 'Delete'
function
- should now be ready for move to lib/. (and purging in src/)
- it is now possible to 'escape' from prompt that appears after
pressing 'd' (delete MAC), upon entering '0'
- by default, if number of defined MACs is greater than the
visible scrolling area, the list tail will be shown
- if adding new MAC addresses, the list will advance to the last
(currently added) MAC entry to show its position in the MAC table
- added functionality for HOME, END, PGUP and PGDN keys
- added functionality for extra Auth. enhancements present in
ATMEL410 MIB with SBRIDGES extensions (Radius auth.), and
in ATMEL12350 MIBs with EZYNET extensions (802.1X auth.)
- now properly distinguishes MIBs with 2-mode AuthorizationMacEnable
OID, and those with 3-mode AuthorizationMacEnable OID
- added check against entering duplicated MAC to the MAC table
* src/bridge.c:
- bugfixes: since SBRIDGES and GEMTEK represent same lvalue, each
occurence of ap_vendorext comparison with value SBRIDGES or GEMTEK
must be and-ed with result of comparison against ap_type value
or all sorts of weirdness may occur (such as non-working options
for specific vendor extensions, although they normally should)
- bugfixes: revised presence of all OIDs in all actually supported
vendor-extended MIBs. Result: all available OIDs relevant to
this menu should now also be correctly supported on devices
with SmartBridges APPO firmware and NetGear ME102 device firmware.
- Label 'Wireless' for config-enabled port mode changed to
'Wireless (can be risky)'. I've finally made a resolution
to step forward in this - setting config-enabled port to
wireless-only can even be deadly for non-USB equipped devices,
if configured improperly, if no second ATMEL-based device
is handy for fixing conf. on the peer via its wireless port,
for outdoor installations, and in couple of other scenarios.
REALLY THINK MANY TIMES PRIOR SETTING THIS TO wireless-only !!!
* configure.in, src/Makefile.am:
- avoid needless linking with curses library for several utilities
(ap-auth, ap-mrtg, ap-tftp, ap-trapd).
* Sysinfo menu will now also show current 'Operational mode'
* bugfix: all conditions that check return value of to snmp(,i,GET)
with i > 1, changed from '<= 0' condition to '< i' condition.
This is very important in cases when the device does not return _all_
the requested varbinds members filled up, which would usually lead
either to memory corruption often followed by ap-config crash
with 'segmentation fault' reason. If there's unreliable media
between the managed device and ap-config, this could previously
happen - typically, devices managed via their wireless port
or incorrectly configured devices (bad Frag. threshold and/or
RTS threshold) may respond with incomplete replies.
* naming convention of many variables, structures and OID names changed
to respect this scheme (cosmetics, intended coding standard):
- names of several #defines changed to be descriptive as
'STATUS_DESCRIPTION'
- OID names, unless absolutely necessary, should be always named
EXACTLY after the corresponding OID name in MIBs for easier
referencing
- names of structures named after OID, should end with '_s' or
'_' followed by something reasonable
- variable names should reflect their whole purpose
2004-12-09 Roman Festchook
* lib/common.c: fixed getting additional character into AP label during autodetection
2004-12-09 Michel Robitaille
* po/fr.po: updated translation
2004-11-28 Roman Festchook
* Documentation/ap-gl.8, Documentation/README.ap-gl: info from
Documentation/README.ap-gl moved to ap-gl man page, removed
Documentation/README.ap-gl
* Documentation/README.ap-auth:
removed because all info now in ap-auth man page
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
* configure.in: version 1.5pre1_FreedomOfUkraine
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: '
- 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 , 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
previous ap-utils versions by accident
- added WARNING 1 and WARNING 2 sections (originally intended to be
in HARDWARE-NOTES, but the magnitude of their importance deserves
to put them straight into README)
* TODO: updated
* lib/ap-utils.h:
- added "(valid)" to the ERR_RET message, which more accurately
reflects what may actually happen (AP actually _may_ return
data, but in an unexpected format)
- enhanced WirelessStatistics structure for TransmittedPackets_11Mbps,
TransmittedPackets_55Mbps, TransmittedPackets_2Mbps, and
TransmittedPackets_1Mbps so that we can support functionally
enhanced firmware from VERNET WISP.
* lib/ap_search.c:
- in third column, display operAccessPointName OUI using label
"Name" instead of Wireless OUI. Makes more sense.
- made the number of APs per screen, as well as the offset at which
the info about whats actually scanned, is printed, relative
to the actual screen height (so to increase maximum hard-coded
amount of APs displayed, just switch from 80x25 console font
to a bigger one, or use X terminal window)
* lib/aps.c:
- reverted displaying back to RSSI & LQ both in % in screen 1.
This is becouse a) we want to keep as close to the view of the
original ATMEL utility as possible here, and b) huge dispersion
in dBm versus raw value of RSSI exists among different flavours
of APs, and the dBm formula unfortunately often gives results
very far from real values. So we want to display something thats
less jittering in the scope of inter-AP comparison.
- cosmetic fixes (2-line legend instead of 3-line)
- rebound the 'refresh' from 's' key to otherwise unused keys,
in favour of keyboard interface unification
* lib/common.c:
- created get_mib_details() to provide vendor-specific private
ATMEL MIB detection
- fixed a bug introduced by the 'name' patch, resulting in
omission to clear screen properly when user has given
insufficient credentials (bad password) to detect new AP type
- made the 'name'-patch code malloc-free (and memleak #2 free).
There's no point to use malloc()d space here since we dont
reuse it elsewhere (contrary to char *community).
- fixed bad variable boundary-handling introduced by 'name'-patch
that might result in crash of utility under circumstance
when ~/.ap-config didnt previously exist and user attempted
to add new AP with name of length >= 7 characters
- added possibility to skip name definition if user wants to
(useful for example when the newly added AP's IP will be used
solely for testing purposes :)
* vendor-specific private ATMEL MIB detection is now referred to
get_mib_details() everywhere
* lib/file.c:
- a lot of indentation fixes
- in get_opts(): fixed couple of bugs:
- it was possible to issue 'Connect' command when the AP list
was empty (was leading to endless loop)
- 'Delete' command failed to remove last remaining AP from the
list, ending up in endless loop (as get_value() doesnt do
sanity checking on its input paremeters)
- fixed a memleak #1 possibly introduced by 'name' patch - we need
to free char *name after its use
- in _scroll_rows(), fixed the AP MIB TYPE cutoff-by-format-string,
introduced by 'name' patch, and enhanced message size to accomodate
the true max. row size instead
- in get_opts() appended '(in ~/.ap-config)' behind the user-defined
APs list banner, to better reflect the real meaning of 'NAME'
(and other fields), to prevent someone from f.e. thinking
that the NAME here is the name stored in AP's configuration
(which it is NOT, of course).
* lib/oui.c: added OUIs:
- 000B46 (Cisco)
- 000D54 (3Com Europe Ltd)
- 000D88 (D-Link Corporation)
- 000EA6 (ASUSTEK COMPUTER INC.)
* lib/radio.c:
- fixed non-working radio menu with ATMEL12350 APs by merging the
initial TestModeRadioConfiguration and operAntennaSettings OID
modifications when ap_type == ATMEL12350
* lib/stat.c:
- replaced ERR_RET_PRESS with ERR_RET
- simplified; no more forking, goto's reduced, no need of
pipe(), alarm() or sig*jmp(); use select() for waiting -
it is now possible to quit (by pressing 'q' or 'Q') immediately.
Also, the counters now get updated immediately after pressing
whatever key != q.
- fixed a bug that, due to previous use of sig*jmp(), resulted
in lockup when attempting to quit ap-config after it has received
invalid packet, by pressing 'q' key several times
- WirelessStat(): implemented support of ATMEL 12350 functionally
enhanced MIB by VERNET WISP.
* lib/sysinfo.c:
- enhanced atmel_sysinfo() for displaying system uptime using
UpTime OID from ATMEL12350 VERNET MIB.
* lib/wlan.c:
- fixed showing/setting of BeaconPeriod value for ATMEL12350_TELLUS -
acceptable value range is now 0 - 65535 as originally intended
- new: implemented showing/setting of 'SIFS time' parameter, specific
to APs with ATMEL12350_VERNET firmware/MIB
* spelling & indentation fixes
* lib/scr.c, src/stations.c:
- implemented support for viewing statistics
produced by enhanced ATMEL 12350 firmware by VERNET
- implemented toggling of RSSI between 'dBm' view, '%' view, and
raw view - added new functions print_viewtype_rssi(), conv_rssi().
[TODO: update ap-gl/stations.c, too]
- pressing other than the selected keys will now result in refresh
of all values
2004-10-24 Roman Festchook
* lib/common.c: fix to clear display before displaying AP type
* configure.in: version 1.4.2pre1
2004-10-24 Przemyslaw Stanislaw Knycz
* po/pl.po: translation updated
2004-10-18 Roman Festchook
* lib/common.c: fix to use get_value instead of get_pass for input AP name
* po/uk.po: translation updated
2004-10-18 Teemu Kiviniemi
* src/ap-auth.c: command line utility to change the list of authorised MAC addresses added
* Documentation/README.ap-auth: some docs for ap-auth utility
2004-10-18 Aleksey Korenkov
* lib/common.c, lib/file.c, src/ap-config.c: patch that adds name to list of APs
2004-08-08 Dan Pelleg
* lib/ap_search.c: fix error when build ap-utils on freebsd.
2004-06-22 Elif Bilge Maden
* po/tr.po: Turkish translation added
2004-05-16 Roman Festchook
* configure.in: version 1.4.1
* NEWS: main changes added
2004-05-16 Michel Robitaille
* po/fr.po: updated translation
2004-05-04 Roman Festchook
* lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix
2004-04-04 Dieter Fiebelkorn
* lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix
2004-03-20 Roman Festchook
* ap-gl/bridge.c: Isolate wireless clients status displaying fixed
* lib/snmp.c: decreased timeout waiting for snmp reply packet to 1 second
* src/ap-mrtg.c: to decrease usage of network and AP CPU AP name only requested if -n option specified
2004-03-06 Roman Festchook
* src/ap-trapd.c: MAc address logging changed to common ap-utils format (without any dividers)
* configure.in: version 1.4.1pre3
2004-02-27 Roman Festchook
* lib/ap-curses.h, configure.in: updates to build with SysV curses lib if ncurses not found
2004-02-27 Daniel Eisenbud
* lib, src, ap-gl: Solaris and SysV curses build fixes
2004-02-26 Roman Festchook
* lib/sysinfo.c, lib/wlan.c: fixed Bus error when getting SysInfo structure data from AP on Sun Sparc64 processor
* po/uk.po: updated translation
* lib, ap-gl, src: removed dublicated includes
* lib/ap-utils.h, lib/ap-curses.h, configure.in: updates to build on Solaris with SysV curses lib
* THANKS: updated
2004-02-25 Vladimir N.Velychko
* Documentation/Ukrainian/*: translation spelling fixes
2004-02-25 Roman Festchook
* lib, ap-gl, src: removed including config.h from files that include ap-utils.h
* lib/ap-utils.h, configure.in: another updates to MacOS X build
2004-02-24 Daniel Eisenbud
* lib/wlan.c: fix to make ap-config able to set ESSID on powerpc and probably other bigendian machines
2004-02-22 Roman Festchook
* src/stations.c; ap-gl/stations.c: added check if AP in Client mode with corresponding warning message to user
* configure.in: version 1.4.1pre2
2004-02-21 Roman Festchook
* configure.in: updated to build under MacOS X
2004-02-10 Roman Festchook
* lib/scr.c: fixed memory leak in scroll_rows function
* lib/wlan.c: fixed wrong keys for changing values for NWN APs
2004-02-04 Roman Festchook
* configure.in: version 1.4
* NEWS: main changes added
2004-01-30 Roman Festchook
* Documentatin/README.ap-gl: added file with notes about ap-gl utility
* TODO: updated
2004-01-29 Roman Festchook
* ap-gl: changed ATMEL410 -> ATMEL_PRISM name, for safe use removed Config port blocking, merged wireless client isolation (unicast & broadcast).
2003-12-30 Roman Festchook
* ap-gl: added new utility for ATMEL410 AP with 1.4k.1 firmware and support for RADIUS auth, wireless clients isolation, Repeater mode, Config port blocking, connected APs extended info (MAC, IP, Parent IP, RSSI, LQ, Status, Port)
* lib, src, ap.gl: a lot of internal code moving from program to lib sources
* po/uk.po: translation updated
* TODO: updated
* configure.in: version 1.4pre2 "Happy New Year" release
* src/bridge.c: renamed options "Send back broadcast/unicast traffic) to Isolate wireless clients
2003-12-28 Ashley Gittins
* src/ap-mrtg.c: changes to support ATMEL12350/ME-102
2003-11-27 Roman Festchook
* TODO: updated
2003-11-27 Jacek Pliszka
* ap-utils.spec, Documentation/README.RPM: added spec file for rpm building
2003-11-25 Roman Festchook
* po/uk.po: updated
2003-11-23 Roman Festchook
* po/uk.po: updated to current sources
* src/common.c: changed copyright years to 2001-2003
* src/ap-mrtg.c: changed copyright years to 2002-2003
* src/aps.c: table header legenda increased to 3 lines
* TODO: updated with current goals and removed working now things
* configure.in: version 1.3.4pre1
2003-11-15 Jacek Pliszka
* src/ap-mrtg.c: added -n name option to ap-mrtg that, if used, checks if name of the AP polled is same as one given
2003-11-11 Roman Festchook
* src/ap-mrtg.c: fixed to return 999999999 for outgoing traffic when error connecting to AP exist
2003-10-27 Jan Rafaj
* README,THANKS,TODO: modified
* HARDWARE-NOTES: added. This should keep important hardware-related
informations that the users _must_ read prior using ap-utils.
* reverted parameters order for on_off(), menu_choose() so that
we always use order everywhere
* src/aps.c:
- made ap_viewtype global so that the selected view type
sustains for whole session
- replaced snmp() for SiteSurveyCommand scan with sendto(),
as buggy ATMEL12350 firmware does not confirm SiteSurveyCommand
reception, but goes straight to internal scanning loop.
This allows for attempts to perform SiteSurveyCommand
via wireless interface of the AP, which would previously
time out due to the reluctance of the firmware to send
confirmation, as described above.
* src/bridge.c: disallow remote BSSID option key if AP is in
Access Point mode
* src/common.c:
- again changed/corrected the order of autodetection.
We cannot check against sysDescr OID of ATMEL12350 in first step
becouse ATMEL410 devices would pass this check too and would
be falsely marked as ATMEL12350.
- added back possibility to manually select the AP type.
User is given a choice to either autodetect the device
(default), or specify type manually. The latter may have
advantage if the AP is not actually available via network.
- hide cursor again after user turns back from the subshell
* src/radio.c: implemented detection & setup functions for APs
that give response to operAntennaSettings OID query in 1-byte
format. It seems that these devices do not distinguish between
receiving and transmitting antennas. This is true even for some
APs with single antenna output (Tellus A14 as an example),
where this OID gives really no good to the sum of resulting
functionality (why would you ever need to set up which antenna
is left, right or diversity, if you got just one ? :^)
* lib/ap-utils.h, src/common.c, src/input.c:
- added new function get_pass(). This code has been taken from
common.c, modified and moved to input.c.
- AP type is now displayed once it is selected or autodetected
- maximum password length is 16 characters, not more (originally
it was 32). It is quite possible more than 16 may work
with some devices, but I've never seen an AP MIB that would
define community length > 16 characters.
- made the offsets at which the values are displayed, relative
to the length of option name strings, to ease work for
translators
- yes_no(): newly introduced
- ignore escape key presses in both get_value() and get_pass()
* src/ap_search.c:
- indentation fixes
- if connect_options() is called for discovered APs, the 'type'
argument has to be always > 0, as this is being checked
against in connect_options(). We increment it with one all
the time and decrement back after the check in connect_options().
Now, the user is not prompted for AP type in connect_options()
if he should not have to be (originally intended behaviour).
- check against duplicated responses from ATMEL410 APs. These
are also able to answer queries with 12350 in query OID. This
is now being explicitly checked for => no more duplicate
ATMEL410 and ATMEL12350 APs with same IPs in the Search menu.
- do not attempt to assign const char "public" to 'community'
variable, as we attempt to free() it elsewhere. We could use
malloc() here, but still, this would have no good reason since
user is (and should be) always prompted for a password once
he selects desired AP from the 'Search' menu, once it is found =>
all password-saving & handling parts have been removed for now.
This also fixes a crash that would occur if someone would try
to connect to an AP in 'Connect' menu, after unsuccessful
'Search' attempt.
- implemented searching per multiple network devices. This involved
modifying ap_search() and changing it to scan_local_segment(),
as well as making scan_local_segment() self-reentrant, plus
adding portable code to scan for available network interfaces
for their IP/broadcast(ptp) pairs, that are later used to scan
segments via scan_local_segment(). Thanks to Dan J. Bernstein
for an effort in writing portable SIOCGIFCONF-related code;
the current implementation is based on his ipme.c from Qmail.
No more using 255.255.255.255 as broadcast as well as source
IP scanning. Results are now accurate even on routers with
multiple network interfaces of different types. The current
ap_search() has been verified/tested with W-Link WEN2021
and Tellus TWL-A14 APs on Linux 2.2/2.4 and FreeBSD 4.9 .
- the progress is now verbose:
- each AP is shown immediately as soon as it is found
- the screen is realtime-updated with information about network
interface index, its name and AP type, currently scanned for
- it is now possible to quit from scanning process by pressing
'q' or 'Q' whenever user wants to
- do not attempt to connect to an AP by pressing a key with index
of AP that is not present in the 'found' table
* src/oui.c: added OUIs:
- 000C30 (Cisco)
- 000C41 (The Linksys Group, Inc.)
* configure.in: added check to determine whether the (struct sockaddr)
has 'sa_len' member, and if it has, #define HAVE_SA_LEN in order to
properly support network interface detection on 4.4BSD-ish systems.
Moved AC_CONFIG_AUX_DIR macro behind AC_INIT, to satisfy
newer autoconf. Also, moved template definition from acconfig.h here.
* acconfig.h: deleted (deprecated for newer autoconfs)
* src/menu.c: added hooks for keys, 'q' / 'Q', Home (PageUp), and
End (PageDown)
* src/set_community.c: use get_pass() for now instead of get_value(),
so that the passwords are hidden when someone types them in.
We should really use get_value() for this later, and make
the password hiding optional.
2003-10-21 Roman Festchook
* configure.in: version 1.3.3, added "thank you" message
* src/common.c: falling back to firstly implemented AP type autodetection order - firstly searching for ATMEL410, by default ATMEL12530
* NEWS: main changes added
2003-08-14 Roman Festchook
* configure.in: version 1.3.3-pre3
2003-09-08 Jan Rafaj
* README: added several APs to the table of supported hardware
* lib/ap-utils.h, src/ap-config.c, src/auth_mac.c: AuthMAC()
renamed to atmel_auth_mac()
* lib/ap-utils.h, src/input.c, src/test.c, src/set_community.c,
src/wep.c, src/wlan.c, src/auth_mac.c, src/bridge.c, src/common.c,
src/file.c, src/nwn_advanced.c, src/radio.c:
- get_value(): rewritten; now embeds the bounds as well as
pressed key checking. The range boundaries, the desired type
of input with respect to the acceptable characters, and the
pointer to a message to be restored, when a warning about
exceeded boundary is printed in the bottom stripe, are accepted
as four additional parameters now.
- get_ip(), get_mask(): newly introduced
- get_ip(), get_mac(): based on get_value(), with additional
bounds checking tailored accordingly and moved here from
src/bridge.c
- get_mask(): based on get_ip() with additional mask correctness
checking code moved here from src/bridge.c
- all the above functions were used to replace the respective
original input functions to match the changed prototypes
- the generic message 'Invalid value...' has been replaced
with 'Value must be in range %i - %i...'. This is printed
in bold-white/red in bottom stripe if the user input value
exceeds the predefined boundaries.
- added inet_aton()-specific includes to lib/ap-utils.h,
and removed elsewhere for multiple reasons
* src/wlan.c: fixed code displaying the ESSID - upon its change,
previously it could happen that if a newly written ESSID
would be shorter than the previous one, the loop that has been used
to display ESSID would [erroneously] expect the string to be
finished with '\0' (which is not required due to operESSIDLength),
and would display garbage with content of and length up to an
old ESSID string
2003-08-27 Jan Rafaj
* README: fixed/added some supported AP hardware entries
* lib/ap-utils.h, src/ap-config.c, src/bridge.c, src/radio.c,
src/set_community.c, src/sysinfo.c, src/test.c, src/wep.c,
src/wlan.c: hopefully the last round of changes in naming
convention
* src/bridge.c, src/wlan.c:
utility now distinguishes some extra MIB subtypes: for 410 enter-
prises MIBs: "SmartBridges" form, and for 12350 enterprises MIBs:
"Tellus" MIB form "prototype". The MIB form is being distinguished
based on the OUI part of MAC address of the device.
Other than those MIBs named above are considered "generic"
forms, becouse are very ubiquitous.
This procedure is necessary, becouse despite the fact that
many MIBs keep the same enterprises ID, they differ slightly
in OID structures (some OIDs are in one MIB and not in other,
and same OIDs even may have significantly different meaning -
this is a case of Tellus A14 MIB x NetGear ME102 MIB, f.e.).
So, unfortunately, there's no other way, but:
- make some MIB "prototypes" (aggregate those that contain
exactly the same information, based on the supported
AP models across all the device manufacturers)
- determine the correct MIB based on the OUI part of MAC
address of the device (we assume noone changes OUI part
of the MAC of his AP)
It is quite possible that this approach will need revision
in the future, but since there appears to be no 100% reliable
way of how to distinguish different device models of one
specific manufacturer, the above is currently the finest,
although still coarse enough, method to support most devices.
* src/bridge.c:
- 'Preferred BSSID' keys rebound from 'm/M' to 'r/R'
- 'Forward broadcast traffic' keys rebound from 't/T' to 'r/R'
- introduced new setting 'Trap-sending port(s)', and bound to 't/T'
key. This setting appears only if ATMEL12350 device with
"Tellus Group Co." OUI is detected.
* src/wlan.c:
- fixed 'Beacon period' input/output data formatting/displaying
- display/snag/set 'Beacon period' and 'DTIM sending interval'
options/their values only if the device uses "generic"
ATMEL12350 MIB prototype (that of NetGear ME102 for example).
This should fix crashing becouse of missing MIB OIDs for people
that use this kind of devices.
2003-08-25 Roman Festchook
* lib/ap-utils.h, configure.in: FreeBSD compile time fixes
2003-08-19 Roman Festchook
* src/ap_search.c: fixed getch delay and restoring current connect options when quiting search screen
2003-08-18 Jan Rafaj
* README, THANKS: modified
* most of string #defines moved from lib/ap-utils.h to the corresponding
modules in src - lib/ap-utils.h should keep just those that are
common to more than 1 module
* src/aps.c:
- fix bound-checking condition. Some APs with older ATMEL firmware
actually provide less space than 16 APs in its KnownAP reply,
and we also need to check for condition when lvalue of next MAC
entry in the response table is 0 (means end of statistics)
- only rewrite the current bridge_mode to 3 (AP client) if the
AP is ATMEL12350 type
* src/auth_mac.c, src/bridge.c, src/nwn_latest.c, src/sysinfo.c,
src/test.c, src/wep.c, src/wlan.c:
- stripped the formatting characters from remaining string #defines
- made the displaying value in 'Feature: value' dependant on offset
computed through strlen() from #defined string - this way,
the internationalisation is eased becouse translators dont need
to keep with original english strings size
* src/bridge.c: implemented new functionality from ATMEL 12350 MIB for:
- Configuration-enabled port(s)
- ForwardBroadcast
- SendBackBcast
- SendBackUnicast
* src/input.c: enhanced get_mac() for checking invalid MAC values
that user may type in; if he does, print generic error and loop
unless user gives syntactically correct value.
* src/radio.c: changed the 'Key' to '[key]' in bottom message for
uniformity.
* lib/ap-utils.h, src/sysinfo.c, src/wlan.c: renamed CFG_STRUCT_
{ATMEL410,ATMEL12350} to SysDeviceInfo_{ATMEL410,ATMEL12350}
* src/wlan.c: corrected offset of displayed values for features:
- InterRoaming
- BeaconPeriod
- DTIM
2003-08-14 Roman Festchook
* src/common.c: changed AP type autodetection order - firstly searching for ATMEL12350, by default ATMEL410
* configure.in: version 1.3.3-pre2
* src/aps.c: fixed connecting to choosen AP on ATMEL12350 APs in not AP Client mode
2003-08-14 Elros Cyriatan
* po/nl/po: New Dutch PO file for `ap-utils'
2003-08-11 Jan Rafaj
* next round of spelling and indentation fixes
* src/aps.c:
- made the 'KnownAP' statistics available only if the Access Point
is in AP client mode [original behaviour]. Some Access Points
may keep the statistics in their RAM, but no update is performed.
Even, sometimes, their RAM may contain garbage after reset,
which would cause parsing problems.
* lib/ap-utils.h, lib/reset.c, src/ap-config.c, src/ap-mrtg.c,
src/ap_search.c, src/aps.c, src/auth_mac.c, src/bridge.c,
src/cmd.c, src/common.c, src/radio.c, src/set_community.c,
src/stat.c, src/stations.c, src/sysinfo.c, src/test.c,
src/wep.c, src/wlan.c:
- changed all occurences of 'ATMEL' to 'ATMEL410' and
for 'ME102' to 'ATMEL12350'
* lib/ap-utils.h, src/ap-config.c, src/sysinfo.c:
- renamed sysinfo() to atmel_sysinfo()
* lib/ap-utils.h, src/ap-config.c, src/wlan.c:
- renamed wireless() to atmel_wireless()
* src/ap-config.c:
- redefined color pair 2 (black ink, green background), and defined
new color pair 3 (black ink, green background), and color
pair 4 (white ink, red background). 2 is used for showing
all string values actually changed by the user; 3 is used
for displaying column-info stripe in aps.c, and 4 is used
to display error-related messages in bottom status stripe.
* src/input.c:
- get_value() modified
* src/scr.c, lib/ap-utils.h:
- added new function print_menusel().
Prints a message split up to two parts - first part without
colors, second part in bright. Used in conjunction with get_value()
to display parameters that the user modified, in bold.
- added new function print_helperr(). This is basically the same
as print_help(), with the only difference that it prints
the text in white bold on red background. Uses color pair 4
and bold attribute; see above.
* names of all print_help() functions related to printing error
messages have been changed to print_helperr()
* src/auth_mac.c, src/bridge.c, src/radio.c, src/test.c, src/wep.c,
src/wlan.c, lib/ap-utils.h:
- implemented new colorisation scheme using print_menusel()
and get_value(), get_mac() - if user enters a new value,
the maximum space (in character counts) that can be used,
is displayed in inverse color. As soon as user confirms
the new value by pressing enter, the changed value is displayed
in bold (so that he knows what he has actually changed).
* src/bridge.c:
- when entering AP's IP, mask and gateway, do not allow
to pass further if the user input is invalid - instead, loop unless
user enters valid information
- hardened bounds checking against correct netmask value;
now, invalid netmasks like 255.255.255.129 elicits error
and forces prompt for new value, too
* lib/ap-utils.h, src/ap-mrtg.c, src/ap_search.c: placed
conditinal GLIBC checks => ap-utils now compile/run even
on non-GLIBC (LIBC5-based and such) systems, hopefully.
Actually it has only been tested with libc5-based Linux
system.
* lib/ap-utils.h, src/ap-mrtg.c, src/ap-trapd.c: placed conditional
HAVE_GETTEXT checks around parts using gettext, to get
ap-utils compile on systems without gettext support
* lib/snmp.c, src/file.c: external declaration of ap_type datatype
unified as 'short' and made global to make some old
GNU C compilers happy
2003-08-07 Roman Festchook
* src/brige.c: fixed bug when saving changed ip, netmask and gw
2003-08-07 Jan Rafaj
* various spelling and indentation fixes here and there
* all the ATMEL 12350-specific stuff below has been modelled
using Tellus A14 AP.
* src/aps.c:
- made it malloc()-free. no more potential leaks.
- 'KnownAP' now works for ATMEL 12350-based APs too
- allow of up to 16 concurrent APs to be displayed
in the 'KnownAP', as the packet itself may carry
up to 16 records (768/48). This is also a fix
becouse up to now, the menu has shown just the first
AP entry.
- The button for 'refresh without reset', originally bound to
'g' and 'G' key, has been rebound to 's' ('S') key,
since the keys a-g (A-G) are now used as keys, corresponding
to numbers 10-16 of the APs displayed, when used in
'# connect to this AP' command.
- enhanced '# connect to this AP' functionality for
also setting the appropriate channel through operChannelID
OID
- disallow connection to Ad-Hoc mode bridges
- fixed bad effect of displaying 'Writing data to AP'
after pressing AP number, even if the number of the
selected AP is not actually present in the table
- changed the color scheme to some more eye-pleasant values
- implemented 4 different "views", that can be toggled
via 't' ('T') key:
* view 1: - most usual one; with RSSI and LQ in %
[ATMEL utility view]
* view 2: - the same as 1; except that RSSI is displayed
in dBm and LQ in raw
* view 3: - ESSID shown expanded to full length,
no NetworkType; RSSI displayed in raw,
LQ displayed in raw
* view 4: - shown only BSSID, and its hardware manufacturer
- the 'KnownAP' statistics is available without reset
if the Access Point is either in any of APclient or AP modes,
not just when it is in APclient mode.
* lib/ap-utils.h:
- HARD_CONFIGURATION_STRUCT is now replaced with two new
structures: CFG_STRUCT_ATMEL (for ATMEL 410-based devices),
and CFG_STRUCT_ME102 (for ATMEL 12350-based devices).
* src/sysinfo.c:
- sysinfo() made malloc()-free, and made both ATMEL 410-
and ATMEL 12350-aware => SysInfo for APs of both ATMEL types
is now displayed correctly
* src/oui.c:
- added OUI 000CCE (Cisco Systems)
* lib/ap-utils.h, src/wlan.c:
- made it fully ATMEL 410- and ATMEL 12350-aware
(displaying/setting of additional InterRoaming, BeaconPeriod
and DTIM parameters in case of ATMEL12350). Note that
it is possible to regulate BeaconPeriod in range 0-65407
and DTIM in range 0-255, but the boundary limits may vary
with different hardware. I've tried to make as broad
range coverage as possible. Anyway, for example, Tellus A14
resets the BeaconPeriod internally to 100, if you write
it with value out of 1-1000 interval.
- rebound key for ESSID from 'd' ('D') to 'e' ('E')
2003-07-26 Roman Festchook
* src/ap_search.c, src/common.c: changed AP types ATMEL to ATMEL410 and ME102 to ATMEL12350
* src/common.c: added AP type autodetection - by default ATMEL12350
* src/common.c, src/ap_search.c, lib/ap-utils.h: now its possible to choose working AP from AP search result
* po/uk.po: updated translation
* lib/ap-utils.h, src/brige.c: bigendian fixes when setting ip, netmask and gw
* configure.in: version 1.3.3-pre1
2003-06-20 Roman Festchook
* configure.in, acconfig.h, lib/ap-utils.h: small fix to compile under OpenBSD
* po/*.po: fixed some fuzzy translations
2003-06-03 Eugen Hoanca
* po/ro.po, configure.in: added Romanian translation
2003-05-28 Roman Festchook
* configure.in, NEWS: version 1.3.2
2003-05-26 Roman Festchook
* config/config.guess, config/config.sub: updated from latest autoconf
2003-05-21 Roman Festchook
* README: new supported AP added
* configure.in: version 1.3.2-pre4
2003-05-20 Roman Festchook
* src/ap-mrtg.c: fix bug like 2003-05-20 Peter 'p2' De Schrijver patch fixes
2003-05-20 Peter 'p2' De Schrijver
* src/auth_mac.c, src/stat.c, src/sysinfo.c, lib/ap-utils.h: patch to fix ap-config for 64bit archs such as the alpha. It also fixes a minor bug on big endian machines. Patch tested on alpha, ia32, parisc and powerpc.
2003-04-29 Michel Robitaille
* po/fr.po: updated translation
2003-04-28 Roman Festchook
* README: new supported APs added
* src/auth_mac.c: small compile error with old gcc fixed
2003-04-26 Roman Festchook
* README: new supported APs added
2003-04-15 Roman Festchook
* po/pl.po: updated translation
* lib/Makefile.am: not used code exluded for faster compilation
* lib/ap-utils.h: code rearangement
* src/scr.c: some updates for more faster screen handling
* configure.in: version 1.3.2-pre3
2003-04-15 Przemyslaw Stanislaw Knycz
* po/pl.po: fix to correct displaying polish chars
2003-03-13 Roman Festchook
* README: new supported AP from SVEC
2003-02-27 Roman Festchook
* FAQ: updates
2003-02-26 Roman Festchook
* lib/*, src/*, README: added support fpr new Netgear ME102 enterprase in old Atmel mib (ME102 type)
* configure.in: version 1.3.2-pre2
2003-02-25 Roman Festchook
* README: new supported hardware from DCom removed (it's WLink hardware:)
2003-02-23 Roman Festchook
* README: new supported hardware from DCom
2003-02-23 Roman Festchook
* src/menu.c, src/input.c: added new vi-like keys to menu movement
* Documentation/ap-config.8: added info about vi-like keys to menu movement
* configure.in: version 1.3.2-pre1
2003-02-14 Roman Festchook
* TODO: support for ME102 new mib
* configure.in, NEWS: version 1.3.1
2003-02-11 Roman Festchook
* src/wep.c, src/wlan.c: fixed for warnins when compiling by egcs-2.91
2003-02-08 Roman Festchook
* src/common.c: removed unnecessary debug message
2003-02-06 Roman Festchook
* src/input.c, src/mac_auth.c, src/bridge.c. src/nwn_latest.c, src/sysinfo.c, lib/ap-utils.h: mac adresseses now dysplayed and entered like XXXXXXXXXXXX
* Documentation/FAQ: added info about new ME102 AP
* src/ap-search.c: fixed bug with closing sock descriptor after making search - what make impossible working with current AP without reconnect
2003-02-04 Roman Festchook
* src/file.c: fixed updating options file bug
2003-02-03 Roman Festchook
* src/wep.c, Documentation/ap-config.8: added info about WEP key values
2003-01-10 Roman Festchook
* src/common.c: fixed options file name mismatch
2002-12-22 Roman Festchook
* src/file.c: added keys for fast selecting one from first 9 APs, fixed coredump when parsing file in wrong format
* po/uk.po: updated translation
2002-12-16 Roman Festchook
* src/ap-mrtg.c: command line parameters parsing small fix
2002-12-15 Roman Festchook
* configure.in: build cleanups
* src/file.c, src/common.c: now connect option for many APs can be stored in file and current AP can be choosed from it
* src/*, lib/*: many code cleanups and fixes
2002-12-10 Roman Festchook
* configure.in, src/Makefile.am: fixes to build on OpenBSD
* README: new supported OS OpenBSD
2002-12-05 Roman Festchook
* README: supported hardware table updated
* configure.in, NEWS: version 1.3
2002-12-02 Roman Festchook
* src/ap-mrtg.c: fixed printing warning in non verbose mode when getting Link Quality stats
* src/ap-mrtg.c, man/ap-mrtg.8: Signal Strenght returned in dBm
2002-11-25 Roman Festchook
* man/ap-config.8: removed dead link
2002-11-25 Wolfgang Fuschlberger
* Documentation/Ovislink-HOWTO.html: updated howto
2002-11-20 Roman Festchook
* configure.in: defined LIBS and INSTALL variables to compile under QNX (nto-qnx)
* INSTALL: updated with info about installing on QNX
* README: new supported OS added
* src/Makefile.am, configure.in: removed checking for ncurses libs and LIBS difinition moved to Makefile (I think its wrong but useful:)
* src/aps.c, man/ap-config.8: RSSI now displayed in dBm (thanks to Ivan Korshun)
* po/*.po: translations updates
2002-11-11 Michel Robitaille
* po/fr.po: updated french translation
2002-11-10 Roman Festchook
* man/*.8: removed referrer to ap-atmel and ap-nwn
2002-11-10 Dan Pelleg
* src/wlan.c: patch to build on FreeBSD
2002-11-04 Wolfgang Fuschlberger
* Documentation/Ovislink-HOWTO.html: howto use ap-utils with Ovislink hardware
* README: new supported hardware from Ovislink
2002-11-01 Wojciech Puchar
* po/pl.po: polish localization
2002-11-01 Roman Festchook
* lib/common.c, po/*.po: spelling fixes
2002-10-31 Roman Festchook
* src/aps.c: fixed getting info from APs manufactured by CC&C Technologies
* po/*.po: translations updates
2002-10-30 Roman Festchook
* README: new supported hardware
* src/aps.c: check for right channel added
2002-10-29 Rahul G
* lib/ber.c: function to ber encode object identifiers added
2002-10-24 Roman Festchook
* configure.in, NEWS: version 1.2
2002-10-21 Pawel P. Kaszynski
* README: new supported hardware from Intellinet
2002-10-17 Michel Robitaille
* po/fr.po: updated french translation
2002-10-15 Roman Festchook
* configure.in: more fixes to compile under netbsd
2002-10-11 Roman Festchook
* lib/common.c: added option to disable saving connect options to file
2002-10-10 Roman Festchook
* src/wlan.c: fixed fail to set essid because wrong len
* Documentation/mib/atmel: new mib added form airBrige device
* src/ap-trapd.c, man/ap-trapd.8: added support for Smartbridges
airBrige traps, run utility with -s key
* src/brige.c: added support for Smartbridges airBrige speciffic oid
2002-10-09 Roman Festchook
* src/brige.c: added check for getted from AP values
* configure.in: added CC variable to compile under netbsd
* README, INSTALL, mib/ap-config.8: updates about merging utilites to ap-config
2002-10-07 Roman Festchook
* src/ap-config.c, lib/common.c, lib/ap-search.c: connect and
search procedure updates
2002-10-07 Dan Pelleg
* lib/ap-search.c: fix to compile under FreeBSD
2002-10-03 Roman Festchook
* src: ap-nwn and ap-atmel merged to one utility ap-config
* lib/snmp.c: decreased timeout waiting for reply from agent - in general it result more faster read SNMP data
2002-10-02 Roman Festchook
* common/ap-search.c: socklen_t variables redefined to uint32_t for build package under MacOS-X
* common/file.c: char variable j redefined as unsigned to socessful build where char is per default unsigned on arm, powerpc and s390.
* nwn/wlan.c: form handling code cleanups, fixed display refreshing after changing antenna and rate options
* README: new supported hardware
* configure.in, NEWS: version 1.1.1
2002-09-29 Roman Festchook
* nwn/advanced.c, man/ap-nwn.8: added some advanced options to optimize long range links and antenna tuning
2002-09-28 Roman Festchook
* atmel/aps.c: now after setting master AP from displated list also setted mode to AP client and ESSID to master AP ESSID, also now AP resets when getting stat only if brige mode = Access Point
* nwn/reset.c, nwn/ap-nwn.c: added option to reset AP
* atmel/wep.c: WEP encryption after fixes works - tested WEP64 crypted link between CompexWP11 and GL2411AP as client
* atmel/ap-trapd.c, man/ap-trapd.8: updated traps list with new traps from 1.4j.1 firmware
* atmel/brige.c: added Repeater mode to Brige modes
* nwn/nwn.c: now possible to define 4 WEP keys and choose default key
2002-09-26 Roman Festchook
* atmel/ap-mrtg.c: small fixes about link quality displaying
* atmel/ap-trapd.c: small log format changes
* README: new supported hardware Smartbridges airBrige and airPoint
2002-09-20 Roman Festchook
* configure.in, NEWS: version 1.1
2002-09-19 Roman Festchook
* atmel/aps.c: interface updates
* po/uk.po, po/fr.po: small translations update
2002-09-19 Andy Igoshin
* atmel/radio.c: now wors fin on big_andian
2002-09-17 Andy Igoshin
* common/ap-utils.h, atmel/wlan.c: basic rates display fix
* man/*.8: man page formatting updates
2002-09-17 Roman Festchook
* nwn/stations.c: rewrited code that get associated stations info to avoid problems with invisible stations
* nwn/stations.c, atmel/stations.c: fixed display last value problem
* po/uk.po, po/fr.po: small translations update
2002-09-16 Roman Festchook
* nwn/stations.c, atmel/aps.c, man/ap-atmel.8, man/ap-nwn.8: display linkquality and signal strenght without any modification on returned values, documentation updates about it
* po/uk.po: translation update
* atmel/aps.c: added option to connect to one of the displayed known APs, also now possible reget and refresh (with reset) stats
* atmel/ap-mrtg.c, man/ap-mrtg.8: aded option to reset AP when getting link quality stats, documentation updates about it, also after reset 10 second timeout set
2002-09-15 Andy Igoshin
* atmel/ap-mrtg.c, atmel/aps.c, atmel/bridge.c, atmel/cmd.c, atmel/stat.c,
atmel/stations.c, atmel/wep.c, atmel/wlan.c, common/ap-utils.h: code cleanups
* nwn/sysinfo.c: code cleanups
2002-09-12 Andy Igoshin
* configure.in: small fix for AIX
* atmel/auth_mac.c, atmel/wep.c: case statement code cleanups
* atmel/auth_mac.c: now works good with big_endian
* common/ap-utils.h: additional macros for data conversion on big_endian
* atmel/brige.c: removed any ip adderess converting on big-endian arch
* atmel/wep.c: now encryption enable and key num works good with big_endian
2002-09-12 Roman Festchook
* nwn/sysinfo.c: removed any ip adderess converting on big-endian arch
* atmel/auth_mac.c: changed type to mib defined
* common/ap-utils.h: swap2 definition to little_endian arch
* atmel/wep.c: some variables declaration moved to up to compile on old gcc compilers
2002-09-11 Roman Festchook
* atmel/wlan.c: fixed unpackeing RegulatoryDomain on big_endian computers
* atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess converting on big-endian arch
2002-09-11 Andy Igoshin
* atmel/sysinfo.c: fixed displaying RegulatoryDomain on big_endian computers
* configure.in: OS definition now standart macro, AIX compilation options
* atmel/auth_mac.c: mac auth foxes for big_endian
2002-09-08 Andy Igoshin
* atmel/Makefile.am, common/Makefile.am, common/ap_search.c,
common/menu.c, common/scr.c, nwn/Makefile.am: patch to compile
by native compiler under AIX 4.3.3
2002-09-08 Roman Festchook
* README: new supported hardware Micronet SP918 and OS AIX 4.3.3 added
* configure.in, common/ap-utils.h, acconfig.h: now big_endian defined
using standart configure macro AC_C_BIGENDIAN (thanks Andy Igoshin
for suggection)
2002-09-06 Roman Festchook
* atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess displaying on big-endian arch
* README: new supported OS MacOS-X
* configure.in: new big_endian arch Power Macintosh
2002-09-04 Roman Festchook
* nwn/wlan.c, atmel/wlan.c: fixed setting channel bug under
Spain and France regulatory domain
* man/nwn.8: additional info about Search AP option
* README: new supported hardware Dlink-1000AP
* nwn/auth_mac.c: displaying mac autorization status fixed
2002-09-02 Roman Festchook
* configure.in, NEWS: version 1.0.5
* po/uk.po: ukrainian translation updates
2002-08-29 Roman Festchook
* atmel/ap-mrtg.c, man/ap-mrtg.8, aclocal.h, configure.in, INSTALL: enable report to MRTG when unable to get stats
from AP now sturtup option, also command line arguments now parse using getopt() in ap-mrtg
* atmel/ap-trapd.c, man/ap-trapd.8, aclocal.h, configure.in, INSTALL: option to change defaul unprivileged user
now sturtup option, also command line arguments now parse using getopt() in ap-trapd
* atmel/brige.c: entering AP mac address in Client mode fix
* common.c, configure.in: macro for check big-endian arch (sparc and mips) now set variable AP_BIG_ENDIAN
2002-08-28 Roman Festchook
* atmel/*.c, nwn/*.c, common/*.c: getting pressed key fixes to avoid reactions to neutral keys pressed by user
2002-08-28 Michel Robitaille
* po/fr.po: french localization
2002-08-27 Roman Festchook
* atmel/stat.c, atmel/test.c, atmel/sysinfo.c, nwn/stat.c: applayed macro swap4 from Erik Rossen for display long values
* configure.in: macro for check big-endian arch (sparc and mips) added
2002-08-27 Erik Rossen
* common/ap-utils.h: added swap4 - a quick-and-dirty macro to unconditionally swap bytes in 4-byte integers between big-endian and little-endian ordering
* INSTALL: instruction to compile under Sparc Linux
2002-08-26 Roman Festchook
* README: updates and spelling
* atmel/test.c: user interface in test mode improvements and fallback when error reading test stat from AP now will not quit tests to make possible restoring normal AP functionality, regulation domain restriction removed
2002-08-19 17:42 Dan Pelleg
* nwn/ap-nwn.c: minor change for compile under FreeBSD
2002-08-08 22:56 Roman Festchook
* configure.in, NEWS: version 1.0.4
2002-08-02 20:29 Roman Festchook
* configure.in: moved configuration utilites into config dir
* atmel/*.c: code rewrited to don't use struct to unpack data that
comes from network (as suggect Erik Rossen its may fix problems
running utility on nonintel computer architectures).
2002-07-24 01:06 Roman Festchook
* configure.in, common/common.c, acconfig.h, INSTALL: added compile
time option to disable regulation domain channel restrictions
2002-07-22 00:02 Roman Festchook
* man/ap-atmel.8, man/ap-nwn.8: added manpages for ap-atmel and ap-nwn
2002-07-21 20:02 Roman Festchook
* man/ap-trapd.8, man/ap-mrtg.8: added manpages for ap-trapd and ap-mrtg
2002-07-21 15:06 Roman Festchook
* nwn/stations.c, atmel/auth_mac.c: getting data from AP algorithms
optimization
2002-07-21 01:24 Roman Festchook
* common/oui.c: added displaying AP manufacturer using OUI value
* README: spelling fixes
2002-07-18 14:53 Roman Festchook
* nwn/stations.c: added info about waiting for data when getting
data from AP
2002-07-16 01:04 Roman Festchook
* configure.in: version 1.0.3
* common/ap_search.c, common/set_community.c: code of search and auth
functions moved into common for both utilites functions
* Makefile.am: now packages will be compressed by bzip2 (to save
bandwith)
2002-07-15 19:31 Roman Festchook
* common/scr.c, common/common.c, common/ap-utils.h: added info about
current AP at right bottom of the screen
2002-07-14 00:20 Roman Festchook
* po, intl, m4: integration with GNU gettext for simlying localization
and translation
* src: a lot of internal code optimization and spelling
* nwn/search.c: AP search fixes
* po/uk.po: ukrainian localization
2002-07-07 gettextize
* Makefile.am (SUBDIRS): Add intl.
(ACLOCAL_AMFLAGS): New variable.
(EXTRA_DIST): New variable.
* configure.in (AC_OUTPUT): po/Makefile.in, m4/Makefile.
2002-07-07 05:20 Roman Festchook
* ap-trapd: log additiomal info about agent that generate trap
2002-07-05 02:00 Roman Festchook
* common/ap-cnf.h, *.c: common/ap-cnf.h renamed to common/ap-utils.h
* nwn/menu.c, atmel/menu.c, common/menu.c, common/ap-utils.h,
common/Makefile.am: menu handling code rewrited to one universal
routine
2002-07-04 15:44 Roman Festchook
* configure.in: version 1.0.2
2002-06-29 20:15 Roman Festchook
* nwn/search.c: error messages fixes
* configure.in: added test for Linux
* atmel/ap-trapd.c: fixed displaying new IP when SettingPingIPAddress
trap received, also displaying mac address limited to related traps,
bind to device code compiled only at Linux
* Documentation/README.trapd: info about bind to device option code
work only at Linux
* Documentation/THANKS: new contributor Dan Pelleg
* common/ap-cnf.h, README: changed project name to Wireless Access
Point Utilites for Unix
2002-06-28 17:14 Roman Festchook
* atmel/Makefile.am, nwn/Makefile.am, common/Makefile.am: added options
to compile on FreeBSD
2002-06-28 16:45 Dan Pelleg
* atmel/ap-atmel.c, atmel/ap-mrtg.c, atmel/ap-trapd.c, atmel/bridge.c,
atmel/radio.c, atmel/search.c, common/common.c, common/file.c,
common/snmp.c, nwn/ap-nwn.c, nwn/search.c, nwn/sysinfo.c, nwn/wlan.c:
patch to compile and run on FreeBSD
2002-06-26 15:53 Roman Festchook
* configure.in: version 1.0.1
2002-06-24 23:40 Roman Festchook
* ap-trapd: by default installed into '/usr/local/sbin'
* src: code cleanups and compiler warnings fixes
2002-06-21 16:34 Roman Festchook
* */Makefile.am: added target style
* atmel/ap-mrtg: code rearangement
2002-06-17 09:24 Roman Festchook
* README: ap-amtel does work with an D-Link DWL 900AP wich is
(according to some google research it's an Linksys WAP11). Reported
by Jens Link .
2002-06-16 18:48 Roman Festchook
* ap-trapd: added compile time option to set nonprivileged account
for running utility
2002-06-16 03:12 Roman Festchook
* Makefile: now Makefiles generated by GNU autoconf and automake
* INSTALL: updated with info about new instalation procedures
* ap-mrtg: added compile time option to disable warnings when unable
to get data from AP
* atmel/aps.c: removed unnecessary code that read/set remote brige
BSSID
* atmel/search.c, atmel/wlan.c, nwn/search.c, nwn/wlan.c: compile
time warnings fixed
2002-06-15 02:10 Roman Festchook
* ap-atmel: added try to restore settings when fail to get KnownAPs
info
2002-06-09 23:33 Roman Festchook
* version: 1.0
* ap-mrtg: removed email from usage message
* ap-mrtg and ap-trapd code: placed into atmel directory
* Makefile: some optimization at subdirs and at top level
* Documentation: mibs now back to package
* NEWS, AUTHORS: added
2002-06-08 01:03 Roman Festchook
* ap-trapd: fixed getting data from old trap body when processing
new trap
2002-06-06 14:29 Roman Festchook
* ap-trapd: rewriten to log shorter messages without informative
data lost
* Documentations: some updates for preparing to version 1.0
2002-06-05 00:01 Roman Festchook
* ap-atmel: added warnings in potentially dangerous options:
KnownAPs, Reset, Upload, Defaults, Restore
2002-06-01 00:20 Roman Festchook
* version: 1.0pre3
* ap-mrtg: added selecting AP to which get
Link Quality/Signal Strenght statistics, also updated documentation
2002-05-31 00:50 Scott L. Thomas, Roman Festchook
* ap-mrtg: option to get Link Quality/Signal Strenght stat from AP in
client mode added
* Documentation/README.mrtg: description about getting Link
Quality/Signal Strenght stat from AP in client mode added
* Documentation/README.nwn: added info about basic rates setting
* ap-atmel, ap-nwn: added backspace support when entering password
2002-05-30 14:05 Roman Festchook
* ap-trapd: option to bind listening for traps
on a specific interface added
* Documentation/README.trapd: option to bind listening
for traps on a specific interface described
* Documentation/README.nwn: added info about associated stations
2002-05-29 19:30 Roman Festchook
* ap-nwn: fixed basic rates, AP name and ESSID displaying
* ap-atmel, ap-nwn: some optimization for size
* snmp.c: memory leaks fixes when parsing received packets
* ap-nwn: uptime displaying fixed
2002-05-27 00:03 Roman Festchook
* version: 1.0pre2
* ap-atmel: added Regulation domain restriction to select channel
in Test Mode
* ap-atmel, ap-nwn: added floating dropdown menus for choose from
the list of options
2002-05-26 16:45 Roman Festchook
* ap-nwn: fixed lenght bug in setting AP name
2002-05-25 14:05 Roman Festchook
* Documentation: added banner image:))
2002-05-22 00:19 Roman Festchook
* version: 1.0pre1
* Documentation: additions and spelling
* src: removed unused code
2002-05-21 20:06 Roman Festchook
* ap-nwn: added option to find connected APs
2002-05-20 01:37 Roman Festchook
* ap-nwn: added basic rates choose options, added WEP key set options,
added setting prefered channel to operational channel value
* Documentation: mibs excluded from program package (they come with
devices), also excluded power hack docs (readme has links to this
pages) - this greatly reduce package size:)
2002-05-18 19:51 Roman Festchook
* ap-atmel: fixed bug with unable to repeat APs search,
other search fixes and improvements
2002-05-17 15:51 Roman Festchook
* version: 0.9.6
* ap-atmel: added option to find connected APs
2002-05-16 00:12 Roman Festchook
* atmel/aps.c: removed timeout when getting KnownAPs stat
from AP in client mode
2002-05-15 20:57 Roman Festchook
* ap-mrtg: added option to get associated stations stat
* README.mrtg: info about stations stat
2002-05-11 08:49 Erik Rossen
* src: fixed compile time errors and warnings
* atmel/scr.c, nwn/scr.c: patch to get rid of the annoying flicker
every time one changes a menu
2002-05-06 02:42 Roman Festchook
* common/file.c: now AP ip and community string saved
in config file ~/., so no need to
input it after each program start
* common/common.c: connection password at input
displayed with '*'
* wlan.c: added Regulation Domain limit on setting channel
* atmel/aps.c: Now KnownAP stat may be get without AP reset if AP
in client mode
* atmel/radio.c: Antenna checks on Atmel, so user can't disable both
antenna, if he do this and save conf - AP restores factory
defaults, now it fixed
2002-05-05 22:39 Roman Festchook
* common/file.c: now Associated Stations list
may be saved to file ~/.stations.
2002-05-04 23:26 Roman Festchook
* version: 0.9.5
* README.atmel: added description of most configuration options
* Documentation: updated documentations
* source tree: changed structure
* ap-cnf: renamed to ap-atmel
2002-05-04 18:46 Roman Festchook
* ap-nwn: added utility to config Compex WP11
2002-05-02 18:46 Roman Festchook
* ap-atmel/auth.c: fixed mac number error when deleting addresses
from list
* snmp.c: now returned from agent oid accessible in program
2002-05-01 17:43 Roman Festchook
* snmp.c: added support for Compex WP11 SNMP-agent
2002-05-01 13:01 Roman Festchook
* FAQ: added FAQ
2002-04-30 16:40 Roman Festchook
* src/ap-trapd.c: fixed bug with SettingPingIPAddress trap message
2002-04-27 00:17 Roman Festchook
* src/sysinfo.c: added description for Regulation Domain
2002-04-23 21:12 Roman Festchook
* version: 0.9
* src/test.c: finished test mode
* docs: documentation updates
2002-04-23 19:00 Roman Festchook
* src/radio.c: added option to enable/disable antennas
* src/menu.c: small menu rearangement again:))
2002-04-22 17:08 Roman Festchook
* src/auth.c: fixed mac number error when deleting addresses from list
* src/menu.c: small menu rearangement
2002-04-15 20:20 Kucherak Sergij, Roman Festchook
* version: 0.8.2
* INSTALL, README.ap-cnf: added ukrainian docs
2002-04-15 20:01 Roman Festchook
* src/aps.c: added displaying Link Quality and Signal Strenght
2002-04-14 23:18 Roman Festchook
* src/stat.c: fixed bug, that cause unable to exit
problem when can't to get Ethernet or Wireless stat
* src/aps.c: addded showing Preambule and Wep, also fixed
bug with displaying Network Type
* src/test.c: added unknown OID (see doc/todo),
test mode still not work
* src/snmp.c: fixed some warnings from gcc version pre3
2002-04-14 00:12 Roman Festchook
* src/ap-cnf.c: showing cursor when entering
password/community in connect screen
2002-04-12 00:14 Roman Festchook
* src/auth.c: fixed displaying and setting mac authorization status
2002-04-07 22:32 Roman Festchook
* version: 0.8.1
* src/menu.c: added printing tips to all menu options
2002-04-07 13:52 Roman Festchook
* src/Makefile: added 'install' option
2002-04-06 23:50 Roman Festchook
* name: changed name to Access Point SNMP Utils for Linux
* src/stat.c: added mac address displaying in SysInfo,
correctly printed sysinfo string
* README: splited docs at top level directory - added
INSTALL and README.util, added additional info
2002-04-04 22:50 Roman Festchook
* src/ap-trapd.c: after opening socket changed UID and GID
to non root user, I think it's more secure; also
added check from what enterprise this trap came
* src/ap-cnf.c: added info about not displayed characters
when entering password/community
2002-04-04 01:12 Roman Festchook
* src: added info about retrieving/setting data on help string
* src/aps.c: more informative help string
* src/menu.c: option APs renamed to KnownAPs
2002-04-02 14:34 Roman Festchook
* version: 0.8
* src/aps.c: more verbose info when searching for APs
* README: added warnins about using Statistics/APs option
and info about ap-trapd
* src: code cleanups to remove some warning when compiling gcc 2.9x
2002-04-01 21:36 Roman Festchook
* src/wlan.c: fixed bug with AP name lenght when setting AP name,
this may cause ip address change like
192.168.97.32 => 0.192.168.97. So I think it's critical bug.
2002-03-31 22:58 Roman Festchook
* src/wlan.c: fixed bug with ESSID lenght when setting ESSID,
this make impossible to set ESSID in some cases
* src/trapd.c: added SNMP traps processing daemon
2002-03-27 13:58 Roman Festchook
* version: 0.7.6
* src/ap-mrtg: error reports fixes
* src/power.c: power level settings changed,
now optimal values may be experimentally choosed
2002-03-21 14:32 Roman Festchook
* src/smnp.c: conection timeout fixes
2002-03-23 23:16 Roman Festchook
* version: 0.7.5
* src/auth.c: fixed bug with mac addresses num = 65535, which mean 0,
this may cause problems configuring absolutelly new AP
* src/aps.c: more safe KnownAPs function - now it restores parameters
after requesting known aps info
* src/cmd.c: upload configuration fixes
2002-03-11 02:01 Roman Festchook
* src/snmp.c: SNMP packets assembly rewriten to work correctly
with packets which size more than 128 bytes
2002-03-09 02:15 Roman Festchook
* version: 0.7.4
* src: more verbose parameters description, removed unused code
* ap-cnf: added screen "About", just about me and my program:))
* ap-mrtg: errors printed in MRTG parsable format
* TODO: new goals
2002-03-07 11:20 Roman Festchook
* version: 0.7.3
* src/snmp.c: fixed bug with alarm handler
* src/stat.c, src/auth.c: removed mac addresses limit, added
option to save Associated Stations mac addresses to file.
2002-03-03 13:22 Roman Festchook
* version: 0.7.2
* src: many small bugfixes and code cleanups
* src/stat.c: Ethernet, Wireless and Wireless environment screens
now refreshed every second with updated data
* src/test.c: start working on test mode settings, but it not useful
for now
* README: new homepage url
2002-03-01 23:53 Roman Festchook
* version: 0.7.1-pre
* src/snmp.c: Wireless stat now count all packets not only Unicast
* src/power.c: setting power level changes
* README: changed info about setting power level
2002-02-28 00:52 Roman Festchook
* src/snmp.c, src/ap-cnf.c, src/ap-mrtg.c: connect blocks fixes
2002-02-27 20:15 Roman Festchook
* src/power.c: power level now displayed with some kind of graph
2002-02-26 14:22 Roman Festchook
* version: 0.7
* src/wep.c: added Privacy settings, please test
2002-02-25 16:44 Roman Festchook
* spelling: spelling heads up:)) (thanks Charles Henderson)
2002-02-25 14:35 Roman Festchook
* version: 0.6.1
* src/ap-mrtg.c: added utility to use MRTG for create stats graphics
* README: added info about using MRTG to request AP
2002-02-24 01:10 Roman Festchook
* src/power.c: added Signal Power settings
* README: added info about Signal Power settings
* version: 0.6
2002-02-23 16:53 Roman Festchook
* src/bridge.c: added SNMP Traps switch option
* src/wireless.c: interface improvement when setting Basic and
Supported rates
* src/auth.c: socket to AP now opened in nonblock mode
* src/snmp.c: disabled program halt when timeout data read from socket
* TODO: new goals
* THANKS: added
2002-02-21 22:52 Roman Festchook
* src/bridge.c: fixed broken setting RemoteBSSID in no
Access Point operational modes
2002-02-21 14:17 Roman Festchook
* doc/: added some docs about setting signal power
* doc/mib: added mibs from another APs
* TODO: added setting signal power
* README: added additional info
* src/: new features - new code, version 0.5
2002-02-13 23:22 Roman Festchook
* ChangeLog: There was no ChangeLog here, so I added one.
ap-utils-1.5/Documentation/ 0000775 0000000 0000000 00000000000 11172466627 0015742 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/FAQ 0000664 0000000 0000000 00000011616 11172466627 0016301 0 ustar 00root root 0000000 0000000 Q:
I try to compile ap-utils, but it complains that it can't find the menu.h
file:
[root@server src]# make
gcc -O2 -Wall -c -o ap-cnf.o ap-cnf.c
ap-cnf.c:24:18: menu.h: No such file or directory
make: *** [ap-cnf.o] Error 1
A:
You need to install ncurses and ncurses-devel packages from your distro.
Or just build and install ncurses libs from sources.
Q:
I try to compile ap-utils, but the compilation suddenly breaks with the
following errors:
gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I../lib -I../intl -I.. -g -O2 -Wall -W -c bridge.c
bridge.c:46: initializer element is not constant
bridge.c:46: (near initialization for `bridge_modes[0]')
bridge.c:47: initializer element is not constant
bridge.c:47: (near initialization for `bridge_modes[1]')
bridge.c:48: initializer element is not constant
bridge.c:48: (near initialization for `bridge_modes[2]')
bridge.c:49: initializer element is not constant
bridge.c:49: (near initialization for `bridge_modes[3]')
bridge.c:50: initializer element is not constant
bridge.c:50: (near initialization for `bridge_modes[4]')
bridge.c:52: initializer element is not constant
bridge.c:52: (near initialization for `bridge_modes[5]')
A:
Your gettext is not up-to-date. You need to either update gettext package
for your distro, or you'll need to completely disable NLS support for
ap-utils by appending '--disable-nls' to configure. If you do so,
the compilation may still end with an error like this:
make[2]: Entering directory `/root/work/ap-utils-1.5/po'
make[2]: *** No rule to make target `all'. Stop.
make[2]: Leaving directory `/root/work/ap-utils-1.5/po'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/work/ap-utils-1.5'
make: *** [all-recursive-am] Error 2
You may safely ignore this one.
Q:
I bought an access point. Unfortunately, the documentation does not state
what are the default community strings defined within the device.
Do you know what it is, or where I could find it out?
A:
It should be in your AP's documentation, really.
For example, the default communities for Linksys WAP11 are:
"public", "private", "linksys".
Most other devices have all three communities predefined to the same
value, such as "public", "public", "public".
If you just got an AP from someone who didnt provide you with the currently
configured community strings, and your AP has no reset button,
but has an USB port, you may try to reset AP to its default (manufacturer)
configuration using "DFU" utility (in Windows), provided by the manufacturer
of your device. *NIX variant of DFU utility is currently in progress
and should be available in one of upcomming releases.
Q:
The wireless & ethernet stats counters are reset to zero each time I grab
the KnownAP signal and quality stats. The same issue happens when
performing KnownAP scan using the ap-config program without modification.
A.
This happens because the only way to see updated KnownAPs info is to put
your device to the AP-client mode with preferred BSSID 000000000000. Device
needs to be rebooted so that this change goes into effect. As side effect
of this reboot, all counters in the device are, of course, zeroed.
After this, the utility also takes care to reconfigure device back
to its previous setting (second reset). Unability to perform KnownAP
scan while in different than AP-client mode is generally a feature
of all firmware versions for devices with INTERSIL radio.
All in all, it is a firmware feature, not a bug.
The RSSI and LQ stats may be retrieved without AP reboot (and thus
without reset of wireless & ethernet statistics counters) only if the device
is permanently set to the AP-client mode.
Q:
Can someone give me the "newbie" answer to what's the relationship/difference
between RSSI and Link Quality?
A:
RSSI = Received Signal Strength Indication. Measures only the signal
amplitude. This plays a major role in calculating the fade margin of the
link.
The Link Quality value represents how clean the signal is - it reflects
eventual degradation of radio signal transmision conditions, such as
interference, multipath reflections, etc. This measure plays a major role in
determining the data throughput. Low Signal Quality would normally mean
frequent retransmissions, dropped packets etc.
Note, that firmware for ATMEL-based devices with RFMD radio does not provide
Link Quality value (and this is a firmware feature, not a bug).
Q:
I have an ATMEL-based device with RFMD radio, use the firmware from E-ZY.NET
and the graph of RSSI value history looks very jumpy. Is this normal, or is
my link really so bad?
A:
It is normal, you dont need to be afraid. Also this is why 'RSSI average'
and 'RSSI rounding' graphs are provided for - they allow you to see
the averaged value of the RSSI over certain period of samples. Apparently,
the actual RSSI value shown reflects also the signal phase conditions
(influenced by signal reflections, and interference). So you may eventually
think of it as 'RSSI + LQ aggregated'.
ap-utils-1.5/Documentation/HARDWARE-NOTES 0000664 0000000 0000000 00000001703 11172466627 0017751 0 ustar 00root root 0000000 0000000 Tellus A14 and its clones - IMPORTANT, READ CAREFULLY:
======================================================
Users of Tellus A14 and its OEM versions (Wline A14): Beware.
The firmware 0.2.2.11 contains a SERIOUS BUG that may cause unpredictable
damage, when the AP is configured over SNMP or even via its web interface,
no matter if the manufacturer-recommended 0.0.1.15 version of SNMP
manager, or AP-UTILS, are used.
The only reliable way of (re)configuring the device is to either
reconfigure it via the supplied USB utility (ver. 0.0.5.6), or use
a different firmware in the AP, than 0.2.2.11 . At the moment, unfortunately,
we may _NOT_ recommend anyone to use AP-UTILS to configure these devices.
The progress of determining correct firmware that does not corrupt
the contents of AP's flash memory once it is reconfigured, is underway,
however, and as soon as such a firmware will be known, the relevant
information will be posted here.
ap-utils-1.5/Documentation/Makefile.am 0000664 0000000 0000000 00000001773 11172466627 0020006 0 ustar 00root root 0000000 0000000 #
# Makefile.am from Access Point SNMP Utils for Linux
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
## Process this file with automake to produce Makefile.in
man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8 ap-tftp.8
EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* mibs-atmel/*
ap-utils-1.5/Documentation/Makefile.in 0000664 0000000 0000000 00000023442 11172466627 0020014 0 ustar 00root root 0000000 0000000 # Makefile.in generated by automake 1.7.8 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Makefile.am from Access Point SNMP Utils for Linux
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
man_MANS = ap-trapd.8 ap-mrtg.8 ap-config.8 ap-gl.8 ap-auth.8 ap-tftp.8
EXTRA_DIST = $(man_MANS) FAQ Ukrainian/* Ovislink-HOWTO.html HARDWARE-NOTES README.* mibs-atmel/*
subdir = Documentation
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Documentation/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
man8dir = $(mandir)/man8
install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man8dir)
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.8*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
8*) ;; \
*) ext='8' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
done
uninstall-man8:
@$(NORMAL_UNINSTALL)
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.8*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
8*) ;; \
*) ext='8' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \
rm -f $(DESTDIR)$(man8dir)/$$inst; \
done
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
$(mkinstalldirs) $(distdir)/Ukrainian $(distdir)/mibs-atmel
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(MANS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(man8dir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-man
install-exec-am:
install-info: install-info-am
install-man: install-man8
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man8
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-man8 install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
uninstall-am uninstall-info-am uninstall-man uninstall-man8
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
ap-utils-1.5/Documentation/Ovislink-HOWTO.html 0000664 0000000 0000000 00000026120 11172466627 0021325 0 ustar 00root root 0000000 0000000
Linux and Wireless Ovislink Airlive WL-1100AP/WL-1100PCM with Intersil Prism2 Chipset
Ovislink Airlive WL-1100AP Access Point Ovislink Airlive WL-1100PCM PCMCIA Adapter
On this page you will a find a short guide on how to set up this wireless hardware under Linux.
I wrote it because when I searched google I found nothing about this Hardware.
All comments, suggestions etc. are welcome. Please contact me at wf-hp@gmx.net.
A few days ago I decided to get me a new toy. I bought a wireless LAN-Card together with an access-point (short AP) to avoid 20 metres of Twisted-Pair Cable lying through the corridors of my home.
I chose the Ovislink hardware, because on the box of the PCMCIA-card Linux was listed as an OS which supported the card. The manual of the AP which they allowed me to read in the shop said it had to be configured over SNMP. After doing a little research on google I found out, that chances were good this could be done with one of the programs from ap-utils. I hoped it would work, but I have to confess I would have also used Windows for the configuration, since the price was rather low and I badly wanted to have that thing.
I own a HP Omnibook XE3-GC (the old variant with the Savage-Chip) running Debian/sarge at the moment (in stable/woody the package ap-utils was not included) and a router running Debian/woody, which now got a second NIC (network interface card) to attach the AP.
Setting up the PCMCIA-Card
The WLAN-Card has a Prism2-Chip which is supported by linux-wlan-ng.
In this file I will only cover the relevant details for WLAN-Configuration. For the basics please refer to the PCMCIA-HOWTO.
I heard reports that this card also worked with orinoco_cs. I will continue to use prism2_cs since it is the 'official' driver-module offered by Ovislink, but I am interested in reports about using orinoco_cs, especially the differences to prism2_cs.
For Debian-users: apt-get source linux-wlan-ng pcmcia-cs kernel-source-`uname -r`
Run ./Configure in the source-directory of pcmcia-cs.
Run ./Configure in the source-directory of linux-wlan-ng and answer the following question with yes:
Build Prism2.x PCMCIA Card Services (_cs) driver? (y/n) [y]: y
The other modules (PCI- and USB-drivers) are not needed.
Compile and install (as root) pcmcia-cs (if it is not installed yet) and linux-wlan-ng by running in both of the source-directories: make && make install.
Add the following lines to the file /etc/pcmcia/config.opts. In case you are using Debian you can add it to /etc/pcmcia/wlan-ng.conf, since all *.conf-files in /etc/pcmcia/ are sourced from /etc/pcmcia/config.opts:
With this card-definition the card will be recognized correctly by cardmgr when it is inserted into the PCMCIA-slot and the module /lib/modules/`uname -r`/pcmcia/prism2_cs.o will be loaded.
Next you have to configure the files /etc/pcmcia/network.opts for the network-parameters of the WLAN-interface /dev/wlan0 and /etc/pcmcia/wlan-ng.opts for the WLAN-configuration itself. Both files are commented thoroughly and the names of the variables are rather self-explaining.
This is my /etc/pcmcia/wlan-ng.opts without the Comment-lines:
(YES, I changed my WEP-keys :-) )
============ Begin of File /etc/pcmcia/wlan-ng.opts ============
WLAN_VERSION=0
WLAN_PATCHLEVEL=1
WLAN_SUBLEVEL=15
WLAN_EXTRAVERSION=
case "$ADDRESS" in
wlannoenable,*,*,*)
WLAN_ENABLE=n
;;
*,*,*,*)
#=======WEP===========================================
lnxreq_hostWEPEncrypt=true
lnxreq_hostWEPDecrypt=true
dot11PrivacyInvoked=true
dot11WEPDefaultKeyID=0
dot11ExcludeUnencrypted=true
dot11WEPDefaultKey0=01:23:45:67:89:AB:CD:EF:00:00:00:00:00
dot11WEPDefaultKey1=CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC:CC
dot11WEPDefaultKey2=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:F0
dot11WEPDefaultKey3=00:00:00:00:00:00:00:00:00:00:00:00:0F
#=======SELECT STATION MODE===================
IS_ADHOC=n # y|n, y - adhoc, n - infrastructure
#=======INFRASTRUCTURE STATION START===================
AuthType="sharedkey"
DesiredSSID="wlan"
#=======ADHOC STATION START============================
SSID="adhoc-wlan"
BCNINT=100
CHANNEL=6
BASICRATES="2 4"
OPRATES="2 4 11 22"
;;
esac
============ End of File /etc/pcmcia/wlan-ng.opts ============
The settings for ad-hoc-mode are untested, since I have not yet found anybody for testing.
The nickname of the card can be set with the following command:
wlancfg set wlan0
p2CnfOwnName=mynewnickname
This is my /etc/pcmcia/networks.opts without the Comment-lines:
============ Begin of File /etc/pcmcia/networks.opts ============
case "$ADDRESS" in
*,*,*,*)
BOOTP="n"
DHCP="n"
PPPOE="n"
WHEREAMI="n"
IPADDR="192.168.1.1"
NETMASK="255.255.255.0"
IPMASQ="n"
start_fn () { return; }
stop_fn () { return; }
NO_CHECK=n
NO_FUSER=n
;;
esac
============ End of File /etc/pcmcia/networks.opts ============
In my case I did not have to set a gateway because I am running a 1024bit-encrypted VPN (from www.tinc.org) over the radio-connection which is my default route.
Important Note: You can configure everything under Linux. No need to boot Windows.
Some interesting facts (which took me quite some time to find in the manual):
Default-IP-address: 192.168.0.1
Default-password: public
Needed Cable: straight TwistedPair-Cable when connected to a switch or hub, a crossover cable when connecting directly to a NIC (network interface card)
Compile the programs:
./configure
make && make install
Start the program ap-config.
Enter the default-IP-address of the AP (192.168.0.1), the default-password ('public') and choose 'AP type: ATMEL'
This should connect you to the AP.
If this does not work check your network and routing settings, especially the netmask
The configuration is explained in the manual that came with the AP.
Some oddities you may encounter:
The WEP saved in the AP will never displayed, even though they were entered and saved correctly. The only thing you can to ensure encryption works is testing it with a WLAN-card and checking it with wlancfg show wlan0
One really interesting feature of ap-config is the possibility of changing the radio power output of the AP:
This scale is everything I guessed so far. If you have any more details please let me know:
ap-utils-1.5/Documentation/README.RPM 0000664 0000000 0000000 00000000273 11172466627 0017261 0 ustar 00root root 0000000 0000000 After this inclusion people should be able easily build .rpm themselves
with:
rpmbuild -tb ap-utils-1.3.4pre1.tar.gz
Red Hat users will have to edit ~/.rpmmacros and add:
%make %__make
ap-utils-1.5/Documentation/Ukrainian/ 0000775 0000000 0000000 00000000000 11172466627 0017663 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/Ukrainian/INSTALL 0000664 0000000 0000000 00000001650 11172466627 0020716 0 ustar 00root root 0000000 0000000 ¶ÎÓÔÒÕËÃ¦Ñ ÐÏ ¦ÎÓÔÁÌÑæ§
-------------------------
1. úÍ¦Î¦ÔØ (ÐÅÒÅצÒÔÅ) ÎÁÌÁÛÔÕ×ÁÎÎÑ × `Makefile' ÐiÄ ×ÁÛÕ ÓÉÓÔÅÍÕ.
2. äÌÑ ËÏÍЦÌÑæ§ ÐÁËÅÔÕ ÎÁÂÅÒ¦ÔØ `make' .
3. äÁÌi ×ÉËÏÎÁÊÔÅ 'make install', ÄÌÑ ¦ÎÓÔÁÌÑæ§ ÕÔ¦Ì¦Ô × ÄÉÒÅËÔÏÒ¦À
'/usr/local/bin'. äÌÑ ÃØÏÇÏ ×ÁÍ ÐÏÔÒ¦ÂÎÏ ÍÁÔÉ ÐÒÁ×Á root.
4. ÷É ÍÏÖÅÔÅ ÓÔÅÒÔÉ Â¦ÎÁÒΦ ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ Ú `src` ÄÉÒÅËÔÏÒ¦§ ×ÉËÏÎÁ×ÛÉ
`make clean' × ÄÉÒÅËÔÏÒ¦§ `src'.
îÅÏÂȦÄΦ ËÏÍÐÏÎÅÎÔÉ
------------
äÌÑ ËÏÍЦÌÑæ§ ÔÁ ÚÁÐÕÓËÕ ÐÒÏÇÒÁÍ ap-utils ×ÁÍ ÎÅÏÂȦÄÎÏ ÍÁÔÉ ¦ÎÓÔÁÌØÏ×ÁÎÕ
¦Â̦ÏÔÅËÕ ncurses × ×ÁÛ¦Ê ÓÉÔÅͦ.
â¦ÌØÛ¦ÔØ ÄÉÓÔÒÉÂÕÃ¦Ê ì¦ÎÕËÓ ÍÁÀÔØ × ÓϦ ÃÀ ¦Â̦ÏÔÅËÕ , ÑËÝÏ × ×ÁÛ¦Ê ÓÉÓÔÅͦ
ÃÑ Â¦Â̦ÏÔÅËÁ צÄÓÕÔÎÑ , ×É ÍÏÖÅÔÅ ×ÚÑÔÉ §§ Ú:
ftp://ftp.gnu.org/gnu/ncurses/
ftp://dickey.his.com/ncurses/
ôÁËÏÖ ×ÁÍ ÐÏÔÒ¦ÂÅÎ gcc ËÏÍЦÌÑÔÏÒ Ú GNU Compiler Collection.
êÏÇÏ ÍÏÖÎÏ ×ÚÑÔÉ Ú ÎÁÓÔÕÐÎÉÈ ÓÁÊÔ¦×:
ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/
http://gcc.gnu.org/mirrors.html
ap-utils-1.5/Documentation/Ukrainian/README 0000664 0000000 0000000 00000001570 11172466627 0020546 0 ustar 00root root 0000000 0000000 äÌÑ ×ÓÔÁÎÏ×ÌÅÎÎÑ ÍÁËÓÉÍÁÌØÎϧ ÐÏÔÕÖÎÏÓÔ¦ ÄÌÑ ×ÁÛÏÇÏ AP
×ÓÔÁÎÏ×¦ÔØ ÚÎÁÞÅÎÎÑ ÄÌÑ ÎÅÏÂȦÄÎÏÇÏ ËÁÎÁÌÕ × 128 (0x80).
! ðÒÏÔÅ ÞÁÓÏÍ ËÒÁÝÅ Ò¦ÛÅÎÎÑ - ÅËÓÐÅÒÅÍÅÎÔÁÌØÎÏ ×ÉÚÎÁÞÉÔÉ ÚÎÁÞÅÎÎÑ
! ÐÒÉ ËÒÁÝ¦Ê ÑËÏÓÔ¦ Ú×'ÑÚËÕ, ÎÅ ÚÁ×ÖÄÉ ×ÏÎÏ ÂÕÄÅ ÍÁËÓÉÍÁÌØÎÅ.
â¦ÌØÛÅ ¦ÎÆÏÒÍÁæ§ ×É ÍÏÖÅÔŠĦÚÎÁÔÉÓÑ Ú:
http://pasadena.net/aprf/;
http://www.wi2600.org/mediawhore/nf0/wireless/docs/802.11/WAP11/fun_with_the_wap11.txt;
http://desync.com/linksys.
áÓÏæÊÏ×ÁΦ ÓÔÁÎæ§
----------------
ú ×ÅÒÓ¦§ 0.7.3-pre1 Ú'Ñ×ÉÌÁÓØ ÍÏÖÌÉ×iÓÔØ ÚÁÐÉÓÕ×ÁÔÉ ÓÐÉÓÏË MAC ÁÄÒÅÓ ÓÔÁÎæÊ
Õ ÆÁÊÌ ~/ap-nwn.stations.
÷¦ÄÏͦ AP
------------------
÷ÉËÏÒÉÓÔÏ×ÕÀÞÉ ÃÀ ÏÐæÀ AP Ú ÍÅÎÀ ÓÔÁÔÉÓÔÉËÉ ×É ÍÏÖÅÔÅ ÂÁÞÉÔÉ
×Ó¦ Access Points Ñ˦ ×ÉÄÎÏ Ú ×ÁÛÏÇÏ AP.
! õ÷áçá!!! ÷ÉËÏÒÉÓÔÁÎÎÑ Ã¦¤§ ÏÐæ§ ÎÅÂÅÚÐÅÞÎÏ - ×É ÍÏÖÅÔÅ ÚÁÇÕÂÉÔÉ ×ÁÛ¦
! ÎÁÌÁÛÔÕ×ÁÎÎÑ. õ SMC 2655W , ÄÌÑ ×ÉÐÒÁ×ÌÅÎÎÑ Ã¦¤§ ÓÉÔÕÁæ§ ÎÅÏÂȦÄÎÏ
! צÄÎÏ×ÉÔÉ ÚÁ×ÏÄÓØË¦ ÎÁÌÁÛÔÕ×ÁÎÎÑ.
ap-utils-1.5/Documentation/ap-auth.8 0000664 0000000 0000000 00000003342 11172466627 0017374 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-auth utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2002 Roman Festchook
.\"
.\" 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
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)
ap-utils-1.5/Documentation/ap-config.8 0000664 0000000 0000000 00000026561 11172466627 0017710 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-config utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2002 Roman Festchook
.\"
.\" 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-config 8 "Wireless Access Point Utilites for Unix"
.SH NAME
ap-config \- configure and monitor Atmel and NWN based APs
.SH SYNOPSIS
.B ap-config
.SH DESCRIPTION
.B ap-config
to config and get stats from Atmel-chipset based AP with ATMEL 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 ~/.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.
.TP
.B Advanced
.PP
StationDBTimeout: This object specifies a timeout on entries and their state information in the Station database. For Clients the Station database is mapped on the roamTable. For Access Points, the Station database is mapped on the assocTable. The timeout is in seconds.
.PP
ACKWindow: The ACK frame time out defined in number of slottimes. This can be used to optimize long range links.
.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
.br
http://ap-utils.polesye.net
.SH SEE ALSO
ap-trapd(8), ap-mrtg(8)
ap-utils-1.5/Documentation/ap-gl.8 0000664 0000000 0000000 00000026032 11172466627 0017036 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-gl utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2002 Roman Festchook
.\"
.\" 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 ~/.stations.
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.
* Client stations Status: status 3 - normal connected, status 9 - awaiting authorization.
.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
.br
http://ap-utils.polesye.net
.SH SEE ALSO
ap-trapd(8), ap-mrtg(8), ap-config(8)
ap-utils-1.5/Documentation/ap-mrtg.8 0000664 0000000 0000000 00000011130 11172466627 0017376 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-mrtg utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2002 Roman Festchook
.\"
.\" 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-mrtg 8 "Wireless Access Point Utilites for Unix"
.SH NAME
ap-mrtg \- AP to MRTG data translator
.SH SYNOPSIS
.B ap-mrtg
.B -i
.IR ip
.B -c
.IR community
.B -t
.IR type
.B [-b
.IR bssid
.B ]
.B [-v]
.B [-r]
.B [-h]
.SH DESCRIPTION
.B ap-mrtg
get stats from AP and return it in MRTG parsable format.
.br
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. MRTG generates HTML pages containing graphical images which provide a LIVE visual representation of this traffic. You may get it from: http://people.ee.ethz.ch/~oetiker/webtools/mrtg/.
.SH OPTIONS
.TP
.B -i ip
AP ip address
.TP
.B -c community
SNMP community string
.TP
.B -t type
Statistics type ireless, thernet, associated tations or ink quality in client mode;
.TP
.B -b bssid
Mac address of the AP to which get link quality.
.TP
.B -v
report MRTG about problems connecting to AP - if you want to get report about when AP spot work enable it
.TP
.B -r
reset AP when getting LinkQuality stats
.TP
.B -h
print help screen
.SH MRTG Configuration Example
Simple mrtg.cfg for get stats from Atmel based AP:
.nf
Target[ap_e]: `/usr/local/bin/ap-mrtg -i 192.168.0.1 -c "public" -t ethernet -v`
Options[ap_e]: noinfo, growright, bits
MaxBytes[ap_e]: 12500
Title[ap_e]: Traffic Analysis for AP Ethernet port
PageTop[ap_e]:
Traffic Analysis for AP Ethernet port
Target[ap_w]: `/usr/local/bin/ap-mrtg -i 192.168.0.1 -c "public" -t wireless -v`
Options[ap_w]: noinfo, growright, perminute
ShortLegend[ap_w]: pkt/min
MaxBytes[ap_w]: 100000000
Legend1[ap_w]: Packets In
Legend2[ap_w]: Packets Out
YLegend[ap_w]: packets/min
Title[ap_w]: Traffic Analysis for AP Wireless port
PageTop[ap_w]:
LegendO[ap_s]: none
LegendI[ap_s]: Associated Stations
.fi
.SH Link Quality stats
If the AP is not in client mode, it errors out. Grabbing the signal strength resets the ethernet and wireless stats and AP. It's
.B safe
do not use this type of stat.
.BR
Optionally you may set mac address (bssid) of the AP to which getting link quality stats, by default used first returned AP.
.BR
Simple mrtg.cfg for get stats from Atmel based AP with Link Quality and reset stats:
.nf
Target[ap_e]: `/usr/local/bin/ap-mrtg -i 192.168.0.1 -c "public" -t ethernet -v`
Options[ap_e]: noinfo, growright, bits, gauge
MaxBytes[ap_e]: 12500
Title[ap_e]: Traffic Analysis for AP Ethernet port
PageTop[ap_e]:
Traffic Analysis for AP Ethernet port
Target[ap_w]: `/usr/local/bin//ap-mrtg -i 192.168.0.1 -c "public" -t wireless -v`
Options[ap_w]: noinfo, growright, perminute, gauge
ShortLegend[ap_w]: pkt/min
MaxBytes[ap_w]: 100000000
Legend1[ap_w]: Packets In
Legend2[ap_w]: Packets Out
YLegend[ap_w]: packets/min
Title[ap_w]: Traffic Analysis for AP Wireless port
PageTop[ap_w]:
Traffic Analysis for AP Wireless port
Target[EdAP_s]: `/usr/local/bin/ap-mrtg -i 192.168.0.1 -c "public" -t link -b FFFFFFFF -v -r`
MaxBytes[EdAP_s]: 100
Options[EdAP_s]: noinfo,growright,integer,unknaszero,nopercent,gauge
Title[EdAP_s]: Signal Analysis for EdAP Wireless port
YLegend[EdAP_s]: Signal Strength dBm/Quality
ShortLegend[EdAP_s]: dBm
PageTop[EdAP_s]:
Signal/Quality Strength for EdAP
LegendI[EdAP_s]: Signal Quality
LegendO[EdAP_s]: Signal Strength in dBm
.fi
.SH AUTHOR
Roman Festchook
.br
http://ap-utils.polesye.net
.SH SEE ALSO
ap-config(8), ap-trapd(8)
ap-utils-1.5/Documentation/ap-tftp.8 0000664 0000000 0000000 00000031145 11172466627 0017412 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-tftp utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2004-2005 Jan Rafaj
.\"
.\" 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-tftp 8 "Wireless Access Point Utilites for Unix"
.SH NAME
ap-tftp \- TFTP client for upgrading ATMEL AT76C510 WiSOC-based APs
.TP
.B Please read the entire manpage prior using this utility. It may prevent you from problems arising later.
.SH SYNOPSIS
.B ap-tftp
.B -i
.IR IP
.B -f
.IR firmware.rom
.B [-c
.IR community
.B ]
.SH DESCRIPTION
The
.B ap-tftp
utility is used to upgrade or downgrade firmware in Access Points based on ATMEL AT76C510 VNET-B WiSOC (Wireless System On Chip). It should work for most (if not all) models with INTERSIL radio chipset, as well as those based on RFMD radio. However, so far it has only been tested on the following hardware: WLink WEN-2021, i-Tec AP GOLD, smartBridges airPOINT PRO (all with INTERSIL radio), and Tellus A14 (RFMD radio). If you have an AP with ATMEL AT76C510 and either INTERSIL or RFMD radio chipset, there's near 100% chance it will work for you, too.
.SH PREFACE: FIRMWARE TYPES
Functionally, there basically exist 2 types of firmware for ATMEL-based APs: an "
.B Access Point
firmware (often referred to as
.B AP firmware
), and
.B Wireless Adapter
firmware (referred to as
.B WA firmware
). Many hardware vendors produce their own more or less modified firmware derivatives, but usually they keep up with the naming scheme introduced by ATMEL:
.SS APs with INTERSIL radios
For APs with INTERSIL radios, the AP firmware file typically uses naming scheme such as "1.4x.y.rom" (for example "1.4j.1.rom", "1.4k.2.rom", etc.), while the WA firmware files typically exist under names such as "0.01.ab.rom" (for example "0.01.09.rom", "0.01.11.rom", etc.). The values "x", "y", and "ab" indicate the firmware revision.
.SS APs with RFMD radios
For APs with RFMD radios, the AP firmware files are known under names like "0.2.x.yz.rom" (such as "0.2.2.11.rom", "0.2.2.18.rom", etc.), while the WA firmware uses names as "0.3.b.c.rom" (for example "0.3.2.5.rom", "0.3.2.6.rom"), or "0.4.b.c.rom" for WA+ firmware (which is a variant of WA firmware that offers limited multiple MACs transparency in client mode) - for example "0.4.2.7.rom". Again, the numbers change according to the firmware revision.
To descend in even greater complexity, there usually exist 2 files for each firmware revision in the ATMEL+RFMD world: one so-called
.B primary firmware
(the bigger file of the two; it contains base firmware as well as the embedded webserver), and a second file with so-called
.B backup firmware
(the smaller file of the two, it contains just the base firmware).
The name of secondary firmware always uses '0' in the third number field (such as "0.2.0.18.rom").
.B You'll always need to upgrade with backup firmware FIRST, unless its manufacturer states otherwise.
.TP
.RE 4
.B WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
.RS 4
.IP o 3
.B WA firmwares
and their derivatives
.B ARE _NOT_ SUPPORTED
by ap-utils!!! They may appear to partially work with ap-utils, but you
can cause harm to your AP if you use ap-config with such firmware. Do not
complain if you use ap-config with such firmware and it damages your AP!
.IP o
Since some hardware vendors keep up the bad habit of producing their own firmwares using the original ATMEL firmware naming scheme, it is easy to find firmwares from different hardware vendors for ATMEL-based APs with
.B exactly the same name and sometimes even the length
(for example, firmware "1.4j.1.rom" exists in many incarnations, but their content differs). They may use different structures and offsets for reading configuration data in the flash memory without content validity checks, so
.B NEVER EVER USE FIRMWARE FROM ANOTHER HARDWARE VENDOR THAN THE ONE THAT IS MANUFACTURING YOUR AP, UNLESS EXPLICITLY STATED OTHERWISE! IF YOU DO SO, YOU MAY IRREVERSIBLY DAMAGE YOUR AP!
.IP o
BEWARE! AP boards from several vendors may contain hardware design bugs, that will totally prevent it from successfull upgrade.
.B Any attempt to upgrade such device, either via TFTP or DFU utility will fail and irreversibly damage content of its flash memory! If your vendor does NOT provide ANY firmware nor tools to perform upgrade for your device, it means (unless stated otherwise), that IT IS UNSAFE TO TRY UPGRADING and YOU SHOULD NOT ATTEMPT TO UPGRADE YOUR DEVICE AT ALL!
Example of such board with bug in hardware design is Tellus A13 (also sold as i-Tec AP GOLD with blue front).
.IP o
ATMEL AT76C510-based APs are notoriously known for their firmware upgrade design flaw: firmware validation checks and subsequent permission for upgrade are not performed by the AP itself, but in the TFTP upgrade client. This means that anyone with proper TFTP client, having access to your AP via its ethernet port, may _try_ to upload incorrect firmware (or even no-firmware file!) to your AP, causing irreversible damage to your AP. Hence:
.RS 3
.IP \- 3
.B SECURE YOUR AP ON IP (LAYER 3) BASIS! SET UP YOUR AP (AND ITS WIRELESS CLIENTS) WITH IP FROM A DIFFERENT IP SEGMENT THAN THE ONE IT IS PHYSICALLY ON. TO ACCESS AP ON SUCH DIFFERENT SEGMENT, YOU MAY USE IP-ALIAS INTERFACE (on Linux).
.IP \-
.B FOR APs IN "Access Point client" MODE, USE ap-config AND IN 'Config -> Bridge' MENU, CHANGE THE VALUE OF 'Configuration-enabled port(s):' TO 'Wireless'. THIS WAY, USER BEHIND Access Point client DEVICE WONT BE ABLE TO REACH ITS MANAGEMENT IP, AND SUBSEQUENTLY (S)HE WONT BE ABLE TO CAUSE ANY DAMAGE WITH TFTP.
Note that setting Conf.-enabled port to 'Wireless' may be risky if you intend to reconfigure the device through Wireless media (bad values could be written to the AP due to wireless media unreliability). You should choose what is of greater risk for you.
.RE 1
.RS 4
.IP o 3
.B Users of ATMEL+INTERSIL devices:
If your AP firmware vendor extensions are auto-detected as
.B SBRIDGES
by ap-config, it means that your AP uses firmware made by smartBridges PTE: you will need to pass extra '-c community' to ap-tftp in order to perform actual upgrade.
.B BY ALL MEANS, AVOID UPGRADE OF DEVICE THAT CONTAINS smartBridges FIRMWARE, with non-smartBridges FIRMWARE, AND VICE VERSA, even if the firmware names may look similar (see the warning above).
Although there are checks in ap-tftp, that should avoid something such, be careful, and DO NOT TRY, UNDER ANY CIRCUMSTANCES, to circumvent this protection - if you do, you'd most likely end up with damaged flash content in your device. You got the warning.
.TP
.BR
Remember: All firmware files with revision "1.4j.4" onwards are from smartBridges: unless you possess a device that is autodetected with 'SBRIDGES' vendor extension, DO NOT TRY TO UPGRADE TO smartBridges FIRMWARE!
.IP o 3
.B Users of ATMEL+RFMD devices:
If you are running
.B primary
firmware < 0.2.2.20, you
.B should upgrade as soon as possible! AP
firmware of version 0.2.2.19 and lower contains serious 'death by reconfiguration' bug, which, if triggered, may irreversibly damage content in flash memory of your AP. The event to trigger is usually changing & writing some settings in the 'Bridge' menu. So if you run such firmware, please upgrade. You may also look into README to see whether 'Firmware available free of charge for ATMEL12350 MIB devices' (section) applies to your AP.
.TP
.RE 1
.B GENERAL HINTS AND RECOMMENDATIONS PRIOR UPGRADING
.RS 4
.IP \- 3
IF POSSIBLE, PLACE YOUR AP BEHIND A FIREWALL SO THAT YOU PREVENT ACCESS TO ITS MANAGEMENT IP FOR UNWANTED THIRD PARTIES
.IP \-
Avoid upgrading your AP via its wireless port, if possible. Due to the unreliable nature of wireless media and UDP protocol used for upgrade, anything could happen - although there is CRC-like check in the firmware, that prevents flashing of (firmware) file that has possibly been altered during transmission, upgrade process interruption might cause damage (but even this is not very likely). You may upgrade AP via its wireless port only if you're 101% sure the wireless connection to the target device is reliable.
.IP \-
If you experience upgrade timeout in the 'middle' of the upgrade progress, it is usually ok to wait until the utility completely times out, and repeat the command afterwards. You may also experience 'catch up' (very short network break, so utility will resume uploading firmware to your AP).
.IP \-
In case when firmware upgrade fails,
.B ap-tftp
will show an error code returned by the TFTP server in AP. Note that although RFC 1350 defines 8 TFTP error messages, the TFTP server in the AP is not compliant to this RFC and the error codes returned may NOT correspond to those messages (but ap-tftp will always display corresponding RFC-defined error message, if possible, although it may really have nothing to do with the returned error code meaning). In the case the message for error code returned is not defined in RFC 1350, just the error code alone will be displayed.
.IP \-
If you want to upgrade firmware in an AP on a network where no DHCP server is available, it is advisable to assign static IP address and disable DHCP option on the device, so that you can verify, whether it is alive, using 'ping' command immediately after the upgrade succeeds (generally immediately after the device boots up), and you dont have to wait until AP's attempts to contact DHCP server time out. This is also especially useful if you need to do 2-step upgrade (using 'backup' and 'primary' firmware) - see above.
.IP \-
Firmware of APs based on ATMEL AT76C510 provides an interresting 'arp ping' feature. After AP boot-up, it is possible to remotely and TEMPORARILY (to next AP reboot) reconfigure its IP address, provided that within certain time period (several tens of seconds after boot-up), the AP receives ICMP ECHO request with target MAC address equal to its own. To set up IP in the AP using this method, do the following:
.RS 3
.IP 1\. 4
From the IP range your AP is connected to, pick up an unused IP you want to set on the AP using 'arp ping'.
.IP 2\.
Set up static ARP entry associating the MAC address of your AP with the IP you selected in paragraph 1. Typically, you need to issue (as root) something like: 'arp -s required_AP_IP AP_MAC'. Consult manpage for 'arp' utility, if your 'arp' utility uses different syntax.
.IP 3\.
Right after the AP boots, run 'ping required_AP_IP'. You need to wait few seconds prior seeing first AP response.
.RE 1
.RS 4
.IP \- 3
.B Users of ATMEL+RFMD devices:
To
.B DOWNGRADE
to
.B AP
firmware with lower revision number than the one thats currently in the device, you'll need to temporarily 'upgrade' to any
.B WA
firmware available for your device (as step-in-the-middle). This will 'unlock' your device for downgrading to previous
.B AP
firmware version.
.SH OPTIONS
.TP
.B -i IP
IP address of the AP you want upgrade firmware in.
.TP
.B -f firmware.rom
Full path to and name of the firmware file for your AP.
.TP
.B -c community
To be used ONLY with APs manufactured by smartBridges PTE. The given community
must match with any of three three communities currently defined in the AP
configuration - firmware upgrade will be allowed only upon the match.
matches
.RE
.SH EXAMPLES OF USE
.PD 0
.SS Upgrading AP firmware in a device with INTERSIL radio and non-smartBridges firmware
.BR
.TP
ap-tftp -i 192.168.0.1 -f 1.4j.3.rom
.SS Upgrading AP firmware in a device with INTERSIL radio and smartBridges firmware
.BR
.TP
ap-tftp -i 192.168.0.24 -f 1.4k.5.rom -c private
.SS Upgrading AP firmware in a device with RFMD radio:
.BR
.TP
ap-tftp -i 192.168.1.100 -f 0.2.0.20.rom
.TP
ap-tftp -i 192.168.1.100 -f 0.2.2.20.rom
.SS Downgrading AP firmware in a device with RFMD radio:
.BR
.TP
ap-tftp -i 192.168.1.100 -f 0.3.0.6.rom
.TP
ap-tftp -i 192.168.1.100 -f 0.3.2.6.rom
.TP
ap-tftp -i 192.168.1.100 -f 0.2.0.19.rom
.TP
ap-tftp -i 192.168.1.100 -f 0.2.2.19.rom
.SH KNOWN BUGS
This utility has not been verified on and will probably not work on big-endian architectures. Its use is discouraged in such environment.
.SH AUTHOR
Jan Rafaj
.br
http://ap-utils.polesye.net
.SH SEE ALSO
ap-config(8), ap-trapd(8), ap-auth(8), ap-mrtg(8)
ap-utils-1.5/Documentation/ap-trapd.8 0000664 0000000 0000000 00000007474 11172466627 0017557 0 ustar 00root root 0000000 0000000 .\" Manpage for ap-trapd utility
.\" from Wireless Access Point Utilitess for Unix
.\"
.\" Copyright (c) 2002 Roman Festchook
.\"
.\" 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-trapd 8 "Wireless Access Point Utilites for Unix"
.SH NAME
ap-trapd \- a SNMP trap processing daemon
.SH SYNOPSIS
.B ap-trapd
.B [ -i
.IR device
.B ] [-u
.IR user
.B ] [-s]
.SH DESCRIPTION
.B ap-trapd
It's a SNMP trap processing daemon that accepts traps, parse them and store useful data using syslog, at logging LEVEL0.
Specify
.IR device
to listen for SNMP traps on the particular device (this option only works at Linux). To be running by user different from
nobody you may specify
.IR user.
.br
To correct work with Smartbridges APs specify
.IR -s
key (they use specific traps).
.br
Utility added to ap-utils from version 0.8.
.SH SYSLOG
To store traps to own log file you may add next string to your
.B /etc/syslog.conf
.br
local0.* /var/log/ap-traps.log
.br
After doing it, just restart syslogd with command like
.br
killall -HUP syslogd
.SH TRAPS
When a trap is received, a message will be logged indicating that an action happened to the Access Point such as:
.TP
Trap Reassociation:
This trap message is sent when a Station reassociation request is received from Access Point.
.TP
Trap Association:
Indicates the reception of an association request packet and the sender Station's successful association with the Access Point.
.TP
Trap Disassociation:
This trap message is sent when a disassociation notification packet is received from a Station.
.TP
Trap Reset:
This trap message is sent when Access Point Resets.
.TP
Trap Setting IP Address with Ping:
This trap message is sent when the Access Point IP address is set with the transmission of a ping message.
.TP
Trap Start Up:
This trap message is sent when the Access Point Starts Up.
.TP
Trap Failed To Erase Flash:
This trap message is sent when Access Point Failed To Erase Flash.
.TP
APClientScanning
Access Point Client is scanning...
.TP
APClientAuthenticating
Access Point Client is authenticating with the AP.
.TP
APClientAssociating
Access Point Client is associating with the AP.
.TP
APClientReAssociating
Access Point Client is reassociating with the AP.
.TP
APClientAuthenticationFailed
Access Point Client has failed authenticating with the AP.
.TP
APClientAssociationFailed
Access Point Client has failed associating with the AP.
.TP
APClientConnected
Access Point Client has been connected with the AP.
.TP
APClientDisconnected
Access Point Client has been disconnected from the AP.
.TP
APClientScanFailed
Access Point Client has failed scanning!
.TP
APClientJoinFailed
Access Point Client has failed joining!
.TP
APClientJoining
Access Point Client is in join state.
.SH Smartbridges specific TRAPS
.TP
MultiAttachedStation
Multiple attached stations in the ethernet size
.TP
.SH SECURITY
Utility ap-trapd must be running by 'root', after opening port utility change owner to 'nobody', so this user must exist in you system.
You may set
.IR user
using -u option as described below for change default unprivileged user.
.SH AUTHOR
Roman Festchook
.br
http://ap-utils.polesye.net
.SH SEE ALSO
ap-config(8), ap-mrtg(8), syslogd(8)
ap-utils-1.5/Documentation/mibs-atmel/ 0000775 0000000 0000000 00000000000 11172466627 0017774 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/README 0000664 0000000 0000000 00000000202 11172466627 0020646 0 ustar 00root root 0000000 0000000 This is a collection of different AP firmware "reference prototype" MIBs,
that are (or are planned to be) supported by ap-utils.
ap-utils-1.5/Documentation/mibs-atmel/mib-12350-ezynet/ 0000775 0000000 0000000 00000000000 11172466627 0022527 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/mib-12350-ezynet/AT76C510.mib 0000664 0000000 0000000 00000113040 11172466627 0024231 0 ustar 00root root 0000000 0000000 -- Title: ATMEL Private MIB
--Firmaware Version 1.4 14/5/2001
ATMEL-MIB DEFINITIONS ::= BEGIN
--IMPORTS
-- enterprises,Counter
--FROM RFC1155-SMI
-- DisplayString
--FROM RFC1213-MIB;
-- TRAP-TYPE
--FROM RFC-1215;
--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
DisplayString ::= OCTET STRING
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
--atmel OBJECT IDENTIFIER ::= { enterprises 410 }
atmel OBJECT IDENTIFIER ::= { enterprises 12350 }
atmelmib OBJECT IDENTIFIER ::= { atmel 1}
atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
wireless OBJECT IDENTIFIER ::= {atmelmib 2}
traps OBJECT IDENTIFIER ::= {atmelmib 3 }
--*************************** System***************************
--****************************************************************
sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the entity. This value
should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { sysCtrlGRP 1 }
sysReset OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a reset command to
the system is issued."
::= { sysCtrlGRP 2 }
sysTrapSwitch OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute enables the transmission of SNMP.V1 TRAPs."
::= {sysCtrlGRP 3}
sysLoadDefaults OBJECT-TYPE
SYNTAX INTEGER { enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this attribute to enable(1), will cause the system to load
the factory default values of all the operational parameters."
::= { sysCtrlGRP 4 }
sysDeviceInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (92))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"First 92 bytes of Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned char Channel;
unsigned char RegulatoryDomain;
unsigned long ProductType;
unsigned char OEMname[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
unsigned char PID_VID[4]; //Product ID/ Vendor ID
unsigned int sysOIDSize;
unsigned short sysOID[16];
unsigned char CountryCode[3];
unsigned char Reserved1;
unsigned short ChannelInformation;
unsigned char Reserved2[2];
char TxPower[14];
unsigned char Reserved3[10];
} "
::= {sysCtrlGRP 5 }
sysUpload OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Upload configuration command to
the system is issued."
::= { sysCtrlGRP 6 }
SiteSurveyCommand OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Site Survey command to
the system is issued."
::= { sysCtrlGRP 7 }
sysDeviceMoreInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Last 32 bytes of Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned char Channel;
unsigned char RegulatoryDomain;
unsigned long ProductType;
unsigned char OEMname[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
unsigned char PID_VID[4]; //Product ID/ Vendor ID
unsigned int sysOIDSize;
unsigned short sysOID[16];
unsigned char CountryCode[3];
unsigned char Reserved1;
unsigned short ChannelInformation;
unsigned char Reserved2[2];
char TxPower[14];
unsigned char Reserved3[10];
} "
::= {sysCtrlGRP 8 }
-----------------------------BridgingLevel-----------------------------
operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
operIPAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this device used over its Ethernet
or Wireless LAN port."
::= { operBridgingLevel 1 }
operIPMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Network mask used by the IP entity when accessing
devices through any of its LAN Ports (Ethernet or WLAN)."
::= { operBridgingLevel 2}
operEthernetAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC Address of the Ethernet interface."
::= { operBridgingLevel 3}
operGateway OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Gateway default IP address."
::= { operBridgingLevel 4 }
operDHCP OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
enable DHCP protocol."
::= { operBridgingLevel 5 }
operPrimaryPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the primaty port.Ethernet or Wireless."
::= { operBridgingLevel 6 }
operConfigurationPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."
::= { operBridgingLevel 7 }
operTrapPort OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Trap port."
::= { operBridgingLevel 8 }
-----------------------------Filtering-----------------------------
operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
operIPFilter OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
filter out all non IP-traffic."
::= { operFiltering 1 }
operForwarbBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
forward broadcast traffic to the Wireless Port."
::= { operFiltering 2 }
operSendBackBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back broadcast traffic to the Wireless Port."
::= { operFiltering 3 }
operSendBackUnicast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back unicast traffic to the Wireless Port."
::= { operFiltering 4 }
-----------------------------Bridge Operational Mode -----------------------------
operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
bridgeOperationalMode OBJECT-TYPE
SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
::= { operBridgeOperationalMode 1 }
bridgeRemoteBridgeBSSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Preferred BSSID if the device is at Access Point client mode
or the remote Mac if the device is at Wireless Bridge Point to Point mode."
::= { operBridgeOperationalMode 2 }
-----------------------------Static-----------------------------
dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
StaticMacFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
static MAC filters."
::= { dot1dStatic 1 }
dot1dStaticTable OBJECT-TYPE
SYNTAX SEQUENCE OF Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of ports to which
frames received from specific ports and containing
specific destination addresses are allowed to be
forwarded. The value of zero in this table as the
port number from which frames with a specific
destination address are received, is used to
specify all ports for which there is no specific
entry in this table for that particular
destination address. Entries are valid for
unicast and for group/broadcast addresses."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
::= { dot1dStatic 2 }
dot1dStaticEntry OBJECT-TYPE
SYNTAX Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of ports to which frames received from a
specific port and containing a specific
destination address are allowed to be forwarded."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
::= { dot1dStaticTable 1 }
Dot1dStaticEntry ::=
SEQUENCE {
dot1dStaticAddress
OCTET STRING (SIZE (6))
-- dot1dStaticReceivePort
-- INTEGER,
-- dot1dStaticAllowedToGoTo
-- INTEGER,
-- dot1dStaticStatus
-- INTEGER
}
dot1dStaticAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination MAC address in a frame to which
this entry's filtering information applies. This
object can take the value of a unicast address, a
group address or the broadcast address."
REFERENCE
"IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
::= { dot1dStaticEntry 1 }
-- dot1dStaticReceivePort OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "Either the value '0', or the port number of the
-- port from which a frame must be received in order
-- for this entry's filtering information to apply.
-- A value of zero indicates that this entry applies
-- on all ports of the bridge for which there is no
-- other applicable entry."
-- ::= { dot1dStaticEntry 2 }
-- dot1dStaticAllowedToGoTo OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "The set of ports to which frames received from a
-- specific port and destined for a specific MAC
-- address, are allowed to be forwarded. Each octet
-- within the value of this object specifies a set of
-- eight ports, with the first octet specifying ports
-- 1 through 8, the second octet specifying ports 9
-- through 16, etc. Within each octet, the most
-- significant bit represents the lowest numbered
-- port, and the least significant bit represents the
-- highest numbered port. Thus, each port of the
-- bridge is represented by a single bit within the
-- value of this object. If that bit has a value of
-- '1' then that port is included in the set of
-- ports; the port is not included if its bit has a
-- value of '0'. (Note that the setting of the bit
-- corresponding to the port from which a frame is
-- received is irrelevant.) The default value of
-- this object is a string of ones of appropriate
-- length."
-- ::= { dot1dStaticEntry 3 }
--
-- dot1dStaticStatus OBJECT-TYPE
-- SYNTAX INTEGER {
-- other(1),
-- invalid(2),
-- permanent(3),
-- deleteOnReset(4),
-- deleteOnTimeout(5)
-- }
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "This object indicates the status of this entry.
-- The default value is permanent(3).
-- other(1) - this entry is currently in use but
-- the conditions under which it will
-- remain so are different from each of the
-- following values.
-- invalid(2) - writing this value to the object
-- removes the corresponding entry.
-- permanent(3) - this entry is currently in use
-- and will remain so after the next reset
-- of the bridge.
-- deleteOnReset(4) - this entry is currently in
-- use and will remain so until the next
-- reset of the bridge.
-- deleteOnTimeout(5) - this entry is currently
-- in use and will remain so until it is
-- aged out."
-- ::= { dot1dStaticEntry 4 }
----------------------------------Protocol Filtering-------------------
ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
ProtocolFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
protocol filters."
::= { ProtocolFilterGRP 1 }
ProtocolFilterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of protocol filter."
::= { ProtocolFilterGRP 2 }
protocolFilterEntry OBJECT-TYPE
SYNTAX ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of protocol filter."
INDEX { ProtocolFilterCode }
::= { ProtocolFilterTable 1 }
ProtocolFilterEntry ::=
SEQUENCE {
ProtocolFilterCode
OCTET STRING (SIZE (2)),
ProtocolFilterDescription
DisplayString (SIZE (0..255)),
ProtocolFilterActivity
INTEGER
}
ProtocolFilterCode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The protocol code configured into the bridge
by (local or network) management specifying the
set of protocol filter."
::= { protocolFilterEntry 1 }
ProtocolFilterDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the protocol."
::= { protocolFilterEntry 2 }
ProtocolFilterActivity OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object indicates the status of this filter."
::= { protocolFilterEntry 3 }
-----------------------------Ethernet STATISTICS-----------------------------
EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
EthRxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Rx Statistics
EthernetRxStatistics{
unsigned long TotalBytesRx;
unsigned long TotalPacketsRx;
unsigned long PacketCRCErrorRx;
unsigned long MulticastPacketRx;
unsigned long BroadcastPacketRx;
unsigned long ControlFramesRx;
unsigned long PauseFramesRx;
unsigned long UnknownOPCodeRx;
unsigned long AlignmentRxError;
unsigned long LengthOutOfRangeRx;
unsigned long CodeErrorRx;
unsigned long FalseCarrierRx;
unsigned long UndersizePacketsRx;
unsigned long OversizePacketsRx;
unsigned long TotalFragmentsRx;
unsigned long TotalJabberRx;
}"
::= {EthStatisticsGRP 1 }
EthTxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Tx Statistics
EthernetTxStatistics{
unsigned long TotalBytesTx;
unsigned long TotalPacketsTx;
unsigned long PacketCRCErrorTx;
unsigned long MulticastPacketTx;
unsigned long BroadcastPacketTx;
unsigned long UnicastPacketTx;
unsigned long PauseFramesTx;
unsigned long SingleDeferPacketTx;
unsigned long MultiDeferPacketsTx;
unsigned long SingleCollisionsTx;
unsigned long MultiCollisionsTx;
unsigned long LateCollisionsTx;
unsigned long ExcessiveCollisionTx;
unsigned long TotalCollisionsTx;
}"
::= {EthStatisticsGRP 2 }
-----------------------------Test Mode Settings-----------------------------
TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
TestModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the device be
at test mode."
::= { TestModeSettingsGRP 1 }
TestModeCommandStruct OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (20))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"
typedef struct __CONT_PKT_TX
{
UINT8 Channel;
UINT8 Antenna;
UINT8 TxPower;
UINT8 TxRate;
UINT8 TxFilter;
UINT8 Reserved;
UINT16 IFrameTime;
UINT32 FrameLength;
UINT32 FramesToTransmit;
UINT8 Pattern;
UINT8 Reserved1[3];
}CONT_PKT_TX;
"
::= {TestModeSettingsGRP 2 }
TestModeRadioConfiguration OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (47))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"
::= {TestModeSettingsGRP 8 }
TestModeStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Statistics derive from tests
TestModeStatistics{
unsigned long SuccessFrames;
unsigned long FailedFrames;
unsigned long PacketsTx;
} "
::= {TestModeSettingsGRP 9 }
-----------------------------Authorized Settings-----------------------------
AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
AuthorizedUserPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of User."
::= {AuthorizedSettingsGRP 1 }
AuthorizedAdminPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Administrator."
::= {AuthorizedSettingsGRP 2 }
AuthorizedManufactPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Manufacturer."
::= {AuthorizedSettingsGRP 3 }
--*************************** wireless ***************************
--****************************************************************
-----------------------------Operational Settings-----------------------------
OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
operChannelID OBJECT-TYPE
SYNTAX INTEGER {
channel1(1),
channel2(2),
channel3(3),
channel4(4),
channel5(5),
channel6(6),
channel7(7),
channel8(8),
channel9(9),
channel10(10),
channel11(11),
channel12(12),
channel13(13),
channel14(14)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The operating frequency channel. Valid numbers
are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
::= { OperationalSettingsGRP 1 }
operESSIDLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ESSID Length"
::= {OperationalSettingsGRP 2 }
operESSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The network name. The size of the network name
should not be more than 32 characters long."
::= {OperationalSettingsGRP 3 }
operRTSThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which an RTS/CTS handshake will be
performed. Setting this attribute to be larger than the
maximum frame size, will prevent the RTS/CTS handshake
for frames trassmitted by this station."
::= {OperationalSettingsGRP 4 }
operFragmentationThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which MPDU fragmentation will be
performed."
::= {OperationalSettingsGRP 5 }
operPreambleType OBJECT-TYPE
SYNTAX INTEGER {
ShortPreamble(1),
LongPreamble(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the Preamble Type of device. Short or Long."
::= {OperationalSettingsGRP 6 }
operAuthenticationType OBJECT-TYPE
SYNTAX INTEGER {
openSystem(1),
sharedKey(2),
BothType(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the authentication algorithm
used during the authentication sequence.
The value of this attribute is one of the following:
1 - Open System,
2 - Shared Key
3 - Both Type "
::= {OperationalSettingsGRP 7 }
operBasicRates OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the basic and supported rates of Access Point.Valid format
is as defind in ISO/IEC 8802-11:1999"
::= { OperationalSettingsGRP 8 }
operAutoRateFallBack OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if Auto Rate Fall Back is enable or disable."
::= {OperationalSettingsGRP 9 }
operAccessPointName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The AP name."
::= {OperationalSettingsGRP 10 }
operSSIDBroadcasting OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if SSID is broadcasting or not."
::= {OperationalSettingsGRP 11 }
operAntennaSettings OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 12 }
operInterRoaming OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 13 }
operBeaconPeriod OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 14 }
operDTIM OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 15 }
operSIFSTIME OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 16 }
-----------------------------Privacy-----------------------------
privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
defaultWEPKey1 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 1 }
defaultWEPKey2 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 2 }
defaultWEPKey3 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 3 }
defaultWEPKey4 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 4 }
privacyWEPEnable OBJECT-TYPE
SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute, when enable64(1) or enable128(3), indicates that the 802.11
standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"
::= {privacyGRP 5}
privacyDefaultWEPKeyID OBJECT-TYPE
SYNTAX INTEGER (1..4)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute shall indicate the use of the first, second,
third or fourth DefaultWEPKey when set to values of one, two,
three or four."
::= {privacyGRP 6}
-----------------------------STATISTICS-----------------------------
WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
wirelessStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (104))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Wireless Statistics. 26 elements(ULONG)
WirelessStatistics{
unsigned long UnicastTransmittedPackets;
unsigned long BroadcastTransmittedPacets;
unsigned long MulticastTransmittedPackets;
unsigned long TransmittedBeacon;
unsigned long TransmittedACK;
unsigned long TransmittedRTS;
unsigned long TransmittedCTS;
unsigned long UnicastReceivedPackets;
unsigned long BroadcastReceivedPackets;
unsigned long MulticastReceivedPackets;
unsigned long ReceivedBeacon;
unsigned long ReceivedACK;
unsigned long ReceivedRTS;
unsigned long ReceivedCTS;
unsigned long ACKFailure;
unsigned long CTSFailure;
unsigned long RetryPackets;
unsigned long ReceivedDuplicate;
unsigned long FailedPackets;
unsigned long AgedPackets;
unsigned long FCSError;
unsigned long InvalidPLCP;
unsigned long TransmittedPackets_11Mbps;
unsigned long TransmittedPackets_55Mbps;
unsigned long TransmittedPackets_2Mbps;
unsigned long TransmittedPackets_1Mbps;
} "
::= {WLstatisticsGRP 1 }
-------------------------------Site Survey----------------------
WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
ChannelStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLSiteSurveyGRP 1}
-------------------------------Associated Station----------------------
-----------------------------------------------------------------------
AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
AssociatedSTAsNum OBJECT-TYPE
SYNTAX INTEGER (1..2007)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= { AssociatedStationsGRP 1 }
AssociatedSTAsInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (24))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The associated STAtion's Information.
AssociatedSTAsInfo{
unsigned short Index;
unsigned char MacAddress[6];
unsigned char Status;
unsigned char Port;
unsigned char ParentMacAddress[6];
unsigned char RSSI;
unsigned char IP[4];
unsigned char Reserved1[3];
} "
::= { AssociatedStationsGRP 2 }
-------------------------------Authorized Mac Addresses----------------------
AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
AuthorizationMacEnable OBJECT-TYPE
SYNTAX INTEGER (1..3)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to 1, the Authorization Mac Address Table will be enabled in allow mode.
When setting this attribute to 3, the Authorization Mac Address Table will be enabled in deny mode."
::= {AuthorizedMacAddressesGRP 1}
AuthorizedMac OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authorized Wireless Mac Addresses
AuthorizedMacTableString{
unsigned sort Action; //Set 0x01 or Get 0x02
unsigned sort NumOfAllTableAddresses;
unsigned sort NumOfCurrentAddress;
unsigned char MacAddress[6];
} "
::= { AuthorizedMacAddressesGRP 2 }
-----------------------------KNOWN ACCESS POINTS----------------------
WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
wirelessKnownAPs OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (160))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 1 }
SelectedBSSListNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS write-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 2 }
NetworkSettings OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Network Settings.
struct NETWORK_SETTINGS {
unsigned short reserved1;
unsigned char BSSID[6];
unsigned short InfoCapability;
unsigned char Rssi;
unsigned char Channel;
unsigned char reserved2[2];
unsigned char CurrentRate;
unsigned char reserved3[5];
unsigned char ESSID[32];
unsigned long ESSLEN;
}"
::= {WLKnownAPGRP 4}
-----------------------------Advanced Privacy-----------------------------
AdvancedPrivacyGRP OBJECT IDENTIFIER ::= { wireless 8 }
Dot1xEnable OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2), mixed environment(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 1}
BroadcastKeyPeriod OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 2}
ServerIP OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 3}
ServerSecret OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 4}
-----------------------------Device Info-----------------------------
DeviceInfoGRP OBJECT IDENTIFIER ::= { wireless 9 }
UpTime OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The Device Uptime."
::= {DeviceInfoGRP 1 }
FirmwareVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The Firmware Version."
::= {DeviceInfoGRP 2 }
--*************************** Traps ***************************
--*************************************************************
trapSTAMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC address of a station device"
::= {traps 1}
trapReassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a STAtion's reassosiation
request is received."
::= 1
trapRoamOut TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is used to indicate that a STAtion has
roamed out of the Wireless bridge's coverage area."
::= 2
trapAssociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"Indicates the reception of an association request packet
and the sender STAtion's successful association with the
Access Point."
::= 3
trapDisassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a disassociation notification
packet is received from a STAtion."
::= 4
trapAssociationExpire TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when the association's maximum time interval expires for
an associated STAtion."
::= 5
trapReset TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
sysReset
}
DESCRIPTION
"This trap message is sent when Access Point Resets."
::= 6
trapSettingPingIPAddress TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
operIPAddress
}
DESCRIPTION
"This trap message is sent when the Access Point IP address
is set with the transmition of a ping message."
::= 7
trapStartUp TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Starts Up."
::= 8
trapFailedToEraseFlash TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Failed To Erase Flash."
::= 9
trapAPClientScanning TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is scanning..."
::= 10
trapAPClientAuthenticating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is authenticating with the AP."
::= 11
trapAPClientAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is associating with the AP."
::= 12
trapAPClientReAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is reassociating with the AP."
::= 13
trapAPClientAuthenticationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed authenticating with the AP."
::= 14
trapAPClientAssociationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed associating with the AP."
::= 15
trapAPClientConnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been connected with the AP."
::= 16
trapAPClientDisconnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been disconnected from the AP."
::= 17
trapAPClientScanFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed scanning!"
::= 18
trapAPClientJoinFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed joining!"
::= 19
trapAPClientJoining TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is in join state."
::= 20
END ap-utils-1.5/Documentation/mibs-atmel/mib-12350-gemtek/ 0000775 0000000 0000000 00000000000 11172466627 0022465 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/mib-12350-gemtek/AT76C510.mib 0000664 0000000 0000000 00000110104 11172466627 0024165 0 ustar 00root root 0000000 0000000 -- Title: ATMEL Private MIB
--Firmaware Version 1.4 14/5/2001
ATMEL-MIB DEFINITIONS ::= BEGIN
--IMPORTS
-- enterprises,Counter
--FROM RFC1155-SMI
-- DisplayString
--FROM RFC1213-MIB;
-- TRAP-TYPE
--FROM RFC-1215;
--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
DisplayString ::= OCTET STRING
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
--atmel OBJECT IDENTIFIER ::= { enterprises 410 }
atmel OBJECT IDENTIFIER ::= { enterprises 12350 }
atmelmib OBJECT IDENTIFIER ::= { atmel 1}
atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
wireless OBJECT IDENTIFIER ::= {atmelmib 2}
traps OBJECT IDENTIFIER ::= {atmelmib 3 }
--*************************** System***************************
--****************************************************************
sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the entity. This value
should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { sysCtrlGRP 1 }
sysReset OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a reset command to
the system is issued."
::= { sysCtrlGRP 2 }
sysTrapSwitch OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute enables the transmission of SNMP.V1 TRAPs."
::= {sysCtrlGRP 3}
sysLoadDefaults OBJECT-TYPE
SYNTAX INTEGER { enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this attribute to enable(1), will cause the system to load
the factory default values of all the operational parameters."
::= { sysCtrlGRP 4 }
sysDeviceInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (92))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"First 92 bytes of Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned char Channel;
unsigned char RegulatoryDomain;
unsigned long ProductType;
unsigned char OEMname[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
unsigned char PID_VID[4]; //Product ID/ Vendor ID
unsigned int sysOIDSize;
unsigned short sysOID[16];
unsigned char CountryCode[3];
unsigned char Reserved1;
unsigned short ChannelInformation;
unsigned char Reserved2[2];
char TxPower[14];
unsigned char Reserved3[10];
} "
::= {sysCtrlGRP 5 }
sysUpload OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Upload configuration command to
the system is issued."
::= { sysCtrlGRP 6 }
SiteSurveyCommand OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Site Survey command to
the system is issued."
::= { sysCtrlGRP 7 }
sysDeviceMoreInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Last 32 bytes of Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned char Channel;
unsigned char RegulatoryDomain;
unsigned long ProductType;
unsigned char OEMname[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
unsigned char PID_VID[4]; //Product ID/ Vendor ID
unsigned int sysOIDSize;
unsigned short sysOID[16];
unsigned char CountryCode[3];
unsigned char Reserved1;
unsigned short ChannelInformation;
unsigned char Reserved2[2];
char TxPower[14];
unsigned char Reserved3[10];
} "
::= {sysCtrlGRP 8 }
-----------------------------BridgingLevel-----------------------------
operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
operIPAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this device used over its Ethernet
or Wireless LAN port."
::= { operBridgingLevel 1 }
operIPMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Network mask used by the IP entity when accessing
devices through any of its LAN Ports (Ethernet or WLAN)."
::= { operBridgingLevel 2}
operEthernetAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC Address of the Ethernet interface."
::= { operBridgingLevel 3}
operGateway OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Gateway default IP address."
::= { operBridgingLevel 4 }
operDHCP OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
enable DHCP protocol."
::= { operBridgingLevel 5 }
operPrimaryPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the primaty port.Ethernet or Wireless."
::= { operBridgingLevel 6 }
operConfigurationPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."
::= { operBridgingLevel 7 }
operTrapPort OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Trap port."
::= { operBridgingLevel 8 }
-----------------------------Filtering-----------------------------
operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
operIPFilter OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
filter out all non IP-traffic."
::= { operFiltering 1 }
operForwarbBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
forward broadcast traffic to the Wireless Port."
::= { operFiltering 2 }
operSendBackBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back broadcast traffic to the Wireless Port."
::= { operFiltering 3 }
operSendBackUnicast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back unicast traffic to the Wireless Port."
::= { operFiltering 4 }
-----------------------------Bridge Operational Mode -----------------------------
operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
bridgeOperationalMode OBJECT-TYPE
SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
::= { operBridgeOperationalMode 1 }
bridgeRemoteBridgeBSSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Preferred BSSID if the device is at Access Point client mode
or the remote Mac if the device is at Wireless Bridge Point to Point mode."
::= { operBridgeOperationalMode 2 }
-----------------------------Static-----------------------------
dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
StaticMacFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
static MAC filters."
::= { dot1dStatic 1 }
dot1dStaticTable OBJECT-TYPE
SYNTAX SEQUENCE OF Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of ports to which
frames received from specific ports and containing
specific destination addresses are allowed to be
forwarded. The value of zero in this table as the
port number from which frames with a specific
destination address are received, is used to
specify all ports for which there is no specific
entry in this table for that particular
destination address. Entries are valid for
unicast and for group/broadcast addresses."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
::= { dot1dStatic 2 }
dot1dStaticEntry OBJECT-TYPE
SYNTAX Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of ports to which frames received from a
specific port and containing a specific
destination address are allowed to be forwarded."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
::= { dot1dStaticTable 1 }
Dot1dStaticEntry ::=
SEQUENCE {
dot1dStaticAddress
OCTET STRING (SIZE (6))
-- dot1dStaticReceivePort
-- INTEGER,
-- dot1dStaticAllowedToGoTo
-- INTEGER,
-- dot1dStaticStatus
-- INTEGER
}
dot1dStaticAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination MAC address in a frame to which
this entry's filtering information applies. This
object can take the value of a unicast address, a
group address or the broadcast address."
REFERENCE
"IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
::= { dot1dStaticEntry 1 }
-- dot1dStaticReceivePort OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "Either the value '0', or the port number of the
-- port from which a frame must be received in order
-- for this entry's filtering information to apply.
-- A value of zero indicates that this entry applies
-- on all ports of the bridge for which there is no
-- other applicable entry."
-- ::= { dot1dStaticEntry 2 }
-- dot1dStaticAllowedToGoTo OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "The set of ports to which frames received from a
-- specific port and destined for a specific MAC
-- address, are allowed to be forwarded. Each octet
-- within the value of this object specifies a set of
-- eight ports, with the first octet specifying ports
-- 1 through 8, the second octet specifying ports 9
-- through 16, etc. Within each octet, the most
-- significant bit represents the lowest numbered
-- port, and the least significant bit represents the
-- highest numbered port. Thus, each port of the
-- bridge is represented by a single bit within the
-- value of this object. If that bit has a value of
-- '1' then that port is included in the set of
-- ports; the port is not included if its bit has a
-- value of '0'. (Note that the setting of the bit
-- corresponding to the port from which a frame is
-- received is irrelevant.) The default value of
-- this object is a string of ones of appropriate
-- length."
-- ::= { dot1dStaticEntry 3 }
--
-- dot1dStaticStatus OBJECT-TYPE
-- SYNTAX INTEGER {
-- other(1),
-- invalid(2),
-- permanent(3),
-- deleteOnReset(4),
-- deleteOnTimeout(5)
-- }
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "This object indicates the status of this entry.
-- The default value is permanent(3).
-- other(1) - this entry is currently in use but
-- the conditions under which it will
-- remain so are different from each of the
-- following values.
-- invalid(2) - writing this value to the object
-- removes the corresponding entry.
-- permanent(3) - this entry is currently in use
-- and will remain so after the next reset
-- of the bridge.
-- deleteOnReset(4) - this entry is currently in
-- use and will remain so until the next
-- reset of the bridge.
-- deleteOnTimeout(5) - this entry is currently
-- in use and will remain so until it is
-- aged out."
-- ::= { dot1dStaticEntry 4 }
----------------------------------Protocol Filtering-------------------
ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
ProtocolFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
protocol filters."
::= { ProtocolFilterGRP 1 }
ProtocolFilterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of protocol filter."
::= { ProtocolFilterGRP 2 }
protocolFilterEntry OBJECT-TYPE
SYNTAX ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of protocol filter."
INDEX { ProtocolFilterCode }
::= { ProtocolFilterTable 1 }
ProtocolFilterEntry ::=
SEQUENCE {
ProtocolFilterCode
OCTET STRING (SIZE (2)),
ProtocolFilterDescription
DisplayString (SIZE (0..255)),
ProtocolFilterActivity
INTEGER
}
ProtocolFilterCode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The protocol code configured into the bridge
by (local or network) management specifying the
set of protocol filter."
::= { protocolFilterEntry 1 }
ProtocolFilterDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the protocol."
::= { protocolFilterEntry 2 }
ProtocolFilterActivity OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object indicates the status of this filter."
::= { protocolFilterEntry 3 }
-----------------------------Ethernet STATISTICS-----------------------------
EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
EthRxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Rx Statistics
EthernetRxStatistics{
unsigned long TotalBytesRx;
unsigned long TotalPacketsRx;
unsigned long PacketCRCErrorRx;
unsigned long MulticastPacketRx;
unsigned long BroadcastPacketRx;
unsigned long ControlFramesRx;
unsigned long PauseFramesRx;
unsigned long UnknownOPCodeRx;
unsigned long AlignmentRxError;
unsigned long LengthOutOfRangeRx;
unsigned long CodeErrorRx;
unsigned long FalseCarrierRx;
unsigned long UndersizePacketsRx;
unsigned long OversizePacketsRx;
unsigned long TotalFragmentsRx;
unsigned long TotalJabberRx;
}"
::= {EthStatisticsGRP 1 }
EthTxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Tx Statistics
EthernetTxStatistics{
unsigned long TotalBytesTx;
unsigned long TotalPacketsTx;
unsigned long PacketCRCErrorTx;
unsigned long MulticastPacketTx;
unsigned long BroadcastPacketTx;
unsigned long UnicastPacketTx;
unsigned long PauseFramesTx;
unsigned long SingleDeferPacketTx;
unsigned long MultiDeferPacketsTx;
unsigned long SingleCollisionsTx;
unsigned long MultiCollisionsTx;
unsigned long LateCollisionsTx;
unsigned long ExcessiveCollisionTx;
unsigned long TotalCollisionsTx;
}"
::= {EthStatisticsGRP 2 }
-----------------------------Test Mode Settings-----------------------------
TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
TestModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the device be
at test mode."
::= { TestModeSettingsGRP 1 }
TestModeCommandStruct OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (20))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"
typedef struct __CONT_PKT_TX
{
UINT8 Channel;
UINT8 Antenna;
UINT8 TxPower;
UINT8 TxRate;
UINT8 TxFilter;
UINT8 Reserved;
UINT16 IFrameTime;
UINT32 FrameLength;
UINT32 FramesToTransmit;
UINT8 Pattern;
UINT8 Reserved1[3];
}CONT_PKT_TX;
"
::= {TestModeSettingsGRP 2 }
TestModeRadioConfiguration OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (47))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"
::= {TestModeSettingsGRP 8 }
TestModeStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Statistics derive from tests
TestModeStatistics{
unsigned long SuccessFrames;
unsigned long FailedFrames;
unsigned long PacketsTx;
} "
::= {TestModeSettingsGRP 9 }
-----------------------------Authorized Settings-----------------------------
AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
AuthorizedUserPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of User."
::= {AuthorizedSettingsGRP 1 }
AuthorizedAdminPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Administrator."
::= {AuthorizedSettingsGRP 2 }
AuthorizedManufactPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Manufacturer."
::= {AuthorizedSettingsGRP 3 }
--*************************** wireless ***************************
--****************************************************************
-----------------------------Operational Settings-----------------------------
OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
operChannelID OBJECT-TYPE
SYNTAX INTEGER {
channel1(1),
channel2(2),
channel3(3),
channel4(4),
channel5(5),
channel6(6),
channel7(7),
channel8(8),
channel9(9),
channel10(10),
channel11(11),
channel12(12),
channel13(13),
channel14(14)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The operating frequency channel. Valid numbers
are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
::= { OperationalSettingsGRP 1 }
operESSIDLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ESSID Length"
::= {OperationalSettingsGRP 2 }
operESSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The network name. The size of the network name
should not be more than 32 characters long."
::= {OperationalSettingsGRP 3 }
operRTSThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which an RTS/CTS handshake will be
performed. Setting this attribute to be larger than the
maximum frame size, will prevent the RTS/CTS handshake
for frames trassmitted by this station."
::= {OperationalSettingsGRP 4 }
operFragmentationThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which MPDU fragmentation will be
performed."
::= {OperationalSettingsGRP 5 }
operPreambleType OBJECT-TYPE
SYNTAX INTEGER {
ShortPreamble(1),
LongPreamble(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the Preamble Type of device. Short or Long."
::= {OperationalSettingsGRP 6 }
operAuthenticationType OBJECT-TYPE
SYNTAX INTEGER {
openSystem(1),
sharedKey(2),
BothType(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the authentication algorithm
used during the authentication sequence.
The value of this attribute is one of the following:
1 - Open System,
2 - Shared Key
3 - Both Type "
::= {OperationalSettingsGRP 7 }
operBasicRates OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the basic and supported rates of Access Point.Valid format
is as defind in ISO/IEC 8802-11:1999"
::= { OperationalSettingsGRP 8 }
operAutoRateFallBack OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if Auto Rate Fall Back is enable or disable."
::= {OperationalSettingsGRP 9 }
operAccessPointName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The AP name."
::= {OperationalSettingsGRP 10 }
operSSIDBroadcasting OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if SSID is broadcasting or not."
::= {OperationalSettingsGRP 11 }
operAntennaSettings OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 12 }
operInterRoaming OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 13 }
operBeaconPeriod OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 14 }
operDTIM OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 15 }
-----------------------------Privacy-----------------------------
privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
defaultWEPKey1 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 1 }
defaultWEPKey2 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 2 }
defaultWEPKey3 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 3 }
defaultWEPKey4 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 4 }
privacyWEPEnable OBJECT-TYPE
SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute, when enable64(1) or enable128(3), indicates that the 802.11
standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"
::= {privacyGRP 5}
privacyDefaultWEPKeyID OBJECT-TYPE
SYNTAX INTEGER (1..4)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute shall indicate the use of the first, second,
third or fourth DefaultWEPKey when set to values of one, two,
three or four."
::= {privacyGRP 6}
-----------------------------STATISTICS-----------------------------
WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
wirelessStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (88))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Wireless Statistics. 22 elements(ULONG)
WirelessStatistics{
unsigned long UnicastTransmittedPackets;
unsigned long BroadcastTransmittedPacets;
unsigned long MulticastTransmittedPackets;
unsigned long TransmittedBeacon;
unsigned long TransmittedACK;
unsigned long TransmittedRTS;
unsigned long TransmittedCTS;
unsigned long UnicastReceivedPackets;
unsigned long BroadcastReceivedPackets;
unsigned long MulticastReceivedPackets;
unsigned long ReceivedBeacon;
unsigned long ReceivedACK;
unsigned long ReceivedRTS;
unsigned long ReceivedCTS;
unsigned long ACKFailure;
unsigned long CTSFailure;
unsigned long RetryPackets;
unsigned long ReceivedDuplicate;
unsigned long FailedPackets;
unsigned long AgedPackets;
unsigned long FCSError;
unsigned long InvalidPLCP;
} "
::= {WLstatisticsGRP 1 }
-------------------------------Site Survey----------------------
WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
ChannelStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLSiteSurveyGRP 1}
-------------------------------Associated Station----------------------
-----------------------------------------------------------------------
AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
AssociatedSTAsNum OBJECT-TYPE
SYNTAX INTEGER (1..2007)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= { AssociatedStationsGRP 1 }
AssociatedSTAsInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (24))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The associated STAtion's Information.
AssociatedSTAsInfo{
unsigned sort Num;
unsigned char MacAddress[6];
} "
::= { AssociatedStationsGRP 2 }
-------------------------------Authorized Mac Addresses----------------------
AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
AuthorizationMacEnable OBJECT-TYPE
SYNTAX INTEGER (1..3)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to 1, the Authorization Mac Address Table will be enabled in allow mode.
When setting this attribute to 3, the Authorization Mac Address Table will be enabled in deny mode."
::= {AuthorizedMacAddressesGRP 1}
AuthorizedMac OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authorized Wireless Mac Addresses
AuthorizedMacTableString{
unsigned sort Action; //Set 0x01 or Get 0x02
unsigned sort NumOfAllTableAddresses;
unsigned sort NumOfCurrentAddress;
unsigned char MacAddress[6];
} "
::= { AuthorizedMacAddressesGRP 2 }
-----------------------------KNOWN ACCESS POINTS----------------------
WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
wirelessKnownAPs OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (160))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 1 }
SelectedBSSListNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS write-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 2 }
-----------------------------Advanced Privacy-----------------------------
AdvancedPrivacyGRP OBJECT IDENTIFIER ::= { wireless 8 }
Dot1xEnable OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2), mixed environment(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 1}
BroadcastKeyPeriod OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 2}
ServerIP OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 3}
ServerSecret OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"."
::= {AdvancedPrivacyGRP 4}
--*************************** Traps ***************************
--*************************************************************
trapSTAMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC address of a station device"
::= {traps 1}
BroadcastKeyPeriod
trapReassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a STAtion's reassosiation
request is received."
::= 1
trapRoamOut TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is used to indicate that a STAtion has
roamed out of the Wireless bridge's coverage area."
::= 2
trapAssociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"Indicates the reception of an association request packet
and the sender STAtion's successful association with the
Access Point."
::= 3
trapDisassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a disassociation notification
packet is received from a STAtion."
::= 4
trapAssociationExpire TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when the association's maximum time interval expires for
an associated STAtion."
::= 5
trapReset TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
sysReset
}
DESCRIPTION
"This trap message is sent when Access Point Resets."
::= 6
trapSettingPingIPAddress TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
operIPAddress
}
DESCRIPTION
"This trap message is sent when the Access Point IP address
is set with the transmition of a ping message."
::= 7
trapStartUp TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Starts Up."
::= 8
trapFailedToEraseFlash TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Failed To Erase Flash."
::= 9
trapAPClientScanning TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is scanning..."
::= 10
trapAPClientAuthenticating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is authenticating with the AP."
::= 11
trapAPClientAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is associating with the AP."
::= 12
trapAPClientReAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is reassociating with the AP."
::= 13
trapAPClientAuthenticationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed authenticating with the AP."
::= 14
trapAPClientAssociationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed associating with the AP."
::= 15
trapAPClientConnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been connected with the AP."
::= 16
trapAPClientDisconnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been disconnected from the AP."
::= 17
trapAPClientScanFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed scanning!"
::= 18
trapAPClientJoinFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed joining!"
::= 19
trapAPClientJoining TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is in join state."
::= 20
END ap-utils-1.5/Documentation/mibs-atmel/mib-12350-none-netgear/ 0000775 0000000 0000000 00000000000 11172466627 0023573 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/mib-12350-none-netgear/AT76C510.mib 0000664 0000000 0000000 00000101542 11172466627 0025301 0 ustar 00root root 0000000 0000000 -- Title: ATMEL Private MIB
--Firmaware Version 1.4 14/5/2001
ATMEL-MIB DEFINITIONS ::= BEGIN
--IMPORTS
-- enterprises,Counter
--FROM RFC1155-SMI
-- DisplayString
--FROM RFC1213-MIB;
-- TRAP-TYPE
--FROM RFC-1215;
--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
DisplayString ::= OCTET STRING
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
--atmel OBJECT IDENTIFIER ::= { enterprises 410 }
atmel OBJECT IDENTIFIER ::= { enterprises 12350 }
atmelmib OBJECT IDENTIFIER ::= { atmel 1}
atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
wireless OBJECT IDENTIFIER ::= {atmelmib 2}
traps OBJECT IDENTIFIER ::= {atmelmib 3 }
--*************************** System***************************
--****************************************************************
sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the entity. This value
should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { sysCtrlGRP 1 }
sysReset OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a reset command to
the system is issued."
::= { sysCtrlGRP 2 }
sysTrapSwitch OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute enables the transmission of SNMP.V1 TRAPs."
::= {sysCtrlGRP 3}
sysLoadDefaults OBJECT-TYPE
SYNTAX INTEGER { enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this attribute to enable(1), will cause the system to load
the factory default values of all the operational parameters."
::= { sysCtrlGRP 4 }
sysDeviceInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (92))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned short Reserved;
unsigned long RegulationDomain;
unsigned long ProductType;
unsigned char OEMName[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
} "
::= {sysCtrlGRP 5 }
sysUpload OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Upload configuration command to
the system is issued."
::= { sysCtrlGRP 6 }
SiteSurveyCommand OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Site Survey command to
the system is issued."
::= { sysCtrlGRP 7 }
-----------------------------BridgingLevel-----------------------------
operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
operIPAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this device used over its Ethernet
or Wireless LAN port."
::= { operBridgingLevel 1 }
operIPMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Network mask used by the IP entity when accessing
devices through any of its LAN Ports (Ethernet or WLAN)."
::= { operBridgingLevel 2}
operEthernetAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC Address of the Ethernet interface."
::= { operBridgingLevel 3}
operGateway OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Gateway default IP address."
::= { operBridgingLevel 4 }
operDHCP OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
enable DHCP protocol."
::= { operBridgingLevel 5 }
operPrimaryPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the primaty port.Ethernet or Wireless."
::= { operBridgingLevel 6 }
operConfigurationPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."
::= { operBridgingLevel 7 }
-----------------------------Filtering-----------------------------
operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
operIPFilter OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
filter out all non IP-traffic."
::= { operFiltering 1 }
operForwarbBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
forward broadcast traffic to the Wireless Port."
::= { operFiltering 2 }
operSendBackBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back broadcast traffic to the Wireless Port."
::= { operFiltering 3 }
operSendBackUnicast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back unicast traffic to the Wireless Port."
::= { operFiltering 4 }
-----------------------------Bridge Operational Mode -----------------------------
operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
bridgeOperationalMode OBJECT-TYPE
SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
::= { operBridgeOperationalMode 1 }
bridgeRemoteBridgeBSSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Preferred BSSID if the device is at Access Point client mode
or the remote Mac if the device is at Wireless Bridge Point to Point mode."
::= { operBridgeOperationalMode 2 }
-----------------------------Static-----------------------------
dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
StaticMacFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
static MAC filters."
::= { dot1dStatic 1 }
dot1dStaticTable OBJECT-TYPE
SYNTAX SEQUENCE OF Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of ports to which
frames received from specific ports and containing
specific destination addresses are allowed to be
forwarded. The value of zero in this table as the
port number from which frames with a specific
destination address are received, is used to
specify all ports for which there is no specific
entry in this table for that particular
destination address. Entries are valid for
unicast and for group/broadcast addresses."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
::= { dot1dStatic 2 }
dot1dStaticEntry OBJECT-TYPE
SYNTAX Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of ports to which frames received from a
specific port and containing a specific
destination address are allowed to be forwarded."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
::= { dot1dStaticTable 1 }
Dot1dStaticEntry ::=
SEQUENCE {
dot1dStaticAddress
OCTET STRING (SIZE (6))
-- dot1dStaticReceivePort
-- INTEGER,
-- dot1dStaticAllowedToGoTo
-- INTEGER,
-- dot1dStaticStatus
-- INTEGER
}
dot1dStaticAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination MAC address in a frame to which
this entry's filtering information applies. This
object can take the value of a unicast address, a
group address or the broadcast address."
REFERENCE
"IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
::= { dot1dStaticEntry 1 }
-- dot1dStaticReceivePort OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "Either the value '0', or the port number of the
-- port from which a frame must be received in order
-- for this entry's filtering information to apply.
-- A value of zero indicates that this entry applies
-- on all ports of the bridge for which there is no
-- other applicable entry."
-- ::= { dot1dStaticEntry 2 }
-- dot1dStaticAllowedToGoTo OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "The set of ports to which frames received from a
-- specific port and destined for a specific MAC
-- address, are allowed to be forwarded. Each octet
-- within the value of this object specifies a set of
-- eight ports, with the first octet specifying ports
-- 1 through 8, the second octet specifying ports 9
-- through 16, etc. Within each octet, the most
-- significant bit represents the lowest numbered
-- port, and the least significant bit represents the
-- highest numbered port. Thus, each port of the
-- bridge is represented by a single bit within the
-- value of this object. If that bit has a value of
-- '1' then that port is included in the set of
-- ports; the port is not included if its bit has a
-- value of '0'. (Note that the setting of the bit
-- corresponding to the port from which a frame is
-- received is irrelevant.) The default value of
-- this object is a string of ones of appropriate
-- length."
-- ::= { dot1dStaticEntry 3 }
--
-- dot1dStaticStatus OBJECT-TYPE
-- SYNTAX INTEGER {
-- other(1),
-- invalid(2),
-- permanent(3),
-- deleteOnReset(4),
-- deleteOnTimeout(5)
-- }
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "This object indicates the status of this entry.
-- The default value is permanent(3).
-- other(1) - this entry is currently in use but
-- the conditions under which it will
-- remain so are different from each of the
-- following values.
-- invalid(2) - writing this value to the object
-- removes the corresponding entry.
-- permanent(3) - this entry is currently in use
-- and will remain so after the next reset
-- of the bridge.
-- deleteOnReset(4) - this entry is currently in
-- use and will remain so until the next
-- reset of the bridge.
-- deleteOnTimeout(5) - this entry is currently
-- in use and will remain so until it is
-- aged out."
-- ::= { dot1dStaticEntry 4 }
----------------------------------Protocol Filtering-------------------
ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
ProtocolFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
protocol filters."
::= { ProtocolFilterGRP 1 }
ProtocolFilterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of protocol filter."
::= { ProtocolFilterGRP 2 }
protocolFilterEntry OBJECT-TYPE
SYNTAX ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of protocol filter."
INDEX { ProtocolFilterCode }
::= { ProtocolFilterTable 1 }
ProtocolFilterEntry ::=
SEQUENCE {
ProtocolFilterCode
OCTET STRING (SIZE (2)),
ProtocolFilterDescription
DisplayString (SIZE (0..255)),
ProtocolFilterActivity
INTEGER
}
ProtocolFilterCode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The protocol code configured into the bridge
by (local or network) management specifying the
set of protocol filter."
::= { protocolFilterEntry 1 }
ProtocolFilterDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the protocol."
::= { protocolFilterEntry 2 }
ProtocolFilterActivity OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object indicates the status of this filter."
::= { protocolFilterEntry 3 }
-----------------------------Ethernet STATISTICS-----------------------------
EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
EthRxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Rx Statistics
EthernetRxStatistics{
unsigned long TotalBytesRx;
unsigned long TotalPacketsRx;
unsigned long PacketCRCErrorRx;
unsigned long MulticastPacketRx;
unsigned long BroadcastPacketRx;
unsigned long ControlFramesRx;
unsigned long PauseFramesRx;
unsigned long UnknownOPCodeRx;
unsigned long AlignmentRxError;
unsigned long LengthOutOfRangeRx;
unsigned long CodeErrorRx;
unsigned long FalseCarrierRx;
unsigned long UndersizePacketsRx;
unsigned long OversizePacketsRx;
unsigned long TotalFragmentsRx;
unsigned long TotalJabberRx;
}"
::= {EthStatisticsGRP 1 }
EthTxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Tx Statistics
EthernetTxStatistics{
unsigned long TotalBytesTx;
unsigned long TotalPacketsTx;
unsigned long PacketCRCErrorTx;
unsigned long MulticastPacketTx;
unsigned long BroadcastPacketTx;
unsigned long UnicastPacketTx;
unsigned long PauseFramesTx;
unsigned long SingleDeferPacketTx;
unsigned long MultiDeferPacketsTx;
unsigned long SingleCollisionsTx;
unsigned long MultiCollisionsTx;
unsigned long LateCollisionsTx;
unsigned long ExcessiveCollisionTx;
unsigned long TotalCollisionsTx;
}"
::= {EthStatisticsGRP 2 }
-----------------------------Test Mode Settings-----------------------------
TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
TestModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the device be
at test mode."
::= { TestModeSettingsGRP 1 }
TestModeCommandStruct OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (20))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"
typedef struct __CONT_PKT_TX
{
UINT8 Channel;
UINT8 Antenna;
UINT8 TxPower;
UINT8 TxRate;
UINT8 TxFilter;
UINT8 Reserved;
UINT16 IFrameTime;
UINT32 FrameLength;
UINT32 FramesToTransmit;
UINT8 Pattern;
UINT8 Reserved1[3];
}CONT_PKT_TX;
"
::= {TestModeSettingsGRP 2 }
TestModeRadioConfiguration OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (47))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Configuration of radio derived from tests. CR17 Reg 1-14, CR20 Reg 1-14, CR21 Reg 1-14, CR1, CR2, CR3, CR28, CR29"
::= {TestModeSettingsGRP 8 }
TestModeStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Statistics derive from tests
TestModeStatistics{
unsigned long SuccessFrames;
unsigned long FailedFrames;
unsigned long PacketsTx;
} "
::= {TestModeSettingsGRP 9 }
-----------------------------Authorized Settings-----------------------------
AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
AuthorizedUserPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of User."
::= {AuthorizedSettingsGRP 1 }
AuthorizedAdminPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Administrator."
::= {AuthorizedSettingsGRP 2 }
AuthorizedManufactPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Manufacturer."
::= {AuthorizedSettingsGRP 3 }
--*************************** wireless ***************************
--****************************************************************
-----------------------------Operational Settings-----------------------------
OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
operChannelID OBJECT-TYPE
SYNTAX INTEGER {
channel1(1),
channel2(2),
channel3(3),
channel4(4),
channel5(5),
channel6(6),
channel7(7),
channel8(8),
channel9(9),
channel10(10),
channel11(11),
channel12(12),
channel13(13),
channel14(14)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The operating frequency channel. Valid numbers
are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
::= { OperationalSettingsGRP 1 }
operESSIDLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ESSID Length"
::= {OperationalSettingsGRP 2 }
operESSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The network name. The size of the network name
should not be more than 32 characters long."
::= {OperationalSettingsGRP 3 }
operRTSThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which an RTS/CTS handshake will be
performed. Setting this attribute to be larger than the
maximum frame size, will prevent the RTS/CTS handshake
for frames trassmitted by this station."
::= {OperationalSettingsGRP 4 }
operFragmentationThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which MPDU fragmentation will be
performed."
::= {OperationalSettingsGRP 5 }
operPreambleType OBJECT-TYPE
SYNTAX INTEGER {
ShortPreamble(1),
LongPreamble(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the Preamble Type of device. Short or Long."
::= {OperationalSettingsGRP 6 }
operAuthenticationType OBJECT-TYPE
SYNTAX INTEGER {
openSystem(1),
sharedKey(2),
BothType(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the authentication algorithm
used during the authentication sequence.
The value of this attribute is one of the following:
1 - Open System,
2 - Shared Key
3 - Both Type "
::= {OperationalSettingsGRP 7 }
operBasicRates OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the basic and supported rates of Access Point.Valid format
is as defind in ISO/IEC 8802-11:1999"
::= { OperationalSettingsGRP 8 }
operAutoRateFallBack OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if Auto Rate Fall Back is enable or disable."
::= {OperationalSettingsGRP 9 }
operAccessPointName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The AP name."
::= {OperationalSettingsGRP 10 }
operSSIDBroadcasting OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if SSID is broadcasting or not."
::= {OperationalSettingsGRP 11 }
operAntennaSettings OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 12 }
operInterRoaming OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 13 }
-----------------------------Privacy-----------------------------
privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
defaultWEPKey1 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 1 }
defaultWEPKey2 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 2 }
defaultWEPKey3 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 3 }
defaultWEPKey4 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 4 }
privacyWEPEnable OBJECT-TYPE
SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute, when enable64(1) or enable128(3), indicates that the 802.11
standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"
::= {privacyGRP 5}
privacyDefaultWEPKeyID OBJECT-TYPE
SYNTAX INTEGER (1..4)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute shall indicate the use of the first, second,
third or fourth DefaultWEPKey when set to values of one, two,
three or four."
::= {privacyGRP 6}
-----------------------------STATISTICS-----------------------------
WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
wirelessStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (88))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Wireless Statistics. 22 elements(ULONG)
WirelessStatistics{
unsigned long UnicastTransmittedPackets;
unsigned long BroadcastTransmittedPacets;
unsigned long MulticastTransmittedPackets;
unsigned long TransmittedBeacon;
unsigned long TransmittedACK;
unsigned long TransmittedRTS;
unsigned long TransmittedCTS;
unsigned long UnicastReceivedPackets;
unsigned long BroadcastReceivedPackets;
unsigned long MulticastReceivedPackets;
unsigned long ReceivedBeacon;
unsigned long ReceivedACK;
unsigned long ReceivedRTS;
unsigned long ReceivedCTS;
unsigned long ACKFailure;
unsigned long CTSFailure;
unsigned long RetryPackets;
unsigned long ReceivedDuplicate;
unsigned long FailedPackets;
unsigned long AgedPackets;
unsigned long FCSError;
unsigned long InvalidPLCP;
} "
::= {WLstatisticsGRP 1 }
-------------------------------Site Survey----------------------
WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
ChannelStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLSiteSurveyGRP 1}
-------------------------------Associated Station----------------------
-----------------------------------------------------------------------
AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
AssociatedSTAsNum OBJECT-TYPE
SYNTAX INTEGER (1..2007)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= { AssociatedStationsGRP 1 }
AssociatedSTAsInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (24))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The associated STAtion's Information.
AssociatedSTAsInfo{
unsigned short Num;
unsigned char MacAddress[6];
} "
::= { AssociatedStationsGRP 2 }
-------------------------------Authorized Mac Addresses----------------------
AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
AuthorizationMacEnable OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the Authorization Mac Address Table will be enable."
::= {AuthorizedMacAddressesGRP 1}
AuthorizedMac OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authorized Wireless Mac Addresses
AuthorizedMacTableString{
unsigned short Action; //Set 0x01 or Get 0x02
unsigned short NumOfAllTableAddresses;
unsigned short NumOfCurrentAddress;
unsigned char MacAddress[6];
} "
::= { AuthorizedMacAddressesGRP 2 }
-----------------------------KNOWN ACCESS POINTS----------------------
WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
wirelessKnownAPs OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (160))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 1 }
SelectedBSSListNumber OBJECT-TYPE
SYNTAX INTEGER
ACCESS write-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 2 }
-----------------------------ACCESS POINT CLIENT INFO----------------------
WLAPClientGRP OBJECT IDENTIFIER ::= {wireless 8}
APCLientInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The AP Client Info
{
unsigned char reserved;
unsigned char State; // 0->Idle State, 1->Scan State, 2->Scan Completed, 3->Join State, 4->Join Completed State,
// 5->Authentication Request1 Pending, 6->Authentication Request2 Pending,
// 7->Authenticated State, 8->Association Request Pending, 9->Associated State
unsigned char BSSID[6];
} "
::= {WLAPClientGRP 1 }
--*************************** Traps ***************************
--*************************************************************
trapSTAMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC address of a station device"
::= {traps 1}
trapReassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a STAtion's reassosiation
request is received."
::= 1
trapRoamOut TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is used to indicate tha a STAtion has
roamed out of the Wireless bridge's coverage area."
::= 2
trapAssociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"Indicates the reception of an association request packet
and the sender STAtion's successful association with the
Access Point."
::= 3
trapDisassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a dissasociation notification
packet is received from a STAtion."
::= 4
trapAssociationExpire TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when the association's maximum time interval expires for
an associated STAtion."
::= 5
trapReset TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
sysReset
}
DESCRIPTION
"This trap message is sent when Access Point Resets."
::= 6
trapSettingPingIPAddress TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
operIPAddress
}
DESCRIPTION
"This trap message is sent when the Access Point IP address
is set with the transmition of a ping message."
::= 7
trapStartUp TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Starts Up."
::= 8
trapFailedToEraseFlash TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Failed To Erase Flash."
::= 9
trapAPClientScanning TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is scanning..."
::= 10
trapAPClientAuthenticating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is authenticating with the AP."
::= 11
trapAPClientAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is associating with the AP."
::= 12
trapAPClientReAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is reassociating with the AP."
::= 13
trapAPClientAuthenticationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed authenticating with the AP."
::= 14
trapAPClientAssociationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed associating with the AP."
::= 15
trapAPClientConnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has been connected with the AP."
::= 16
trapAPClientDisconnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has been disconnected from the AP."
::= 17
trapAPClientScanFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed scanning!"
::= 18
trapAPClientJoinFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed joining!"
::= 19
trapAPClientJoining TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is in join state."
::= 20
END ap-utils-1.5/Documentation/mibs-atmel/mib-410-none-dlink/ 0000775 0000000 0000000 00000000000 11172466627 0023101 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/mib-410-none-dlink/AT76C510.mib 0000664 0000000 0000000 00000060525 11172466627 0024614 0 ustar 00root root 0000000 0000000 -- Title: ATMEL Private MIB
ATMEL-MIB DEFINITIONS ::= BEGIN
--IMPORTS
-- enterprises,Counter
--FROM RFC1155-SMI
-- DisplayString
--FROM RFC1213-MIB;
-- TRAP-TYPE
--FROM RFC-1215;
--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
DisplayString ::= OCTET STRING
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
atmel OBJECT IDENTIFIER ::= { enterprises 410 }
atmelmib OBJECT IDENTIFIER ::= { atmel 1}
atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
wireless OBJECT IDENTIFIER ::= {atmelmib 2}
traps OBJECT IDENTIFIER ::= {atmelmib 3 }
--*************************** System***************************
--****************************************************************
sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the entity. This value
should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { sysCtrlGRP 1 }
sysReset OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a reset command to
the system is issued."
::= { sysCtrlGRP 2 }
sysTrapSwitch OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute enables the transmission of SNMP.V1 TRAPs."
::= {sysCtrlGRP 3}
sysLoadDefaults OBJECT-TYPE
SYNTAX INTEGER { enable(1), disable(2) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this attribute to enable(1), will cause the system to load
the factory default values of all the operational parameters."
::= { sysCtrlGRP 4 }
sysDeviceInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (92))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Hardware device configuration struct."
::= {sysCtrlGRP 5 }
sysUpload OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Upload configuration command to
the system is issued."
::= { sysCtrlGRP 6 }
operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
operIPAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this device used over its Ethernet
or Wireless LAN port."
::= { operBridgingLevel 1 }
operIPMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Network mask used by the IP entity when accessing
devices through any of its LAN Ports (Ethernet or WLAN)."
::= { operBridgingLevel 2}
operEthernetAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The MAC Address of the Ethernet interface."
::= { operBridgingLevel 3}
operGateway OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= { operBridgingLevel 4 }
operDHCP OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to ENABLE, the system will
enable DHCP protocol."
::= { operBridgingLevel 5 }
operPrimaryPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the primaty port."
::= { operBridgingLevel 6 }
operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
operIPFilter OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to ENABLE, the system will
filter out all non IP-traffic."
::= { operFiltering 1 }
operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
bridgeOperationalMode OBJECT-TYPE
SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint."
::= { operBridgeOperationalMode 1 }
bridgeRemoteBridgeBSSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Preferred BSSID if the device is at Access Point client mode
or the remote Mac if the device is at Wireless Bridge Point to Point mode."
::= { operBridgeOperationalMode 2 }
dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
StaticMacFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
static MAC filters."
::= { dot1dStatic 1 }
dot1dStaticTable OBJECT-TYPE
SYNTAX SEQUENCE OF Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of ports to which
frames received from specific ports and containing
specific destination addresses are allowed to be
forwarded. The value of zero in this table as the
port number from which frames with a specific
destination address are received, is used to
specify all ports for which there is no specific
entry in this table for that particular
destination address. Entries are valid for
unicast and for group/broadcast addresses."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
::= { dot1dStatic 2 }
dot1dStaticEntry OBJECT-TYPE
SYNTAX Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of ports to which frames received from a
specific port and containing a specific
destination address are allowed to be forwarded."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
::= { dot1dStaticTable 1 }
Dot1dStaticEntry ::=
SEQUENCE {
dot1dStaticAddress
OCTET STRING (SIZE (6))
-- dot1dStaticReceivePort
-- INTEGER,
-- dot1dStaticAllowedToGoTo
-- INTEGER,
-- dot1dStaticStatus
-- INTEGER
}
dot1dStaticAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination MAC address in a frame to which
this entry's filtering information applies. This
object can take the value of a unicast address, a
group address or the broadcast address."
REFERENCE
"IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
::= { dot1dStaticEntry 1 }
-- dot1dStaticReceivePort OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "Either the value '0', or the port number of the
-- port from which a frame must be received in order
-- for this entry's filtering information to apply.
-- A value of zero indicates that this entry applies
-- on all ports of the bridge for which there is no
-- other applicable entry."
-- ::= { dot1dStaticEntry 2 }
-- dot1dStaticAllowedToGoTo OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "The set of ports to which frames received from a
-- specific port and destined for a specific MAC
-- address, are allowed to be forwarded. Each octet
-- within the value of this object specifies a set of
-- eight ports, with the first octet specifying ports
-- 1 through 8, the second octet specifying ports 9
-- through 16, etc. Within each octet, the most
-- significant bit represents the lowest numbered
-- port, and the least significant bit represents the
-- highest numbered port. Thus, each port of the
-- bridge is represented by a single bit within the
-- value of this object. If that bit has a value of
-- '1' then that port is included in the set of
-- ports; the port is not included if its bit has a
-- value of '0'. (Note that the setting of the bit
-- corresponding to the port from which a frame is
-- received is irrelevant.) The default value of
-- this object is a string of ones of appropriate
-- length."
-- ::= { dot1dStaticEntry 3 }
--
-- dot1dStaticStatus OBJECT-TYPE
-- SYNTAX INTEGER {
-- other(1),
-- invalid(2),
-- permanent(3),
-- deleteOnReset(4),
-- deleteOnTimeout(5)
-- }
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "This object indicates the status of this entry.
-- The default value is permanent(3).
-- other(1) - this entry is currently in use but
-- the conditions under which it will
-- remain so are different from each of the
-- following values.
-- invalid(2) - writing this value to the object
-- removes the corresponding entry.
-- permanent(3) - this entry is currently in use
-- and will remain so after the next reset
-- of the bridge.
-- deleteOnReset(4) - this entry is currently in
-- use and will remain so until the next
-- reset of the bridge.
-- deleteOnTimeout(5) - this entry is currently
-- in use and will remain so until it is
-- aged out."
-- ::= { dot1dStaticEntry 4 }
ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
ProtocolFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
protocol filters."
::= { ProtocolFilterGRP 1 }
ProtocolFilterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of protocol filter."
::= { ProtocolFilterGRP 2 }
protocolFilterEntry OBJECT-TYPE
SYNTAX ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of protocol filter."
INDEX { ProtocolFilterCode }
::= { ProtocolFilterTable 1 }
ProtocolFilterEntry ::=
SEQUENCE {
ProtocolFilterCode
OCTET STRING (SIZE (2)),
ProtocolFilterDescription
DisplayString (SIZE (0..255)),
ProtocolFilterActivity
INTEGER
}
ProtocolFilterCode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The protocol code configured into the bridge
by (local or network) management specifying the
set of protocol filter."
::= { protocolFilterEntry 1 }
ProtocolFilterDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the protocol."
::= { protocolFilterEntry 2 }
ProtocolFilterActivity OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object indicates the status of this filter."
::= { protocolFilterEntry 3 }
EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
EthRxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Rx Statistics."
::= {EthStatisticsGRP 1 }
EthTxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Tx Statistics."
::= {EthStatisticsGRP 2 }
TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
TestModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= { TestModeSettingsGRP 1 }
TestModeCommandStruct OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {TestModeSettingsGRP 2 }
TestModeRadioConfiguration OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Configuration of radio derive from tests."
::= {TestModeSettingsGRP 8 }
TestModeStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Statistics derive from tests."
::= {TestModeSettingsGRP 9 }
AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
AuthorizedUserPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AuthorizedSettingsGRP 1 }
AuthorizedAdminPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AuthorizedSettingsGRP 2 }
AuthorizedManufactPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AuthorizedSettingsGRP 3 }
--*************************** wireless ***************************
--****************************************************************
OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
operChannelID OBJECT-TYPE
SYNTAX INTEGER {
channel1(1),
channel2(2),
channel3(3),
channel4(4),
channel5(5),
channel6(6),
channel7(7),
channel8(8),
channel9(9),
channel10(10),
channel11(11),
channel12(12),
channel13(13),
channel14(14)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The operating frequency channel. Valid numbers
are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
::= { OperationalSettingsGRP 1 }
operESSIDLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ESSID Length"
::= {OperationalSettingsGRP 2 }
operESSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The network name. The size of the network name
should not be more than 32 characters long."
::= {OperationalSettingsGRP 3 }
operRTSThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which an RTS/CTS handshake will be
performed. Setting this attribute to be larger than the
maximum frame size, will prevent the RTS/CTS handshake
for frames trassmitted by this station."
::= {OperationalSettingsGRP 4 }
operFragmentationThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which MPDU fragmentation will be
performed."
::= {OperationalSettingsGRP 5 }
operPreambleType OBJECT-TYPE
SYNTAX INTEGER {
ShortPreamble(1),
LongPreamble(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= {OperationalSettingsGRP 6 }
operAuthenticationType OBJECT-TYPE
SYNTAX INTEGER {
openSystem(1),
sharedKey(2),
BothType(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the authentication algorithm
used during the authentication sequence.
The value of this attribute is one of the following:
1 - Open System,
2 - Shared Key
3 - Both Type "
::= {OperationalSettingsGRP 7 }
operBasicRates OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the basic rates of AP-Bridge."
::= { OperationalSettingsGRP 8 }
operAutoRateFallBack OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if Auto Rate Fall Back is enable or disable."
::= {OperationalSettingsGRP 9 }
operAccessPointName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The AP name."
::= {OperationalSettingsGRP 10 }
privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
defaultWEPKey1 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 1 }
defaultWEPKey2 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 2 }
defaultWEPKey3 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 3 }
defaultWEPKey4 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 4 }
privacyWEPEnable OBJECT-TYPE
SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute, when true, indicates that the 802.11
standard encryption mechanism (WEP) is implemented."
::= {privacyGRP 5}
privacyDefaultWEPKeyID OBJECT-TYPE
SYNTAX INTEGER (1..4)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute shall indicate the use of the first, second,
third or fourth DefaultWEPKey when set to values of one, two,
three or four."
::= {privacyGRP 6}
WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
wirelessStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (88))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Wireless Statistics. 22 elements(ULONG)."
::= {WLstatisticsGRP 1 }
WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
ChannelStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLSiteSurveyGRP 1}
AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
AssociatedSTAsNum OBJECT-TYPE
SYNTAX INTEGER (1..2007)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= { AssociatedStationsGRP 1 }
AssociatedSTAsInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (24))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The associated STAtion's Information."
::= { AssociatedStationsGRP 2 }
AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
AuthorizationMacEnable OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {AuthorizedMacAddressesGRP 1}
AuthorizedMac OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authorized Wireless Mac Addresses."
::= { AuthorizedMacAddressesGRP 2 }
WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
wirelessKnownAPsNum OBJECT-TYPE
SYNTAX INTEGER (1..8)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 1 }
wirelessKnownAPs OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 2 }
--*************************** Traps ***************************
--*************************************************************
trapSTAMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC address of a station device"
::= {traps 1}
trapReassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a STAtion's reassosiation
request is received."
::= 1
trapRoamOut TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is used to indicate tha a STAtion has
roamed out of the Wireless bridge's coverage area."
::= 2
trapAssociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"Indicates the reception of an association request packet
and the sender STAtion's successful association with the
Wireless Bridge."
::= 3
trapDisassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a dissasociation notification
packet is received from a STAtion."
::= 4
trapAssociationExpire TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"When the association's maximum time interval expires for
an associated STAtion this trap message is sent."
::= 5
trapReset TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
sysReset
}
DESCRIPTION
"This trap message is sent when Bridge Resets."
::= 6
trapSettingPingIPAddress TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
operIPAddress
}
DESCRIPTION
"This trap message is sent when the ATMEL Bridge IP address
is set with the transmition of a ping message."
::= 7
trapStartUp TRAP-TYPE
ENTERPRISE atmel
-- apparently the 4.2.1 ucd-snmp tools do not liek
-- empty variable blocks - msp 9jul2001
-- VARIABLES {
-- }
DESCRIPTION
"This trap message is sent when Bridge Starts Up."
::= 8
trapFailedToEraseFlash TRAP-TYPE
ENTERPRISE atmel
-- apparently the 4.2.1 ucd-snmp tools do not liek
-- empty variable blocks - msp 9jul2001
--VARIABLES {
--}
DESCRIPTION
"This trap message is sent when Bridge Failed To Erase Flash."
::= 9
END
ap-utils-1.5/Documentation/mibs-atmel/mib-410-smartbridges/ 0000775 0000000 0000000 00000000000 11172466627 0023531 5 ustar 00root root 0000000 0000000 ap-utils-1.5/Documentation/mibs-atmel/mib-410-smartbridges/AT76C510.mib 0000664 0000000 0000000 00000106750 11172466627 0025245 0 ustar 00root root 0000000 0000000 -- Title: ATMEL Private MIB
--Firmaware Version 1.4 14/5/2001
ATMEL-MIB DEFINITIONS ::= BEGIN
--IMPORTS
-- enterprises,Counter
--FROM RFC1155-SMI
-- DisplayString
--FROM RFC1213-MIB;
-- TRAP-TYPE
--FROM RFC-1215;
--MacAddress ::= IMPLICIT OCTET STRING (SIZE(6))
DisplayString ::= OCTET STRING
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
atmel OBJECT IDENTIFIER ::= { enterprises 410 }
atmelmib OBJECT IDENTIFIER ::= { atmel 1}
atmelSys OBJECT IDENTIFIER ::= {atmelmib 1}
wireless OBJECT IDENTIFIER ::= {atmelmib 2}
traps OBJECT IDENTIFIER ::= {atmelmib 3 }
--*************************** System***************************
--****************************************************************
sysCtrlGRP OBJECT IDENTIFIER ::= {atmelSys 1}
sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the entity. This value
should include the full name and version
identification of the system's hardware type,
software operating-system, and networking
software. It is mandatory that this only contain
printable ASCII characters."
::= { sysCtrlGRP 1 }
sysReset OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a reset command to
the system is issued."
::= { sysCtrlGRP 2 }
sysTrapSwitch OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute enables the transmission of SNMP.V1 TRAPs."
::= {sysCtrlGRP 3}
sysLoadDefaults OBJECT-TYPE
SYNTAX INTEGER { enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Setting this attribute to enable(1), will cause the system to load
the factory default values of all the operational parameters."
::= { sysCtrlGRP 4 }
sysDeviceInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (92))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Hardware device configuration struct.
HARD_CONFIGURATION_STUCT{
unsigned long StructVersion;
unsigned char MacAddress[6];
unsigned short Reserved;
unsigned long RegulationDomain;
unsigned long ProductType;
unsigned char OEMName[32];
unsigned long OEMID;
unsigned char ProductName[32];
unsigned long HardwareRevision;
} "
::= {sysCtrlGRP 5 }
sysUpload OBJECT-TYPE
SYNTAX INTEGER {enable(1)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"By setting this attribute enable(1), a Upload configuration command to
the system is issued."
::= { sysCtrlGRP 6 }
-----------------------------BridgingLevel-----------------------------
operBridgingLevel OBJECT IDENTIFIER ::= {atmelSys 2}
operIPAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP address of this device used over its Ethernet
or Wireless LAN port."
::= { operBridgingLevel 1 }
operIPMask OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The IP Network mask used by the IP entity when accessing
devices through any of its LAN Ports (Ethernet or WLAN)."
::= { operBridgingLevel 2}
operEthernetAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC Address of the Ethernet interface."
::= { operBridgingLevel 3}
operGateway OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Gateway default IP address."
::= { operBridgingLevel 4 }
operDHCP OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
enable DHCP protocol."
::= { operBridgingLevel 5 }
operPrimaryPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the primaty port.Ethernet or Wireless."
::= { operBridgingLevel 6 }
operConfigurationPort OBJECT-TYPE
SYNTAX INTEGER {Ethernet(1),Wireless(2),Both(3)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the Configuration port.Ethernet or Wireless or Both of them."
::= { operBridgingLevel 7 }
operDHCPtimeout OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
enable DHCP timeout."
::= { operBridgingLevel 8 }
-----------------------------Filtering-----------------------------
operFiltering OBJECT IDENTIFIER ::= {atmelSys 3}
operIPFilter OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the system will
filter out all non IP-traffic."
::= { operFiltering 1 }
operForwarbBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
forward broadcast traffic to the Wireless Port."
::= { operFiltering 2 }
operSendBackBcast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back broadcast traffic to the Wireless Port."
::= { operFiltering 3 }
operSendBackUnicast OBJECT-TYPE
SYNTAX INTEGER {enable(1), disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to disable(2), the system will not
send back unicast traffic to the Wireless Port."
::= { operFiltering 4 }
-----------------------------Bridge Operational Mode -----------------------------
operBridgeOperationalMode OBJECT IDENTIFIER ::= {atmelSys 4}
bridgeOperationalMode OBJECT-TYPE
SYNTAX INTEGER {WBPoint2Multipoint(1), AP(2), APclient(3), WBPoint2Point(4), WRepeater(5)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Operational Mode of Bridge. Access Point, Access Point client, Wireless Bridge Point to Point, Wireless Bridge Point to MultiPoint, Wireless Repeater."
::= { operBridgeOperationalMode 1 }
bridgeRemoteBridgeBSSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Preferred BSSID if the device is at Access Point client mode or at Wireless Repeater mode
or the remote Mac if the device is at Wireless Bridge Point to Point mode."
::= { operBridgeOperationalMode 2 }
-----------------------------Static-----------------------------
dot1dStatic OBJECT IDENTIFIER ::= {atmelSys 5}
StaticMacFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
static MAC filters."
::= { dot1dStatic 1 }
dot1dStaticTable OBJECT-TYPE
SYNTAX SEQUENCE OF Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of ports to which
frames received from specific ports and containing
specific destination addresses are allowed to be
forwarded. The value of zero in this table as the
port number from which frames with a specific
destination address are received, is used to
specify all ports for which there is no specific
entry in this table for that particular
destination address. Entries are valid for
unicast and for group/broadcast addresses."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
::= { dot1dStatic 2 }
dot1dStaticEntry OBJECT-TYPE
SYNTAX Dot1dStaticEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of ports to which frames received from a
specific port and containing a specific
destination address are allowed to be forwarded."
REFERENCE
"IEEE 802.1D-1990: Section 6.7.2"
INDEX { dot1dStaticAddress}--, dot1dStaticReceivePort }
::= { dot1dStaticTable 1 }
Dot1dStaticEntry ::=
SEQUENCE {
dot1dStaticAddress
OCTET STRING (SIZE (6))
-- dot1dStaticReceivePort
-- INTEGER,
-- dot1dStaticAllowedToGoTo
-- INTEGER,
-- dot1dStaticStatus
-- INTEGER
}
dot1dStaticAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination MAC address in a frame to which
this entry's filtering information applies. This
object can take the value of a unicast address, a
group address or the broadcast address."
REFERENCE
"IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
::= { dot1dStaticEntry 1 }
-- dot1dStaticReceivePort OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "Either the value '0', or the port number of the
-- port from which a frame must be received in order
-- for this entry's filtering information to apply.
-- A value of zero indicates that this entry applies
-- on all ports of the bridge for which there is no
-- other applicable entry."
-- ::= { dot1dStaticEntry 2 }
-- dot1dStaticAllowedToGoTo OBJECT-TYPE
-- SYNTAX INTEGER
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "The set of ports to which frames received from a
-- specific port and destined for a specific MAC
-- address, are allowed to be forwarded. Each octet
-- within the value of this object specifies a set of
-- eight ports, with the first octet specifying ports
-- 1 through 8, the second octet specifying ports 9
-- through 16, etc. Within each octet, the most
-- significant bit represents the lowest numbered
-- port, and the least significant bit represents the
-- highest numbered port. Thus, each port of the
-- bridge is represented by a single bit within the
-- value of this object. If that bit has a value of
-- '1' then that port is included in the set of
-- ports; the port is not included if its bit has a
-- value of '0'. (Note that the setting of the bit
-- corresponding to the port from which a frame is
-- received is irrelevant.) The default value of
-- this object is a string of ones of appropriate
-- length."
-- ::= { dot1dStaticEntry 3 }
--
-- dot1dStaticStatus OBJECT-TYPE
-- SYNTAX INTEGER {
-- other(1),
-- invalid(2),
-- permanent(3),
-- deleteOnReset(4),
-- deleteOnTimeout(5)
-- }
-- ACCESS read-write
-- STATUS mandatory
-- DESCRIPTION
-- "This object indicates the status of this entry.
-- The default value is permanent(3).
-- other(1) - this entry is currently in use but
-- the conditions under which it will
-- remain so are different from each of the
-- following values.
-- invalid(2) - writing this value to the object
-- removes the corresponding entry.
-- permanent(3) - this entry is currently in use
-- and will remain so after the next reset
-- of the bridge.
-- deleteOnReset(4) - this entry is currently in
-- use and will remain so until the next
-- reset of the bridge.
-- deleteOnTimeout(5) - this entry is currently
-- in use and will remain so until it is
-- aged out."
-- ::= { dot1dStaticEntry 4 }
----------------------------------Protocol Filtering-------------------
ProtocolFilterGRP OBJECT IDENTIFIER ::= {atmelSys 6}
ProtocolFilterNum OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
protocol filters."
::= { ProtocolFilterGRP 1 }
ProtocolFilterTable OBJECT-TYPE
SYNTAX SEQUENCE OF ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table containing filtering information
configured into the bridge by (local or network)
management specifying the set of protocol filter."
::= { ProtocolFilterGRP 2 }
protocolFilterEntry OBJECT-TYPE
SYNTAX ProtocolFilterEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Filtering information configured into the bridge
by (local or network) management specifying the
set of protocol filter."
INDEX { ProtocolFilterCode }
::= { ProtocolFilterTable 1 }
ProtocolFilterEntry ::=
SEQUENCE {
ProtocolFilterCode
OCTET STRING (SIZE (2)),
ProtocolFilterDescription
DisplayString (SIZE (0..255)),
ProtocolFilterActivity
INTEGER
}
ProtocolFilterCode OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (2))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The protocol code configured into the bridge
by (local or network) management specifying the
set of protocol filter."
::= { protocolFilterEntry 1 }
ProtocolFilterDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the protocol."
::= { protocolFilterEntry 2 }
ProtocolFilterActivity OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This object indicates the status of this filter."
::= { protocolFilterEntry 3 }
-----------------------------Ethernet STATISTICS-----------------------------
EthStatisticsGRP OBJECT IDENTIFIER ::= {atmelSys 7}
EthRxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (64))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Rx Statistics
EthernetRxStatistics{
unsigned long TotalBytesRx;
unsigned long TotalPacketsRx;
unsigned long PacketCRCErrorRx;
unsigned long MulticastPacketRx;
unsigned long BroadcastPacketRx;
unsigned long ControlFramesRx;
unsigned long PauseFramesRx;
unsigned long UnknownOPCodeRx;
unsigned long AlignmentRxError;
unsigned long LengthOutOfRangeRx;
unsigned long CodeErrorRx;
unsigned long FalseCarrierRx;
unsigned long UndersizePacketsRx;
unsigned long OversizePacketsRx;
unsigned long TotalFragmentsRx;
unsigned long TotalJabberRx;
}"
::= {EthStatisticsGRP 1 }
EthTxStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (56))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Ethernet Tx Statistics
EthernetTxStatistics{
unsigned long TotalBytesTx;
unsigned long TotalPacketsTx;
unsigned long PacketCRCErrorTx;
unsigned long MulticastPacketTx;
unsigned long BroadcastPacketTx;
unsigned long UnicastPacketTx;
unsigned long PauseFramesTx;
unsigned long SingleDeferPacketTx;
unsigned long MultiDeferPacketsTx;
unsigned long SingleCollisionsTx;
unsigned long MultiCollisionsTx;
unsigned long LateCollisionsTx;
unsigned long ExcessiveCollisionTx;
unsigned long TotalCollisionsTx;
}"
::= {EthStatisticsGRP 2 }
-----------------------------Test Mode Settings-----------------------------
TestModeSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 8}
TestModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to enable(1), the device be
at test mode."
::= { TestModeSettingsGRP 1 }
TestModeCommandStruct OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"
TestModeCommandStruct{
unsigned char Channel;
unsigned char Antenna;
unsigned char RegCR31;
unsigned char Rate;
unsigned char TxFiler; //US - JPN
unsigned char Command; //CMD_CONTINUOUS_TX 0x01, CMD_CONTINUOUS_RX 0x02, CMD_CARRIER_ACCURACY 0x03, CMD_IDLE 0x04
unsigned char Res1;
unsigned char Res2;
} "
::= {TestModeSettingsGRP 2 }
TestModeRadioConfiguration OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Configuration of radio derive from tests. CR31 Reg 1-14"
::= {TestModeSettingsGRP 8 }
TestModeStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Statistics derive from tests
TestModeStatistics{
unsigned long SuccessFrames;
unsigned long FailedFrames;
} "
::= {TestModeSettingsGRP 9 }
SleepModeOnOff OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When this attribute is set to enable(1), the device is at sleep mode."
::= {TestModeSettingsGRP 10 }
-----------------------------Authorized Settings-----------------------------
AuthorizedSettingsGRP OBJECT IDENTIFIER ::= {atmelSys 9}
AuthorizedUserPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of User."
::= {AuthorizedSettingsGRP 1 }
AuthorizedAdminPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Administrator."
::= {AuthorizedSettingsGRP 2 }
AuthorizedManufactPass OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (16))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The community name of Manufacturer."
::= {AuthorizedSettingsGRP 3 }
--*************************** wireless ***************************
--****************************************************************
-----------------------------Operational Settings-----------------------------
OperationalSettingsGRP OBJECT IDENTIFIER ::= {wireless 1}
operChannelID OBJECT-TYPE
SYNTAX INTEGER {
channel1(1),
channel2(2),
channel3(3),
channel4(4),
channel5(5),
channel6(6),
channel7(7),
channel8(8),
channel9(9),
channel10(10),
channel11(11),
channel12(12),
channel13(13),
channel14(14)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The operating frequency channel. Valid numbers
are as defind in ISO/IEC 8802-11:1999, 15.4.6.2."
::= { OperationalSettingsGRP 1 }
operESSIDLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The ESSID Length"
::= {OperationalSettingsGRP 2 }
operESSID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The network name. The size of the network name
should not be more than 32 characters long."
::= {OperationalSettingsGRP 3 }
operRTSThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which an RTS/CTS handshake will be
performed. Setting this attribute to be larger than the
maximum frame size, will prevent the RTS/CTS handshake
for frames trassmitted by this station."
::= {OperationalSettingsGRP 4 }
operFragmentationThreshold OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the number of bytes in an
MPDU (frame), above which MPDU fragmentation will be
performed."
::= {OperationalSettingsGRP 5 }
operPreambleType OBJECT-TYPE
SYNTAX INTEGER {
ShortPreamble(1),
LongPreamble(2)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the Preamble Type of device. Short or Long."
::= {OperationalSettingsGRP 6 }
operAuthenticationType OBJECT-TYPE
SYNTAX INTEGER {
openSystem(1),
sharedKey(2),
BothType(3)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the authentication algorithm
used during the authentication sequence.
The value of this attribute is one of the following:
1 - Open System,
2 - Shared Key
3 - Both Type "
::= {OperationalSettingsGRP 7 }
operBasicRates OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates the basic and supported rates of Access Point.Valid format
is as defind in ISO/IEC 8802-11:1999"
::= { OperationalSettingsGRP 8 }
operAutoRateFallBack OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if Auto Rate Fall Back is enable or disable."
::= {OperationalSettingsGRP 9 }
operAccessPointName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The AP name."
::= {OperationalSettingsGRP 10 }
operSSIDBroadcasting OBJECT-TYPE
SYNTAX INTEGER {enable(1),disable(2)}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute indicates if SSID is broadcasting or not."
::= {OperationalSettingsGRP 11 }
operAntennaSettings OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"."
::= {OperationalSettingsGRP 12 }
-----------------------------Privacy-----------------------------
privacyGRP OBJECT IDENTIFIER ::= { wireless 2 }
defaultWEPKey1 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 1 }
defaultWEPKey2 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 2 }
defaultWEPKey3 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 3 }
defaultWEPKey4 OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (13))
ACCESS write-only
STATUS mandatory
DESCRIPTION
"A WEP default secret key value."
::= { privacyGRP 4 }
privacyWEPEnable OBJECT-TYPE
SYNTAX INTEGER {enable64(1),disable(2),enable128(3) }
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute, when enable64(1) or enable128(3), indicates that the 802.11
standard encryption mechanism (WEP) is implemented. WEP64, WEP128 or disable"
::= {privacyGRP 5}
privacyDefaultWEPKeyID OBJECT-TYPE
SYNTAX INTEGER (1..4)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"This attribute shall indicate the use of the first, second,
third or fourth DefaultWEPKey when set to values of one, two,
three or four."
::= {privacyGRP 6}
-----------------------------STATISTICS-----------------------------
WLstatisticsGRP OBJECT IDENTIFIER ::= {wireless 3}
wirelessStatistics OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (88))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Wireless Statistics. 22 elements(ULONG)
WirelessStatistics{
unsigned long UnicastTransmittedPackets;
unsigned long BroadcastTransmittedPacets;
unsigned long MulticastTransmittedPackets;
unsigned long TransmittedBeacon;
unsigned long TransmittedACK;
unsigned long TransmittedRTS;
unsigned long TransmittedCTS;
unsigned long UnicastReceivedPackets;
unsigned long BroadcastReceivedPackets;
unsigned long MulticastReceivedPackets;
unsigned long ReceivedBeacon;
unsigned long ReceivedACK;
unsigned long ReceivedRTS;
unsigned long ReceivedCTS;
unsigned long ACKFailure;
unsigned long CTSFailure;
unsigned long RetryPackets;
unsigned long ReceivedDuplicate;
unsigned long FailedPackets;
unsigned long AgedPackets;
unsigned long FCSError;
unsigned long InvalidPLCP;
} "
::= {WLstatisticsGRP 1 }
-------------------------------Site Survey----------------------
WLSiteSurveyGRP OBJECT IDENTIFIER ::= {wireless 4}
ChannelStatus OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (14))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLSiteSurveyGRP 1}
-------------------------------Associated Stations---------------------
-----------------------------------------------------------------------
AssociatedStationsGRP OBJECT IDENTIFIER ::= {wireless 5}
AssociatedSTAsNum OBJECT-TYPE
SYNTAX INTEGER (0..2007)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This parameter's value indicates the number of the currently
associated STAtions. Associated STAtions should not be more
than 2007."
::= { AssociatedStationsGRP 1 }
AssociatedSTAsInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (24))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The associated STAtion's Information.
AssociatedSTAsInfo{
unsigned short Index;
unsigned char MacAddress[6];
unsigned char Status;
unsigned char Port;
unsigned char ParentMacAddress[6];
unsigned char RSSI;
unsigned char LinkQuality;
unsigned char IP[4];
unsigned char Reserved1[2];
} "
::= { AssociatedStationsGRP 2 }
-------------------------------Authorized Mac Addresses----------------------
AuthorizedMacAddressesGRP OBJECT IDENTIFIER ::= {wireless 6}
AuthorizationMacEnable OBJECT-TYPE
SYNTAX INTEGER (1..3)
ACCESS read-write
STATUS mandatory
DESCRIPTION
"When setting this attribute to 1, Internal MAC Authorization will be applied.
When setting this attribute to 2, no MAC Authorization will be applied.
When setting this attribute to 3, External MAC Authorization will be applied."
::= {AuthorizedMacAddressesGRP 1}
AuthorizedMac OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (12))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Authorized Wireless Mac Addresses
AuthorizedMacTableString{
unsigned sort Action; //Set 0x01 or Get 0x02
unsigned sort NumOfAllTableAddresses;
unsigned sort NumOfCurrentAddress;
unsigned char MacAddress[6];
} "
::= { AuthorizedMacAddressesGRP 2 }
AuthRadiusIP OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Radius Server IP Address."
::= {AuthorizedMacAddressesGRP 3}
AuthRadiusSecret OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (32))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Radius Server Secret Key."
::= {AuthorizedMacAddressesGRP 4}
AuthRadiusSecretLength OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The Radius Server Secret Key Length."
::= {AuthorizedMacAddressesGRP 5}
AuthRadiusPort OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The source port for Radius Protocol packets."
::= {AuthorizedMacAddressesGRP 6}
AuthRadiusReauthorizationTime OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The time for Radius Server Reauthorization."
::= {AuthorizedMacAddressesGRP 7}
AuthRadiusDestinPort OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-write
STATUS mandatory
DESCRIPTION
"The destination port for Radius Protocol packets."
::= {AuthorizedMacAddressesGRP 8}
-----------------------------KNOWN ACCESS POINTS----------------------
WLKnownAPGRP OBJECT IDENTIFIER ::= {wireless 7}
wirelessKnownAPs OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (160))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"."
::= {WLKnownAPGRP 1 }
-----------------------------Network Settings----------------------
NetworkSettingsGRP OBJECT IDENTIFIER ::= {wireless 8}
NetworkSettings OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (53))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Network Settings.
struct NETWORK_SETTINGS {
unsigned short reserved1;
unsigned char BSSID[6];
unsigned short InfoCapability;
unsigned char Rssi;
unsigned char Channel;
unsigned char reserved2[2];
unsigned char LinkQuality;
unsigned char reserved3[5];
unsigned char ESSID[32];
unsigned char ESSLEN;
}"
::= {NetworkSettingsGRP 1}
--*************************** Traps ***************************
--*************************************************************
trapSTAMacAddress OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (6))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The MAC address of a station device"
::= {traps 1}
trapReassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a STAtion's reassosiation
request is received."
::= 1
trapRoamOut TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is used to indicate that a STAtion has
roamed out of the Wireless bridge's coverage area."
::= 2
trapAssociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"Indicates the reception of an association request packet
and the sender STAtion's successful association with the
Access Point."
::= 3
trapDisassociation TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when a disassociation notification
packet is received from a STAtion."
::= 4
trapAssociationExpire TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
trapSTAMacAddress
}
DESCRIPTION
"This trap message is sent when the association's maximum time interval expires for
an associated STAtion."
::= 5
trapReset TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
sysReset
}
DESCRIPTION
"This trap message is sent when Access Point Resets."
::= 6
trapSettingPingIPAddress TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
operIPAddress
}
DESCRIPTION
"This trap message is sent when the Access Point IP address
is set with the transmition of a ping message."
::= 7
trapStartUp TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Starts Up."
::= 8
trapFailedToEraseFlash TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"This trap message is sent when Access Point Failed To Erase Flash."
::= 9
trapAPClientScanning TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is scanning..."
::= 10
trapAPClientAuthenticating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is authenticating with the AP."
::= 11
trapAPClientAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is associating with the AP."
::= 12
trapAPClientReAssociating TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client is reassociating with the AP."
::= 13
trapAPClientAuthenticationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed authenticating with the AP."
::= 14
trapAPClientAssociationFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has failed associating with the AP."
::= 15
trapAPClientConnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been connected with the AP."
::= 16
trapAPClientDisconnected TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
bridgeRemoteBridgeBSSID
}
DESCRIPTION
"Access Point Client has been disconnected from the AP."
::= 17
trapAPClientScanFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed scanning!"
::= 18
trapAPClientJoinFailed TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client has failed joining!"
::= 19
trapAPClientJoining TRAP-TYPE
ENTERPRISE atmel
VARIABLES {
}
DESCRIPTION
"Access Point Client is in join state."
::= 20
END ap-utils-1.5/INSTALL 0000664 0000000 0000000 00000024642 11172466627 0014172 0 ustar 00root root 0000000 0000000 Installation instructions
-------------------------
Just run:
./configure
make
make install
This will install programs into '/usr/local/bin', ap-trapd installed
in to '/usr/local/sbin'. You must be logged as root to install.
You can remove the program binaries and object files from the source
directory by typing `make clean'.
Requirements
------------
To build and run ap-utils you need ncurses libs installed in your system.
Most distribution come with this libs installed, but if your installation
lack it, you may get ncurses from:
ftp://ftp.gnu.org/gnu/ncurses/
ftp://dickey.his.com/ncurses/
Also you need gcc compiler from GNU Compiler Collection that may be obtained
from the following sites:
ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/
http://gcc.gnu.org/mirrors.html
or IBM C 5.0 for AIX.
Optional Features
-----------------
--disable-regdomain disable regulation domain channel restrictions
64-bit Sparc Linux
------------------
Tell your 64-bit Sparc Linux users that if they want to compile
ap-utils, it must be compiled in a 32-bit environment (most of them know
this already.) They should type "sparc32 bash" before running
"./configure" or "make".
QNX
---
ap-utils compiles and runs under QNX RTP - tested with free CD version of this OS. Need to use included install program.
Compiled with included gettext:
./configure --with-included-gettext
make
make install
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for variables by setting
them in the environment. You can do that on the command line like this:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Environment Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it cannot guess the host type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the host
platform (i.e., that on which the generated programs will eventually be
run) with `--host=TYPE'. In this case, you should also specify the
build platform with `--build=TYPE', because, in this case, it may not
be possible to guess the build platform (it sometimes involves
compiling and running simple test programs, and this can't be done if
the compiler is a cross compiler).
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Environment Variables
=====================
Variables not defined in a site shell script can be set in the
environment passed to configure. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
overridden in the site shell script).
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
ap-utils-1.5/Makefile.am 0000664 0000000 0000000 00000002075 11172466627 0015171 0 ustar 00root root 0000000 0000000 #
# Makefile.am from Access Point SNMP Utils for Linux
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
## Process this file with automake to produce Makefile.in
SUBDIRS = lib src ap-gl Documentation intl po
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
ap-utils-1.5/Makefile.in 0000664 0000000 0000000 00000044121 11172466627 0015200 0 ustar 00root root 0000000 0000000 # Makefile.in generated by automake 1.7.8 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Makefile.am from Access Point SNMP Utils for Linux
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = lib src ap-gl Documentation intl po
AUTOMAKE_OPTIONS = gnu
EXTRA_DIST = config/* ap-utils.spec
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = intl/Makefile
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure \
ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS \
THANKS TODO aclocal.m4 config.h.in config/config.guess \
config/config.rpath config/config.sub config/depcomp \
config/install-sh config/missing config/mkinstalldirs configure \
configure.in
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.h.in
distclean-hdr:
-rm -f config.h stamp-h1
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
else \
include_option=--include; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/config $(distdir)/intl $(distdir)/po
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
--with-included-gettext \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-recursive ctags ctags-recursive dist \
dist-all dist-gzip distcheck distclean distclean-generic \
distclean-hdr distclean-recursive distclean-tags distcleancheck \
distdir distuninstallcheck dvi dvi-am dvi-recursive info \
info-am info-recursive install install-am install-data \
install-data-am install-data-recursive install-exec \
install-exec-am install-exec-recursive install-info \
install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
ps-recursive tags tags-recursive uninstall uninstall-am \
uninstall-info-am uninstall-info-recursive uninstall-recursive
dist-hook:
rm -f $(distdir)/po/*.gmo
-chmod -R a+r $(distdir)
tar chof $(distdir).tar $(distdir)
bzip2 -v9f $(distdir).tar
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
ap-utils-1.5/NEWS 0000664 0000000 0000000 00000013652 11172466627 0013637 0 ustar 00root root 0000000 0000000 ap-utils-1.4.1 => ap-utils-1.5
* New utilites: ap-rrd: to store stats from AP into RRD database,
ap-auth: command line utility to change the list of authorised MAC addresses,
ap-tftp: tftp client for upgrading ATMEL-based AP firmware.
* Now ap-config allow to change OEM information stored within the AP.
* Enhanced functionality and many bugfixes of existing utilites.
* Documentation and translation updates, Turkish translation added.
ap-utils-1.4 => ap-utils-1.4.1
* Decreaset timeouts in SNMP engine;
* updates to build on Solaris, also now ap-utils works with SysV curses lib;
* many bugfixes;
* Ukrainian and French translation updates.
ap-utils-1.3.3 => ap-utils-1.4
* ap-gl: added new utility for ATMEL410 AP with 1.4k.1 firmware and support for RADIUS auth, wireless clients isolation, Repeater mode, connected APs extended info (MAC, IP, RSSI, LQ, Status, Port);
* big internal code movement for future easy adding new utilites to common engine;
* many fixes and minor feature additions.
ap-utils-1.3.2 => ap-utils-1.3.3
* many new options and better support for ATMEL12350 devices;
* added AP type autodetection;
* added option to choose AP to connect from AP search result;
* user interface improvements;
* many internal improvements to avoid memory leaks;
* BSD compile fixes;
* bigendian fixes;
* added Romanian and Dutch translation.
ap-utils-1.3.1 => ap-utils-1.3.2
* added support for new AP type - new revision Netgear ME102 and compatible;
* many small bugfixes for 64bit archs such as the alpha and big endian machines.
* vi-like keys to menu movement;
* some updates for more faster screen handling.
ap-utils-1.3 => ap-utils-1.3.1
* connect option for many APs can be stored in options file;
* fixes to build on OpenBSD;
* documentation updates;
* many small bugfixes and code improvements.
ap-utils-1.2 => ap-utils-1.3
* QNX RTOS supported;
* updates to support CC&C Technologies APs;
* RSSI (Signal Strenght) now returned in dBm in ap-mrtg and ap-config (ATMEL mode);
* polish localization added, other localization updated;
* added HOWTO use ap-utils with Ovislink hardware;
* FreeBSD building fixes;
* new internal functions added;
* additional check for data correctness added;
* documentation updates and spell checking;
* small bugfixes in ap-mrtg and ap-config.
ap-utils-1.1.1 => ap-utils-1.2
* ap-nwn and ap-atmel merged to one utility ap-config;
* getting SNMP data drom AP optimization;
* FreeBSD and NetBSD fixes;
* added support for Smartbridges airBrige speciffic mib;
* added option to disable saving connect options to file;
* updated ukrainian and french translations;
* many documentation updates.
ap-utils-1.1 => ap-utils-1.1.1
* small fixes to build on MacOS-X, and under Linux on arm, powerpc and s390.
* ap-atmel: after fixes WEP encryption works fine; added Repeater mode to
Brige modes; now after setting master AP from displated list of Known APs
also setted mode to AP client and ESSID to master AP ESSID, also now AP
resets when getting stat only if brige mode = Access Point.
* ap-nwn: now possible to define 4 WEP keys and choose default key; added some
advanced options to optimize long range links and antenna tuning; added
option to reset AP, display refreshing fixes.
* ap-trapd: updated traps list with new traps from 1.4j.1 firmware; small log
format changes.
* ap-mrtg: fixes about link quality/ signal strenght values displaying without
modyfication.
* documentation: new traps description (ap-trapd.8); andvanced options
description (ap-nwn.8); new supported hardware (README).
ap-utils-1.0.5 => ap-utils-1.1
a lot of big-endian updates;
fixes for APs under Spain and France regulatory domain;
ap-nwn getting stations code rewriten to support D-Link DWL 1000AP;
build system rewrited to use macros from autoconf and support IBM C compiler under AIX;
in ap-atmel utility added option to connect to one of the known APs;
ap-mrtg now has option to reset AP when getting link quality stats;
many small bug-fixes, user interface improvements, localization and documentation updates, code cleanups.
ap-utils-1.0.4 => ap-utils-1.0.5
updates to normally run on big-endian processors;
ap-trapd, ap-mrtg - rewriten to use getopt(), added new options, changed synopsys (!!!) see man-pages;
ap-atmel, ap-nwn - user interface when program react to neutral keys fixed;
ap-atmel - testmode fallback procedure updated;
french localization added.
ap-utils-1.0.3 => ap-utils-1.0.4
added man-pages to all utilites;
added manufacturer definition using OUI value;
bus error running on Sparc fix;
compile time option to disable regulation domain restriction;
documentation spelling and updates.
ap-utils-1.0.2 => ap-utils-1.0.3
gettext internalization support;
ukrainian localization added;
a lot of internal code rewrites;
small interface improvements and bugfixes.
ap-utils-1.0.1 => ap-utils-1.0.2
changed package name to Wireless Access Point Utilites for Unix;
added port to FreeBSD;
fixes in additional info from traps logging by ap-trapd;
fixes in error messages in ap-nwn utulity.
ap-utils-1.0 => ap-utils-1.0.1
errors procesing procedure updates;
package building moved to autoconf;
compile time warnings and small bugfixes fixed.
ap-utils-0.9.6 => ap-utils-1.0
ap-atmel:
added warnings about potentially dangerous options;
added floating dropdown menus for choose from the list of options;
fixed number of minor bugs.
ap-nwn:
added options: basic rates choose, WEP key setting;
added floating dropdown menus for choose from the list of options;
added option to find IP of connected APs;
fixed number of non critical bugs;
documentation updates.
ap-trapd:
option to bind listening for traps on a specific interface added;
rewriten to log shorter messages without informative data lost;
documentation updates;
bugfixes.
ap-mrtg:
option to get Link Quality/Signal Strenght stat from AP in client mode added;
documentation updates.
SNMP engine:
memory leaks fixes when parsing received packets.
ap-utils-1.5/README 0000664 0000000 0000000 00000036506 11172466627 0014023 0 ustar 00root root 0000000 0000000 About
-----
Wireless Access Point Utilites for Unix - it's a set of utilites to configure
and monitor Wireless Access Points in Unix using SNMP protocol. Utilites
are known to compile and run under Linux, FreeBSD, NetBSD, MacOS-X, AIX,
QNX and OpenBSD.
The software was initially written by Roman Festchook
(ÕËÒÁ§ÎÓØËÏÀ òÏÍÁÎ æÅÝÕË) without any help from manufacturers
and released under the terms GNU General Public License version 2.0.
A copy of the license file is included with this distribution package.
The project also has a number of contributions, thanks to whose this
software has grown significantly; for a list of them, see files "THANKS"
and "ChangeLog".
As for version 1.2 Wireless Access Point Utilites for Unix include three utils:
ap-config: config and get stats from AP:
setting bridging, wireless and ip options, WEP encryption,
mac authorization, radio signal power, and communities to
restrict access to AP, enabling/disabling antennas,
hiding ESSID in broadcast messages;
device test mode;
getting info about AP sofware and hardware, dynamically updated
ethernet and wireless ports statistics, list of associated
stations and visible APs (option to save mac addresses of
current associated stations to file);
executing commands on AP;
config and get stats from devices that support
MIB-II, IEEE 802.11 MIB and NWN DOT11EXT MIB:
setting bridging and wireless options, WEP encryption,
mac authorization, communities to restrict access to AP,
enabling/disabling antennas;
getting info about AP sofware and hardware, dynamically updated
wireless port statistics, information about latest events
and errors, list of current associated stations with info
about signal quality and station activity (option to save
mac addresses of associated stations to file);
search for connected APs;
nice and portable ncurses-based user interface with context-help
navigation menus, floating drop-down menus to choose from
options list, options file to store connect options and
subshell.
ap-mrtg: to get stat from AP (ATMEL based) and return it in MRTG parseable format:
getting ethernet statistics in bytes, wireless statistics in packets,
associated stations number and Link Quality/Signal Strenght
stats from AP in client mode.
ap-trapd: to receive, parse and log trap messages from AP (ATMEL based):
log data using standart syslogd;
running by not privileged user;
listening on the specified interface (only on Linux).
Supported Hardware
------------------
ap-utils support Atmel chipset based Access Points with ATMEL private MIB
with enterprises ID 410 (ATMEL410), Access Points with newer ATMEL private
MIB with enterprises ID 12350 (ATMEL12350) such as Netgear ME102 and Tellus
A14, and No Wires Needed APs with IEEE 802.11 MIB and NWN DOT11EXT MIB
(NWN).
You can find Known/Reported-to-work hardware in the table below.
If you have had success with ap-utils working with a hardware thats
not in the table below, please report.
Please, if possible, include informations from the ap-config's "sysinfo"
screen in your report.
Also, if possible, please send the MIB file that comes with your device.
This may result in supporting more options in ap-config in the future!
The file may look like 'AT76C510.mib' (in case of ATMEL-based APs),
and usually comes with your SNMP management utility for Windows.
+------------------------------------------------------------------------------+
| Supported Access Points |
+------------------------------------------------------------------------------+
| Manufacturer (OEM) | Model | AP MIB type |
+-------------------------------+-----------------------+----------------------+
| Acer | Warplink EJA-A | NWN |
| Advantek Networks | AWN-AP128 | ATMEL410 |
| Ark | SOHO-WLAP | ATMEL410 |
| Asus | WL-300 | ATMEL410 |
| Belkin Components | F5D6130 | ATMEL410 |
| BOSSLAN | BOSSWAP | ATMEL12350, ATMEL410 |
| CC&C Technologies | Access Point | ATMEL410 |
| CNet | CNAP-711 | ATMEL410 |
| Cameo Communications | WLB-2000/2001 | ATMEL410 |
| Compaq | WL-400 | NWN (mostly works) |
| Compex | WavePort WP11 | NWN |
| D-Link | DWL 900AP (rev. 1) | ATMEL410 |
| D-Link | DWL 1000AP | NWN |
| D-com | WX-1590 web | ATMEL12350 |
| Dynalink (Askey) | RTW020 | ATMEL410 |
| Edimax | EW-7205APB | ATMEL410 |
| Eumitcom | WA3001A | ATMEL410 |
| Fiberline | WL-1200AP | ATMEL12350 |
| GemTek | TEW-210APB | ATMEL410 |
| GemTek | WX-1500 | NWN |
| GigaFast | WF711-AP | ATMEL12350 |
| Global Sun Technology | ProWave GL2411AP | ATMEL410 |
| i-Tec | AP SILVER | ATMEL410 |
| i-Tec (Tellus A13 OEM) | AP GOLD (blue front) | ATMEL410 |
| i-Tec (Tellus A14 OEM) | AP GOLD (black front) | ATMEL12350 |
| Infosmart | INAP88 | ATMEL410 |
| Intellinet | AP, Wireless Bridge | ATMEL410 |
| InterEpoch | IWE1000A | ATMEL410 |
| Linksys (GL2411AP OEM) | WAP11 pre2 version | ATMEL410 |
| Micronet | SP918 | ATMEL410 |
| Netgear | ME102 | ATMEL12350, ATMEL410 |
| OSBRiDGE | m2410 | ATMEL12350 |
| OSBRiDGE | p2410 | ATMEL12350 |
| OSBRiDGE | p2410i | ATMEL12350 |
| Ovislink | Airlive WL-1100AP | ATMEL410 |
| SMC | MC2655W | ATMEL410 |
| smartBridges | airPoint, airBridge | ATMEL410 |
| SparkLAN (Gemtek subs.) | WX-1590 | ATMEL410 |
| SparkLAN (Gemtek subs.) | WX-1590L | ATMEL12350 |
| Svec | FD1811 | ATMEL12350, ATMEL410 |
| Svec | SOHO-WLAP | ATMEL410 |
| Target | WLAP 24212 | ATMEL410 |
| Telecom | T-Sinus 130X | ATMEL410 |
| Tellus Group Corp | A14 | ATMEL12350 |
| Topcom | SkyLanR@cer 500 | ATMEL410 |
| Wline | A14 | ATMEL12350 |
| Wline | W-2000 | ATMEL410 |
| WLink Syst. (D-Link subs.) | Wen-2021 | ATMEL410 |
| Yakumo | Access Point | ATMEL410 |
| Zoom | ZoomAir11AP | NWN |
+-------------------------------+-----------------------+----------------------+
Please note that although many of these devices may use the same MIB enterprise
identification, the actual MIBs may slightly differ, depending on whether
the manufacturer has decided upon firmware modifications.
In ap-config, an effort has been made to only include functionality
for features that are common to 2 or more MIBs with the same enterprise
ID. If you have qualms, then please send us the MIB file that came
with your device!
WARNING 1: There actually exist two different kinds of ATMEL private MIBs,
regardless of its enterprise ID - each with different set of operational modes.
The first MIB type comes with firmware referred to as 'Access Point firmware'
('AP firmware').
Second MIB type comes with firmware referred to as 'Wireless Adapter firmware'
('WA firmware').
WA firmwares have questionable advantage of being able to connect
to WDS-equipped APs (some non-ATMEL-based APs) using "AP-Client
(Infrastructure)" mode (in reality, this is, unfortunately, often false),
at cost of supporting no true "AP" mode (only Ad-Hoc and AP-client modes
are available).
Whenever you can, use firmware labelled as "AP" and not "WA".
"AP" version supports most networking modes, compared to "WA" version.
!!!!!!!!! "WA" FIRMWARES ARE _NOT_ SUPPORTED BY AP-UTILS !!!!!!!!!
They may appear to _partially_ work with ap-utils, but you
can cause harm to your AP if you use ap-utils with such firmware.
Do not complain if you use ap-utils with such firmware and it damages
your AP!
The only thing you may eventually use "WA" firmware for, is to downgrade
your device to "AP" firmware with number lower than the one used previously
- see below. This applies to devices with RFMD radio only.
To understand firmware naming schemes better, it is highly recommended
that you'll read the ap-tftp manpage.
WARNING 2: Users of Tellus A14 and its OEM versions (Wline A14, Veriplus
WL-A14, etc. - generally all AP types with ATMEL12350 MIB, equipped with
web interface):
Beware! Firmwares up to (including) version 0.2.2.19 for these APs contain
a SERIOUS BUG that may result in unpredictable and persistent lock-up
of your AP, when configured over SNMP or even via its web interface.
There's unfortunately no way of how to "resurrect" such a locked-up AP
- the only option is to return the AP to its supplier for replacement.
To be on the safe side, we recommend everyone to upgrade to any firmware
version above 0.2.2.19. More on firmware upgrade subject see next section.
WARNING 3: Users of smartBridges equipment ("airPoint" and "airBridge"
models): pay close attention to the WARNING 1 - only the "AP" firmware
is supported! Do not expect "airBridge" models with their native
firmware to work properly with ap-utils - only "airPoint" device
firmware is supported. Future support for "airBridge" device firmware
is very unlikely, becouse it really supports a subset of "airPoint"
(AP) firmware functionality.
All named devices use identical hardware with differences only in
in connector types used, casing and use of industrial-grade components.
This also means that the firmware for "airPoint" and "airBridge" models
could be used interchangeably among these kinds of devices, however,
loading of airPoint firmware into airBridge device has not been verified
yet, so unless this warning disappears or states otherwise, flashing
your (airBridge) device with AP firmware for different (airPoint)
model (in order to gain ap-utils support) is discouraged.
Firmware available free of charge for ATMEL12350 MIB devices:
-------------------------------------------------------------
If you own device that is detected as 'ATMEL12350 MIB' by ap-utils, chances
are that free-of-charge EZYNET-enhanced firmware upgrade is eligible for you!
Upgrading firmware in your AP may have following advantages for you:
- supporting more options; apparently the richest set of them available
for ATMEL+RFMD devices to day
- preventing 'death by reconfiguration bug' present in older firmwares.
- RSSI diagnostics in both AP and client modes at no cost!
Your device will qualify for free-of-charge firmware upgrade in case
it would satisfy the following (SATISFYING ALL POINTS IS MANDATORY!):
1. It is detected as 'ATMEL12350' MIB and 'GEMTEK' vendor MIB extension
by ap-utils.
2. It has second SRAM chip. The sign of second SRAM chip availability
is presence of (poor, locky) web management interface.
3. it runs firmware 0.2.x.x except 0.2.1.1
Should it satisfy all three points above, you may now perform upgrading.
0. READ ENTIRE MANPAGE FOR ap-tftp !!!
1. download the AP firmware (*.rom files) by EZYNET from one of the following
URLs:
ftp://ftp.unob.cz/pub/firmware/wlan/atmel+rfmd/
http://www.e-zy.net/ (descend through sections: Support -> AT510 based
units -> Firmware -> AP)
2. perform AP upgrade either by original windows-based ATMEL tftp client,
or by 'ap-tftp' utility supplied with ap-utils:
First, upgrade with 0.2.0.20.rom image. This one is so-called 'backup'
firmware. It lacks (needless) web, and is activated only if so-called
'primary' firmware fails for some reason.
Second, upgrade with 0.2.2.20.rom image. This is the 'primary' firmware
with web interface (which you apparently wont use at all).
3. You now have device with ATMEL12350 MIB & EZYNET extensions !!!
Should you observe that the device suddenly switched to 0.2.0.20 firmware
after some time, it means that the 'primary' firmware has been damaged
in flash by some odd circumstances, and you should repeat step 2. above
to fix it.
[Note: this may only happen under _extremely_ rare circumstances, when,
for example, lightning stroke appears too close to the AP, or when AP
power supply voltage suddenly drops below sane level and returns back]
Should you need firmware downgrade for any reason, it is possible, provided
that you have the original firmware *.rom file(s) for your devices.
If your firmware was 0.2.2.19 or lower, you'll also need to temporarily
upgrade to the following WA firmware, which will allow you to subsequently
downgrade to AP firmware release with lower number than (EZYNET's) 0.2.2.20:
http://www.sparklan.com/Downloads/11b/AP/WX-1590_Client-Mode/Firmware/
Client_Mode_firmware_WX-1590_v0.3.2.6.zip
Frequently Asked Questions
--------------------------
I got an AP and I would like ap-utils to support it (it is not on the
---------------------------------------------------------------------
list above)
-----------
The device has to be either ATMEL- or NWN-based. The first good sign
of a chance it could be supported by the ap-utils, is the presence
of file 'AT76C510.mib', that gets installed along with the original
Windows-based setup utility.
Try to install the accompanying Windows SNMP setup utility, and
browse the directory to which you have got it installed.
If you find the mentioned file, send this file via e-mail
to or .
Chances are, that this file matches more or less the MIBs
of other devices already being supported by ap-utils, and thus the
utility code can be tailored accordingly to support your AP
in as broad number of its features as possible.
Where to get more information
-----------------------------
You can find info about utilities from this README and from respective
man pages (see Documentation directory), as well as from INSTALL and TODO
files in the toplevel directory.
Documentation/FAQ file may be of some interrest to you too.
Additional info and useful links may be found in the Documentation
directory of this package and on our web page http://ap-utils.polesye.net/ .
Note, however, that informations on the web may somewhat lag behind this
source.
You may also peek into ChangeLog file if you are more of a technical person,
for a list of changes and developer notes.
We also run maillist to discuss any related topics - for more info please
visit http://ap-utils.polesye.net/ .
Contributing & reporting problems
---------------------------------
Any help in developing, bugfixing and testing is welcome. Also any
additional documentation, free hardware to support this project and job offers
are greatly welcome.
Please send your comments, if any, to my email - roma at polesye.net
or to the maillist.
Before sending bugreports please be sure to read docs (firstly, README and FAQ)
and upgrade to the latest version of ap-utils. If problem still exists, then
please send a detailed description of your problem to the maillist.
Include the version of the program, the operating system that you are
using, the compiler and compiler flags used to compile the program (if
you know them), what kind of distribution you are using (in case of a GNU/Linux
system).
If the program crashed and produces a core dump, please provide a
stack trace of the program.
You can do this by running dbx or gdb like this:
gdb core
(gdb) where
ap-utils-1.5/THANKS 0000664 0000000 0000000 00000004666 11172466627 0014060 0 ustar 00root root 0000000 0000000 CONTRIBUTORS
Contributions to the project are not limited just to the source code
and bugfixes - addititional contributions include (but are not limited to)
reporting bugs, documentation, test results, helpful and enlightening
discussions, kind words and feedback from users as well as commercial
support and promoting the project.
Below are some of the contributors to the project. Contributions are
being made quite often, therefore, the list can never be considered
"current" enough - it even lags behind the most current release
of the project. ;-)
Companies:
Engineering and industrial company "VECTOR" [http://www.vector.kharkov.ua] - free hardware samples
Personals:
Ivan Korshun <2002_ivan at mail dot ru> - some info about Atmel APs
Charles Henderson - some spelling suggestion
Ryan Veety
Evgeni Gechev
Dominique Muller
Rudy Zijlstra
David M Reiger
Kucherak Sergij - ukrainian translation of some docs
Erik Rossen - bugfixes, big-endian port suggestions and patches
Scott L. Thomas - Link Quality stats in client mode for MRTG
Dan Pelleg - BSD port
Lenny Cartier - Mandrake RPM/SRPM packages
thisplanetsux - NetBSD package
Michel Robitaille - french localization
Andy Igoshin - AIX 4.3.3 and AIX native compiler port, a lot of big_endian and code fixes
Rahul G - sources to encode object identifiers
Wojciech Puchar - polish localization, hardware for testing
Jan Rafaj - spelling fixes, bugfixes, many functionality enhancements, testing, further development and Q/A
E-ZY.NET for very kind permission to freely use their functionally enhanced firmware for ATMEL+RFMD boards
Ashley Gittins - ap-mrtg changes to support ATMEL12350/ME-102
Daniel E. Eisenbud - MacOS X and Solaris porting
Many, many more.
If I've overlooked you and you want to be listed here,
send me e-mail and I'll fix it.
Thanks to all contributors and users!
Have Fun!
Roman Festchook
ap-utils-1.5/TODO 0000664 0000000 0000000 00000005024 11172466627 0013622 0 ustar 00root root 0000000 0000000 TODO for ap-utils:
* translations (ALWAYS)
* porting to other Unix'es and platforms (ALWAYS)
* support new AP's (ALWAYS)
* try to implement an ap-dfu utility [already scheduled for next release!]
- ap-dfu, ap-dfu.8 (internal developer's notes):
- what DFU really stands for (and that ap-dfu contains some extra
Atmel-specific functionality)
- only for ATMEL AT76C510-based hardware
- *hci stuff - at least on Linux (prerequisities)
- PIDs and VIDs for INTERSIL & RFMD based boards.
If the AP does not present itself with PID & VID in kernel
ring buffer (use dmesg for displaying) after it has been plugged
to USB interface, it means that the flash content is apparently
damaged and AP dead (the only solution in such case is to return
AP to the reseller for replacement).
- mandate user to read ap-tftp.8 warning sections first!
- it is safe (?) if AP experiences power outtage during upgrade, or
if ap-dfu bails out with error due to USB interface inconsistency.
In such case, it is safe to start ap-dfu again, and it will continue
where it left off - typically, when the AP is stuck in DFU mode with
steady LEDs light.
* (WA* firmware support?): get_mib_details(): rename to get_fw_details(); add
FW (AP, WA) type detection (fw_type); rename ap_type to fw_eprises;
rename ap_vendorext to fw_vendorext; enterprises should be named
410, 12350, NWN (strip down length)
* make the screen appearance of deletion order same as for MAC auth. list
* implement 'Insert' function for places where item lists are used (MAC
auth. list, list of APs from ~/.ap-config)
* add S Search key in get_opts that would allow - instead of connecting -
searching for APs first
* WISHLIST (and very unlikely this will happen): assemble JTAG interface
documentation (and try to implement ap-jflash utility as last-resort flash
for APs with 'dead' flash memory content)
* try to assemble table of configuration value names & corresponding offsets
in *.cfg (default conf.) files (may be different among different firmwares!)
* switch the 'Status' field in 'Stations' from numeric to verbose representation
* patch test.c so that it works with ATMEL12350 devices
* try to not rely on actually configured subnet information on each
network interface in ap scan
* implement rssi view toggling for nwn_stations()
* update manpages
* increase/disable KnownAPs limit
* use iptraf like ethernet.desc file to store stations description
* add per client LQ and RSSI stats to ap-mrtg
* add man page for ap-rrd
ap-utils-1.5/aclocal.m4 0000664 0000000 0000000 00000270253 11172466627 0015002 0 ustar 00root root 0000000 0000000 # generated automatically by aclocal 1.7.8 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 10
AC_PREREQ([2.54])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$1 | $1:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Copyright 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.7.8])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
#
# Check to make sure that the build environment is sane.
#
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# AM_AUX_DIR_EXPAND
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# serial 5 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
# making a dummy file named `D' -- because `-MD' means `put the output
# in D'.
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
: > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
case $depmode in
nosideeffect)
# after this tag, mechanisms are not by side-effect, so they'll
# only be used when explicitly requested
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
none) break ;;
esac
# We check with `-c' and `-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this.
if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# (even with -Werror). So we grep stderr for any message
# that says an option was ignored.
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
[ --disable-dependency-tracking Speeds up one-time builds
--enable-dependency-tracking Do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n -e '/^U = / s///p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
for file in `sed -n -e '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
@echo done
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# We grep out `Entering directory' and `Leaving directory'
# messages which can occur if `w' ends up in MAKEFLAGS.
# In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
am__include=include
am__quote=
_am_result=GNU
fi
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote="\""
_am_result=BSD
fi
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_PREREQ([2.52])
# serial 6
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# gettext.m4 serial 13 (gettext-0.11.1)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
dnl License but which still want to provide support for the GNU gettext
dnl functionality.
dnl Please note that the actual code of the GNU gettext library is covered
dnl by the GNU Library General Public License, and the rest of the GNU
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper , 1995-2000.
dnl Bruno Haible , 2000-2002.
dnl Macro to add for using GNU gettext.
dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
dnl default (if it is not specified or empty) is 'no-libtool'.
dnl INTLSYMBOL should be 'external' for packages with no intl directory,
dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
dnl If INTLSYMBOL is 'use-libtool', then a libtool library
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
dnl depending on --{enable,disable}-{shared,static} and on the presence of
dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
dnl $(top_builddir)/intl/libintl.a will be created.
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
dnl implementations (in libc or libintl) without the ngettext() function
dnl will be ignored.
dnl INTLDIR is used to find the intl libraries. If empty,
dnl the value `$(top_builddir)/intl/' is used.
dnl
dnl The result of the configuration is one of three cases:
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
dnl and used.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 2) GNU gettext has been found in the system's C library.
dnl Catalog format: GNU --> install in $(datadir)
dnl Catalog extension: .mo after installation, .gmo in source tree
dnl 3) No internationalization, always use English msgid.
dnl Catalog format: none
dnl Catalog extension: none
dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
dnl The use of .gmo is historical (it was needed to avoid overwriting the
dnl GNU format catalogs when building on a platform with an X/Open gettext),
dnl but we keep it in order not to force irrelevant filename changes on the
dnl maintainers.
dnl
AC_DEFUN([AM_GNU_GETTEXT],
[
dnl Argument checking.
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
])])])])])
ifelse([$2], [], , [ifelse([$2], [need-ngettext], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])
define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
AC_REQUIRE([AM_PO_SUBDIRS])dnl
ifelse(gt_included_intl, yes, [
AC_REQUIRE([AM_INTL_SUBDIR])dnl
])
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
ifelse(gt_included_intl, yes, [
BUILD_INCLUDED_LIBINTL=no
USE_INCLUDED_LIBINTL=no
])
LIBINTL=
LTLIBINTL=
POSUB=
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
gt_use_preinstalled_gnugettext=no
ifelse(gt_included_intl, yes, [
AC_MSG_CHECKING([whether included gettext is requested])
AC_ARG_WITH(included-gettext,
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
])
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If GNU gettext is available we use this. Else we have
dnl to fall back to GNU NLS library.
dnl Add a version number to the cache macros.
define([gt_api_version], ifelse([$2], [need-ngettext], 2, 1))
define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
if test "$gt_cv_func_gnugettext_libc" != "yes"; then
dnl Sometimes libintl requires libiconv, so first search for libiconv.
ifelse(gt_included_intl, yes, , [
AM_ICONV_LINK
])
dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
dnl even if libiconv doesn't exist.
AC_LIB_LINKFLAGS_BODY([intl])
AC_CACHE_CHECK([for GNU gettext in libintl],
gt_cv_func_gnugettext_libintl,
[gt_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $INCINTL"
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
dnl Now see whether libintl exists and depends on libiconv.
if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
extern
#ifdef __cplusplus
"C"
#endif
const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
[LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes
])
fi
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"])
fi
dnl If an already present or preinstalled GNU gettext() is found,
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
if test "$gt_cv_func_gnugettext_libc" = "yes" \
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
gt_use_preinstalled_gnugettext=yes
else
dnl Reset the values set by searching for libintl.
LIBINTL=
LTLIBINTL=
INCINTL=
fi
ifelse(gt_included_intl, yes, [
if test "$gt_use_preinstalled_gnugettext" != "yes"; then
dnl GNU gettext is not found in the C library.
dnl Fall back on included GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions used to generate GNU NLS library.
INTLOBJS="\$(GETTOBJS)"
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
fi
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions to use GNU gettext tools.
CATOBJEXT=.gmo
fi
])
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
AC_DEFINE(ENABLE_NLS, 1,
[Define to 1 if translation of program messages to the user's native language
is requested.])
else
USE_NLS=no
fi
fi
if test "$USE_NLS" = "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
AC_MSG_CHECKING([how to link with libintl])
AC_MSG_RESULT([$LIBINTL])
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
fi
dnl For backward compatibility. Some packages may be using this.
AC_DEFINE(HAVE_GETTEXT, 1,
[Define if the GNU gettext() function is already present or preinstalled.])
AC_DEFINE(HAVE_DCGETTEXT, 1,
[Define if the GNU dcgettext() function is already present or preinstalled.])
fi
dnl We need to process the po/ directory.
POSUB=po
fi
ifelse(gt_included_intl, yes, [
dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
dnl to 'yes' because some of the testsuite requires it.
if test "$PACKAGE" = gettext; then
BUILD_INCLUDED_LIBINTL=yes
fi
dnl Make all variables we use known to autoconf.
AC_SUBST(BUILD_INCLUDED_LIBINTL)
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATOBJEXT)
AC_SUBST(INTLOBJS)
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
nls_cv_header_libgt=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
AC_SUBST(DATADIRNAME)
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
AC_SUBST(INSTOBJEXT)
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
AC_SUBST(GENCAT)
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
])
dnl For backward compatibility. Some Makefiles may be using this.
INTLLIBS="$LIBINTL"
AC_SUBST(INTLLIBS)
dnl Make all documented variables known to autoconf.
AC_SUBST(LIBINTL)
AC_SUBST(LTLIBINTL)
AC_SUBST(POSUB)
])
dnl Checks for all prerequisites of the po subdirectory,
dnl except for USE_NLS.
AC_DEFUN([AM_PO_SUBDIRS],
[
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
dnl Search for GNU msgfmt in the PATH.
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
dnl The second test excludes FreeBSD msgfmt.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
dnl Search for GNU xgettext 0.11 or newer in the PATH.
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
dnl The second test excludes FreeBSD xgettext.
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
(if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
dnl Remove leftover from FreeBSD xgettext call.
rm -f messages.po
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
dnl Test whether we really found GNU msgfmt.
if test "$GMSGFMT" != ":"; then
dnl If it is no GNU msgfmt we define it as : so that the
dnl Makefiles still can work.
if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
(if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
: ;
else
GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
AC_MSG_RESULT(
[found $GMSGFMT program is not GNU msgfmt; ignore it])
GMSGFMT=":"
fi
fi
dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
dnl If it is no GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
(if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
: ;
else
AC_MSG_RESULT(
[found xgettext program is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
dnl Remove leftover from FreeBSD xgettext call.
rm -f messages.po
fi
AC_OUTPUT_COMMANDS([
for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in
*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
esac
# PO directories have a Makefile.in generated from Makefile.in.in.
case "$ac_file" in */Makefile.in)
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
# In autoconf-2.13 it is called $ac_given_srcdir.
# In autoconf-2.50 it is called $srcdir.
test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
case "$ac_given_srcdir" in
.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
# ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
# on $ac_dir but don't depend on user-specified configuration
# parameters.
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
# The LINGUAS file contains the set of available languages.
if test -n "$ALL_LINGUAS"; then
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
fi
ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
# Hide the ALL_LINGUAS assigment from automake.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
fi
case "$ac_given_srcdir" in
.) srcdirpre= ;;
*) srcdirpre='$(srcdir)/' ;;
esac
POFILES=
GMOFILES=
UPDATEPOFILES=
DUMMYPOFILES=
for lang in $ALL_LINGUAS; do
POFILES="$POFILES $srcdirpre$lang.po"
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
done
# CATALOGS depends on both $ac_dir and the user's LINGUAS
# environment variable.
INST_LINGUAS=
if test -n "$ALL_LINGUAS"; then
for presentlang in $ALL_LINGUAS; do
useit=no
if test "%UNSET%" != "$LINGUAS"; then
desiredlanguages="$LINGUAS"
else
desiredlanguages="$ALL_LINGUAS"
fi
for desiredlang in $desiredlanguages; do
# Use the presentlang catalog if desiredlang is
# a. equal to presentlang, or
# b. a variant of presentlang (because in this case,
# presentlang can be used as a fallback for messages
# which are not translated in the desiredlang catalog).
case "$desiredlang" in
"$presentlang"*) useit=yes;;
esac
done
if test $useit = yes; then
INST_LINGUAS="$INST_LINGUAS $presentlang"
fi
done
fi
CATALOGS=
if test -n "$INST_LINGUAS"; then
for lang in $INST_LINGUAS; do
CATALOGS="$CATALOGS $lang.gmo"
done
fi
test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
if test -f "$f"; then
case "$f" in
*.orig | *.bak | *~) ;;
*) cat "$f" >> "$ac_dir/Makefile" ;;
esac
fi
done
fi
;;
esac
done],
[# Capture the value of obsolete $ALL_LINGUAS because we need it to compute
# POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
# from automake.
eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
# Capture the value of LINGUAS because we need it to compute CATALOGS.
LINGUAS="${LINGUAS-%UNSET%}"
])
])
dnl Checks for all prerequisites of the intl subdirectory,
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
AC_REQUIRE([AM_MKINSTALLDIRS])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_REQUIRE([jm_GLIBC21])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
stdlib.h string.h unistd.h sys/param.h])
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
AM_ICONV
AM_LANGINFO_CODESET
AM_LC_MESSAGES
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least
dnl bison-1.26 because earlier versions generate a plural.c that doesn't
dnl compile.
dnl bison is only needed for the maintainer (who touches plural.y). But in
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
dnl the rule in general Makefile. Now, some people carelessly touch the
dnl files or have a broken "make" program, hence the plural.c rule will
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
dnl present or too old.
AC_CHECK_PROGS([INTLBISON], [bison])
if test -z "$INTLBISON"; then
ac_verc_fail=yes
else
dnl Found it, now check the version.
AC_MSG_CHECKING([version of bison])
changequote(<<,>>)dnl
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
changequote([,])dnl
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
esac
AC_MSG_RESULT([$ac_prog_version])
fi
if test $ac_verc_fail = yes; then
INTLBISON=:
fi
])
AC_DEFUN([AM_MKINSTALLDIRS],
[
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
])
# lib-prefix.m4 serial 1 (gettext-0.11)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
dnl to access previously installed libraries. The basic assumption is that
dnl a user will want packages to use other packages he previously installed
dnl with the same --prefix option.
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
dnl libraries, but is otherwise very convenient.
AC_DEFUN([AC_LIB_PREFIX],
[
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
AC_ARG_WITH([lib-prefix],
[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
--without-lib-prefix don't search for libraries in includedir and libdir],
[
if test "X$withval" = "Xno"; then
use_additional=no
else
if test "X$withval" = "X"; then
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
else
additional_includedir="$withval/include"
additional_libdir="$withval/lib"
fi
fi
])
if test $use_additional = yes; then
dnl Potentially add $additional_includedir to $CPPFLAGS.
dnl But don't add it
dnl 1. if it's the standard /usr/include,
dnl 2. if it's already present in $CPPFLAGS,
dnl 3. if it's /usr/local/include and we are using GCC on Linux,
dnl 4. if it doesn't exist as a directory.
if test "X$additional_includedir" != "X/usr/include"; then
haveit=
for x in $CPPFLAGS; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-I$additional_includedir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
esac
fi
fi
if test -z "$haveit"; then
if test -d "$additional_includedir"; then
dnl Really add $additional_includedir to $CPPFLAGS.
CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
fi
fi
fi
fi
dnl Potentially add $additional_libdir to $LDFLAGS.
dnl But don't add it
dnl 1. if it's the standard /usr/lib,
dnl 2. if it's already present in $LDFLAGS,
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
dnl 4. if it doesn't exist as a directory.
if test "X$additional_libdir" != "X/usr/lib"; then
haveit=
for x in $LDFLAGS; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-L$additional_libdir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
if test "X$additional_libdir" = "X/usr/local/lib"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
esac
fi
fi
if test -z "$haveit"; then
if test -d "$additional_libdir"; then
dnl Really add $additional_libdir to $LDFLAGS.
LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
fi
fi
fi
fi
fi
])
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
dnl acl_final_exec_prefix, containing the values to which $prefix and
dnl $exec_prefix will expand at the end of the configure script.
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
[
dnl Unfortunately, prefix and exec_prefix get only finally determined
dnl at the end of configure.
if test "X$prefix" = "XNONE"; then
acl_final_prefix="$ac_default_prefix"
else
acl_final_prefix="$prefix"
fi
if test "X$exec_prefix" = "XNONE"; then
acl_final_exec_prefix='${prefix}'
else
acl_final_exec_prefix="$exec_prefix"
fi
acl_save_prefix="$prefix"
prefix="$acl_final_prefix"
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
prefix="$acl_save_prefix"
])
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
dnl variables prefix and exec_prefix bound to the values they will have
dnl at the end of the configure script.
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
[
acl_save_prefix="$prefix"
prefix="$acl_final_prefix"
acl_save_exec_prefix="$exec_prefix"
exec_prefix="$acl_final_exec_prefix"
$1
exec_prefix="$acl_save_exec_prefix"
prefix="$acl_save_prefix"
])
# lib-link.m4 serial 1 (gettext-0.11)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
dnl augments the CPPFLAGS variable.
AC_DEFUN([AC_LIB_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
define([Name],[translit([$1],[./-], [___])])
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
AC_LIB_LINKFLAGS_BODY([$1], [$2])
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
])
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
dnl results of this search when this library appears as a dependency.
HAVE_LIB[]NAME=yes
undefine([Name])
undefine([NAME])
])
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
dnl searches for libname and the libraries corresponding to explicit and
dnl implicit dependencies, together with the specified include files and
dnl the ability to compile and link the specified testcode. If found, it
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
define([Name],[translit([$1],[./-], [___])])
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
dnl accordingly.
AC_LIB_LINKFLAGS_BODY([$1], [$2])
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
dnl because if the user has installed lib[]Name and not disabled its use
dnl via --without-lib[]Name-prefix, he wants to use it.
ac_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
ac_save_LIBS="$LIBS"
LIBS="$LIBS $LIB[]NAME"
AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib[]Name" = yes; then
HAVE_LIB[]NAME=yes
AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
AC_MSG_CHECKING([how to link with lib[]$1])
AC_MSG_RESULT([$LIB[]NAME])
else
HAVE_LIB[]NAME=no
dnl If $LIB[]NAME didn't lead to a usable library, we don't need
dnl $INC[]NAME either.
CPPFLAGS="$ac_save_CPPFLAGS"
LIB[]NAME=
LTLIB[]NAME=
fi
AC_SUBST([HAVE_LIB]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
undefine([Name])
undefine([NAME])
])
dnl Determine the platform dependent parameters needed to use rpath:
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
dnl hardcode_direct, hardcode_minus_L,
dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
AC_DEFUN([AC_LIB_RPATH],
[
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
. ./conftest.sh
rm -f ./conftest.sh
acl_cv_rpath=done
])
wl="$acl_cv_wl"
libext="$acl_cv_libext"
shlibext="$acl_cv_shlibext"
hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
hardcode_direct="$acl_cv_hardcode_direct"
hardcode_minus_L="$acl_cv_hardcode_minus_L"
sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
])
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
AC_ARG_WITH([lib$1-prefix],
[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
--without-lib$1-prefix don't search for lib$1 in includedir and libdir],
[
if test "X$withval" = "Xno"; then
use_additional=no
else
if test "X$withval" = "X"; then
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
else
additional_includedir="$withval/include"
additional_libdir="$withval/lib"
fi
fi
])
dnl Search the library and its dependencies in $additional_libdir and
dnl $LDFLAGS. Using breadth-first-seach.
LIB[]NAME=
LTLIB[]NAME=
INC[]NAME=
rpathdirs=
ltrpathdirs=
names_already_handled=
names_next_round='$1 $2'
while test -n "$names_next_round"; do
names_this_round="$names_next_round"
names_next_round=
for name in $names_this_round; do
already_handled=
for n in $names_already_handled; do
if test "$n" = "$name"; then
already_handled=yes
break
fi
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
dnl or AC_LIB_HAVE_LINKFLAGS call.
uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
eval value=\"\$LIB$uppername\"
test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
eval value=\"\$LTLIB$uppername\"
test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
else
dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
dnl that this library doesn't exist. So just drop it.
:
fi
else
dnl Search the library lib$name in $additional_libdir and $LDFLAGS
dnl and the already constructed $LIBNAME/$LTLIBNAME.
found_dir=
found_la=
found_so=
found_a=
if test $use_additional = yes; then
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
found_dir="$additional_libdir"
found_so="$additional_libdir/lib$name.$shlibext"
if test -f "$additional_libdir/lib$name.la"; then
found_la="$additional_libdir/lib$name.la"
fi
else
if test -f "$additional_libdir/lib$name.$libext"; then
found_dir="$additional_libdir"
found_a="$additional_libdir/lib$name.$libext"
if test -f "$additional_libdir/lib$name.la"; then
found_la="$additional_libdir/lib$name.la"
fi
fi
fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIB[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
found_dir="$dir"
found_so="$dir/lib$name.$shlibext"
if test -f "$dir/lib$name.la"; then
found_la="$dir/lib$name.la"
fi
else
if test -f "$dir/lib$name.$libext"; then
found_dir="$dir"
found_a="$dir/lib$name.$libext"
if test -f "$dir/lib$name.la"; then
found_la="$dir/lib$name.la"
fi
fi
fi
;;
esac
if test "X$found_dir" != "X"; then
break
fi
done
fi
if test "X$found_dir" != "X"; then
dnl Found the library.
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
if test "X$found_dir" = "X/usr/lib"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
dnl Use an explicit option to hardcode DIR into the resulting
dnl binary.
dnl Potentially add DIR to ltrpathdirs.
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
haveit=
for x in $ltrpathdirs; do
if test "X$x" = "X$found_dir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
dnl The hardcoding into $LIBNAME is system dependent.
if test "$hardcode_direct" = yes; then
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
dnl resulting binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
dnl Use an explicit option to hardcode DIR into the resulting
dnl binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
dnl Potentially add DIR to rpathdirs.
dnl The rpathdirs will be appended to $LIBNAME at the end.
haveit=
for x in $rpathdirs; do
if test "X$x" = "X$found_dir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
rpathdirs="$rpathdirs $found_dir"
fi
else
dnl Rely on "-L$found_dir".
dnl But don't add it if it's already contained in the LDFLAGS
dnl or the already constructed $LIBNAME
haveit=
for x in $LDFLAGS $LIB[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-L$found_dir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
fi
if test "$hardcode_minus_L" != no; then
dnl FIXME: Not sure whether we should use
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
dnl here.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
dnl here, because this doesn't fit in flags passed to the
dnl compiler. So give up. No hardcoding. This affects only
dnl very old systems.
dnl FIXME: Not sure whether we should use
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
dnl here.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
fi
fi
fi
fi
else
if test "X$found_a" != "X"; then
dnl Linking with a static library.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
else
dnl We shouldn't come here, but anyway it's good to have a
dnl fallback.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
fi
fi
dnl Assume the include files are nearby.
additional_includedir=
case "$found_dir" in
*/lib | */lib/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
additional_includedir="$basedir/include"
;;
esac
if test "X$additional_includedir" != "X"; then
dnl Potentially add $additional_includedir to $INCNAME.
dnl But don't add it
dnl 1. if it's the standard /usr/include,
dnl 2. if it's /usr/local/include and we are using GCC on Linux,
dnl 3. if it's already present in $CPPFLAGS or the already
dnl constructed $INCNAME,
dnl 4. if it doesn't exist as a directory.
if test "X$additional_includedir" != "X/usr/include"; then
haveit=
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
esac
fi
fi
if test -z "$haveit"; then
for x in $CPPFLAGS $INC[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-I$additional_includedir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
if test -d "$additional_includedir"; then
dnl Really add $additional_includedir to $INCNAME.
INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
fi
fi
fi
fi
fi
dnl Look for dependencies.
if test -n "$found_la"; then
dnl Read the .la file. It defines the variables
dnl dlname, library_names, old_library, dependency_libs, current,
dnl age, revision, installed, dlopen, dlpreopen, libdir.
save_libdir="$libdir"
case "$found_la" in
*/* | *\\*) . "$found_la" ;;
*) . "./$found_la" ;;
esac
libdir="$save_libdir"
dnl We use only dependency_libs.
for dep in $dependency_libs; do
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
dnl But don't add it
dnl 1. if it's the standard /usr/lib,
dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
dnl 3. if it's already present in $LDFLAGS or the already
dnl constructed $LIBNAME,
dnl 4. if it doesn't exist as a directory.
if test "X$additional_libdir" != "X/usr/lib"; then
haveit=
if test "X$additional_libdir" = "X/usr/local/lib"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
esac
fi
fi
if test -z "$haveit"; then
haveit=
for x in $LDFLAGS $LIB[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-L$additional_libdir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
if test -d "$additional_libdir"; then
dnl Really add $additional_libdir to $LIBNAME.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
fi
fi
haveit=
for x in $LDFLAGS $LTLIB[]NAME; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X-L$additional_libdir"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
if test -d "$additional_libdir"; then
dnl Really add $additional_libdir to $LTLIBNAME.
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
fi
fi
fi
fi
;;
-l*)
dnl Handle this in the next round.
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
;;
*.la)
dnl Handle this in the next round. Throw away the .la's
dnl directory; it is already contained in a preceding -L
dnl option.
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
;;
*)
dnl Most likely an immediate library name.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
;;
esac
done
fi
else
dnl Didn't find the library; assume it is in the system directories
dnl known to the linker and runtime loader. (All the system
dnl directories known to the linker should also be known to the
dnl runtime loader, otherwise the system is severely misconfigured.)
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
fi
fi
fi
done
done
if test "X$rpathdirs" != "X"; then
if test -n "$hardcode_libdir_separator"; then
dnl Weird platform: only the last -rpath option counts, the user must
dnl pass all path elements in one option. We can arrange that for a
dnl single library, but not when more than one $LIBNAMEs are used.
alldirs=
for found_dir in $rpathdirs; do
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
done
dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
acl_save_libdir="$libdir"
libdir="$alldirs"
eval flag=\"$hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
else
dnl The -rpath options are cumulative.
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
eval flag=\"$hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
done
fi
fi
if test "X$ltrpathdirs" != "X"; then
dnl When using libtool, the option that works for both libraries and
dnl executables is -R. The -R options are cumulative.
for found_dir in $ltrpathdirs; do
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
done
fi
])
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
dnl unless already present in VAR.
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
dnl contains two or three consecutive elements that belong together.
AC_DEFUN([AC_LIB_APPENDTOVAR],
[
for element in [$2]; do
haveit=
for x in $[$1]; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
if test "X$x" = "X$element"; then
haveit=yes
break
fi
done
if test -z "$haveit"; then
[$1]="${[$1]}${[$1]:+ }$element"
fi
done
])
# lib-ld.m4 serial 1 (gettext-0.11)
dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl Subroutines of libtool.m4,
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
dnl with libtool.m4.
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
AC_DEFUN([AC_LIB_PROG_LD_GNU],
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 &5; then
acl_cv_prog_gnu_ld=yes
else
acl_cv_prog_gnu_ld=no
fi])
with_gnu_ld=$acl_cv_prog_gnu_ld
])
dnl From libtool-1.4. Sets the variable LD.
AC_DEFUN([AC_LIB_PROG_LD],
[AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC])
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
esac
case $ac_prog in
# Accept absolute paths.
[[\\/]* | [A-Za-z]:[\\/]*)]
[re_direlt='/[^/][^/]*/\.\./']
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
"")
# If it fails, then pretend we aren't using GCC.
ac_prog=ld
;;
*)
# If it is relative, then search for the first ld in PATH.
with_gnu_ld=unknown
;;
esac
elif test "$with_gnu_ld" = yes; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(acl_cv_path_LD,
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" != no && break
else
test "$with_gnu_ld" != yes && break
fi
fi
done
IFS="$ac_save_ifs"
else
acl_cv_path_LD="$LD" # Let the user override the test with a path.
fi])
LD="$acl_cv_path_LD"
if test -n "$LD"; then
AC_MSG_RESULT($LD)
else
AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_LIB_PROG_LD_GNU
])
# iconv.m4 serial AM3 (gettext-0.11)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([AM_ICONV_LINK],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
dnl accordingly.
AC_LIB_LINKFLAGS_BODY([iconv])
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
dnl because if the user has installed libiconv and not disabled its use
dnl via --without-libiconv-prefix, he wants to use it. The first
dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include
#include ],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_func_iconv=yes)
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include
#include ],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
am_cv_lib_iconv=yes
am_cv_func_iconv=yes)
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
fi
if test "$am_cv_lib_iconv" = yes; then
AC_MSG_CHECKING([how to link with libiconv])
AC_MSG_RESULT([$LIBICONV])
else
dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
dnl either.
CPPFLAGS="$am_save_CPPFLAGS"
LIBICONV=
LTLIBICONV=
fi
AC_SUBST(LIBICONV)
AC_SUBST(LTLIBICONV)
])
AC_DEFUN([AM_ICONV],
[
AC_REQUIRE([AM_ICONV_LINK])
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL(am_cv_proto_iconv, [
AC_TRY_COMPILE([
#include
#include
extern
#ifdef __cplusplus
"C"
#endif
#if defined(__STDC__) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
AC_MSG_RESULT([$]{ac_t:-
}[$]am_cv_proto_iconv)
AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
[Define as const if the declaration of iconv() needs const.])
fi
])
# progtest.m4 serial 2 (gettext-0.10.40)
dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
dnl License but which still want to provide support for the GNU gettext
dnl functionality.
dnl Please note that the actual code of the GNU gettext library is covered
dnl by the GNU Library General Public License, and the rest of the GNU
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper , 1996.
# Search path for a program which passes the given test.
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
AC_DEFUN([AM_PATH_PROG_WITH_TEST],
[# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
AC_CACHE_VAL(ac_cv_path_$1,
[case "[$]$1" in
/*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in ifelse([$5], , $PATH, [$5]); do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if [$3]; then
ac_cv_path_$1="$ac_dir/$ac_word"
break
fi
fi
done
IFS="$ac_save_ifs"
dnl If no 4th arg is given, leave the cache variable unset,
dnl so AC_PATH_PROGS will keep looking.
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
])dnl
;;
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
AC_MSG_RESULT([$]$1)
else
AC_MSG_RESULT(no)
fi
AC_SUBST($1)dnl
])
# isc-posix.m4 serial 1 (gettext-0.10.40)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
# give these diagnostics:
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
undefine([AC_ISC_POSIX])
AC_DEFUN([AC_ISC_POSIX],
[
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
]
)
# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
AC_DEFUN([jm_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
[AC_EGREP_CPP([Lucky GNU user],
[
#include
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
],
ac_cv_gnu_library_2_1=yes,
ac_cv_gnu_library_2_1=no)
]
)
AC_SUBST(GLIBC21)
GLIBC21="$ac_cv_gnu_library_2_1"
]
)
# codeset.m4 serial AM1 (gettext-0.10.40)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
[AC_TRY_LINK([#include ],
[char* cs = nl_langinfo(CODESET);],
am_cv_langinfo_codeset=yes,
am_cv_langinfo_codeset=no)
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have and nl_langinfo(CODESET).])
fi
])
# lcmessage.m4 serial 2 (gettext-0.10.40)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
dnl License but which still want to provide support for the GNU gettext
dnl functionality.
dnl Please note that the actual code of the GNU gettext library is covered
dnl by the GNU Library General Public License, and the rest of the GNU
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper , 1995.
# Check whether LC_MESSAGES is available in .
AC_DEFUN([AM_LC_MESSAGES],
[if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include ], [return LC_MESSAGES],
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
if test $am_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your file defines LC_MESSAGES.])
fi
fi])
ap-utils-1.5/ap-gl/ 0000775 0000000 0000000 00000000000 11172466627 0014131 5 ustar 00root root 0000000 0000000 ap-utils-1.5/ap-gl/Makefile.am 0000664 0000000 0000000 00000002016 11172466627 0016164 0 ustar 00root root 0000000 0000000 #
# Makefile.am from Wireless Access Point Utilites for Unix
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
DEFS = -DLOCALEDIR=\"$(datadir)/locale\" -DHAVE_CONFIG_H
INCLUDES = -I../lib -I../intl -I..
LIBS = @INTLLIBS@ @LIBS@
bin_PROGRAMS = ap-gl
ap_gl_SOURCES = ap-gl.c auth.c bridge.c stations.c
ap_gl_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
ap-utils-1.5/ap-gl/Makefile.in 0000664 0000000 0000000 00000032624 11172466627 0016205 0 ustar 00root root 0000000 0000000 # Makefile.in generated by automake 1.7.8 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Makefile.am from Wireless Access Point Utilites for Unix
#
# Copyright (c) 2002 Roman Festchook
#
# 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
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSESLIBS = @CURSESLIBS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = -DLOCALEDIR=\"$(datadir)/locale\" -DHAVE_CONFIG_H
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @INTLLIBS@ @LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
INCLUDES = -I../lib -I../intl -I..
bin_PROGRAMS = ap-gl
ap_gl_SOURCES = ap-gl.c auth.c bridge.c stations.c
ap_gl_LDADD = ../lib/libap.a -lmenu @CURSESLIBS@
subdir = ap-gl
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = ap-gl$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
am_ap_gl_OBJECTS = ap-gl.$(OBJEXT) auth.$(OBJEXT) bridge.$(OBJEXT) \
stations.$(OBJEXT)
ap_gl_OBJECTS = $(am_ap_gl_OBJECTS)
ap_gl_DEPENDENCIES = ../lib/libap.a
ap_gl_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ap-gl.Po ./$(DEPDIR)/auth.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/bridge.Po ./$(DEPDIR)/stations.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(ap_gl_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(ap_gl_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu ap-gl/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
ap-gl$(EXEEXT): $(ap_gl_OBJECTS) $(ap_gl_DEPENDENCIES)
@rm -f ap-gl$(EXEEXT)
$(LINK) $(ap_gl_LDFLAGS) $(ap_gl_OBJECTS) $(ap_gl_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ap-gl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bridge.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stations.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-binPROGRAMS
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \
info-am install install-am install-binPROGRAMS install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
ap-utils-1.5/ap-gl/ap-gl.c 0000664 0000000 0000000 00000014345 11172466627 0015304 0 ustar 00root root 0000000 0000000 /*
* ap-gl.c from Wireless Access Point Utilites for Unix
*
* Copyright (c) 2002 Roman Festchook
*
* 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
#include
#include
#include
#include
#include
#include
#include "ap-utils.h"
WINDOW *win_for_menu, *sub_for_menu, *win_for_help, *main_win, *main_sub;
char *community, *name;
int atmel410_filter = 1, wait_mode = WAIT_FOREVER;
struct in_addr ap_ip;
char *prog_title = "Wireless AP Configurator for GlobalSun";
char set_oeminfo_allowed = 0;
extern char *ap_types[];
void config_menu()
{
struct umitems umenu_atmel[] = {
{_("Bridging"), _("Set bridging and IP-related options"), bridging,
0},
{_("Wireless"), _("Set wireless options"), atmel_wireless, 0},
{_("Privacy"), MENU_ENCRYPT, wep, 0},
{_("Auth"), MENU_AUTH, atmel_auth, 0},
{_("Community"), MENU_COMMUNITY, AuthorizedSettings, 0},
{_("Radio"), _("Set radio signal power and antenna options"),
power, 0},
{"..", MAIN_MENU, NULL, 0},
{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"), _("Activate current configuration"), upload, 0},
{_("Defaults"), _("Restore factory default settings"), defaults, 0},
{_("Reset"),
_("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, atmel_stations, 0},
{_("KnownAPs"), _("Get info about known Access Points"), APs, 0},
{"..", MAIN_MENU, NULL, 0},
{0, 0, NULL, 0}
};
uni_menu(umenu_atmel, sizeof(umenu_atmel) / sizeof(umenu_atmel[0]));
}
void _auth()
{
if (get_opts() == 0)
connect_options((unsigned long) NULL, ATMEL410+1);
}
void main_menu()
{
struct umitems config_umenu[] = {
{_("Info"), MENU_INFO, stat_menu, 1},
{_("Config"), MENU_CONFIG, config_menu, 1},
{_("Commands"), _("Execute commands on Access Point"),
command_menu, 1},
{_("Connect"), MENU_CONNECT, _auth, 0},
{_("Search"), MENU_SEARCH, ap_search, 0},
{_("About"), MENU_ABOUT, about, 0},
{_("Shell"), MENU_SHELL, exit_shell, 0},
{_("Exit"), MENU_EXIT, exit_program, 0},
{0, 0, NULL, 0}
};
uni_menu(config_umenu, sizeof(config_umenu) / sizeof(config_umenu[0]));
}
int main( /*int argc, char **argv */ )
{
int i;
WINDOW *win_for_title;
char message[100];
ap_types[0]="ATMEL_PRISM";
#ifdef HAVE_GETTEXT
/* locale support init */
setlocale(LC_ALL, "");
bindtextdomain("ap-utils", LOCALEDIR);
textdomain("ap-utils");
#endif
initscr();
if (has_colors()) {
start_color();
/* Never trust that these are defined by default. */
init_pair (COLOR_RED, COLOR_RED, COLOR_BLACK );
init_pair (COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
init_pair (COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
init_pair (COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
init_pair (COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK );
init_pair (COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
init_pair(11, COLOR_BLACK, COLOR_CYAN);
init_pair(12, COLOR_BLACK, COLOR_WHITE);
init_pair(13, COLOR_BLACK, COLOR_GREEN);
init_pair(14, COLOR_WHITE, COLOR_RED);
}
noraw();
cbreak();
noecho();
scrollok(stdscr, TRUE);
idlok(stdscr, TRUE);
keypad(stdscr, TRUE);
refresh();
/* draw help win */
win_for_help = newwin(1, COLS, LINES - 1, 0);
wattrset(win_for_help, COLOR_PAIR(11));
print_help("");
/* draw title win */
win_for_title = newwin(1, COLS, 0, 0);
wattrset(win_for_title, COLOR_PAIR(11));
for (i = 0; i < COLS; i++)
waddch(win_for_title, ' ');
sprintf(message, _("Wireless Access Point Configurator ver. %s"),
VERSION);
mvwaddstr(win_for_title, 0, (COLS - strlen(message)) / 2, message);
wrefresh(win_for_title);
/* draw menu win */
win_for_menu = newwin(LINES - 2, MCOLS, 1, 0);
sub_for_menu = derwin(win_for_menu, LINES - 5, MCOLS - 2, 2, 1);
set_menu_win(NULL, win_for_menu);
set_menu_sub(NULL, sub_for_menu);
attrset(COLOR_PAIR(11));
/* íÁÌÀÀ ÒÁÍËÕ */
waddch(win_for_menu, ACS_BSSB);
for (i = 0; i < MCOLS - 2; i++)
waddch(win_for_menu, ACS_BSBS);
waddch(win_for_menu, ACS_BSSS);
for (i = 0; i < LINES - 4; i++) {
waddch(win_for_menu, ACS_SBSB);
mvwaddch(win_for_menu, i + 1, MCOLS - 1, ACS_SBSB);
}
waddch(win_for_menu, ACS_SSBB);
for (i = 0; i < MCOLS - 2; i++)
waddch(win_for_menu, ACS_BSBS);
waddch(win_for_menu, ACS_SSBS);
wrefresh(win_for_menu);
/* draw_main_win */
main_win = newwin(LINES - 2, COLS - MCOLS, 1, MCOLS);
/* íÁÌÀÀ ÒÁÍËÕ */
for (i = 0; i < COLS - MCOLS - 1; i++)
waddch(main_win, ACS_BSBS);
waddch(main_win, ACS_BBSS);
for (i = 0; i < LINES - 4; i++)
mvwaddch(main_win, i + 1, COLS - MCOLS - 1, ACS_SBSB);
for (i = 0; i < COLS - MCOLS - 1; i++)
waddch(main_win, ACS_BSBS);
waddch(main_win, ACS_SBBS);
main_sub = derwin(main_win, LINES - 4, COLS - MCOLS - 1, 1, 0);
wclear(main_sub);
wrefresh(main_win);
about();
if (get_opts() == 0)
connect_options((unsigned long) NULL, ATMEL410+1);
while (1)
main_menu();
/* Not reachable */
return 0;
}
ap-utils-1.5/ap-gl/auth.c 0000664 0000000 0000000 00000032713 11172466627 0015244 0 ustar 00root root 0000000 0000000 /*
* auth.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook
*
* 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
#include
#include
#include "ap-utils.h"
#define MAX_LINES LINES-6
#define PACKET_ERROR _("AuthorizedMacTableString packet error")
#define AUTH_TITLE _("APClient authorization credentials")
#define MAC_AUTH _("[A] MAC authorization: ")
#define MAC_ADD _("Enter MAC: ")
#define MAC_DEL _("Delete Num: ")
#define MAC_HEADER _("NUM MAC address")
#define MAC_HELP _("A - auth; N - new; D - del; arrows - scroll; W - write conf; Q - quit")
#define MAC_RADIUS_HELP _("A - auth; IPSTF - set; W - write conf; Q - quit")
#define MAC_NONE_HELP _("A - auth; W - write conf; Q - quit")
#define RADIUS_IP _("[I] RADIUS SERVER IP: ")
#define RADIUS_DEST_PORT _("[P] RADIUS SERVER PORT: ")
#define RADIUS_SECRET _("[S] RADIUS SERVER SECRET: ")
#define RADIUS_TIME _("[T] REAUTHORIZATION TIME: ")
#define RADIUS_PORT _("[F] RADIUS SOURCE PORT: ")
extern WINDOW *main_sub;
extern int LINES;
extern short ap_type;
void atmel_auth()
{
struct AuthorizedMacTableString {
unsigned int short Action;
unsigned int short NumOfAllTableAddresses;
unsigned int short NumOfCurrentAddress;
unsigned char MacAddress[6];
} *AuthMac = NULL, get;
struct MacListStat *pmac, *first = NULL, *curr = NULL;
uint32_t auth_mac_hw;
char EnableAuthMAC[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x01, 0x00
};
char AutorizedMac[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x02, 0x00
};
char AuthRadiusIP[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x03, 0x00
};
char AuthRadiusSecret[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x04, 0x00
};
char AuthRadiusSecretLength[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x05, 0x00
};
char AuthRadiusPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x06, 0x00
};
char AuthRadiusReauthorizationTime[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x07, 0x00
};
char AuthRadiusDestinPort[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01,
0x02, 0x06, 0x08, 0x00
};
char *auth_types[] = { _("Internal"), OFF, "RADIUS" };
struct in_addr radius_ip;
char message[1024], m_authmac = 0, radius_secret[32], m_radius_secret=0, m_radius_ip=0;
int radius_port, radius_time, radius_dest_port, m_radius_port=0, m_radius_time=0, m_radius_dest_port=0;
int i, total_mac, auth_mac = 0, mac_num = 0, begin=0, end=0, c=0;
varbind varbinds[7];
memcpy(radius_secret, _(""), 32);
varbinds[0].oid = EnableAuthMAC;
varbinds[0].len_oid = sizeof(EnableAuthMAC);
varbinds[0].type = NULL_VALUE;
varbinds[0].len_val = 0;
varbinds[1].oid = AuthRadiusIP;
varbinds[1].len_oid = sizeof(AuthRadiusIP);
varbinds[1].type = NULL_VALUE;
varbinds[1].len_val = 0;
varbinds[3].oid = AuthRadiusPort;
varbinds[3].len_oid = sizeof(AuthRadiusPort);
varbinds[3].type = NULL_VALUE;
varbinds[3].len_val = 0;
varbinds[4].oid = AuthRadiusReauthorizationTime;
varbinds[4].len_oid = sizeof(AuthRadiusReauthorizationTime);
varbinds[4].type = NULL_VALUE;
varbinds[4].len_val = 0;
varbinds[2].oid = AuthRadiusDestinPort;
varbinds[2].len_oid = sizeof(AuthRadiusDestinPort);
varbinds[2].type = NULL_VALUE;
varbinds[2].len_val = 0;
print_help(WAIT_RET);
if (snmp(varbinds, 5, GET) < 5) {
print_helperr(ERR_RET);
goto exit;
}
print_top(NULL, AUTH_TITLE);
auth_mac = *(varbinds[0].value);
memcpy(&radius_ip.s_addr, varbinds[1].value, 4);
memcpy(&radius_dest_port, varbinds[2].value, 2);
radius_dest_port = ntohs(radius_dest_port);
memcpy(&radius_port, varbinds[3].value, 2);
radius_port = ntohs(radius_port);
memcpy(&radius_time, varbinds[4].value, 2);
radius_time = ntohs(radius_time);
sprintf(message, "%s%s", MAC_AUTH, auth_types[auth_mac-1]);
mvwaddstr(main_sub, 0, 0, message);
wrefresh(main_sub);
total_mac = 0;
mac_num = 0;
while (mac_num <= total_mac) {
get.Action = 0x02; rshort(get.Action);
get.NumOfAllTableAddresses = total_mac; rshort(get.NumOfAllTableAddresses);
get.NumOfCurrentAddress = mac_num; rshort(get.NumOfCurrentAddress);
varbinds[0].oid = AutorizedMac;
varbinds[0].len_oid = sizeof(AutorizedMac);
varbinds[0].value = (char *) &get;
varbinds[0].len_val = 12;
varbinds[0].type = STRING_VALUE;
i = snmp(varbinds, 1, SET);
if (i == 0) {
print_helperr(ERR_SET);
goto exit;
}
if (i < 0)
break;
if (varbinds[0].len_val == 12) {
if (AuthMac)
free(AuthMac);
AuthMac =
(struct AuthorizedMacTableString *) malloc(varbinds[0].
len_val);
memcpy(AuthMac, varbinds[0].value, varbinds[0].len_val);
/* AuthMac =
(struct AuthorizedMacTableString *) varbinds[0].value;*/
} else {
print_helperr(PACKET_ERROR);
goto exit;
}
rshort(AuthMac->NumOfAllTableAddresses);
total_mac =
(AuthMac->NumOfAllTableAddresses ==
65535) ? 0 : AuthMac->NumOfAllTableAddresses;
if (mac_num) {
if (first == NULL) {
first = (struct MacListStat *)
malloc(sizeof(struct MacListStat));
curr = first;
} else {
curr->next = (struct MacListStat *)
malloc(sizeof(struct MacListStat));
curr = curr->next;
}
memcpy(curr->addr, AuthMac->MacAddress, 6);
curr->next = NULL;
}
mac_num++;
}
choose_view:
clear_main(2);
if (auth_mac == 1) {
mvwaddstr(main_sub, 2, 1, MAC_HEADER);
begin = 1;
end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
scroll_rows(first, begin, end, 3, 0);
print_help(MAC_HELP);
} else if(auth_mac == 3) {
sprintf(message, "%s%s", RADIUS_IP, inet_ntoa(radius_ip));
mvwaddstr(main_sub, 2, 0, message);
sprintf(message, "%s%d", RADIUS_DEST_PORT, radius_dest_port);
mvwaddstr(main_sub, 3, 0, message);
sprintf(message, "%s%s", RADIUS_SECRET, radius_secret);
mvwaddstr(main_sub, 4, 0, message);
sprintf(message, "%s%d", RADIUS_TIME, radius_time);
mvwaddstr(main_sub, 5, 0, message);
sprintf(message, "%s%d", RADIUS_PORT, radius_port);
mvwaddstr(main_sub, 6, 0, message);
wrefresh(main_sub);
print_help(MAC_RADIUS_HELP);
} else {
print_help(MAC_NONE_HELP);
}
if (i < 0) {
mvwaddstr(main_sub, 3, 1, _("(insufficient community used)"));
wrefresh(main_sub);
}
noecho();
while (1) {
switch (getch()) {
case 'q':
case 'Q':
goto quit;
case 'a':
case 'A':
auth_mac = menu_choose(0, strlen(MAC_AUTH), auth_types, 3)+1;
clear_main_new(0, 1);
print_menusel(0, 0, MAC_AUTH, auth_types[auth_mac-1]);
m_authmac = 1;
goto choose_view;
case 'S':
case 's':
if (auth_mac != 3) {
continue;
}
get_value(radius_secret, 4, strlen(RADIUS_SECRET), 32, ANY_STRING, 0, 0, NULL);
m_radius_secret = 1;
continue;
case 'P':
case 'p':
if (auth_mac != 3) {
continue;
}
get_value(message, 3, strlen(RADIUS_DEST_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
radius_dest_port = atoi(message);
m_radius_dest_port = 1;
continue;
case 'T':
case 't':
if (auth_mac != 3) {
continue;
}
get_value(message, 5, strlen(RADIUS_TIME), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
radius_time = atoi(message);
m_radius_time = 1;
continue;
case 'F':
case 'f':
if (auth_mac != 3) {
continue;
}
get_value(message, 6, strlen(RADIUS_PORT), 6, INT_STRING, 0, 65535, MAC_RADIUS_HELP);
radius_port = atoi(message);
m_radius_port = 1;
continue;
case 'I':
case 'i':
if (auth_mac != 3) {
continue;
}
get_ip(&radius_ip, 2, strlen(RADIUS_IP), MAC_RADIUS_HELP);
m_radius_ip = 1;
continue;
case 'd':
case 'D':
if (auth_mac != 1) {
continue;
}
mvwaddstr(main_sub, 1, 0, MAC_DEL);
get_value(message, 1, strlen(MAC_DEL), 5, INT_STRING,
1, mac_num - 1, NULL);
i = atoi(message);
if (i == 1) {
pmac = first;
first = first->next;
free(pmac);
} else {
curr = first;
while (--i > 1)
curr = curr->next;
pmac = curr->next;
curr->next = pmac->next;
free(pmac);
}
mac_num--;
begin = 1;
end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
scroll_rows(first, begin, end, 3, 0);
clear_main_new(1, 2);
continue;
case 'n':
case 'N':
if (auth_mac != 1) {
continue;
}
mvwaddstr(main_sub, 1, 0, MAC_ADD);
curr = first;
while (curr && curr->next)
curr = curr->next;
if (first == NULL) {
first = (struct MacListStat *)
malloc(sizeof(struct MacListStat));
curr = first;
} else {
curr->next = (struct MacListStat *)
malloc(sizeof(struct MacListStat));
curr = curr->next;
}
curr->next = NULL;
mac_num++;
get_mac(curr->addr, 1, strlen(MAC_ADD));
begin = 1;
end = (MAX_LINES < mac_num) ? MAX_LINES : mac_num;
scroll_rows(first, begin, end, 3, 0);
clear_main_new(1, 2);
continue;
case 'w':
case 'W':
i=0;
if (m_authmac) {
auth_mac_hw = swap4(auth_mac);
varbinds[i].oid = EnableAuthMAC;
varbinds[i].len_oid = sizeof(EnableAuthMAC);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &auth_mac_hw;
varbinds[i].len_val = 1;
i++;
}
if (m_radius_ip) {
radius_ip.s_addr = htonl(radius_ip.s_addr);
radius_ip.s_addr = swap4(radius_ip.s_addr);
varbinds[i].oid = AuthRadiusIP;
varbinds[i].len_oid = sizeof(AuthRadiusIP);
varbinds[i].value = (char *) &radius_ip.s_addr;
varbinds[i].len_val = 4;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_radius_dest_port) {
varbinds[i].oid = AuthRadiusDestinPort;
varbinds[i].len_oid = sizeof(AuthRadiusDestinPort);
radius_dest_port = htons(radius_dest_port);
varbinds[i].value = (char *) &radius_dest_port;
varbinds[i].len_val = 2;
varbinds[i].type = 0x02;
i++;
}
if (m_radius_time) {
varbinds[i].oid = AuthRadiusReauthorizationTime;
varbinds[i].len_oid = sizeof(AuthRadiusReauthorizationTime);
radius_time = htons(radius_time);
varbinds[i].value = (char *) &radius_time;
varbinds[i].len_val = 2;
varbinds[i].type = 0x02;
i++;
}
if (m_radius_port) {
varbinds[i].oid = AuthRadiusPort;
varbinds[i].len_oid = sizeof(AuthRadiusPort);
radius_port = htons(radius_port);
varbinds[i].value = (char *) &radius_port;
varbinds[i].len_val = 2;
varbinds[i].type = 0x02;
i++;
}
if (m_radius_secret) {
c = strlen(radius_secret);
varbinds[i].oid = AuthRadiusSecretLength;
varbinds[i].len_oid = sizeof(AuthRadiusSecretLength);
varbinds[i].value = (char *)&c;
varbinds[i].len_val = 1;
varbinds[i].type = INT_VALUE;
i++;
varbinds[i].oid = AuthRadiusSecret;
varbinds[i].len_oid = sizeof(AuthRadiusSecret);
varbinds[i].value = radius_secret;
varbinds[i].len_val = c;
varbinds[i].type = STRING_VALUE;
i++;
}
print_help(WAIT_SET);
if (snmp(varbinds, i, SET) <= 0) {
print_helperr(ERR_RET);
goto exit;
}
curr = first;
i = 1;
while (curr != NULL) {
get.Action = 0x01; rshort(get.Action);
get.NumOfAllTableAddresses = mac_num - 1; rshort(get.NumOfAllTableAddresses);
get.NumOfCurrentAddress = i; rshort(get.NumOfCurrentAddress);
memcpy(get.MacAddress, curr->addr, 6);
varbinds[0].oid = AutorizedMac;
varbinds[0].len_oid = sizeof(AutorizedMac);
varbinds[0].value = (char *) &get;
varbinds[0].len_val = 12;
varbinds[0].type = STRING_VALUE;
print_help(WAIT_SET);
if (snmp(varbinds, 1, SET) <= 0) {
print_helperr(ERR_RET);
goto exit;
}
if (varbinds[0].len_val != 12) {
print_helperr(PACKET_ERROR);
goto exit;
}
curr = curr->next;
i++;
}
wbkgd(main_sub, A_NORMAL);
wrefresh(main_sub);
print_help(DONE_SET);
goto exit;
case KEY_DOWN:
case KEY_RIGHT:
if (auth_mac != 1) {
continue;
}
if (end < mac_num) {
begin++;
end++;
scroll_rows(first, begin, end, 3, 0);
}
continue;
case KEY_UP:
case KEY_LEFT:
if (auth_mac != 1) {
continue;
}
if (begin > 1) {
begin--;
end--;
scroll_rows(first, begin, end, 3, 0);
}
continue;
}
continue;
}
print_help(ANY_KEY);
exit:
getch();
quit:
while ((curr = first)) {
first = curr->next;
free(curr);
}
if (AuthMac)
free(AuthMac);
print_top(NULL, NULL);
clear_main(0);
}
ap-utils-1.5/ap-gl/bridge.c 0000664 0000000 0000000 00000032773 11172466627 0015545 0 ustar 00root root 0000000 0000000 /*
* bridge.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook
*
* 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
#include
#include
#include "ap-utils.h"
#define IPADDR _("[I] IP: ")
#define NETMASK _("[N] Netmask: ")
#define GATEWAY _("[G] Gateway: ")
#define IP_FILTER _("[F] Filter non-IP traffic: ")
#define PR_PORT _("[P] Primary port: ")
#define SB_ATTMAC _("Attached station MAC: ")
#define DHCP _("[D] DHCP client: ")
#define OPER _("[O] Operational mode: ")
#define REMOTE_MAC _("[M] Preferred BSSID (remote MAC addr.): ")
//#define CF_PORT _("[C] Configuration-enabled port(s): ")
#define TRAP_PORT _("[T] Trap-sending port: ")
#define FW_BCAST _("[R] Forward broadcast traffic: ")
//#define SB_BCAST _("[B] Isolate wireless clients (broadcast traffic): ")
#define SB_UCAST _("[U] Isolate wireless clients: ")
#define HELP _("INGFPDOMSCTRBU - set; W - write conf; Q - quit to menu")
extern short ap_type;
void bridging()
{
char *bridge_modes[6] = {
_("Wireless Bridge Point to MultiPoint"),
_("Access Point"),
_("Access Point client"),
_("Wireless Bridge Point to Point"),
_("Repeater"),
_("unknown")
};
char sysTrapSwitch[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x01, 0x03,
0x00
};
char operIPAddress[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x01,
0x00
};
char operIPMask[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x02,
0x00
};
char operEthernetAddress[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x03,
0x00
};
char operGateway[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x04,
0x00
};
char operDHCP[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x05,
0x00
};
char PrimaryPort[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x02, 0x06,
0x00
};
/* char ConfigPort[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x07,
0x00
};
*/
char TrapPort[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0xE0, 0x3E, 0x01, 0x01, 0x02, 0x08,
0x00
};
char IPFilter[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x01,
0x00
};
char ForwarbBcast[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x02,
0x00
};
char SendBackBcast[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x03,
0x00
};
char SendBackUnicast[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x03, 0x04,
0x00
};
char bridgeOperationalMode[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01,
0x00
};
char bridgeRemoteBridgeBSSID[] =
{ 0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x02,
0x00
};
extern WINDOW *main_sub;
varbind varbinds[15];
struct in_addr ip, mask, gw;
unsigned char message[1024], filter, primary_port, dhcp, RemoteBSSID[6],
bridge_mode, traps, fw_bcast, sb_ucast;
char m_filter = 0, m_bridge_mode = 0, m_primary_port = 0, m_traps = 0,
m_dhcp = 0, m_ip = 0, m_mask = 0, m_gw = 0, m_remote_bssid = 0,
/*m_config_port = 0, */m_trap_port = 0, m_fw_bcast = 0, /*m_sb_bcast = 0,*/
m_sb_ucast = 0;
char *pr_ports[2] = {
_("Ethernet"),
_("Wireless")
} /*, *cf_trap_ports[3] = {
_("Ethernet"),
_("Wireless"),
_("Both")
}*/;
int i;
unsigned int trap_port = 0;
/* Determine the advanced MIB subtype of the device from its MAC address. */
varbinds[0].type = NULL_VALUE;
varbinds[0].oid = operEthernetAddress;
varbinds[0].len_oid = sizeof(operEthernetAddress);
varbinds[0].len_val = 0;
print_help(WAIT_RET);
/* if (snmp(varbinds, 1, GET) <= 0) {
print_helperr(ERR_RET);
goto exit;
}
*/
for (i = 1; i < 15; i++) {
varbinds[i].type = NULL_VALUE;
varbinds[i].len_val = 0;
varbinds[i].len_oid = sizeof(sysTrapSwitch);
}
varbinds[1].oid = IPFilter;
varbinds[2].oid = PrimaryPort;
varbinds[3].oid = operDHCP;
varbinds[4].oid = operIPAddress;
varbinds[5].oid = operIPMask;
varbinds[6].oid = operGateway;
varbinds[7].oid = bridgeOperationalMode;
varbinds[8].oid = sysTrapSwitch;
varbinds[9].oid = bridgeRemoteBridgeBSSID;
varbinds[10].oid = ForwarbBcast;
varbinds[11].oid = SendBackUnicast;
varbinds[12].oid = SendBackBcast;
if (snmp(varbinds, 13, GET) < 13) {
print_helperr(ERR_RET);
goto exit;
}
print_top(NULL, _("Bridging"));
sb_ucast = *(varbinds[11].value);
// sb_ucast = varbinds[11].len_val;
sprintf(message, "%s%s", SB_UCAST, (sb_ucast == 2) ? ON : OFF);
mvwaddstr(main_sub, 10, 0, message);
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);
filter = *(varbinds[1].value);
sprintf(message, "%s%s", IP_FILTER, (filter == 1) ? ON : OFF);
mvwaddstr(main_sub, 3, 0, message);
primary_port = *(varbinds[2].value);
if (primary_port < 1 || primary_port > 2) {
primary_port = 1;
}
sprintf(message, "%s%s", PR_PORT, pr_ports[primary_port - 1]);
mvwaddstr(main_sub, 4, 0, message);
dhcp = *(varbinds[3].value);
sprintf(message, "%s%s", DHCP, (dhcp == 1) ? ON : OFF);
mvwaddstr(main_sub, 5, 0, message);
memcpy(&ip.s_addr, varbinds[4].value, 4);
sprintf(message, "%s%s", IPADDR, inet_ntoa(ip));
mvwaddstr(main_sub, 1, 0, message);
memcpy(&mask.s_addr, varbinds[5].value, 4);
sprintf(message, "%s%s", NETMASK, inet_ntoa(mask));
mvwaddstr(main_sub, 1, 24, message);
memcpy(&gw.s_addr, varbinds[6].value, 4);
sprintf(message, "%s%s", GATEWAY, inet_ntoa(gw));
mvwaddstr(main_sub, 2, 0, message);
memcpy(RemoteBSSID, varbinds[9].value, 6);
if ((bridge_mode = *(varbinds[7].value)) != 2) {
sprintf(message, "%s%02X%02X%02X%02X%02X%02X", REMOTE_MAC,
*(RemoteBSSID + 0) & 0xFF, *(RemoteBSSID + 1) & 0xFF,
*(RemoteBSSID + 2) & 0xFF, *(RemoteBSSID + 3) & 0xFF,
*(RemoteBSSID + 4) & 0xFF, *(RemoteBSSID + 5) & 0xFF);
mvwaddstr(main_sub, 7, 0, message);
}
if (bridge_mode > 5)
bridge_mode = 6;
sprintf(message, "%s%s", OPER, bridge_modes[bridge_mode - 1]);
mvwaddstr(main_sub, 6, 0, message);
traps = *(varbinds[8].value);
sprintf(message, "%s%s", TRAPS, (traps == 1) ? ON : OFF);
mvwaddstr(main_sub, 8, 0, message);
fw_bcast = *(varbinds[10].value);
sprintf(message, "%s%s", FW_BCAST, (fw_bcast == 1) ? ON : OFF);
mvwaddstr(main_sub, 9, 0, message);
wrefresh(main_sub);
noecho();
print_help(HELP);
while (1) {
switch (getch()) {
case 'I':
case 'i':
get_ip(&ip, 1, strlen(IPADDR), HELP);
m_ip = 1;
continue;
case 'N':
case 'n':
get_mask(&mask, 1, strlen(IPADDR) + 16 + strlen(NETMASK), HELP);
m_mask = 1;
continue;
case 'G':
case 'g':
get_ip(&gw, 2, strlen(GATEWAY), HELP);
m_gw = 1;
continue;
case 'F':
case 'f':
filter = on_off(3, strlen(IP_FILTER));
clear_main_new(3, 4);
print_menusel(3, 0, IP_FILTER, (filter == 1) ? ON : OFF);
m_filter = 1;
continue;
case 'P':
case 'p':
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]);
m_primary_port = 1;
continue;
case 'D':
case 'd':
dhcp = on_off(5, strlen(DHCP));
clear_main_new(5, 6);
print_menusel(5, 0, DHCP, (dhcp == 1) ? ON : OFF);
m_dhcp = 1;
continue;
case 'O':
case 'o':
bridge_mode = menu_choose(6, strlen(OPER), bridge_modes, 5) + 1;
clear_main_new(6, 8);
print_menusel(6, 0, OPER, bridge_modes[bridge_mode - 1]);
if (bridge_mode != 2) {
sprintf(message, "%02X%02X%02X%02X%02X%02X",
*(RemoteBSSID + 0) & 0xFF,
*(RemoteBSSID + 1) & 0xFF,
*(RemoteBSSID + 2) & 0xFF,
*(RemoteBSSID + 3) & 0xFF,
*(RemoteBSSID + 4) & 0xFF,
*(RemoteBSSID + 5) & 0xFF);
print_menusel(7, 0, REMOTE_MAC, message);
}
m_bridge_mode = 1;
continue;
case 'M':
case 'm':
if (bridge_mode == 2)
continue;
get_mac(RemoteBSSID, 7, strlen(REMOTE_MAC));
m_remote_bssid = 1;
continue;
case 'S':
case 's':
traps = on_off(8, strlen(TRAPS));
clear_main_new(8, 9);
print_menusel(8, 0, TRAPS, (traps == 1) ? ON : OFF);
m_traps = 1;
continue;
/* case 'C':
case 'c':
config_port = menu_choose(9, strlen(CF_PORT), cf_trap_ports, 3);
clear_main_new(9, 10);
print_menusel(9, 0, CF_PORT, cf_trap_ports[config_port]);
m_config_port = 1;
continue;
*/ case 'R':
case 'r':
fw_bcast = on_off(9, strlen(FW_BCAST));
clear_main_new(9, 10);
print_menusel(9, 0, FW_BCAST, (fw_bcast == 1) ? ON : OFF);
m_fw_bcast = 1;
continue;
/* case 'B':
case 'b':
sb_bcast = on_off(12, strlen(SB_BCAST));
clear_main_new(12, 13);
print_menusel(12, 0, SB_BCAST, (sb_bcast == 1) ? ON : OFF);
m_sb_bcast = 1;
continue;
*/ case 'U':
case 'u':
sb_ucast = on_off(10, strlen(SB_UCAST));
sb_ucast = (sb_ucast == 2) ? 1 : 2;
clear_main_new(10, 11);
print_menusel(10, 0, SB_UCAST, (sb_ucast == 2) ? ON : OFF);
m_sb_ucast = 1;
continue;
case 'w':
case 'W':
i = 0;
if (m_filter) {
varbinds[i].oid = IPFilter;
varbinds[i].len_oid = sizeof(IPFilter);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &filter;
varbinds[i].len_val = 1;
i++;
}
if (m_primary_port) {
varbinds[i].oid = PrimaryPort;
varbinds[i].len_oid = sizeof(PrimaryPort);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &primary_port;
varbinds[i].len_val = 1;
i++;
}
if (m_dhcp) {
varbinds[i].oid = operDHCP;
varbinds[i].len_oid = sizeof(operDHCP);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &dhcp;
varbinds[i].len_val = 1;
i++;
}
if (m_ip) {
varbinds[i].oid = operIPAddress;
varbinds[i].len_oid = sizeof(operIPAddress);
ip.s_addr = htonl(ip.s_addr);
ip.s_addr = swap4(ip.s_addr);
varbinds[i].value = (char *) &ip.s_addr;
varbinds[i].len_val = 4;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_mask) {
varbinds[i].oid = operIPMask;
varbinds[i].len_oid = sizeof(operIPMask);
mask.s_addr = htonl(mask.s_addr);
mask.s_addr = swap4(mask.s_addr);
varbinds[i].value = (char *) &mask.s_addr;
varbinds[i].len_val = 4;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_gw) {
varbinds[i].oid = operGateway;
gw.s_addr = htonl(gw.s_addr);
gw.s_addr = swap4(gw.s_addr);
varbinds[i].len_oid = sizeof(operGateway);
varbinds[i].value = (char *) &gw.s_addr;
varbinds[i].len_val = 4;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_traps) {
varbinds[i].oid = sysTrapSwitch;
varbinds[i].len_oid = sizeof(sysTrapSwitch);
varbinds[i].value = &traps;
varbinds[i].len_val = 1;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_bridge_mode) {
varbinds[i].oid = bridgeOperationalMode;
varbinds[i].len_oid = sizeof(bridgeOperationalMode);
varbinds[i].value = (char *) &bridge_mode;
varbinds[i].len_val = 1;
varbinds[i].type = INT_VALUE;
i++;
}
if (m_remote_bssid) {
varbinds[i].oid = bridgeRemoteBridgeBSSID;
varbinds[i].len_oid = sizeof(bridgeRemoteBridgeBSSID);
varbinds[i].value = RemoteBSSID;
varbinds[i].len_val = 6;
varbinds[i].type = STRING_VALUE;
i++;
}
/* if (m_config_port) {
varbinds[i].oid = ConfigPort;
varbinds[i].len_oid = sizeof(ConfigPort);
varbinds[i].type = INT_VALUE;
config_port +=1;
varbinds[i].value = (char *) &config_port;
varbinds[i].len_val = 1;
i++;
}
*/ if (m_fw_bcast) {
varbinds[i].oid = ForwarbBcast;
varbinds[i].len_oid = sizeof(ForwarbBcast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &fw_bcast;
varbinds[i].len_val = 1;
i++;
}
if (m_sb_ucast) {
varbinds[i].oid = SendBackBcast;
varbinds[i].len_oid = sizeof(SendBackBcast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &sb_ucast;
varbinds[i].len_val = 1;
i++;
varbinds[i].oid = SendBackUnicast;
varbinds[i].len_oid = sizeof(SendBackUnicast);
varbinds[i].type = INT_VALUE;
varbinds[i].value = (char *) &sb_ucast;
varbinds[i].len_val = 1;
i++;
}
if (m_trap_port) {
int len_val;
len_val = (trap_port > 0x7fff) ? 3 : (trap_port > 0x7f) ? 2 : 1;
varbinds[i].oid = TrapPort;
varbinds[i].len_oid = sizeof(TrapPort);
varbinds[i].type = STRING_VALUE;
varbinds[i].value = (char *) &trap_port;
varbinds[i].len_val = len_val;
i++;
}
print_help(WAIT_SET);
if (snmp(varbinds, i, SET) <= 0) {
print_helperr(ERR_SET);
} else {
wbkgd(main_sub, A_NORMAL);
wrefresh(main_sub);
print_help(DONE_SET);
}
goto exit;
case 'Q':
case 'q':
goto quit;
}
continue;
}
exit:
getch();
quit:
print_top(NULL, NULL);
clear_main(0);
}
ap-utils-1.5/ap-gl/stations.c 0000664 0000000 0000000 00000011712 11172466627 0016143 0 ustar 00root root 0000000 0000000 /*
* stations.c from Access Point SNMP Utils for Linux
*
* Copyright (c) 2002 Roman Festchook
*
* 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
#include
#include
#include
#include
#include
#include "ap-utils.h"
#define MAX_LINES LINES-4
extern int LINES;
extern WINDOW *main_sub;
extern short ap_type;
void atmel_stations()
{
char StasNum[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x01, 0x00
};
char StasMac[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x02, 0x05, 0x02, 0x00
};
char bridgeOperationalMode[] = {
0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1A, 0x01, 0x01, 0x04, 0x01, 0x00
};
struct AssociatedSTAsInfo {
unsigned short Num;
unsigned char MacAddress[6];
unsigned char Status;
unsigned char Port;
unsigned char ParentMacAddress[6];
unsigned char RSSI;
unsigned char LinkQuality;
unsigned char IP[4];
unsigned char Reserved[2];
} *mac = NULL, get;
struct MacListStat *first = NULL, *curr = NULL;
char message[1024];
int mac_num, begin, end, total_mac;
varbind varbinds[1];
print_top(NULL, ST_TITLE);
varbinds[0].oid = bridgeOperationalMode;
varbinds[0].len_oid = sizeof(bridgeOperationalMode);
varbinds[0].value = bridgeOperationalMode;
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 (*(varbinds[0].value) == 3) {
mvwaddstr(main_sub, 3, 1, _("AP is currently in AP Client Mode => "
"no associated STAtions."));
print_help(ANY_KEY);
wrefresh(main_sub);
getch();
goto exit;
}
varbinds[0].oid = StasNum;
varbinds[0].len_oid = sizeof(StasNum);
varbinds[0].value = StasNum;
varbinds[0].type = NULL_VALUE;
varbinds[0].len_val = 0;
print_help(WAIT_RET);
if (snmp(varbinds, 1, GET) <= 0) {
print_helperr(ERR_RET);
getch();
goto exit;
}
total_mac = *(varbinds[0].value);
mac_num = 1;
sprintf(message, "%s: %d", ST_TITLE, total_mac);
print_top(NULL, message);
wattrset(main_sub, COLOR_PAIR(13));
mvwaddstr(main_sub, 0, 0,
_(" # MAC Parent MAC RSSI LQ Sts MACn IP "));
wattrset(main_sub, A_NORMAL);
noecho();
while (mac_num <= total_mac) {
varbinds[0].oid = StasMac;
varbinds[0].len_oid = sizeof(StasMac);
varbinds[0].type = INT_VALUE;
get.Num = swap2(mac_num);
varbinds[0].value = (char *) &get;
varbinds[0].len_val = sizeof(get);
if (snmp(varbinds, 1, SET) <= 0) {
print_helperr(ERR_RET);
getch();
goto exit;
}
if (varbinds[0].len_val == 24) {
if (mac)
free(mac);
mac =
(struct AssociatedSTAsInfo *) malloc(varbinds[0].len_val);
memcpy(mac, varbinds[0].value, varbinds[0].len_val);
/* mac = (struct AssociatedSTAsInfo *) varbinds[0].value;*/
} else {
print_helperr(_("AssociatedSTAsInfo packet error"));
goto exit;
}
if (first == NULL) {
first =
(struct MacListStat *) malloc(sizeof(struct MacListStat));
curr = first;
} else {
curr->next =
(struct MacListStat *) malloc(sizeof(struct MacListStat));
curr = curr->next;
}
memcpy(curr->addr, mac->MacAddress, 6);
// 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->quality = mac->LinkQuality;
curr->rssi = mac->RSSI;
curr->Port = mac->Port;
curr->Status = mac->Status;
curr->next = NULL;
mac_num++;
}
begin = 1;
end = (mac_num > MAX_LINES) ? MAX_LINES : mac_num;
scroll_rows(first, begin, end, 1, 2);
while (1) {
print_help(_("Arrows - scroll; S - save to file; Q - quit to menu."));
switch (getch()) {
case 'S':
case 's':
save_Stations(first);
continue;
case KEY_RIGHT:
case KEY_DOWN:
if (end < mac_num) {
begin++;
end++;
scroll_rows(first, begin, end, 1, 2);
}
continue;
case KEY_UP:
case KEY_LEFT:
if (begin > 1) {
begin--;
end--;
scroll_rows(first, begin, end, 1, 2);
}
continue;
case 'Q':
case 'q':
goto exit;
}
}
exit:
while ((curr = first) != 0) {
first = curr->next;
free(curr);
}
print_top(NULL, NULL);
clear_main(0);
}
ap-utils-1.5/ap-utils.spec 0000664 0000000 0000000 00000003101 11172466627 0015536 0 ustar 00root root 0000000 0000000 Summary: Configure and monitor Wireless Access Points
Name: ap-utils
Version: 1.3.4pre1
Release: 0
Source: %name-%version.tar.bz2
License: GPL
Group: Networking/Other
URL: http://ap-utils.polesye.net/
Buildroot: %_tmppath/%name-buildroot
%description
Wireless Access Point Utilities for Unix is a set of utilities
to configure and monitor Wireless Access Points under Unix.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q
%build
%configure
%make
%install
%makeinstall
%find_lang %name
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %name.lang
%defattr (-,root,root)
%doc AUTHORS INSTALL NEWS COPYING README TODO ChangeLog
%doc Documentation/FAQ Documentation/*.html
%_bindir/*
%_sbindir/*
%_mandir/man8/*
%changelog
* Mon Nov 24 2003 Jacek Pliszka 1.3.4-pre1
- 1.3.4-pre1
* Mon Oct 27 2003 Lenny Cartier 1.3.3-1mdk
- 1.3.3
* Sat Jul 26 2003 Lenny Cartier 1.3.2-1mdk
- 1.3.2
* Sat Apr 25 2003 Lenny Cartier 1.3.1-2mdk
- adjust buildrequires
* Fri Mar 21 2003 Lenny Cartier 1.3.1-1mdk
- 1.3.1
* Sat Feb 01 2003 Lenny Cartier 1.3-2mdk
- rebuild
* Fri Dec 06 2002 Lenny Cartier 1.3-1mdk
- 1.3
- add locales & man pages
* Tue Nov 12 2002 Lenny Cartier 1.2-1mdk
- 1.2
* Fri Oct 04 2002 Lenny Cartier 1.1.1-1mdk
- 1.1.1
* Tue Jul 16 2002 Lenny Cartier 1.0.3-1mdk
- 1.0.3
* Fri Jul 06 2002 Lenny Cartier 1.0.2-1mdk
- 1.0.2
ap-utils-1.5/config.h.in 0000664 0000000 0000000 00000016361 11172466627 0015163 0 ustar 00root root 0000000 0000000 /* config.h.in. Generated from configure.in by autoheader. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the header file. */
#undef HAVE_ARGZ_H
/* Define to 1 if you have the header file. */
#undef HAVE_ARPA_INET_H
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `feof_unlocked' function. */
#undef HAVE_FEOF_UNLOCKED
/* Define to 1 if you have the `fgets_unlocked' function. */
#undef HAVE_FGETS_UNLOCKED
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define to 1 if you have the `free' function. */
#undef HAVE_FREE
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `getc_unlocked' function. */
#undef HAVE_GETC_UNLOCKED
/* Define to 1 if you have the `getegid' function. */
#undef HAVE_GETEGID
/* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID
/* Define to 1 if you have the `getgid' function. */
#undef HAVE_GETGID
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
/* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
/* Define if you have and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
/* Define if your file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define to 1 if you have the header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `malloc' function. */
#undef HAVE_MALLOC
/* Define to 1 if you have the header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 if you have the header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the header file. */
#undef HAVE_NL_TYPES_H
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define if your (struct sockadr) has an sa_len member */
#undef HAVE_SA_LEN
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the `sysinfo' function. */
#undef HAVE_SYSINFO
/* Define to 1 if you have the header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT
/* Define to 1 if you have the `__argz_next' function. */
#undef HAVE___ARGZ_NEXT
/* Define to 1 if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
/* Define for no regulation domain restrictions */
#undef NO_REG_DOMAIN
/* Define if target OS is BSD */
#undef OS_BSD
/* Define if target OS is Linux */
#undef OS_LINUX
/* Define if target OS is Solaris */
#undef OS_SOLARIS
/* Define if target OS is MacOS X */
#undef OS_X
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to `long' if does not define. */
#undef off_t
/* Define to `int' if does not define. */
#undef pid_t
/* Define to `unsigned' if does not define. */
#undef size_t
ap-utils-1.5/config/ 0000775 0000000 0000000 00000000000 11172466627 0014376 5 ustar 00root root 0000000 0000000 ap-utils-1.5/config/config.guess 0000775 0000000 0000000 00000120011 11172466627 0016711 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002 Free Software Foundation, Inc.
timestamp='2002-11-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner .
# Please send patches to . Submit a context
# diff and a properly formatted ChangeLog entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit build system type.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# This shell variable is my proudest work .. or something. --bje
set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
|| (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
dummy=$tmpdir/dummy ;
files="$dummy.c $dummy.o $dummy.rel $dummy" ;
trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ;
unset files'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep __ELF__ >/dev/null
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
macppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mipseb-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
eval $set_cc_for_build
cat <$dummy.s
.data
\$Lformat:
.byte 37,100,45,37,120,10,0 # "%d-%x\n"
.text
.globl main
.align 4
.ent main
main:
.frame \$30,16,\$26,0
ldgp \$29,0(\$27)
.prologue 1
.long 0x47e03d80 # implver \$0
lda \$2,-1
.long 0x47e20c21 # amask \$2,\$1
lda \$16,\$Lformat
mov \$0,\$17
not \$1,\$18
jsr \$26,printf
ldgp \$29,0(\$26)
mov 0,\$16
jsr \$26,exit
.end main
EOF
$CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
if test "$?" = 0 ; then
case `$dummy` in
0-0)
UNAME_MACHINE="alpha"
;;
1-0)
UNAME_MACHINE="alphaev5"
;;
1-1)
UNAME_MACHINE="alphaev56"
;;
1-101)
UNAME_MACHINE="alphapca56"
;;
2-303)
UNAME_MACHINE="alphaev6"
;;
2-307)
UNAME_MACHINE="alphaev67"
;;
2-1307)
UNAME_MACHINE="alphaev68"
;;
3-1307)
UNAME_MACHINE="alphaev7"
;;
esac
fi
rm -f $dummy.s $dummy && rmdir $tmpdir
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit 0;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit 0 ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit 0 ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
DRS?6000:UNIX_SV:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7 && exit 0 ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit 0 ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit 0 ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c \
&& $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit 0 ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy && rmdir $tmpdir
fi ;;
esac
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3D:*:*:*)
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
# Determine whether the default compiler uses glibc.
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
#if __GLIBC__ >= 2
LIBC=gnu
#else
LIBC=
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit 0 ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit 0 ;;
x86:Interix*:3*)
echo i586-pc-interix3
exit 0 ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit 0 ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit 0 ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips
#undef mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips64
#undef mips64el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mips64el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips64
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
rm -f $dummy.c && rmdir $tmpdir
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
exit 0 ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
exit 0 ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit 0 ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit 0 ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
exit 0 ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit 0 ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit 0 ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
# Set LC_ALL=C to ensure ld outputs messages in English.
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
| sed -ne '/supported targets:/!d
s/[ ][ ]*/ /g
s/.*supported targets: *//
s/ .*//
p'`
case "$ld_supported_targets" in
elf32-i386)
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
exit 0 ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
exit 0 ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
exit 0 ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
#ifdef __INTEL_COMPILER
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
rm -f $dummy.c && rmdir $tmpdir
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit 0 ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit 0 ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit 0 ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit 0 ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit 0 ;;
i*86:*:5:[78]*)
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit 0 ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit 0 ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit 0 ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit 0 ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit 0 ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit 0 ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit 0 ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Darwin:*:*)
echo `uname -p`-apple-darwin${UNAME_RELEASE}
exit 0 ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit 0 ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit 0 ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit 0 ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit 0 ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit 0 ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit 0 ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit 0 ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit 0 ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit 0 ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit 0 ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval $set_cc_for_build
cat >$dummy.c <
# include
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3\n"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno\n"); exit (0);
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# else
printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
rm -f $dummy.c $dummy && rmdir $tmpdir
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
cat >&2 < in order to provide the needed
information to handle your system.
config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
ap-utils-1.5/config/config.rpath 0000664 0000000 0000000 00000033434 11172466627 0016712 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2002 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit , 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# All known linkers require a `.a' archive for static linking (except M$VC,
# which needs '.lib').
libext=a
shlibext=
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix3* | aix4* | aix5*)
wl='-Wl,'
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6*)
wl='-Wl,'
;;
linux*)
echo '__INTEL_COMPILER' > conftest.$ac_ext
if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null
then
:
else
# Intel icc
wl='-Qoption,ld,'
fi
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
if test "x$host_vendor" = xsni; then
wl='-LD'
else
wl='-Wl,'
fi
;;
esac
fi
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX, the GNU linker is very broken
ld_shlibs=no
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we can use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
;;
solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
esac
fi
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=yes
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9* | hpux10* | hpux11*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_minus_L=yes # Not in the search PATH, but as the default
# location of the library.
;;
irix5* | irix6*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
sco3.2v5*)
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
if test "x$host_vendor" = xsno; then
hardcode_direct=yes # is this really true???
else
hardcode_direct=no # Motorola manual says yes, but my tests say they lie
fi
;;
sysv4.3*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4.2uw2*)
hardcode_direct=yes
hardcode_minus_L=no
;;
sysv5uw7* | unixware7*)
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
libname_spec='lib$name'
sys_lib_dlsearch_path_spec="/lib /usr/lib"
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
case "$host_os" in
aix3*)
shlibext=so
;;
aix4* | aix5*)
shlibext=so
;;
amigaos*)
shlibext=ixlibrary
;;
beos*)
shlibext=so
;;
bsdi4*)
shlibext=so
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
;;
cygwin* | mingw* | pw32*)
case $GCC,$host_os in
yes,cygwin*)
shlibext=dll.a
;;
yes,mingw*)
shlibext=dll
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
;;
yes,pw32*)
shlibext=dll
;;
*)
shlibext=dll
;;
esac
;;
darwin* | rhapsody*)
shlibext=dylib
;;
freebsd1*)
;;
freebsd*)
shlibext=so
;;
gnu*)
shlibext=so
;;
hpux9* | hpux10* | hpux11*)
shlibext=sl
;;
irix5* | irix6*)
shlibext=so
case "$host_os" in
irix5*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 ") libsuff= shlibsuff= ;;
*-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
;;
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
;;
linux-gnu*)
shlibext=so
;;
netbsd*)
shlibext=so
;;
newsos6)
shlibext=so
;;
openbsd*)
shlibext=so
;;
os2*)
libname_spec='$name'
shlibext=dll
;;
osf3* | osf4* | osf5*)
shlibext=so
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
sco3.2v5*)
shlibext=so
;;
solaris*)
shlibext=so
;;
sunos4*)
shlibext=so
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
shlibext=so
case "$host_vendor" in
motorola)
sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
esac
;;
uts4*)
shlibext=so
;;
dgux*)
shlibext=so
;;
sysv4*MP*)
if test -d /usr/nec; then
shlibext=so
fi
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <