PageRenderTime 47ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/common/inc/bssTypes.h

http://github.com/CyanogenMod/cm-kernel
C Header | 128 lines | 45 code | 13 blank | 70 comment | 0 complexity | 433fbbdbd8655288eff50f93bf66eef6 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0
  1. /****************************************************************************
  2. **+-----------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |**
  5. **| All rights reserved. |**
  6. **| |**
  7. **| Redistribution and use in source and binary forms, with or without |**
  8. **| modification, are permitted provided that the following conditions |**
  9. **| are met: |**
  10. **| |**
  11. **| * Redistributions of source code must retain the above copyright |**
  12. **| notice, this list of conditions and the following disclaimer. |**
  13. **| * Redistributions in binary form must reproduce the above copyright |**
  14. **| notice, this list of conditions and the following disclaimer in |**
  15. **| the documentation and/or other materials provided with the |**
  16. **| distribution. |**
  17. **| * Neither the name Texas Instruments nor the names of its |**
  18. **| contributors may be used to endorse or promote products derived |**
  19. **| from this software without specific prior written permission. |**
  20. **| |**
  21. **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |**
  22. **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |**
  23. **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
  24. **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |**
  25. **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
  26. **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |**
  27. **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
  28. **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
  29. **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |**
  30. **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
  31. **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |**
  32. **| |**
  33. **+-----------------------------------------------------------------------+**
  34. ****************************************************************************/
  35. /** \file bssTypes.h
  36. * \brief This file include public type definitions for Driver-wide BSS information
  37. * \author Ronen Kalish
  38. * \date 05-April-2005
  39. */
  40. #ifndef __BSS_TYPES_API_H__
  41. #define __BSS_TYPES_API_H__
  42. #include "osDot11.h"
  43. /*
  44. ***********************************************************************
  45. * Constant definitions.
  46. ***********************************************************************
  47. */
  48. #define MAX_NUM_OF_NEIGHBOR_APS 30
  49. #define MAX_SIZE_OF_BSS_TRACK_LIST 16
  50. /** \enum resultFrameType_e
  51. * \brief enumerates the different types for a result frame
  52. */
  53. typedef enum
  54. {
  55. SCAN_RFT_BEACON = 0, /**< result frame is a beacon */
  56. SCAN_RFT_PROBE_RESPONSE /**< result frame is a probe response */
  57. } resultFrameType_e;
  58. /*
  59. ***********************************************************************
  60. * Structure definitions.
  61. ***********************************************************************
  62. */
  63. /** \struct bssEntry_t
  64. * \brief This structure contains a single BSS entry
  65. */
  66. typedef struct
  67. {
  68. /* values in beacon with fixed length */
  69. macAddress_t BSSID; /**< BSSID of this entry */
  70. UINT64 lastRxTSF; /**< TSF of last received frame */
  71. UINT16 beaconInterval; /**< Beacon interval of this AP */
  72. UINT16 capabilities; /**< capabilities of this AP */
  73. /* IE's in beacon */
  74. UINT8 DTIMPeriod; /**< DTIm period (in beacon interval quantas */
  75. resultFrameType_e resultType; /**< The type of frame in pBuffer */
  76. UINT16 bufferLength; /**< length of rest of beacon (or probe response) buffer */
  77. UINT8* pBuffer; /**< rest of beacon (or probe response) buffer */
  78. /* Information from other sources */
  79. radioBand_e band; /**< band on which the AP transmits */
  80. UINT8 channel; /**< channel on which the AP transmits */
  81. UINT8 rxRate; /**< Rate at which last frame was received */
  82. UINT32 lastRxHostTimestamp; /**<
  83. * the host timestamp (in milliseconds) at which last frame
  84. * was received
  85. */
  86. INT8 RSSI; /**< average RSSI */
  87. INT8 lastRSSI; /** last given RSSI */
  88. BOOLEAN bNeighborAP; /**< Indicates whether this is a neighbor AP */
  89. } bssEntry_t;
  90. /** \struct bssList_t
  91. * \brief This structure contains the BSS list
  92. */
  93. typedef struct
  94. {
  95. UINT8 numOfEntries; /**< number of entries in the list */
  96. bssEntry_t BSSList[ MAX_SIZE_OF_BSS_TRACK_LIST ]; /**< list of entries */
  97. } bssList_t;
  98. /** \struct neighborAP_t
  99. * \brief This structure contains information on one neighbor AP
  100. */
  101. typedef struct
  102. {
  103. macAddress_t BSSID; /**< The BSSID (MAC address) of this AP */
  104. UINT8 channel; /**< the channel on which the AP transmits */
  105. radioBand_e band; /**< the band used by the AP */
  106. } neighborAP_t;
  107. /** \struct neighborAPList_t
  108. * \brief This structure contains a list of Neighbor APs
  109. */
  110. typedef struct
  111. {
  112. UINT8 numOfEntries; /**< the number of entries in the list */
  113. neighborAP_t APListPtr[ MAX_NUM_OF_NEIGHBOR_APS ]; /**< a pointer to the list of APs */
  114. } neighborAPList_t;
  115. #endif