You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.4 KiB
Python

# python-wifi -- a wireless library to access wireless cards via python
# Copyright (C) 2004, 2005, 2006 Roman 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