summaryrefslogtreecommitdiff
path: root/wl1271/stad/src/Sta_Management/ScanCncnSm.h
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2010-01-28 13:44:01 -0800
committerDmitry Shmidt <dimitrysh@google.com>2010-01-28 13:44:01 -0800
commita615fb1650af6e111053506f1b764b28a5b4631d (patch)
tree331681301f38dbc47007e77f21039b0d82c2741c /wl1271/stad/src/Sta_Management/ScanCncnSm.h
parent3295ef74aeb37c12e327c5b1b258c1d84bcd2fa5 (diff)
downloadwlan-a615fb1650af6e111053506f1b764b28a5b4631d.tar.gz
wl1271: Initial M4 drop based on WiLink_Driver_6.1.0.0.115
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'wl1271/stad/src/Sta_Management/ScanCncnSm.h')
-rw-r--r--wl1271/stad/src/Sta_Management/ScanCncnSm.h146
1 files changed, 146 insertions, 0 deletions
diff --git a/wl1271/stad/src/Sta_Management/ScanCncnSm.h b/wl1271/stad/src/Sta_Management/ScanCncnSm.h
new file mode 100644
index 00000000..6bc9a3c2
--- /dev/null
+++ b/wl1271/stad/src/Sta_Management/ScanCncnSm.h
@@ -0,0 +1,146 @@
+/*
+ * ScanCncnSm.h
+ *
+ * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name Texas Instruments nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** \file ScanCncnSm.h
+ * \brief Scan concentrator state machine declarations
+ *
+ * \see ScanCncnSm.c
+ */
+
+
+#ifndef __SCAN_CNCN_SM_H__
+#define __SCAN_CNCN_SM_H__
+
+#include "osTIType.h"
+#include "TWDriver.h"
+#include "ScanCncn.h"
+
+typedef void (*TScanPrivateSMFunction)(TI_HANDLE hScanCncn);
+
+typedef union
+{
+ TPeriodicScanParams tPeriodicScanParams;
+ TScanParams tOneShotScanParams;
+}UScanParams;
+
+typedef struct
+{
+ TI_HANDLE hOS;
+ TI_HANDLE hReport;
+ TI_HANDLE hSCR;
+ TI_HANDLE hTWD;
+ TI_HANDLE hApConn;
+ TI_HANDLE hMlme;
+ TI_HANDLE hGenSM;
+ TI_HANDLE hScanCncn;
+ TI_BOOL bScanCompletePending; /* TRUE if scan complete event is received
+ before all results, for periodic scan */
+ TI_BOOL bInRequest;
+ TI_BOOL bSendNullDataOnStop; /* indicates whether NULL data frame is to be sent wehn
+ stopping scan to return to previous PS mode */
+ TScanPrivateSMFunction fScrRequest;
+ TScanPrivateSMFunction fScrRelease;
+ TScanPrivateSMFunction fStartScan;
+ TScanPrivateSMFunction fStopScan;
+ TScanPrivateSMFunction fRecovery;
+
+ /* Scan complete callbacks */
+ TScanResultCB tScanResultCB;
+ TI_HANDLE hScanResultCBObj;
+
+ UScanParams uScanParams;
+ EScanCncnResultStatus eScanResult;
+ TI_INT8 *pScanSmName;
+ TI_UINT16 uSPSScanResult;
+ TI_UINT32 uResultCounter;
+ TI_UINT32 uResultExpectedNumber;
+ TI_BOOL bScanRejectedOn2_4;
+} TScanCncnClient;
+
+typedef enum
+{
+ SCAN_CNCN_SM_STATE_IDLE = 0,
+ SCAN_CNCN_SM_STATE_SCR_WAIT,
+ SCAN_CNCN_SM_STATE_SCANNING,
+ SCAN_CNCN_SM_STATE_STOPPING,
+ SCAN_CNCN_SM_NUMBER_OF_STATES
+} EScanCncnSmStates;
+
+typedef enum
+{
+ SCAN_CNCN_SM_EVENT_START = 0,
+ SCAN_CNCN_SM_EVENT_RUN,
+ SCAN_CNCN_SM_EVENT_SCAN_COMPLETE,
+ SCAN_CNCN_SM_EVENT_STOP,
+ SCAN_CNCN_SM_EVENT_ABORT,
+ SCAN_CNCN_SM_EVENT_RECOVERY,
+ SCAN_CNCN_SM_EVENT_REJECT,
+ SCAN_CNCN_SM_NUMBER_OF_EVENTS
+} EScanCncnSmEvents;
+
+TI_HANDLE scanCncnSm_Create (TI_HANDLE hOS);
+void scanCncnSm_Init (TI_HANDLE hScanCncnClient, TI_HANDLE hReport, TI_HANDLE hTWD,
+ TI_HANDLE hSCR, TI_HANDLE hApConn, TI_HANDLE hMlme,
+ TI_HANDLE hScanCncn, TScanPrivateSMFunction fScrRequest,
+ TScanPrivateSMFunction fScrRelease, TScanPrivateSMFunction fStartScan,
+ TScanPrivateSMFunction fStopScan, TScanPrivateSMFunction fRecovery,
+ TI_INT8* pScanSmName);
+void scanCncnSm_Destroy (TI_HANDLE hScanCncnClient);
+void scanCncnSmApp1Shot_ScrRequest (TI_HANDLE hScanCncnClient);
+void scanCncnSmApp1Shot_ScrRelease (TI_HANDLE hScanCncnClient);
+void scanCncnSmApp1Shot_StartScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmApp1Shot_StopScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmApp1Shot_Recovery (TI_HANDLE hScanCncnClient);
+void scanCncnSmAppP_ScrRequest (TI_HANDLE hScanCncnClient);
+void scanCncnSmAppP_ScrRelease (TI_HANDLE hScanCncnClient);
+void scanCncnSmAppP_StartScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmAppP_StopScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmAppP_Recovery (TI_HANDLE hScanCncnClient);
+void scanCncnSmDrvP_ScrRequest (TI_HANDLE hScanCncnClient);
+void scanCncnSmDrvP_ScrRelease (TI_HANDLE hScanCncnClient);
+void scanCncnSmDrvP_StartScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmDrvP_StopScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmDrvP_Recovery (TI_HANDLE hScanCncnClient);
+void scanCncnSmCont1Shot_ScrRequest (TI_HANDLE hScanCncnClient);
+void scanCncnSmCont1Shot_ScrRelease (TI_HANDLE hScanCncnClient);
+void scanCncnSmCont1Shot_StartScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmCont1Shot_StopScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmCont1Shot_Recovery (TI_HANDLE hScanCncnClient);
+void scanCncnSmImmed1Shot_ScrRequest (TI_HANDLE hScanCncnClient);
+void scanCncnSmImmed1Shot_ScrRelease (TI_HANDLE hScanCncnClient);
+void scanCncnSmImmed1Shot_StartScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmImmed1Shot_StopScan (TI_HANDLE hScanCncnClient);
+void scanCncnSmImmed1Shot_Recovery (TI_HANDLE hScanCncnClient);
+
+#endif /* __SCAN_CNCN_SM_H__ */
+