summaryrefslogtreecommitdiff
path: root/drivers/staging/bcm/CmHost.h
blob: eecad8d90aeaba7fdb7a12d71591f05c408d267b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/***************************************************************************
 * (c) Beceem Communications Inc.
 * All Rights Reserved
 *
 * file  : CmHost.h
 * author: Rajeev Tirumala
 * date  : September 8 , 2006
 * brief : Definitions for Connection Management Requests structure
 *          which we will use to setup our connection structures.Its high
 *          time we had a header file for CmHost.cpp to isolate the way
 *          f/w sends DSx messages and the way we interpret them in code.
 *          Revision History
 *
 *   Date       Author   Version   Description
 *   08-Sep-06    Rajeev       0.1      Created
 ***************************************************************************/
#ifndef _CM_HOST_H
#define _CM_HOST_H

#pragma once
#pragma pack(push, 4)

#define DSX_MESSAGE_EXCHANGE_BUFFER        0xBF60AC84 /* This contains the pointer */
#define DSX_MESSAGE_EXCHANGE_BUFFER_SIZE   72000      /* 24 K Bytes */

struct bcm_add_indication_alt {
	u8	u8Type;
	u8	u8Direction;
	u16	u16TID;
	/* brief 16bitCID */
	u16	u16CID;
	/* brief 16bitVCID */
	u16	u16VCID;
	struct bcm_connect_mgr_params sfAuthorizedSet;
	struct bcm_connect_mgr_params sfAdmittedSet;
	struct bcm_connect_mgr_params sfActiveSet;
	u8	u8CC;    /* < Confirmation Code */
	u8	u8Padd;  /* < 8-bit Padding */
	u16	u16Padd; /* < 16 bit Padding */
};

struct bcm_change_indication {
	u8	u8Type;
	u8	u8Direction;
	u16	u16TID;
	/* brief 16bitCID */
	u16	u16CID;
	/* brief 16bitVCID */
	u16	u16VCID;
	struct bcm_connect_mgr_params sfAuthorizedSet;
	struct bcm_connect_mgr_params sfAdmittedSet;
	struct bcm_connect_mgr_params sfActiveSet;
	u8	u8CC;    /* < Confirmation Code */
	u8	u8Padd;  /* < 8-bit Padding */
	u16	u16Padd; /* < 16 bit */
};

unsigned long StoreCmControlResponseMessage(struct bcm_mini_adapter *Adapter, void *pvBuffer, unsigned int *puBufferLength);
int AllocAdapterDsxBuffer(struct bcm_mini_adapter *Adapter);
int FreeAdapterDsxBuffer(struct bcm_mini_adapter *Adapter);
unsigned long SetUpTargetDsxBuffers(struct bcm_mini_adapter *Adapter);
BOOLEAN CmControlResponseMessage(struct bcm_mini_adapter *Adapter, void *pvBuffer);

#pragma pack(pop)

#endif