1/*
2 * ScanCncnPrivate.h
3 *
4 * Copyright(c) 1998 - 2009 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/** \file  ScanCncnPrivate.h
35 *  \brief Scan concentartor module private definitions
36 *
37 *  \see   ScanCncn.c, ScanCncn.h, ScanCncnApp.c
38 */
39
40#ifndef __SCAN_CNCN_PRIVATE_H__
41#define __SCAN_CNCN_PRIVATE_H__
42
43#include "osTIType.h"
44#include "TWDriver.h"
45#include "scrApi.h"
46#include "ScanCncnSm.h"
47
48/** \enum EConnectionStatus
49 * \brief enumerates the different connection statuses
50 */
51typedef enum
52{
53    STA_CONNECTED = 0,              /**< the station is connected to an infrastructure BSS */
54    STA_NOT_CONNECTED,              /**< the station is not connected to an infrastructure BSS */
55    STA_IBSS                        /**< the station is participating in an IBSS */
56} EConnectionStatus;
57
58typedef struct
59{
60    /* handles to other modules */
61    TI_HANDLE               hOS;
62    TI_HANDLE               hTWD;
63    TI_HANDLE               hReport;
64    TI_HANDLE               hRegulatoryDomain;
65    TI_HANDLE               hSiteManager;
66    TI_HANDLE               hSCR;
67    TI_HANDLE               hAPConn;
68    TI_HANDLE               hEvHandler;
69    TI_HANDLE               hMlme;
70    TI_HANDLE               hHealthMonitor;
71    TI_HANDLE               hSme;
72
73    /* client specific information */
74    TScanCncnClient         *pScanClients[ SCAN_SCC_NUM_OF_CLIENTS ];
75
76    /* SG Flags */
77    TI_BOOL                 bUseSGParams;
78    TI_UINT32               uSGcompensationPercent;
79    TI_UINT32               uSGcompensationMaxTime;
80    TI_UINT8                uSGprobeRequestPercent;
81
82    /* connection status */
83    EConnectionStatus       eConnectionStatus;
84    TScanCncnInitParams     tInitParams;
85
86    /* scan concentrator application sub-module data */
87    TI_HANDLE               hScanResultTable; /* application scan result table */
88    TI_HANDLE               hOSScanSm; /* OS scan state machine */
89    EScanCncnClient         eCurrentRunningAppScanClient; /* to disallow both one-shot and periodic app */
90    TI_UINT32               uOSScanLastTimeStamp;
91    TI_BOOL                 bOSScanRunning;
92    TScanParams             tOsScanParams;
93
94} TScanCncn;
95
96#endif /* __SCAN_CNCN_PRIVATE_H__ */
97
98