1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*
2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * connIbss.h
3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved.
6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions
9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met:
10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    the documentation and/or other materials provided with the
16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    distribution.
17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    contributors may be used to endorse or promote products derived
19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *    from this software without specific prior written permission.
20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/** \file connIbss.h
35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  \brief IBSS connection header file
36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *
37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt *  \see connIbss.c
38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */
39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/
41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*																									*/
42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*	  MODULE:	ibssConn.h																*/
43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*    PURPOSE:	IBSS connection header file			 								*/
44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/*																									*/
45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/***************************************************************************/
46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifndef __CONN_IBSS_H__
47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#define __CONN_IBSS_H__
48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "tidef.h"
50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "paramOut.h"
51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "conn.h"
52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* IBSS connection SM events */
54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef enum
55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_CREATE   		= 0,  /* Sent when establishing new IBSS. */
57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_CONNECT		  ,   /* Sent when trying to join existing IBSS. */
58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_DISCONNECT	  ,	  /* Stops to connection */
59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_RSN_SUCC		  ,   /* RSN keys are set to the HW */
60a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_STA_JOINED	  ,   /* Event sent when other STA joined our self IBSS */
61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_MERGE			  ,
62a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	CONN_IBSS_DISCONN_COMPLETE,   /* Called when disconncet event is done */
63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    CONN_IBSS_NUM_EVENTS
64a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} connIbssEvent_e;
65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
66a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* IBSS connection states */
67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidttypedef enum
68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{
69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	STATE_CONN_IBSS_IDLE 		=0,
70ddac9c138c5b4b16b99fb8bc5f0f10418efa1029Dmitry Shmidt
71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	STATE_CONN_IBSS_SELF_WAIT	,
72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	STATE_CONN_IBSS_RSN_WAIT	,
73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	STATE_CONN_IBSS_CONNECTED 	,
74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt	STATE_CONN_IBSS_WAIT_DISCONN_CMPLT,
75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt    CONN_IBSS_NUM_STATES
76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} conn_ibss_state_e;
77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
79a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS conn_ibssConfig(conn_t *pConn);
80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
81a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtTI_STATUS conn_ibssSMEvent(TI_UINT8 *currentState, TI_UINT8 event, TI_HANDLE hConn);
82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid IbssConnSM_ScrCB( TI_HANDLE hConn, EScrClientRequestStatus requestStatus, EScrResourceId eResource, EScePendReason pendReason);
84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid connIbss_DisconnectComplete (conn_t *pConn, TI_UINT8  *data, TI_UINT8   dataLength);
86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt
87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif /* __CONN_IBSS_H__ */
88