1 /// **************************************************************************
2 /// (c) Beceem Communications Inc.
3 ///     All Rights Reserved
4 ///
5 ///   \file        : CmHost.h
6 ///   \author      : Rajeev Tirumala
7 ///   \date        : September 8 , 2006
8 ///   \brief       : Definitions for Connection Management Requests structure
9 ///                  which we will use to setup our connection structures.Its high
10 ///                  time we had a header file for CmHost.cpp to isolate the way
11 ///                  f/w sends DSx messages and the way we interpret them in code.
12 ///                              Revision History
13 ///
14 ///    Date       Author   Version   Description
15 ///  08-Sep-06    Rajeev       0.1      Created
16 /// **************************************************************************
17 #ifndef _CM_HOST_H
18 #define _CM_HOST_H
19 
20 #pragma once
21 #pragma pack (push,4)
22 
23 #define  DSX_MESSAGE_EXCHANGE_BUFFER        0xBF60AC84 // This contains the pointer
24 #define  DSX_MESSAGE_EXCHANGE_BUFFER_SIZE   72000 // 24 K Bytes
25 
26 /// \brief structure stLocalSFAddRequest
27 typedef struct stLocalSFAddRequestAlt{
28 	B_UINT8                         u8Type;
29 	B_UINT8      u8Direction;
30 
31 	B_UINT16                        u16TID;
32    /// \brief 16bitCID
33     B_UINT16                        u16CID;
34     /// \brief 16bitVCID
35     B_UINT16                        u16VCID;
36 
37 
38 	/// \brief structure ParameterSet
39     stServiceFlowParamSI              sfParameterSet;
40 
41     //USE_MEMORY_MANAGER();
42 }stLocalSFAddRequestAlt;
43 
44 /// \brief structure stLocalSFAddIndication
45 typedef struct stLocalSFAddIndicationAlt{
46     B_UINT8                         u8Type;
47 	B_UINT8      u8Direction;
48 	B_UINT16                         u16TID;
49     /// \brief 16bitCID
50     B_UINT16                        u16CID;
51     /// \brief 16bitVCID
52     B_UINT16                        u16VCID;
53 	/// \brief structure AuthorizedSet
54     stServiceFlowParamSI              sfAuthorizedSet;
55     /// \brief structure AdmittedSet
56     stServiceFlowParamSI              sfAdmittedSet;
57 	/// \brief structure ActiveSet
58     stServiceFlowParamSI              sfActiveSet;
59 
60 	B_UINT8 						u8CC;	/**<  Confirmation Code*/
61 	B_UINT8 						u8Padd; 	/**<  8-bit Padding */
62 	B_UINT16						u16Padd;	/**< 16 bit Padding */
63 //    USE_MEMORY_MANAGER();
64 }stLocalSFAddIndicationAlt;
65 
66 /// \brief structure stLocalSFAddConfirmation
67 typedef struct stLocalSFAddConfirmationAlt{
68 	B_UINT8                     u8Type;
69 	B_UINT8      				u8Direction;
70 	B_UINT16					u16TID;
71     /// \brief 16bitCID
72     B_UINT16                        u16CID;
73     /// \brief 16bitVCID
74     B_UINT16                        u16VCID;
75     /// \brief structure AuthorizedSet
76     stServiceFlowParamSI              sfAuthorizedSet;
77     /// \brief structure AdmittedSet
78     stServiceFlowParamSI              sfAdmittedSet;
79     /// \brief structure ActiveSet
80     stServiceFlowParamSI              sfActiveSet;
81 }stLocalSFAddConfirmationAlt;
82 
83 
84 /// \brief structure stLocalSFChangeRequest
85 typedef struct stLocalSFChangeRequestAlt{
86     B_UINT8                         u8Type;
87 	B_UINT8      u8Direction;
88 	B_UINT16					u16TID;
89     /// \brief 16bitCID
90     B_UINT16                        u16CID;
91     /// \brief 16bitVCID
92     B_UINT16                        u16VCID;
93 	/*
94 	//Pointer location at which following Service Flow param Structure can be read
95 	//from the target. We get only the address location and we need to read out the
96 	//entire SF param structure at the given location on target
97 	*/
98     /// \brief structure AuthorizedSet
99     stServiceFlowParamSI              sfAuthorizedSet;
100     /// \brief structure AdmittedSet
101     stServiceFlowParamSI              sfAdmittedSet;
102     /// \brief structure ParameterSet
103     stServiceFlowParamSI              sfActiveSet;
104 
105 	B_UINT8 						u8CC;	/**<  Confirmation Code*/
106 	B_UINT8 						u8Padd; 	/**<  8-bit Padding */
107 	B_UINT16						u16Padd;	/**< 16 bit */
108 
109 }stLocalSFChangeRequestAlt;
110 
111 /// \brief structure stLocalSFChangeConfirmation
112 typedef struct stLocalSFChangeConfirmationAlt{
113 	B_UINT8                         u8Type;
114 	B_UINT8      					u8Direction;
115 	B_UINT16						u16TID;
116     /// \brief 16bitCID
117     B_UINT16                        u16CID;
118     /// \brief 16bitVCID
119     B_UINT16                        u16VCID;
120     /// \brief structure AuthorizedSet
121     stServiceFlowParamSI              sfAuthorizedSet;
122     /// \brief structure AdmittedSet
123     stServiceFlowParamSI              sfAdmittedSet;
124     /// \brief structure ActiveSet
125     stServiceFlowParamSI              sfActiveSet;
126 
127 }stLocalSFChangeConfirmationAlt;
128 
129 /// \brief structure stLocalSFChangeIndication
130 typedef struct stLocalSFChangeIndicationAlt{
131 	B_UINT8                         u8Type;
132 		B_UINT8      u8Direction;
133 	B_UINT16						u16TID;
134     /// \brief 16bitCID
135     B_UINT16                        u16CID;
136     /// \brief 16bitVCID
137     B_UINT16                        u16VCID;
138     /// \brief structure AuthorizedSet
139     stServiceFlowParamSI              sfAuthorizedSet;
140     /// \brief structure AdmittedSet
141     stServiceFlowParamSI              sfAdmittedSet;
142     /// \brief structure ActiveSet
143     stServiceFlowParamSI              sfActiveSet;
144 
145 	B_UINT8 						u8CC;	/**<  Confirmation Code*/
146 	B_UINT8 						u8Padd; 	/**<  8-bit Padding */
147 	B_UINT16						u16Padd;	/**< 16 bit */
148 
149 }stLocalSFChangeIndicationAlt;
150 
151 ULONG StoreCmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer,UINT *puBufferLength);
152 
153 INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
154 
155 INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
156 ULONG SetUpTargetDsxBuffers(PMINI_ADAPTER Adapter);
157 
158 BOOLEAN CmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer);
159 
160 
161 #pragma pack (pop)
162 
163 #endif
164