9 #ifndef __NBWICEDMSGSTRUCTS_H 10 #define __NBWICEDMSGSTRUCTS_H 21 #define BufferToObjPtr(buffer, objType) ((objType *)((uint8_t *)((buffer)->pData) + (buffer)->usedsize)) 22 #define AddToBuffLen(buffer, msgPtr) (buffer)->usedsize += sizeof(*msgPtr) 23 #define GetSafeLength(val, max) ((val) <= (max)) ? (val) : (max) 25 #define MESSAGE_TYPE_BIT_OFFSET 4 26 #define TYPELEN_FIELD_LEN (sizeof(NBWifi::APIMessage::Header::lenType)) 27 #define _STRUCT_PACKED __attribute__ ((__packed__)) 28 #define MAX_HARDWARE_TYPE_LENGTH 64 44 Type_API_Request = 0x0,
45 Type_API_Response = 0x1,
46 Type_Credit_Report = 0x2,
48 Type_Data_CompressedIP = 0x4,
56 Type_Connect_Start = 0x1,
57 Type_Disconnect_Stop = 0x2,
60 Type_SaveConfig = 0x5,
61 Type_GetCredits = 0x6,
62 Type_SetBusSpeed = 0x7,
63 Type_ReadyFirmware = 0x8,
64 Type_FirmwareChunk = 0x9,
65 Type_VerifyAndProgFirm = 0xA,
66 Type_AddRemoveMulticast = 0xB,
67 Type_GetStatus = 0xFD,
68 Type_GetDeviceInfo = 0xFE,
69 Type_GetOptionTable = 0xFF
75 Type_Scan_Result = 0x0,
77 Type_DeviceInfo = 0x2,
78 Type_OptionTableResp= 0x3,
84 Type_Internal_JoinAP = 0x0,
85 Type_Internal_SendStatus = 0x1,
86 Type_Internal_Reconnect = 0x2,
105 struct _STRUCT_PACKED lenType {
109 struct _STRUCT_PACKED APIRequest {
110 lenType lengthAndType;
115 struct _STRUCT_PACKED APIResponse {
116 lenType lengthAndType;
117 uint8_t responseType;
124 struct _STRUCT_PACKED CreditReport {
125 lenType lengthAndType;
126 uint8_t availableCredits;
128 struct _STRUCT_PACKED Data_Raw {
129 lenType lengthAndType;
130 uint8_t availableCredits;
133 struct _STRUCT_PACKED Data_CompressedIP {
134 lenType lengthAndType;
135 uint8_t connectionID;
136 uint8_t availableCredits;
139 struct _STRUCT_PACKED Internal {
140 lenType lengthAndType;
149 struct _STRUCT_PACKED ConfigReq {
152 uint8_t passwdLength;
156 struct _STRUCT_PACKED ConnectStart {
161 struct _STRUCT_PACKED Scan {
166 struct _STRUCT_PACKED SetMAC {
169 struct _STRUCT_PACKED SaveConfig {
172 struct _STRUCT_PACKED SetBusSpeed {
175 struct _STRUCT_PACKED FirmwareChunk {
181 struct _STRUCT_PACKED VerifyAndProgFirm {
182 beuint32_t imageLength;
183 beuint32_t checksum[4];
185 struct _STRUCT_PACKED AddRemoveMulticast {
189 struct _STRUCT_PACKED GetTableReq {
197 struct _STRUCT_PACKED ScanResult {
208 struct _STRUCT_PACKED Status {
213 beuint32_t maxTxRate;
222 struct _STRUCT_PACKED DeviceInfo {
223 uint8_t hardwareMajorRev;
224 uint8_t hardwareMinorRev;
225 uint8_t softwareMajorRev;
226 uint8_t softwareMinorRev;
228 uint8_t hardwareTypeLength;
229 char hardwareType[MAX_HARDWARE_TYPE_LENGTH + 1];
231 struct _STRUCT_PACKED OptionTable {
237 beuint16_t flagsAndEntryCount;
257 void WriteHeader_APIRequest(
258 PoolPtr messageBuffer,
260 NBWifi::APIMessage::Request::RequestTypes requestType,
263 void WriteHeader_APIResponse(
264 PoolPtr messageBuffer,
266 NBWifi::APIMessage::Response::ResponseTypes responseType,
270 void FixHeader_Length( PoolPtr messageBuffer );
271 void WriteHeader_Data_Raw(
272 PoolPtr messageBuffer,
bool additionalFlag, uint16_t length );
273 void WriteHeader_Data_CompressedIP(
274 PoolPtr messageBuffer,
279 void WriteCreditReport(
280 PoolPtr messageBuffer,
283 uint8_t availableCredits
285 bool VerifyChecksum( NBWifi::APIMessage::Header::lenType lengthAndType );
289 void WriteMsg_ConfigReq(
290 PoolPtr messageBuffer,
const char *ssid,
291 uint8_t ssidLength,
const char *passwd,
292 uint8_t passwdLength, uint16_t *optionList,
295 void WriteMsg_ConnectStart(
296 PoolPtr messageBuffer, uint8_t configNumber,
297 bool scan, uint8_t retryCount
299 void WriteMsg_SetMAC( PoolPtr messageBuffer,
const MACADR *newMAC );
300 void WriteMsg_SetBusSpeed( PoolPtr messageBuffer, uint32_t busSpeed );
301 void WriteMsg_SaveConfig( PoolPtr messageBuffer, uint32_t busSpeed );
302 void WriteMsg_FirmwareChunk(
303 PoolPtr messageBuffer, uint32_t offset,
304 uint16_t dataLen, uint16_t checksum,
307 void WriteMsg_VerifyAndProgFirm(
308 PoolPtr messageBuffer, uint32_t imageLen,
309 const uint32_t *checksum
311 void WriteMsg_AddRemoveMulticast(
312 PoolPtr messageBuffer,
bool AddNotRemove,
316 PoolPtr messageBuffer, uint8_t optionCount,
317 uint16_t *optionList, uint8_t ssidLength,
323 void WriteMsg_ScanResult(
324 PoolPtr messageBuffer,
bool last,
325 Constants::RadioBand band, Constants::BssType bssType,
326 uint8_t channel, uint8_t security,
327 uint8_t cipher, int16_t rssi,
328 const MACADR *pBssid,
const char *ssid,
331 void WriteMsg_Status(
332 PoolPtr messageBuffer, uint8_t connected,
333 int16_t txPower, int16_t rssi,
334 uint16_t channel, uint32_t maxTxRate,
335 uint32_t security,
const MACADR *pBssid,
336 uint8_t bssType,
const char *ssid,
339 void WriteMsg_DeviceInfo(
340 PoolPtr messageBuffer, uint8_t hardwareMajorRev,
341 uint8_t hardwareMinorRev, uint8_t softwareMajorRev,
342 uint8_t softwareMinorRev,
const MACADR *pHardwareID,
343 const char *hardwareType, uint8_t hardwareTypeLength
NBWifi namespace that encompaces the WiFi driver.
Definition: nbWifiBsp.h:15