CC3000HostDriver for device TI CC3000 some changes were made due to mbed compiler and the use of void*
wlan.h@0:9cb694f00b7b, 2013-08-02 (annotated)
- Committer:
- dflet
- Date:
- Fri Aug 02 15:06:15 2013 +0000
- Revision:
- 0:9cb694f00b7b
First commit TI CC3000HostDriver library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dflet | 0:9cb694f00b7b | 1 | /***************************************************************************** |
dflet | 0:9cb694f00b7b | 2 | * |
dflet | 0:9cb694f00b7b | 3 | * wlan.h - CC3000 Host Driver Implementation. |
dflet | 0:9cb694f00b7b | 4 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ |
dflet | 0:9cb694f00b7b | 5 | * |
dflet | 0:9cb694f00b7b | 6 | * Redistribution and use in source and binary forms, with or without |
dflet | 0:9cb694f00b7b | 7 | * modification, are permitted provided that the following conditions |
dflet | 0:9cb694f00b7b | 8 | * are met: |
dflet | 0:9cb694f00b7b | 9 | * |
dflet | 0:9cb694f00b7b | 10 | * Redistributions of source code must retain the above copyright |
dflet | 0:9cb694f00b7b | 11 | * notice, this list of conditions and the following disclaimer. |
dflet | 0:9cb694f00b7b | 12 | * |
dflet | 0:9cb694f00b7b | 13 | * Redistributions in binary form must reproduce the above copyright |
dflet | 0:9cb694f00b7b | 14 | * notice, this list of conditions and the following disclaimer in the |
dflet | 0:9cb694f00b7b | 15 | * documentation and/or other materials provided with the |
dflet | 0:9cb694f00b7b | 16 | * distribution. |
dflet | 0:9cb694f00b7b | 17 | * |
dflet | 0:9cb694f00b7b | 18 | * Neither the name of Texas Instruments Incorporated nor the names of |
dflet | 0:9cb694f00b7b | 19 | * its contributors may be used to endorse or promote products derived |
dflet | 0:9cb694f00b7b | 20 | * from this software without specific prior written permission. |
dflet | 0:9cb694f00b7b | 21 | * |
dflet | 0:9cb694f00b7b | 22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
dflet | 0:9cb694f00b7b | 23 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
dflet | 0:9cb694f00b7b | 24 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
dflet | 0:9cb694f00b7b | 25 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
dflet | 0:9cb694f00b7b | 26 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
dflet | 0:9cb694f00b7b | 27 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
dflet | 0:9cb694f00b7b | 28 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
dflet | 0:9cb694f00b7b | 29 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
dflet | 0:9cb694f00b7b | 30 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
dflet | 0:9cb694f00b7b | 31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
dflet | 0:9cb694f00b7b | 32 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
dflet | 0:9cb694f00b7b | 33 | * |
dflet | 0:9cb694f00b7b | 34 | *****************************************************************************/ |
dflet | 0:9cb694f00b7b | 35 | #ifndef __WLAN_H__ |
dflet | 0:9cb694f00b7b | 36 | #define __WLAN_H__ |
dflet | 0:9cb694f00b7b | 37 | |
dflet | 0:9cb694f00b7b | 38 | #include "cc3000_common.h" |
dflet | 0:9cb694f00b7b | 39 | |
dflet | 0:9cb694f00b7b | 40 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 41 | // |
dflet | 0:9cb694f00b7b | 42 | // If building with a C++ compiler, make all of the definitions in this header |
dflet | 0:9cb694f00b7b | 43 | // have a C binding. |
dflet | 0:9cb694f00b7b | 44 | // |
dflet | 0:9cb694f00b7b | 45 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 46 | #ifdef __cplusplus |
dflet | 0:9cb694f00b7b | 47 | extern "C" { |
dflet | 0:9cb694f00b7b | 48 | #endif |
dflet | 0:9cb694f00b7b | 49 | |
dflet | 0:9cb694f00b7b | 50 | #define WLAN_SEC_UNSEC (0) |
dflet | 0:9cb694f00b7b | 51 | #define WLAN_SEC_WEP (1) |
dflet | 0:9cb694f00b7b | 52 | #define WLAN_SEC_WPA (2) |
dflet | 0:9cb694f00b7b | 53 | #define WLAN_SEC_WPA2 (3) |
dflet | 0:9cb694f00b7b | 54 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 55 | // |
dflet | 0:9cb694f00b7b | 56 | //! \addtogroup wlan_api |
dflet | 0:9cb694f00b7b | 57 | //! @{ |
dflet | 0:9cb694f00b7b | 58 | // |
dflet | 0:9cb694f00b7b | 59 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 60 | |
dflet | 0:9cb694f00b7b | 61 | |
dflet | 0:9cb694f00b7b | 62 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 63 | // |
dflet | 0:9cb694f00b7b | 64 | //! wlan_init |
dflet | 0:9cb694f00b7b | 65 | //! |
dflet | 0:9cb694f00b7b | 66 | //! @param sWlanCB Asynchronous events callback. |
dflet | 0:9cb694f00b7b | 67 | //! 0 no event call back. |
dflet | 0:9cb694f00b7b | 68 | //! -call back parameters: |
dflet | 0:9cb694f00b7b | 69 | //! 1) event_type: HCI_EVNT_WLAN_UNSOL_CONNECT connect event, |
dflet | 0:9cb694f00b7b | 70 | //! HCI_EVNT_WLAN_UNSOL_DISCONNECT disconnect event, |
dflet | 0:9cb694f00b7b | 71 | //! HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE config done, |
dflet | 0:9cb694f00b7b | 72 | //! HCI_EVNT_WLAN_UNSOL_DHCP dhcp report, |
dflet | 0:9cb694f00b7b | 73 | //! HCI_EVNT_WLAN_ASYNC_PING_REPORT ping report OR |
dflet | 0:9cb694f00b7b | 74 | //! HCI_EVNT_WLAN_KEEPALIVE keepalive. |
dflet | 0:9cb694f00b7b | 75 | //! 2) data: pointer to extra data that received by the event |
dflet | 0:9cb694f00b7b | 76 | //! (NULL no data). |
dflet | 0:9cb694f00b7b | 77 | //! 3) length: data length. |
dflet | 0:9cb694f00b7b | 78 | //! -Events with extra data: |
dflet | 0:9cb694f00b7b | 79 | //! HCI_EVNT_WLAN_UNSOL_DHCP: 4 bytes IP, 4 bytes Mask, |
dflet | 0:9cb694f00b7b | 80 | //! 4 bytes default gateway, 4 bytes DHCP server and 4 bytes |
dflet | 0:9cb694f00b7b | 81 | //! for DNS server. |
dflet | 0:9cb694f00b7b | 82 | //! HCI_EVNT_WLAN_ASYNC_PING_REPORT: 4 bytes Packets sent, |
dflet | 0:9cb694f00b7b | 83 | //! 4 bytes Packets received, 4 bytes Min round time, |
dflet | 0:9cb694f00b7b | 84 | //! 4 bytes Max round time and 4 bytes for Avg round time. |
dflet | 0:9cb694f00b7b | 85 | //! |
dflet | 0:9cb694f00b7b | 86 | //! @param sFWPatches 0 no patch or pointer to FW patches |
dflet | 0:9cb694f00b7b | 87 | //! @param sDriverPatches 0 no patch or pointer to driver patches |
dflet | 0:9cb694f00b7b | 88 | //! @param sBootLoaderPatches 0 no patch or pointer to bootloader patches |
dflet | 0:9cb694f00b7b | 89 | //! @param sReadWlanInterruptPin init callback. the callback read wlan |
dflet | 0:9cb694f00b7b | 90 | //! interrupt status. |
dflet | 0:9cb694f00b7b | 91 | //! @param sWlanInterruptEnable init callback. the callback enable wlan |
dflet | 0:9cb694f00b7b | 92 | //! interrupt. |
dflet | 0:9cb694f00b7b | 93 | //! @param sWlanInterruptDisable init callback. the callback disable wlan |
dflet | 0:9cb694f00b7b | 94 | //! interrupt. |
dflet | 0:9cb694f00b7b | 95 | //! @param sWriteWlanPin init callback. the callback write value |
dflet | 0:9cb694f00b7b | 96 | //! to device pin. |
dflet | 0:9cb694f00b7b | 97 | //! |
dflet | 0:9cb694f00b7b | 98 | //! @return none |
dflet | 0:9cb694f00b7b | 99 | //! |
dflet | 0:9cb694f00b7b | 100 | //! @sa wlan_set_event_mask , wlan_start , wlan_stop |
dflet | 0:9cb694f00b7b | 101 | //! |
dflet | 0:9cb694f00b7b | 102 | //! @brief Initialize wlan driver |
dflet | 0:9cb694f00b7b | 103 | //! |
dflet | 0:9cb694f00b7b | 104 | //! @warning This function must be called before ANY other wlan driver function |
dflet | 0:9cb694f00b7b | 105 | // |
dflet | 0:9cb694f00b7b | 106 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 107 | extern void wlan_init( tWlanCB sWlanCB, |
dflet | 0:9cb694f00b7b | 108 | tFWPatches sFWPatches, |
dflet | 0:9cb694f00b7b | 109 | tDriverPatches sDriverPatches, |
dflet | 0:9cb694f00b7b | 110 | tBootLoaderPatches sBootLoaderPatches, |
dflet | 0:9cb694f00b7b | 111 | tWlanReadInteruptPin sReadWlanInterruptPin, |
dflet | 0:9cb694f00b7b | 112 | tWlanInterruptEnable sWlanInterruptEnable, |
dflet | 0:9cb694f00b7b | 113 | tWlanInterruptDisable sWlanInterruptDisable, |
dflet | 0:9cb694f00b7b | 114 | tWriteWlanPin sWriteWlanPin); |
dflet | 0:9cb694f00b7b | 115 | |
dflet | 0:9cb694f00b7b | 116 | |
dflet | 0:9cb694f00b7b | 117 | |
dflet | 0:9cb694f00b7b | 118 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 119 | // |
dflet | 0:9cb694f00b7b | 120 | //! wlan_start |
dflet | 0:9cb694f00b7b | 121 | //! |
dflet | 0:9cb694f00b7b | 122 | //! @param usPatchesAvailableAtHost - flag to indicate if patches available |
dflet | 0:9cb694f00b7b | 123 | //! from host or from EEPROM. Due to the |
dflet | 0:9cb694f00b7b | 124 | //! fact the patches are burn to the EEPROM |
dflet | 0:9cb694f00b7b | 125 | //! using the patch programmer utility, the |
dflet | 0:9cb694f00b7b | 126 | //! patches will be available from the EEPROM |
dflet | 0:9cb694f00b7b | 127 | //! and not from the host. |
dflet | 0:9cb694f00b7b | 128 | //! |
dflet | 0:9cb694f00b7b | 129 | //! @return none |
dflet | 0:9cb694f00b7b | 130 | //! |
dflet | 0:9cb694f00b7b | 131 | //! @brief Start WLAN device. This function asserts the enable pin of |
dflet | 0:9cb694f00b7b | 132 | //! the device (WLAN_EN), starting the HW initialization process. |
dflet | 0:9cb694f00b7b | 133 | //! The function blocked until device Initialization is completed. |
dflet | 0:9cb694f00b7b | 134 | //! Function also configure patches (FW, driver or bootloader) |
dflet | 0:9cb694f00b7b | 135 | //! and calls appropriate device callbacks. |
dflet | 0:9cb694f00b7b | 136 | //! |
dflet | 0:9cb694f00b7b | 137 | //! @Note Prior calling the function wlan_init shall be called. |
dflet | 0:9cb694f00b7b | 138 | //! @Warning This function must be called after wlan_init and before any |
dflet | 0:9cb694f00b7b | 139 | //! other wlan API |
dflet | 0:9cb694f00b7b | 140 | //! @sa wlan_init , wlan_stop |
dflet | 0:9cb694f00b7b | 141 | //! |
dflet | 0:9cb694f00b7b | 142 | // |
dflet | 0:9cb694f00b7b | 143 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 144 | extern void wlan_start(unsigned short usPatchesAvailableAtHost); |
dflet | 0:9cb694f00b7b | 145 | |
dflet | 0:9cb694f00b7b | 146 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 147 | // |
dflet | 0:9cb694f00b7b | 148 | //! wlan_stop |
dflet | 0:9cb694f00b7b | 149 | //! |
dflet | 0:9cb694f00b7b | 150 | //! @param none |
dflet | 0:9cb694f00b7b | 151 | //! |
dflet | 0:9cb694f00b7b | 152 | //! @return none |
dflet | 0:9cb694f00b7b | 153 | //! |
dflet | 0:9cb694f00b7b | 154 | //! @brief Stop WLAN device by putting it into reset state. |
dflet | 0:9cb694f00b7b | 155 | //! |
dflet | 0:9cb694f00b7b | 156 | //! @sa wlan_start |
dflet | 0:9cb694f00b7b | 157 | // |
dflet | 0:9cb694f00b7b | 158 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 159 | extern void wlan_stop(void); |
dflet | 0:9cb694f00b7b | 160 | |
dflet | 0:9cb694f00b7b | 161 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 162 | // |
dflet | 0:9cb694f00b7b | 163 | //! wlan_connect |
dflet | 0:9cb694f00b7b | 164 | //! |
dflet | 0:9cb694f00b7b | 165 | //! @param sec_type security options: |
dflet | 0:9cb694f00b7b | 166 | //! WLAN_SEC_UNSEC, |
dflet | 0:9cb694f00b7b | 167 | //! WLAN_SEC_WEP (ASCII support only), |
dflet | 0:9cb694f00b7b | 168 | //! WLAN_SEC_WPA or WLAN_SEC_WPA2 |
dflet | 0:9cb694f00b7b | 169 | //! @param ssid up to 32 bytes and is ASCII SSID of the AP |
dflet | 0:9cb694f00b7b | 170 | //! @param ssid_len length of the SSID |
dflet | 0:9cb694f00b7b | 171 | //! @param bssid 6 bytes specified the AP bssid |
dflet | 0:9cb694f00b7b | 172 | //! @param key up to 16 bytes specified the AP security key |
dflet | 0:9cb694f00b7b | 173 | //! @param key_len key length |
dflet | 0:9cb694f00b7b | 174 | //! |
dflet | 0:9cb694f00b7b | 175 | //! @return On success, zero is returned. On error, negative is returned. |
dflet | 0:9cb694f00b7b | 176 | //! Note that even though a zero is returned on success to trigger |
dflet | 0:9cb694f00b7b | 177 | //! connection operation, it does not mean that CCC3000 is already |
dflet | 0:9cb694f00b7b | 178 | //! connected. An asynchronous "Connected" event is generated when |
dflet | 0:9cb694f00b7b | 179 | //! actual association process finishes and CC3000 is connected to |
dflet | 0:9cb694f00b7b | 180 | //! the AP. If DHCP is set, An asynchronous "DHCP" event is |
dflet | 0:9cb694f00b7b | 181 | //! generated when DHCP process is finish. |
dflet | 0:9cb694f00b7b | 182 | //! |
dflet | 0:9cb694f00b7b | 183 | //! |
dflet | 0:9cb694f00b7b | 184 | //! @brief Connect to AP |
dflet | 0:9cb694f00b7b | 185 | //! @warning Please Note that when connection to AP configured with security |
dflet | 0:9cb694f00b7b | 186 | //! type WEP, please confirm that the key is set as ASCII and not |
dflet | 0:9cb694f00b7b | 187 | //! as HEX. |
dflet | 0:9cb694f00b7b | 188 | //! @sa wlan_disconnect |
dflet | 0:9cb694f00b7b | 189 | // |
dflet | 0:9cb694f00b7b | 190 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 191 | #ifndef CC3000_TINY_DRIVER |
dflet | 0:9cb694f00b7b | 192 | extern long wlan_connect(unsigned long ulSecType, char *ssid, long ssid_len, |
dflet | 0:9cb694f00b7b | 193 | unsigned char *bssid, unsigned char *key, long key_len); |
dflet | 0:9cb694f00b7b | 194 | #else |
dflet | 0:9cb694f00b7b | 195 | extern long wlan_connect(char *ssid, long ssid_len); |
dflet | 0:9cb694f00b7b | 196 | |
dflet | 0:9cb694f00b7b | 197 | #endif |
dflet | 0:9cb694f00b7b | 198 | |
dflet | 0:9cb694f00b7b | 199 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 200 | // |
dflet | 0:9cb694f00b7b | 201 | //! wlan_disconnect |
dflet | 0:9cb694f00b7b | 202 | //! |
dflet | 0:9cb694f00b7b | 203 | //! @return 0 disconnected done, other CC3000 already disconnected |
dflet | 0:9cb694f00b7b | 204 | //! |
dflet | 0:9cb694f00b7b | 205 | //! @brief Disconnect connection from AP. |
dflet | 0:9cb694f00b7b | 206 | //! |
dflet | 0:9cb694f00b7b | 207 | //! @sa wlan_connect |
dflet | 0:9cb694f00b7b | 208 | // |
dflet | 0:9cb694f00b7b | 209 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 210 | |
dflet | 0:9cb694f00b7b | 211 | extern long wlan_disconnect(void); |
dflet | 0:9cb694f00b7b | 212 | |
dflet | 0:9cb694f00b7b | 213 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 214 | // |
dflet | 0:9cb694f00b7b | 215 | //! wlan_add_profile |
dflet | 0:9cb694f00b7b | 216 | //! |
dflet | 0:9cb694f00b7b | 217 | //! @param ulSecType WLAN_SEC_UNSEC,WLAN_SEC_WEP,WLAN_SEC_WPA,WLAN_SEC_WPA2 |
dflet | 0:9cb694f00b7b | 218 | //! @param ucSsid ssid SSID up to 32 bytes |
dflet | 0:9cb694f00b7b | 219 | //! @param ulSsidLen ssid length |
dflet | 0:9cb694f00b7b | 220 | //! @param ucBssid bssid 6 bytes |
dflet | 0:9cb694f00b7b | 221 | //! @param ulPriority ulPriority profile priority. Lowest priority:0. |
dflet | 0:9cb694f00b7b | 222 | //! @param ulPairwiseCipher_Or_TxKeyLen key length for WEP security |
dflet | 0:9cb694f00b7b | 223 | //! @param ulGroupCipher_TxKeyIndex key index |
dflet | 0:9cb694f00b7b | 224 | //! @param ulKeyMgmt KEY management |
dflet | 0:9cb694f00b7b | 225 | //! @param ucPf_OrKey security key |
dflet | 0:9cb694f00b7b | 226 | //! @param ulPassPhraseLen security key length for WPA\WPA2 |
dflet | 0:9cb694f00b7b | 227 | //! |
dflet | 0:9cb694f00b7b | 228 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 229 | //! |
dflet | 0:9cb694f00b7b | 230 | //! @brief When auto start is enabled, the device connects to |
dflet | 0:9cb694f00b7b | 231 | //! station from the profiles table. Up to 7 profiles are supported. |
dflet | 0:9cb694f00b7b | 232 | //! If several profiles configured the device choose the highest |
dflet | 0:9cb694f00b7b | 233 | //! priority profile, within each priority group, device will choose |
dflet | 0:9cb694f00b7b | 234 | //! profile based on security policy, signal strength, etc |
dflet | 0:9cb694f00b7b | 235 | //! parameters. All the profiles are stored in CC3000 NVMEM. |
dflet | 0:9cb694f00b7b | 236 | //! |
dflet | 0:9cb694f00b7b | 237 | //! @sa wlan_ioctl_del_profile |
dflet | 0:9cb694f00b7b | 238 | // |
dflet | 0:9cb694f00b7b | 239 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 240 | |
dflet | 0:9cb694f00b7b | 241 | extern long wlan_add_profile(unsigned long ulSecType, unsigned char* ucSsid, |
dflet | 0:9cb694f00b7b | 242 | unsigned long ulSsidLen, |
dflet | 0:9cb694f00b7b | 243 | unsigned char *ucBssid, |
dflet | 0:9cb694f00b7b | 244 | unsigned long ulPriority, |
dflet | 0:9cb694f00b7b | 245 | unsigned long ulPairwiseCipher_Or_Key, |
dflet | 0:9cb694f00b7b | 246 | unsigned long ulGroupCipher_TxKeyLen, |
dflet | 0:9cb694f00b7b | 247 | unsigned long ulKeyMgmt, |
dflet | 0:9cb694f00b7b | 248 | unsigned char* ucPf_OrKey, |
dflet | 0:9cb694f00b7b | 249 | unsigned long ulPassPhraseLen); |
dflet | 0:9cb694f00b7b | 250 | |
dflet | 0:9cb694f00b7b | 251 | |
dflet | 0:9cb694f00b7b | 252 | |
dflet | 0:9cb694f00b7b | 253 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 254 | // |
dflet | 0:9cb694f00b7b | 255 | //! wlan_ioctl_del_profile |
dflet | 0:9cb694f00b7b | 256 | //! |
dflet | 0:9cb694f00b7b | 257 | //! @param index number of profile to delete |
dflet | 0:9cb694f00b7b | 258 | //! |
dflet | 0:9cb694f00b7b | 259 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 260 | //! |
dflet | 0:9cb694f00b7b | 261 | //! @brief Delete WLAN profile |
dflet | 0:9cb694f00b7b | 262 | //! |
dflet | 0:9cb694f00b7b | 263 | //! @Note In order to delete all stored profile, set index to 255. |
dflet | 0:9cb694f00b7b | 264 | //! |
dflet | 0:9cb694f00b7b | 265 | //! @sa wlan_add_profile |
dflet | 0:9cb694f00b7b | 266 | // |
dflet | 0:9cb694f00b7b | 267 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 268 | extern long wlan_ioctl_del_profile(unsigned long ulIndex); |
dflet | 0:9cb694f00b7b | 269 | |
dflet | 0:9cb694f00b7b | 270 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 271 | // |
dflet | 0:9cb694f00b7b | 272 | //! wlan_set_event_mask |
dflet | 0:9cb694f00b7b | 273 | //! |
dflet | 0:9cb694f00b7b | 274 | //! @param mask mask option: |
dflet | 0:9cb694f00b7b | 275 | //! HCI_EVNT_WLAN_UNSOL_CONNECT connect event |
dflet | 0:9cb694f00b7b | 276 | //! HCI_EVNT_WLAN_UNSOL_DISCONNECT disconnect event |
dflet | 0:9cb694f00b7b | 277 | //! HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE smart config done |
dflet | 0:9cb694f00b7b | 278 | //! HCI_EVNT_WLAN_UNSOL_INIT init done |
dflet | 0:9cb694f00b7b | 279 | //! HCI_EVNT_WLAN_UNSOL_DHCP dhcp event report |
dflet | 0:9cb694f00b7b | 280 | //! HCI_EVNT_WLAN_ASYNC_PING_REPORT ping report |
dflet | 0:9cb694f00b7b | 281 | //! HCI_EVNT_WLAN_KEEPALIVE keepalive |
dflet | 0:9cb694f00b7b | 282 | //! HCI_EVNT_WLAN_TX_COMPLETE - disable information on end of transmission |
dflet | 0:9cb694f00b7b | 283 | //! Saved: no. |
dflet | 0:9cb694f00b7b | 284 | //! |
dflet | 0:9cb694f00b7b | 285 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 286 | //! |
dflet | 0:9cb694f00b7b | 287 | //! @brief Mask event according to bit mask. In case that event is |
dflet | 0:9cb694f00b7b | 288 | //! masked (1), the device will not send the masked event to host. |
dflet | 0:9cb694f00b7b | 289 | // |
dflet | 0:9cb694f00b7b | 290 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 291 | extern long wlan_set_event_mask(unsigned long ulMask); |
dflet | 0:9cb694f00b7b | 292 | |
dflet | 0:9cb694f00b7b | 293 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 294 | // |
dflet | 0:9cb694f00b7b | 295 | //! wlan_ioctl_statusget |
dflet | 0:9cb694f00b7b | 296 | //! |
dflet | 0:9cb694f00b7b | 297 | //! @param none |
dflet | 0:9cb694f00b7b | 298 | //! |
dflet | 0:9cb694f00b7b | 299 | //! @return WLAN_STATUS_DISCONNECTED, WLAN_STATUS_SCANING, |
dflet | 0:9cb694f00b7b | 300 | //! STATUS_CONNECTING or WLAN_STATUS_CONNECTED |
dflet | 0:9cb694f00b7b | 301 | //! |
dflet | 0:9cb694f00b7b | 302 | //! @brief get wlan status: disconnected, scanning, connecting or connected |
dflet | 0:9cb694f00b7b | 303 | // |
dflet | 0:9cb694f00b7b | 304 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 305 | extern long wlan_ioctl_statusget(void); |
dflet | 0:9cb694f00b7b | 306 | |
dflet | 0:9cb694f00b7b | 307 | |
dflet | 0:9cb694f00b7b | 308 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 309 | // |
dflet | 0:9cb694f00b7b | 310 | //! wlan_ioctl_set_connection_policy |
dflet | 0:9cb694f00b7b | 311 | //! |
dflet | 0:9cb694f00b7b | 312 | //! @param should_connect_to_open_ap enable(1), disable(0) connect to any |
dflet | 0:9cb694f00b7b | 313 | //! available AP. This parameter corresponds to the configuration of |
dflet | 0:9cb694f00b7b | 314 | //! item # 3 in the brief description. |
dflet | 0:9cb694f00b7b | 315 | //! @param should_use_fast_connect enable(1), disable(0). if enabled, tries |
dflet | 0:9cb694f00b7b | 316 | //! to connect to the last connected AP. This parameter corresponds |
dflet | 0:9cb694f00b7b | 317 | //! to the configuration of item # 1 in the brief description. |
dflet | 0:9cb694f00b7b | 318 | //! @param auto_start enable(1), disable(0) auto connect |
dflet | 0:9cb694f00b7b | 319 | //! after reset and periodically reconnect if needed. This |
dflet | 0:9cb694f00b7b | 320 | //! configuration configures option 2 in the above description. |
dflet | 0:9cb694f00b7b | 321 | //! |
dflet | 0:9cb694f00b7b | 322 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 323 | //! |
dflet | 0:9cb694f00b7b | 324 | //! @brief When auto is enabled, the device tries to connect according |
dflet | 0:9cb694f00b7b | 325 | //! the following policy: |
dflet | 0:9cb694f00b7b | 326 | //! 1) If fast connect is enabled and last connection is valid, |
dflet | 0:9cb694f00b7b | 327 | //! the device will try to connect to it without the scanning |
dflet | 0:9cb694f00b7b | 328 | //! procedure (fast). The last connection will be marked as |
dflet | 0:9cb694f00b7b | 329 | //! invalid, due to adding/removing profile. |
dflet | 0:9cb694f00b7b | 330 | //! 2) If profile exists, the device will try to connect it |
dflet | 0:9cb694f00b7b | 331 | //! (Up to seven profiles). |
dflet | 0:9cb694f00b7b | 332 | //! 3) If fast and profiles are not found, and open mode is |
dflet | 0:9cb694f00b7b | 333 | //! enabled, the device will try to connect to any AP. |
dflet | 0:9cb694f00b7b | 334 | //! * Note that the policy settings are stored in the CC3000 NVMEM. |
dflet | 0:9cb694f00b7b | 335 | //! |
dflet | 0:9cb694f00b7b | 336 | //! @sa wlan_add_profile , wlan_ioctl_del_profile |
dflet | 0:9cb694f00b7b | 337 | // |
dflet | 0:9cb694f00b7b | 338 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 339 | extern long wlan_ioctl_set_connection_policy( |
dflet | 0:9cb694f00b7b | 340 | unsigned long should_connect_to_open_ap, |
dflet | 0:9cb694f00b7b | 341 | unsigned long should_use_fast_connect, |
dflet | 0:9cb694f00b7b | 342 | unsigned long ulUseProfiles); |
dflet | 0:9cb694f00b7b | 343 | |
dflet | 0:9cb694f00b7b | 344 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 345 | // |
dflet | 0:9cb694f00b7b | 346 | //! wlan_ioctl_get_scan_results |
dflet | 0:9cb694f00b7b | 347 | //! |
dflet | 0:9cb694f00b7b | 348 | //! @param[in] scan_timeout parameter not supported |
dflet | 0:9cb694f00b7b | 349 | //! @param[out] ucResults scan result (_wlan_full_scan_results_args_t) |
dflet | 0:9cb694f00b7b | 350 | //! |
dflet | 0:9cb694f00b7b | 351 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 352 | //! |
dflet | 0:9cb694f00b7b | 353 | //! @brief Gets entry from scan result table. |
dflet | 0:9cb694f00b7b | 354 | //! The scan results are returned one by one, and each entry |
dflet | 0:9cb694f00b7b | 355 | //! represents a single AP found in the area. The following is a |
dflet | 0:9cb694f00b7b | 356 | //! format of the scan result: |
dflet | 0:9cb694f00b7b | 357 | //! - 4 Bytes: number of networks found |
dflet | 0:9cb694f00b7b | 358 | //! - 4 Bytes: The status of the scan: 0 - aged results, |
dflet | 0:9cb694f00b7b | 359 | //! 1 - results valid, 2 - no results |
dflet | 0:9cb694f00b7b | 360 | //! - 42 bytes: Result entry, where the bytes are arranged as follows: |
dflet | 0:9cb694f00b7b | 361 | //! |
dflet | 0:9cb694f00b7b | 362 | //! - 1 bit isValid - is result valid or not |
dflet | 0:9cb694f00b7b | 363 | //! - 7 bits rssi - RSSI value; |
dflet | 0:9cb694f00b7b | 364 | //! - 2 bits: securityMode - security mode of the AP: |
dflet | 0:9cb694f00b7b | 365 | //! 0 - Open, 1 - WEP, 2 WPA, 3 WPA2 |
dflet | 0:9cb694f00b7b | 366 | //! - 6 bits: SSID name length |
dflet | 0:9cb694f00b7b | 367 | //! - 2 bytes: the time at which the entry has entered into |
dflet | 0:9cb694f00b7b | 368 | //! scans result table |
dflet | 0:9cb694f00b7b | 369 | //! - 32 bytes: SSID name |
dflet | 0:9cb694f00b7b | 370 | //! - 6 bytes: BSSID |
dflet | 0:9cb694f00b7b | 371 | //! |
dflet | 0:9cb694f00b7b | 372 | //! @Note scan_timeout, is not supported on this version. |
dflet | 0:9cb694f00b7b | 373 | //! |
dflet | 0:9cb694f00b7b | 374 | //! @sa wlan_ioctl_set_scan_params |
dflet | 0:9cb694f00b7b | 375 | // |
dflet | 0:9cb694f00b7b | 376 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 377 | |
dflet | 0:9cb694f00b7b | 378 | |
dflet | 0:9cb694f00b7b | 379 | extern long wlan_ioctl_get_scan_results(unsigned long ulScanTimeout, |
dflet | 0:9cb694f00b7b | 380 | unsigned char *ucResults); |
dflet | 0:9cb694f00b7b | 381 | |
dflet | 0:9cb694f00b7b | 382 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 383 | // |
dflet | 0:9cb694f00b7b | 384 | //! wlan_ioctl_set_scan_params |
dflet | 0:9cb694f00b7b | 385 | //! |
dflet | 0:9cb694f00b7b | 386 | //! @param uiEnable - start/stop application scan: |
dflet | 0:9cb694f00b7b | 387 | //! 1 = start scan with default interval value of 10 min. |
dflet | 0:9cb694f00b7b | 388 | //! in order to set a different scan interval value apply the value |
dflet | 0:9cb694f00b7b | 389 | //! in milliseconds. minimum 1 second. 0=stop). Wlan reset |
dflet | 0:9cb694f00b7b | 390 | //! (wlan_stop() wlan_start()) is needed when changing scan interval |
dflet | 0:9cb694f00b7b | 391 | //! value. Saved: No |
dflet | 0:9cb694f00b7b | 392 | //! @param uiMinDwellTime minimum dwell time value to be used for each |
dflet | 0:9cb694f00b7b | 393 | //! channel, in milliseconds. Saved: yes |
dflet | 0:9cb694f00b7b | 394 | //! Recommended Value: 100 (Default: 20) |
dflet | 0:9cb694f00b7b | 395 | //! @param uiMaxDwellTime maximum dwell time value to be used for each |
dflet | 0:9cb694f00b7b | 396 | //! channel, in milliseconds. Saved: yes |
dflet | 0:9cb694f00b7b | 397 | //! Recommended Value: 100 (Default: 30) |
dflet | 0:9cb694f00b7b | 398 | //! @param uiNumOfProbeRequests max probe request between dwell time. |
dflet | 0:9cb694f00b7b | 399 | //! Saved: yes. Recommended Value: 5 (Default:2) |
dflet | 0:9cb694f00b7b | 400 | //! @param uiChannelMask bitwise, up to 13 channels (0x1fff). |
dflet | 0:9cb694f00b7b | 401 | //! Saved: yes. Default: 0x7ff |
dflet | 0:9cb694f00b7b | 402 | //! @param uiRSSIThreshold RSSI threshold. Saved: yes (Default: -80) |
dflet | 0:9cb694f00b7b | 403 | //! @param uiSNRThreshold NSR threshold. Saved: yes (Default: 0) |
dflet | 0:9cb694f00b7b | 404 | //! @param uiDefaultTxPower probe Tx power. Saved: yes (Default: 205) |
dflet | 0:9cb694f00b7b | 405 | //! @param aiIntervalList pointer to array with 16 entries (16 channels) |
dflet | 0:9cb694f00b7b | 406 | //! each entry (unsigned long) holds timeout between periodic scan |
dflet | 0:9cb694f00b7b | 407 | //! (connection scan) - in milliseconds. Saved: yes. Default 2000ms. |
dflet | 0:9cb694f00b7b | 408 | //! |
dflet | 0:9cb694f00b7b | 409 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 410 | //! |
dflet | 0:9cb694f00b7b | 411 | //! @brief start and stop scan procedure. Set scan parameters. |
dflet | 0:9cb694f00b7b | 412 | //! |
dflet | 0:9cb694f00b7b | 413 | //! @Note uiDefaultTxPower, is not supported on this version. |
dflet | 0:9cb694f00b7b | 414 | //! |
dflet | 0:9cb694f00b7b | 415 | //! @sa wlan_ioctl_get_scan_results |
dflet | 0:9cb694f00b7b | 416 | // |
dflet | 0:9cb694f00b7b | 417 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 418 | extern long wlan_ioctl_set_scan_params(unsigned long uiEnable, unsigned long |
dflet | 0:9cb694f00b7b | 419 | uiMinDwellTime,unsigned long uiMaxDwellTime, |
dflet | 0:9cb694f00b7b | 420 | unsigned long uiNumOfProbeRequests, |
dflet | 0:9cb694f00b7b | 421 | unsigned long uiChannelMask, |
dflet | 0:9cb694f00b7b | 422 | long iRSSIThreshold,unsigned long uiSNRThreshold, |
dflet | 0:9cb694f00b7b | 423 | unsigned long uiDefaultTxPower, |
dflet | 0:9cb694f00b7b | 424 | unsigned long *aiIntervalList); |
dflet | 0:9cb694f00b7b | 425 | |
dflet | 0:9cb694f00b7b | 426 | |
dflet | 0:9cb694f00b7b | 427 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 428 | // |
dflet | 0:9cb694f00b7b | 429 | //! wlan_smart_config_start |
dflet | 0:9cb694f00b7b | 430 | //! |
dflet | 0:9cb694f00b7b | 431 | //! @param algoEncryptedFlag indicates whether the information is encrypted |
dflet | 0:9cb694f00b7b | 432 | //! |
dflet | 0:9cb694f00b7b | 433 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 434 | //! |
dflet | 0:9cb694f00b7b | 435 | //! @brief Start to acquire device profile. The device acquire its own |
dflet | 0:9cb694f00b7b | 436 | //! profile, if profile message is found. The acquired AP information |
dflet | 0:9cb694f00b7b | 437 | //! is stored in CC3000 EEPROM only in case AES128 encryption is used. |
dflet | 0:9cb694f00b7b | 438 | //! In case AES128 encryption is not used, a profile is created by |
dflet | 0:9cb694f00b7b | 439 | //! CC3000 internally. |
dflet | 0:9cb694f00b7b | 440 | //! |
dflet | 0:9cb694f00b7b | 441 | //! @Note An asynchronous event - Smart Config Done will be generated as soon |
dflet | 0:9cb694f00b7b | 442 | //! as the process finishes successfully. |
dflet | 0:9cb694f00b7b | 443 | //! |
dflet | 0:9cb694f00b7b | 444 | //! @sa wlan_smart_config_set_prefix , wlan_smart_config_stop |
dflet | 0:9cb694f00b7b | 445 | // |
dflet | 0:9cb694f00b7b | 446 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 447 | extern long wlan_smart_config_start(unsigned long algoEncryptedFlag); |
dflet | 0:9cb694f00b7b | 448 | |
dflet | 0:9cb694f00b7b | 449 | |
dflet | 0:9cb694f00b7b | 450 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 451 | // |
dflet | 0:9cb694f00b7b | 452 | //! wlan_smart_config_stop |
dflet | 0:9cb694f00b7b | 453 | //! |
dflet | 0:9cb694f00b7b | 454 | //! @param algoEncryptedFlag indicates whether the information is encrypted |
dflet | 0:9cb694f00b7b | 455 | //! |
dflet | 0:9cb694f00b7b | 456 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 457 | //! |
dflet | 0:9cb694f00b7b | 458 | //! @brief Stop the acquire profile procedure |
dflet | 0:9cb694f00b7b | 459 | //! |
dflet | 0:9cb694f00b7b | 460 | //! @sa wlan_smart_config_start , wlan_smart_config_set_prefix |
dflet | 0:9cb694f00b7b | 461 | // |
dflet | 0:9cb694f00b7b | 462 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 463 | extern long wlan_smart_config_stop(void); |
dflet | 0:9cb694f00b7b | 464 | |
dflet | 0:9cb694f00b7b | 465 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 466 | // |
dflet | 0:9cb694f00b7b | 467 | //! wlan_smart_config_set_prefix |
dflet | 0:9cb694f00b7b | 468 | //! |
dflet | 0:9cb694f00b7b | 469 | //! @param newPrefix 3 bytes identify the SSID prefix for the Smart Config. |
dflet | 0:9cb694f00b7b | 470 | //! |
dflet | 0:9cb694f00b7b | 471 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 472 | //! |
dflet | 0:9cb694f00b7b | 473 | //! @brief Configure station ssid prefix. The prefix is used internally |
dflet | 0:9cb694f00b7b | 474 | //! in CC3000. It should always be TTT. |
dflet | 0:9cb694f00b7b | 475 | //! |
dflet | 0:9cb694f00b7b | 476 | //! @Note The prefix is stored in CC3000 NVMEM |
dflet | 0:9cb694f00b7b | 477 | //! |
dflet | 0:9cb694f00b7b | 478 | //! @sa wlan_smart_config_start , wlan_smart_config_stop |
dflet | 0:9cb694f00b7b | 479 | // |
dflet | 0:9cb694f00b7b | 480 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 481 | extern long wlan_smart_config_set_prefix(char* cNewPrefix); |
dflet | 0:9cb694f00b7b | 482 | |
dflet | 0:9cb694f00b7b | 483 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 484 | // |
dflet | 0:9cb694f00b7b | 485 | //! wlan_smart_config_process |
dflet | 0:9cb694f00b7b | 486 | //! |
dflet | 0:9cb694f00b7b | 487 | //! @param none |
dflet | 0:9cb694f00b7b | 488 | //! |
dflet | 0:9cb694f00b7b | 489 | //! @return On success, zero is returned. On error, -1 is returned |
dflet | 0:9cb694f00b7b | 490 | //! |
dflet | 0:9cb694f00b7b | 491 | //! @brief process the acquired data and store it as a profile. The acquired |
dflet | 0:9cb694f00b7b | 492 | //! AP information is stored in CC3000 EEPROM encrypted. |
dflet | 0:9cb694f00b7b | 493 | //! The encrypted data is decrypted and stored as a profile. |
dflet | 0:9cb694f00b7b | 494 | //! behavior is as defined by connection policy. |
dflet | 0:9cb694f00b7b | 495 | // |
dflet | 0:9cb694f00b7b | 496 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 497 | extern long wlan_smart_config_process(void); |
dflet | 0:9cb694f00b7b | 498 | |
dflet | 0:9cb694f00b7b | 499 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 500 | // |
dflet | 0:9cb694f00b7b | 501 | // Close the Doxygen group. |
dflet | 0:9cb694f00b7b | 502 | //! @} |
dflet | 0:9cb694f00b7b | 503 | // |
dflet | 0:9cb694f00b7b | 504 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 505 | |
dflet | 0:9cb694f00b7b | 506 | |
dflet | 0:9cb694f00b7b | 507 | |
dflet | 0:9cb694f00b7b | 508 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 509 | // |
dflet | 0:9cb694f00b7b | 510 | // Mark the end of the C bindings section for C++ compilers. |
dflet | 0:9cb694f00b7b | 511 | // |
dflet | 0:9cb694f00b7b | 512 | //***************************************************************************** |
dflet | 0:9cb694f00b7b | 513 | #ifdef __cplusplus |
dflet | 0:9cb694f00b7b | 514 | } |
dflet | 0:9cb694f00b7b | 515 | #endif // __cplusplus |
dflet | 0:9cb694f00b7b | 516 | |
dflet | 0:9cb694f00b7b | 517 | #endif // __WLAN_H__ |
dflet | 0:9cb694f00b7b | 518 |