# -*- coding: latin1 -*- # python-wifi -- a wireless library to access wireless cards via python # Copyright (C) 2004, 2005, 2006 Róman Joost # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License # as published by the Free Software Foundation; either version 2.1 of # the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA modes = ['Auto', 'Ad-Hoc', 'Managed', 'Master', 'Repeat', 'Second', 'Monitor'] IFNAMSIZE = 16 IW_ESSID_MAX_SIZE = 16 KILO = 10**3 MEGA = 10**6 GIGA = 10**9 # ioctl calls for the Linux/i386 kernel SIOCIWFIRST = 0x8B00 # FIRST ioctl identifier SIOCGIFCONF = 0x8912 # ifconf struct SIOCGIWNAME = 0x8B01 # get name == wireless protocol SIOCGIWFREQ = 0x8B05 # get channel/frequency SIOCSIWMODE = 0x8B06 # set the operation mode SIOCGIWMODE = 0x8B07 # get operation mode SIOCGIWSENS = 0x8B09 # get sensitivity SIOCGIWAP = 0x8B15 # get AP MAC address SIOCSIWSCAN = 0x8B18 # set scanning off SIOCGIWSCAN = 0x8B19 # get scanning results SIOCGIWRATE = 0x8B21 # get default bit rate SIOCGIWRTS = 0x8B23 # get rts/cts threshold SIOCGIWFRAG = 0x8B25 # get fragmention thrh SIOCGIWTXPOW = 0x8B27 # get transmit power (dBm) SIOCGIWRETRY = 0x8B29 # get retry limit SIOCGIWRANGE = 0x8B0B # range SIOCGIWSTATS = 0x8B0F # get wireless statistics SIOCSIWESSID = 0x8B1A # set essid SIOCGIWESSID = 0x8B1B # get essid SIOCGIWPOWER = 0x8B2D # get power managment settings SIOCGIWENCODE = 0x8B2B # get encryption information SIOCIWLAST = 0x8BFF # LAST ioctl identifier # Power management flags IW_POWER_ON = 0x0000 # No details ... IW_POWER_TYPE = 0xF000 # Type of parameter IW_POWER_PERIOD = 0x1000 # Value is a period/duration of IW_POWER_TIMEOUT = 0x2000 # Value is a timeout IW_POWER_MODE = 0x0F00 # Power management mode IW_POWER_MIN = 0x0001 # Value is a minimum IW_POWER_MAX = 0x0002 # Value is a maximum IW_POWER_RELATIVE = 0x0004 # Value is not in seconds/ms/us # Retry limits IW_RETRY_TYPE = 0xF000 # Type of parameter # encoding stuff IW_ENCODE_DISABLED = 0x8000 # encoding is disabled IW_ENCODE_NOKEY = 0x0800 # key is write only, not present # constants responsible for scanning IW_SCAN_MAX_DATA = 4096 IW_EV_LCP_LEN = 4 IW_EV_CHAR_LEN = IW_EV_LCP_LEN + IFNAMSIZE IW_EV_UINT_LEN = IW_EV_LCP_LEN + 4 IW_EV_FREQ_LEN = IW_EV_LCP_LEN + 8 IW_EV_ADDR_LEN = IW_EV_LCP_LEN + 16 IW_EV_POINT_LEN = IW_EV_LCP_LEN + 4 IW_EV_PARAM_LEN = IW_EV_LCP_LEN + 8 IW_EV_QUAL_LEN = IW_EV_LCP_LEN + 4 EPERM = 1 E2BIG = 7 EAGAIN = 11 IWHT_NULL = 0 IWHT_CHAR = 2 IWHT_UINT = 4 IWHT_FREQ = 5 IWHT_ADDR = 6 IWHT_POINT = 8 IWHT_PARAM = 9 IWHT_QUAL = 10 IWEVFIRST = 0x8C00 # FIRST event identifier IWEVQUAL = 0x8C01 # Quality statistics from scan IWEVCUSTOM = 0x8C02 # Custom Ascii string from Driver IWEVLAST = 0x8C0A # LAST event identifier