Home | History | Annotate | Download | only in 4X

Lines Matching refs:ackEmulDB

38 /*   MODULE:	ackEmulDb.c                                                */
44 #include "ackEmulDb.h"
49 static void wdrv_aeFindFreeActiveIndex(ackEmulDB_t* ackEmulDB,UINT8 *freeIndex);
51 static void wdrv_aeWTargetDbInit(ackEmulDB_t* ackEmulDB);
52 static void wdrv_aeWSourceDbInit(ackEmulDB_t* ackEmulDB);
53 static void wdrv_aeWSourceDbResetstation(ackEmulDB_t* ackEmulDB,int stationIndex);
75 ackEmulDB_t* ackEmulDB;
84 ackEmulDB = os_memoryAlloc(hOs, (sizeof(ackEmulDB_t)));
86 if ( (!ackEmulDB) )
88 utils_nullMemoryFree(hOs, ackEmulDB, sizeof(ackEmulDB_t));
89 WLAN_OS_REPORT(("FATAL ERROR: ackEmulDb_create(): Error Creating ackEmulDB module- Aborting\n"));
94 os_memoryZero(hOs, ackEmulDB, (sizeof(ackEmulDB_t)));
96 ackEmulDB->hOs = hOs;
98 return(ackEmulDB);
103 TI_STATUS ackEmulDb_config(ackEmulDB_t* ackEmulDB,
108 if( (ackEmulDB == NULL) || (hOs == NULL) || (hReport == NULL) )
115 ackEmulDB->hOs = hOs;
116 ackEmulDB->hReport = hReport;
118 wdrv_aeDbInit(ackEmulDB);
120 WLAN_REPORT_INIT(ackEmulDB->hReport, ACK_EMUL_MODULE_LOG,
121 (".....ackEmulDB configured successfully\n"));
127 TI_STATUS ackEmulDb_destroy(ackEmulDB_t* ackEmulDB)
130 os_memoryFree(ackEmulDB->hOs, ackEmulDB, sizeof(ackEmulDB_t));
149 void wdrv_aeDbInit(ackEmulDB_t* ackEmulDB)
151 wdrv_aeWTargetDbInit(ackEmulDB);
152 wdrv_aeWSourceDbInit(ackEmulDB);
168 static void wdrv_aeWTargetDbInit(ackEmulDB_t* ackEmulDB)
172 wdrv_aeWTargetDbResetTuple(ackEmulDB,index);
175 ackEmulDB->activeIndexTable[index].status = INDEX_FREE;
176 ackEmulDB->activeIndexTable[index].monitorIndex = 0xff;
178 ackEmulDB->sessionsTableManager.currentActiveState =0;
179 ackEmulDB->sessionsTableManager.currentStandbyState =0;
196 int wdrv_aeWTargetDbAddSession(ackEmulDB_t* ackEmulDB,UINT8 *pktBuf)
207 if(ackEmulDB->wdrv_aeWTargetTable[index].sPorts == 0)
216 currentTimeTick = oldestTimeTick = os_timeStampUs(ackEmulDB->hOs);
220 if(ackEmulDB->wdrv_aeWTargetTable[index].timeStamp < oldestTimeTick)
222 oldestTimeTick = ackEmulDB->wdrv_aeWTargetTable[index].timeStamp;
229 wdrv_aeWTargetDbResetTuple(ackEmulDB, oldestTimeIndex);
240 ackEmulDB->wdrv_aeWTargetTable[freeIndex].sPorts = wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen));
241 ackEmulDB->wdrv_aeWTargetTable[freeIndex].dPorts = wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen+DEST_PORT_FIELD));
242 ackEmulDB->wdrv_aeWTargetTable[freeIndex].srcIPAddr = wlan_ntohl(*(unsigned long*)(pktBuf+IP_SRC_ADDRESS_FIELD));
243 ackEmulDB->wdrv_aeWTargetTable[freeIndex].destIPAddr = wlan_ntohl(*(unsigned long*)(pktBuf+IP_DEST_ADDRESS_FIELD));
244 ackEmulDB->wdrv_aeWTargetTable[freeIndex].segmentSize =0;
245 ackEmulDB->wdrv_aeWTargetTable[freeIndex].sequenceNumber = wlan_ntohl(*(unsigned long*)(pktBuf+ipHeaderLen+TCP_SEQUENCE_NUMBER_FIELD));
246 ackEmulDB->wdrv_aeWTargetTable[freeIndex].ackNumber =0;
247 ackEmulDB->wdrv_aeWTargetTable[freeIndex].timeStamp =os_timeStampUs(ackEmulDB->hOs);
248 ackEmulDB->wdrv_aeWTargetTable[freeIndex].ackCounter =0;
249 ackEmulDB->wdrv_aeWTargetTable[freeIndex].ackTemplate.ipHeaderLen =0;
250 ackEmulDB->wdrv_aeWTargetTable[freeIndex].ackTemplate.tcpHeaderLen =0;
251 ackEmulDB->wdrv_aeWTargetTable[freeIndex].monitorState = AE_STANDBY;
252 ackEmulDB->wdrv_aeWTargetTable[freeIndex].equalSegmentSizeCounter =0;
253 ackEmulDB->wdrv_aeWTargetTable[freeIndex].yTagFlag =FALSE;
254 ackEmulDB->wdrv_aeWTargetTable[freeIndex].activeIndex = 0xff;
255 ackEmulDB->sessionsTableManager.currentStandbyState ++;
276 int wdrv_aeWTargetDbFindDataSession(ackEmulDB_t* ackEmulDB, UINT8 *pktBuf,UINT8 *sessionIndex, UINT8 *monitorState)
286 if (ackEmulDB->wdrv_aeWTargetTable[index].sPorts == wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen)) &&
287 ackEmulDB->wdrv_aeWTargetTable[index].dPorts == wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen + DEST_PORT_FIELD)) &&
288 ackEmulDB->wdrv_aeWTargetTable[index].srcIPAddr == wlan_ntohl(*(unsigned long*)(pktBuf+IP_SRC_ADDRESS_FIELD)) &&
289 ackEmulDB->wdrv_aeWTargetTable[index].destIPAddr == wlan_ntohl(*(unsigned long*)(pktBuf+IP_DEST_ADDRESS_FIELD)))
292 *monitorState = ackEmulDB->wdrv_aeWTargetTable[index].monitorState;
314 int wdrv_aeWTargetDbFindAckSession(ackEmulDB_t* ackEmulDB, UINT8 *pktBuf,UINT8 *sessionIndex, UINT8 *monitorState)
325 if (ackEmulDB->wdrv_aeWTargetTable[index].sPorts == wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen + DEST_PORT_FIELD)) &&
326 ackEmulDB->wdrv_aeWTargetTable[index].dPorts == wlan_ntohs(*(UINT16*)(pktBuf +ipHeaderLen )) &&
327 ackEmulDB->wdrv_aeWTargetTable[index].srcIPAddr == wlan_ntohl(*(unsigned long*)(pktBuf+IP_DEST_ADDRESS_FIELD)) &&
328 ackEmulDB->wdrv_aeWTargetTable[index].destIPAddr == wlan_ntohl(*(unsigned long*)(pktBuf+IP_SRC_ADDRESS_FIELD)))
331 *monitorState = ackEmulDB->wdrv_aeWTargetTable[index].monitorState;
353 void wdrv_aeWTargetDbResetTuple(ackEmulDB_t* ackEmulDB, int index)
355 UINT8 freeActiveIndex = ackEmulDB->wdrv_aeWTargetTable[index].activeIndex;
356 if (ackEmulDB->wdrv_aeWTargetTable[index].monitorState == AE_ACTIVE)
358 ackEmulDB->sessionsTableManager.currentActiveState --;
362 ackEmulDB->sessionsTableManager.currentStandbyState --;
365 ackEmulDB->wdrv_aeWTargetTable[index].sPorts =0;
366 ackEmulDB->wdrv_aeWTargetTable[index].dPorts =0;
367 ackEmulDB->wdrv_aeWTargetTable[index].srcIPAddr =0;
368 ackEmulDB->wdrv_aeWTargetTable[index].destIPAddr =0;
369 ackEmulDB->wdrv_aeWTargetTable[index].segmentSize =0;
370 ackEmulDB->wdrv_aeWTargetTable[index].sequenceNumber =0;
371 ackEmulDB->wdrv_aeWTargetTable[index].ackNumber =0;
372 ackEmulDB->wdrv_aeWTargetTable[index].timeStamp =0;
373 ackEmulDB->wdrv_aeWTargetTable[index].ackCounter =0;
374 ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.ipHeaderLen =0;
375 ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.tcpHeaderLen =0;
376 ackEmulDB->wdrv_aeWTargetTable[index].monitorState =AE_INACTIVE;
377 ackEmulDB->wdrv_aeWTargetTable[index].equalSegmentSizeCounter =0;
378 ackEmulDB->wdrv_aeWTargetTable[index].yTagFlag =FALSE;
379 ackEmulDB->wdrv_aeWTargetTable[index].activeIndex = 0xff;
383 ackEmulDB->activeIndexTable[freeActiveIndex].status = INDEX_FREE;
384 ackEmulDB->activeIndexTable[freeActiveIndex].monitorIndex = 0xff;
402 void wdrv_aeWTargetDbPrint(ackEmulDB_t* ackEmulDB)
408 WLAN_OS_REPORT(("\n current Active State = %d\n", ackEmulDB->sessionsTableManager.currentActiveState));
409 WLAN_OS_REPORT((" current Standby State = %d\n", ackEmulDB->sessionsTableManager.currentStandbyState));
416 ackEmulDB->wdrv_aeWTargetTable[index].srcIPAddr;
417 dipByte = (unsigned char*) &ackEmulDB->wdrv_aeWTargetTable[index].destIPAddr;
423 ackEmulDB->wdrv_aeWTargetTable[index].sPorts,
424 ackEmulDB->wdrv_aeWTargetTable[index].dPorts,
425 (UINT8)ackEmulDB->wdrv_aeWTargetTable[index].monitorState,
426 ackEmulDB->wdrv_aeWTargetTable[index].segmentSize,
427 (UINT8)ackEmulDB->wdrv_aeWTargetTable[index].activeIndex,
428 (UINT8)ackEmulDB->wdrv_aeWTargetTable[index].ackCounter));
448 void wdrv_aeWTargetDbSetSessionSequenceNumber(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 sequenceNumber)
450 ackEmulDB->wdrv_aeWTargetTable[index].sequenceNumber = sequenceNumber;
464 void wdrv_aeWTargetDbGetSessionSequenceNumber(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 *sequenceNumber)
466 *sequenceNumber = ackEmulDB->wdrv_aeWTargetTable[index].sequenceNumber;
483 void wdrv_aeWTargetDbSetSessionSegmentSize(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 segmentSize)
485 ackEmulDB->wdrv_aeWTargetTable[index].segmentSize = segmentSize;
500 void wdrv_aeWTargetDbGetSessionSegmentSize(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 *segmentSize)
502 *segmentSize = ackEmulDB->wdrv_aeWTargetTable[index].segmentSize;
518 void wdrv_aeWTargetDbSetSessionEqualSegmentSizeCounter(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 equalSegmentSizeCounter)
520 ackEmulDB->wdrv_aeWTargetTable[index].equalSegmentSizeCounter = equalSegmentSizeCounter;
536 void wdrv_aeWTargetDbGetIncrSessionEqualSegmentSizeCounter(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 *equalSegmentSizeCounter)
538 *equalSegmentSizeCounter = (ackEmulDB->wdrv_aeWTargetTable[index].equalSegmentSizeCounter ++);
554 int wdrv_aeWTargetDbSetActiveState(ackEmulDB_t* ackEmulDB, UINT8 index , UINT8 *activeIndex)
559 wdrv_aeFindFreeActiveIndex(ackEmulDB, &freeIndex);
567 currentTimeTick = oldestTimeTick = os_timeStampUs(ackEmulDB->hOs);
571 if(ackEmulDB->wdrv_aeWTargetTable[ackEmulDB->activeIndexTable[aIndex].monitorIndex].timeStamp <
574 oldestTimeTick = ackEmulDB->wdrv_aeWTargetTable[ackEmulDB->activeIndexTable[aIndex].monitorIndex].timeStamp;
581 wdrv_aeWTargetDbResetTuple(ackEmulDB, ackEmulDB->activeIndexTable[oldestTimeIndex].monitorIndex);
595 ackEmulDB->activeIndexTable[freeIndex].status = INDEX_BUSY;
596 ackEmulDB->activeIndexTable[freeIndex].monitorIndex = index;
597 ackEmulDB->wdrv_aeWTargetTable[index].activeIndex = freeIndex;
600 ackEmulDB->sessionsTableManager.currentActiveState ++;
601 ackEmulDB->sessionsTableManager.currentStandbyState --;
604 wdrv_aeWTargetDbSetSessionMonitorState(ackEmulDB, index, monitorState);
621 void wdrv_aeWTargetDbSetSessionMonitorState(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 monitorState)
623 ackEmulDB->wdrv_aeWTargetTable[index].monitorState = monitorState;
638 void wdrv_aeWTargetDbGetSessionAckNumber(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 *ackNumber)
640 *ackNumber = ackEmulDB->wdrv_aeWTargetTable[index].ackNumber;
655 void wdrv_aeWTargetDbSetSessionAckNumber(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 ackNumber)
657 ackEmulDB->wdrv_aeWTargetTable[index].ackNumber = ackNumber;
672 void wdrv_aeWTargetDbGetSessionAckCounter(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 *ackCounter)
674 *ackCounter = ackEmulDB->wdrv_aeWTargetTable[index].ackCounter;
689 void wdrv_aeWTargetDbSetSessionAckCounter(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 ackCounter)
691 ackEmulDB->wdrv_aeWTargetTable[index].ackCounter = ackCounter;
705 void wdrv_aeWTargetDbGetSessionActiveIndex(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 *activeIndex)
707 *activeIndex = ackEmulDB->wdrv_aeWTargetTable[index].activeIndex;
722 void wdrv_aeWTargetDbGetSessionTimeStamp(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 *timeStamp)
724 *timeStamp = ackEmulDB->wdrv_aeWTargetTable[index].timeStamp;
740 void wdrv_aeWTargetDbSetSessionTimeStamp(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 timeStamp)
742 ackEmulDB->wdrv_aeWTargetTable[index].timeStamp= timeStamp;
756 static void wdrv_aeFindFreeActiveIndex(ackEmulDB_t* ackEmulDB, UINT8 *freeIndex)
762 if(ackEmulDB->activeIndexTable[index].status == INDEX_FREE)
784 void wdrv_aeWTargetDbSaveAckTemplate(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 *pIpHeader)
792 os_memoryCopy(NULL, ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.data, pIpHeader, ipHeaderLen+tcpHeaderLen);
793 ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.ipHeaderLen = ipHeaderLen;
794 ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.tcpHeaderLen = tcpHeaderLen;
812 void wdrv_aeWTargetDbUpdateAckTemplate(ackEmulDB_t* ackEmulDB, UINT8 index, UINT32 sequenceNumber)
816 pSequenceNumber = ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.data +
817 ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.tcpHeaderLen +TCP_SEQUENCE_NUMBER_FIELD;
835 int wdrv_aeWTargetDbCmpAckTemplate(ackEmulDB_t* ackEmulDB, UINT8 index, UINT8 *pIpHeader)
844 pIpHeaderTemplate = ackEmulDB->wdrv_aeWTargetTable[index].ackTemplate.data;
845 ipHeaderTemplateLen = ackEmulDB
858 WLAN_REPORT_WARNING(ackEmulDB->hReport, ACK_EMUL_MODULE_LOG,
871 WLAN_REPORT_WARNING(ackEmulDB->hReport, ACK_EMUL_MODULE_LOG,
880 WLAN_REPORT_WARNING(ackEmulDB->hReport, ACK_EMUL_MODULE_LOG,
890 WLAN_REPORT_WARNING(ackEmulDB->hReport, ACK_EMUL_MODULE_LOG,
914 void wdrv_aeDbGetXTagStatus(ackEmulDB_t* ackEmulDB, UINT8 sessionIndex, UINT8 *status)
916 UINT16 stationIndex = ackEmulDB->wdrv_aeWTargetTable[sessionIndex].sourceStationIndex;
918 *status = ackEmulDB->ackEmulationXTagTable[stationIndex];
933 void wdrv_aeDbSetXTagStatus(ackEmulDB_t* ackEmulDB, UINT8 sessionIndex, UINT8 status)
935 UINT16 stationIndex = ackEmulDB->wdrv_aeWTargetTable[sessionIndex].sourceStationIndex;
937 ackEmulDB->ackEmulationXTagTable[stationIndex] = status;
959 static void wdrv_aeWSourceDbInit(ackEmulDB_t* ackEmulDB)
963 wdrv_aeWSourceDbResetstation(ackEmulDB, stationIndex);
977 static void wdrv_aeWSourceDbResetstation(ackEmulDB_t* ackEmulDB, int stationIndex)
982 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].segmentSize=0;
983 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackNumber =0;
984 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackCounter =0;
985 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].timeStamp =0;
986 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackReorderProblem = REORDER_PROBLEM_OFF;
987 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.ipHeaderLen =0;
988 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.tcpHeaderLen =0;
1004 void wdrv_aeWSourceDbResetSession(ackEmulDB_t* ackEmulDB, int stationIndex,int activeIndex)
1006 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].segmentSize=0;
1007 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackNumber =0;
1008 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackCounter =0;
1009 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].timeStamp =0;
1010 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackReorderProblem = REORDER_PROBLEM_OFF;
1011 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.ipHeaderLen =0;
1012 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.tcpHeaderLen =0;
1031 void wdrv_aeWSourceSaveAckTemplate(ackEmulDB_t* ackEmulDB, UINT8 stationIndex,UINT8 activeIndex,
1044 wdrv_aeWSourceDbSetSessionTimeStamp(ackEmulDB, stationIndex,activeIndex,os_timeStampUs(ackEmulDB->hOs));
1050 pTemplateData = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.data;
1052 os_memoryCopy(ackEmulDB->hOs, pTemplateData,pDot11Header, WLAN_HDR_LEN);
1053 os_memoryCopy(ackEmulDB->hOs, pTemplateData+WLAN_HDR_LEN,pWlanSnapHeader, WLAN_SNAP_HDR_LEN);
1057 os_memoryCopy(ackEmulDB->hOs, pTemplateData+WLAN_HDR_LEN+WLAN_SNAP_HDR_LEN,pIpHeader, dataLen);
1058 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.ipHeaderLen = ipHeaderLen;
1059 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.tcpHeaderLen = tcpHeaderLen;
1061 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].segmentSize = segmentSize;
1064 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackNumber = ackNumber;
1065 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackCounter = ackNumber/(segmentSize*2);
1066 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackReorderProblem = REORDER_PROBLEM_OFF;
1087 void wdrv_aeWSourceDbGetSessionAckCounter(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 *ackCounter)
1089 *ackCounter = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackCounter;
1105 void wdrv_aeWSourceDbSetSessionAckCounter(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 ackCounter)
1107 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackCounter= ackCounter;
1122 void wdrv_aeWSourceDbGetSessionAckNumber(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 *ackNumber)
1124 *ackNumber = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackNumber;
1140 void wdrv_aeWSourceDbSetSessionAckNumber(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 ackNumber)
1142 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackNumber= ackNumber;
1157 void wdrv_aeWSourceDbGetSessionSegmentSize(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 *segmentSize)
1159 *segmentSize = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].segmentSize;
1175 void wdrv_aeWSourceDbSetSessionSegmentSize(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 segmentSize)
1177 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].segmentSize= segmentSize;
1193 void wdrv_aeWSourceDbGetSessionTimeStamp(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 *timeStamp)
1195 *timeStamp = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].timeStamp;
1211 void wdrv_aeWSourceDbSetSessionTimeStamp(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 timeStamp)
1213 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].timeStamp= timeStamp;
1228 void wdrv_aeWSourceDbGetSessionAckReorderProblem(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 *ackReorderProblem)
1230 *ackReorderProblem = ackEmulDB
1246 void wdrv_aeWSourceDbSetSessionAckReorderProblem(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex, UINT32 ackReorderProblem)
1248 ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackReorderProblem= ackReorderProblem;
1265 void wdrv_aeWSourceDbGetAckTemplate(ackEmulDB_t* ackEmulDB, UINT16 stationIndex, UINT8 activeIndex,UINT8 **pTeplate,
1268 *ipHeaderLen = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.ipHeaderLen;
1269 *tcpHeaderLen = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.tcpHeaderLen;
1270 *pTeplate = ackEmulDB->wdrv_aeWSourceTable[stationIndex][activeIndex].ackTemplate.data;
1286 void wdrv_aeWSourceDbUpdateTemplate(ackEmulDB_t* ackEmulDB, UINT8 *pktBuf,UINT8 stationIndex,UINT8 *sessionIndex)
1302 pTmpIpHeader = (ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackTemplate.data)+ WLAN_HDR_LEN+WLAN_SNAP_HDR_LEN;
1303 tmpIpHeaderLen = ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackTemplate.ipHeaderLen;
1311 segmentSize = ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].segmentSize;
1312 prevAckNumber = ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackNumber;
1317 reorderProblemStatus = ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackReorderProblem;
1322 ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackReorderProblem = REORDER_PROBLEM_ON;
1325 ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackReorderProblem = REORDER_PROBLEM_PRE;
1333 ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackNumber = ackNumber;
1334 ackEmulDB->wdrv_aeWSourceTable[stationIndex][index].ackCounter = ackNumber/(segmentSize*2);