1/*
2 * connIbss.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 connIbss.h
35 *  \brief IBSS connection header file
36 *
37 *  \see connIbss.c
38 */
39
40/***************************************************************************/
41/*																									*/
42/*	  MODULE:	ibssConn.h																*/
43/*    PURPOSE:	IBSS connection header file			 								*/
44/*																									*/
45/***************************************************************************/
46#ifndef __CONN_IBSS_H__
47#define __CONN_IBSS_H__
48
49#include "tidef.h"
50#include "paramOut.h"
51#include "conn.h"
52
53/* IBSS connection SM events */
54typedef enum
55{
56	CONN_IBSS_CREATE   		= 0,  /* Sent when establishing new IBSS. */
57	CONN_IBSS_CONNECT		  ,   /* Sent when trying to join existing IBSS. */
58	CONN_IBSS_DISCONNECT	  ,	  /* Stops to connection */
59	CONN_IBSS_RSN_SUCC		  ,   /* RSN keys are set to the HW */
60	CONN_IBSS_STA_JOINED	  ,   /* Event sent when other STA joined our self IBSS */
61	CONN_IBSS_MERGE			  ,
62	CONN_IBSS_DISCONN_COMPLETE,   /* Called when disconncet event is done */
63    CONN_IBSS_NUM_EVENTS
64} connIbssEvent_e;
65
66/* IBSS connection states */
67typedef enum
68{
69	STATE_CONN_IBSS_IDLE 		=0,
70
71	STATE_CONN_IBSS_SELF_WAIT	,
72	STATE_CONN_IBSS_RSN_WAIT	,
73	STATE_CONN_IBSS_CONNECTED 	,
74	STATE_CONN_IBSS_WAIT_DISCONN_CMPLT,
75    CONN_IBSS_NUM_STATES
76} conn_ibss_state_e;
77
78
79TI_STATUS conn_ibssConfig(conn_t *pConn);
80
81TI_STATUS conn_ibssSMEvent(TI_UINT8 *currentState, TI_UINT8 event, TI_HANDLE hConn);
82
83void IbssConnSM_ScrCB( TI_HANDLE hConn, EScrClientRequestStatus requestStatus, EScrResourceId eResource, EScePendReason pendReason);
84
85void connIbss_DisconnectComplete (conn_t *pConn, TI_UINT8  *data, TI_UINT8   dataLength);
86
87#endif /* __CONN_IBSS_H__ */
88