Changeset 053fc2b in mainline for uspace/lib/ieee80211/include


Ignore:
Timestamp:
2015-04-10T13:52:11Z (10 years ago)
Author:
Jan Kolarik <kolarik@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a931b7b
Parents:
d7dadcb4
Message:

Locking, correctly disconnecting device, sending DHCP address discover after connecting to WiFi network

Location:
uspace/lib/ieee80211/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ieee80211/include/ieee80211.h

    rd7dadcb4 r053fc2b  
    6060#define IEEE80211_MAX_AMPDU_FACTOR 13
    6161
    62 /* Max passphrase length in WPA/WPA2 protocols. */
    63 #define IEEE80211_WPA_MAX_PASSWORD_LENGTH 64
     62/* Max authentication password length. */
     63#define IEEE80211_MAX_PASSW_LEN 64
    6464
    6565/** IEEE 802.11 b/g supported data rates in units of 500 kb/s. */
     
    139139         *
    140140         * @param ieee80211_dev Pointer to IEEE 802.11 device structure.
    141          *
    142          * @return EOK if succeed, negative error code otherwise.
    143          */
    144         int (*bssid_change)(struct ieee80211_dev *);
     141         * @param connected True if connected to new BSSID, otherwise false.
     142         *
     143         * @return EOK if succeed, negative error code otherwise.
     144         */
     145        int (*bssid_change)(struct ieee80211_dev *, bool);
    145146       
    146147        /**
     
    181182        uint16_t freq);
    182183extern uint16_t ieee80211_get_aid(ieee80211_dev_t* ieee80211_dev);
    183 extern int ieee80211_get_security_suite(ieee80211_dev_t* ieee80211_dev);
     184extern int ieee80211_get_pairwise_security(ieee80211_dev_t* ieee80211_dev);
    184185extern bool ieee80211_is_ready(ieee80211_dev_t* ieee80211_dev);
    185186extern void ieee80211_set_ready(ieee80211_dev_t* ieee80211_dev, bool ready);
  • uspace/lib/ieee80211/include/ieee80211_impl.h

    rd7dadcb4 r053fc2b  
    4747extern int ieee80211_set_freq_impl(ieee80211_dev_t *ieee80211_dev,
    4848        uint16_t freq);
    49 extern int ieee80211_bssid_change_impl(ieee80211_dev_t *ieee80211_dev);
     49extern int ieee80211_bssid_change_impl(ieee80211_dev_t *ieee80211_dev,
     50        bool connected);
    5051extern int ieee80211_key_config_impl(ieee80211_dev_t *ieee80211_dev,
    5152        ieee80211_key_config_t *key_conf, bool insert);
  • uspace/lib/ieee80211/include/ieee80211_private.h

    rd7dadcb4 r053fc2b  
    5454#define HANDSHAKE_TIMEOUT 3000000
    5555
    56 /* Max period to rerun scan. */
    57 #define MAX_SCAN_SPAN_SEC 30
     56/* Scanning period. */
     57#define SCAN_PERIOD_USEC 35000000
     58
     59/* Time to wait for beacons on channel. */
     60#define SCAN_CHANNEL_WAIT_USEC 200000
    5861
    5962/* Max time to keep scan result. */
     
    187190        IEEE80211_AUTH_DISCONNECTED,
    188191        IEEE80211_AUTH_AUTHENTICATED,
    189         IEEE80211_AUTH_ASSOCIATED
     192        IEEE80211_AUTH_ASSOCIATED,
     193        IEEE80211_AUTH_CONNECTED
    190194} ieee80211_auth_phase_t;
    191195
     
    202206typedef struct {
    203207        list_t list;
    204         time_t last_scan;
    205         fibril_mutex_t scan_mutex;
     208        fibril_mutex_t results_mutex;
    206209        size_t size;
    207210} ieee80211_scan_result_list_t;
     
    210213typedef struct {
    211214        uint16_t aid;
    212         char password[IEEE80211_WPA_MAX_PASSWORD_LENGTH];
     215        char password[IEEE80211_MAX_PASSW_LEN];
    213216        uint8_t ptk[MAX_PTK_LENGTH];
    214217        uint8_t gtk[MAX_GTK_LENGTH];
     
    256259        /** Current authentication phase. */
    257260        ieee80211_auth_phase_t current_auth_phase;
     261       
     262        /** Flag indicating whether client wants connect to network. */
     263        bool pending_conn_req;
     264       
     265        /** Scanning guard. */
     266        fibril_mutex_t scan_mutex;
    258267       
    259268        /** General purpose guard. */
     
    368377{
    369378        list_initialize(&results->list);
    370         fibril_mutex_initialize(&results->scan_mutex);
     379        fibril_mutex_initialize(&results->results_mutex);
    371380}
    372381
     
    387396}
    388397
     398extern void ieee80211_set_connect_request(ieee80211_dev_t *ieee80211_dev);
     399extern bool ieee80211_pending_connect_request(ieee80211_dev_t *ieee80211_dev);
     400extern ieee80211_auth_phase_t ieee80211_get_auth_phase(ieee80211_dev_t
     401        *ieee80211_dev);
     402extern void ieee80211_set_auth_phase(ieee80211_dev_t *ieee80211_dev,
     403        ieee80211_auth_phase_t auth_phase);
    389404extern int ieee80211_probe_request(ieee80211_dev_t *ieee80211_dev,
    390405        char *ssid);
Note: See TracChangeset for help on using the changeset viewer.