bool HDD_TAP_isDisabledAll(void) { TRACEENTER(); dword i; tTMSTAPTaskTable *TMSTAPTaskTable; TMSTAPTaskTable = (tTMSTAPTaskTable*)FIS_vTAPTable(); if(!TMSTAPTaskTable || (!LibInitialized && !InitTAPex())) { TRACEEXIT(); return FALSE; } for(i = 0; i < TAP_MAX; i++) { if((i != TAP_TableIndex) && (TMSTAPTaskTable[i].Status == 1) && (TMSTAPTaskTable[i].unused5 == 0)) { TRACEEXIT(); return FALSE; } } TRACEEXIT(); return TRUE; }
bool HDD_TAP_isDisabledAll(void) { TRACEENTER(); dword i; tTMSTAPTaskTable *TMSTAPTaskTable; TMSTAPTaskTable = (tTMSTAPTaskTable*)FIS_vTAPTable(); //The curTapTask variable is not thread safe. Call InitTAPex() if this function will be called from a sub thread if(TAP_TableIndex == 0xffffffff) { dword *curTapTask; curTapTask = (dword*)FIS_vCurTapTask(); if(!curTapTask) { TRACEEXIT(); return FALSE; } TAP_TableIndex = *curTapTask; } for(i = 0; i < TAP_MAX; i++) { if((i != TAP_TableIndex) && (TMSTAPTaskTable[i].Status == 1) && (TMSTAPTaskTable[i].unused5 == 0)) { TRACEEXIT(); return FALSE; } } TRACEEXIT(); return TRUE; }
bool KeyTranslate(bool Enable, void *EventHandler) { tTMSTAPTaskTable *TMSTAPTaskTable; dword i; tToppyInfo *ToppyInfo; tFWDATHeader *FWDatHeader; TRACEENTER(); //Get toppy information if(LoadFirmwareDat(&FWDatHeader, &ToppyInfo, NULL)) { for(i = 0; i < FWDatHeader->NrOfToppyInfoEntries; i++, ToppyInfo++) { if(ToppyInfo->SysID == TAP_GetSystemId()) { RemoteType = ToppyInfo->RemoteType; break; } } } //Get the address to the TAP table TMSTAPTaskTable = (tTMSTAPTaskTable*)FIS_vTAPTable(); if(!TMSTAPTaskTable) { TRACEEXIT(); return FALSE; } //The curTapTask variable is not thread safe. Call InitTAPex() if this function will be called from a sub thread if(TAP_TableIndex == 0xffffffff) { dword *curTapTask; curTapTask = (dword*)FIS_vCurTapTask(); if(!curTapTask) { TRACEEXIT(); return -3; } TAP_TableIndex = *curTapTask; } if(Enable && (TMSTAPTaskTable[TAP_TableIndex].TAP_EventHandler == (dword)EventHandler)) { Original_TAP_EventHandler = (void*)TMSTAPTaskTable[TAP_TableIndex].TAP_EventHandler; TMSTAPTaskTable[TAP_TableIndex].TAP_EventHandler = (dword)&KeyTranslateHook; TRACEEXIT(); return TRUE; } else if(!Enable && (TMSTAPTaskTable[TAP_TableIndex].TAP_EventHandler == (dword)KeyTranslateHook)) { TMSTAPTaskTable[TAP_TableIndex].TAP_EventHandler = (dword)Original_TAP_EventHandler; Original_TAP_EventHandler = NULL; TRACEEXIT(); return TRUE; } TRACEEXIT(); return FALSE; }