Lines Matching refs:work

49 static WXCWork *work = NULL;  variable
69 if (work->system_callback) in WXCi_ChangeState()
71 (*work->system_callback) (state, arg); in WXCi_ChangeState()
90 WXC_FindNextBlock(work->protocol, work->protocol->current_block, 0, FALSE); in WXCi_SeekNextBlock()
94 target = WXC_FindNextBlock(work->protocol, NULL, 0, TRUE); in WXCi_SeekNextBlock()
99 WXC_SetCurrentBlock(work->protocol, target); in WXCi_SeekNextBlock()
100 work->parent_param.ggid = target->ggid; in WXCi_SeekNextBlock()
125 if (!work->stopping && (WXC_GetStateCode() == WXC_STATE_ACTIVE)) in WXCi_DriverEventCallback()
127 WXC_BeaconSendHook(work->protocol, &work->parent_param); in WXCi_DriverEventCallback()
129 if (work->driver.peer_bitmap == 0) in WXCi_DriverEventCallback()
131 if (++work->beacon_count > WXC_PARENT_BEACON_SEND_COUNT_OUT) in WXCi_DriverEventCallback()
133 work->beacon_count = 0; in WXCi_DriverEventCallback()
135 if (WXCi_UpdateScheduler(&work->scheduler)) in WXCi_DriverEventCallback()
141 WXCi_StartChild(&work->driver); in WXCi_DriverEventCallback()
157 cb.matched = WXC_BeaconRecvHook(work->protocol, cb.bssdesc); in WXCi_DriverEventCallback()
159 (*work->system_callback) (WXC_STATE_BEACON_RECV, &cb); in WXCi_DriverEventCallback()
164 work->parent_param.ggid = WXC_GetCurrentBlock(work->protocol)->ggid; in WXCi_DriverEventCallback()
173 work->stopping = FALSE; in WXCi_DriverEventCallback()
174 WXCi_ChangeState(WXC_STATE_END, work); in WXCi_DriverEventCallback()
181 work->stopping = FALSE; in WXCi_DriverEventCallback()
192 WXCi_End(&work->driver); in WXCi_DriverEventCallback()
195 else if (work->stopping) in WXCi_DriverEventCallback()
197 WXCi_Stop(&work->driver); in WXCi_DriverEventCallback()
200 else if (WXCi_UpdateScheduler(&work->scheduler)) in WXCi_DriverEventCallback()
205 WXC_BeaconSendHook(work->protocol, &work->parent_param); in WXCi_DriverEventCallback()
207 WXCi_StartParent(&work->driver); in WXCi_DriverEventCallback()
211 WXCi_StartChild(&work->driver); in WXCi_DriverEventCallback()
223 WXCi_End(&work->driver); in WXCi_DriverEventCallback()
226 else if (work->stopping) in WXCi_DriverEventCallback()
228 WXCi_Stop(&work->driver); in WXCi_DriverEventCallback()
230 work->beacon_count = 0; in WXCi_DriverEventCallback()
233 WXCUserInfo *p_user = &work->user_info[work->driver.own_aid]; in WXCi_DriverEventCallback()
234 p_user->aid = work->driver.own_aid; in WXCi_DriverEventCallback()
245 WXC_CallPreConnectHook(work->protocol, bss, &bss->ssid[8]); in WXCi_DriverEventCallback()
254 const WXCProtocolRegistry *block = WXC_GetCurrentBlock(work->protocol); in WXCi_DriverEventCallback()
258 (u16)(is_parent ? work->parent_param. in WXCi_DriverEventCallback()
259 parentMaxSize : WXCi_GetParentBssDesc(&work->driver)->gameInfo.parentMaxSize); in WXCi_DriverEventCallback()
261 (u16)(is_parent ? work->parent_param. in WXCi_DriverEventCallback()
262 childMaxSize : WXCi_GetParentBssDesc(&work->driver)->gameInfo.childMaxSize); in WXCi_DriverEventCallback()
264 WXCUserInfo *p_user = &work->user_info[aid]; in WXCi_DriverEventCallback()
265 …const BOOL is_valid_block = (!work->stopping && (WXC_GetStateCode() == WXC_STATE_ACTIVE) && block); in WXCi_DriverEventCallback()
275 const WMBssDesc *p_bss = WXCi_GetParentBssDesc(&work->driver); in WXCi_DriverEventCallback()
280 WXC_ResetSequence(work->protocol, parent_size, child_size); in WXCi_DriverEventCallback()
291 WXC_AddBlockSequence(work->protocol, in WXCi_DriverEventCallback()
298 WXC_ConnectHook(work->protocol, (u16)(1 << aid)); in WXCi_DriverEventCallback()
303 (*work->system_callback) (WXC_STATE_CONNECTED, p_user); in WXCi_DriverEventCallback()
321 WXC_DisconnectHook(work->protocol, (u16)(u32)arg); in WXCi_DriverEventCallback()
330 (WXC_GetStateCode() == WXC_STATE_ENDING) || !WXC_GetCurrentBlock(work->protocol)) in WXCi_DriverEventCallback()
332 work->beacon_count = 0; in WXCi_DriverEventCallback()
333 WXCi_Reset(&work->driver); in WXCi_DriverEventCallback()
340 WXC_PacketSendHook(work->protocol, (WXCPacketInfo *) arg); in WXCi_DriverEventCallback()
345 (void)WXC_PacketRecvHook(work->protocol, (const WXCPacketInfo *)arg); in WXCi_DriverEventCallback()
347 if (!work->protocol->current_block->impl->IsExecuting(work->protocol)) in WXCi_DriverEventCallback()
349 WXCi_Reset(&work->driver); in WXCi_DriverEventCallback()
399 work = (WXCWork *) work_mem; in WXC_Init()
400 MI_CpuClear32(work, sizeof(WXCWork)); in WXC_Init()
401 work->wm_dma = dma; in WXC_Init()
402 work->system_callback = callback; in WXC_Init()
403 WXCi_InitScheduler(&work->scheduler); in WXC_Init()
404 WXC_InitProtocol(work->protocol); in WXC_Init()
406 work->parent_param.maxEntry = 1; /* Currently only supports 1 to 1 connections */ in WXC_Init()
407 work->parent_param.parentMaxSize = WXC_PACKET_SIZE_MAX; in WXC_Init()
408 work->parent_param.childMaxSize = WXC_PACKET_SIZE_MAX; in WXC_Init()
409 work->parent_param.CS_Flag = 1; /* Continuous transmission */ in WXC_Init()
410 WXC_InitDriver(&work->driver, &work->parent_param, WXCi_DriverEventCallback, in WXC_Init()
411 work->wm_dma); in WXC_Init()
467 work->parent_param.parentMaxSize = sendSize; in WXC_SetParentParameter()
468 work->parent_param.childMaxSize = recvSize; in WXC_SetParentParameter()
493 WXCi_Reset(&work->driver); in WXC_Start()
520 if (!work->stopping) in WXC_Stop()
522 work->stopping = TRUE; in WXC_Stop()
526 WXCi_Stop(&work->driver); in WXC_Stop()
566 WXCi_End(&work->driver); in WXC_End()
606 return WXCi_IsParentMode(&work->driver); in WXC_IsParentMode()
620 return &work->parent_param; in WXC_GetParentParam()
634 return WXCi_GetParentBssDesc(&work->driver); in WXC_GetParentBssDesc()
649 u16 bitmap = work->driver.peer_bitmap; in WXC_GetUserBitmap()
652 bitmap = (u16)(bitmap | (1 << work->driver.own_aid)); in WXC_GetUserBitmap()
673 WXCProtocolRegistry *current = WXC_GetCurrentBlock(work->protocol); in WXC_GetCurrentGgid()
680 ggid = work->protocol->target_ggid; in WXC_GetCurrentGgid()
701 return work->driver.own_aid; in WXC_GetOwnAid()
722 ret = &work->user_info[aid]; in WXC_GetUserInfo()
742 WXCi_SetChildMode(&work->scheduler, enable); in WXC_SetChildMode()
759 WXC_AddBlockSequence(work->protocol, send_buf, send_size, recv_buf, recv_max); in WXC_AddData()
786 WXCProtocolRegistry *same_ggid = WXC_FindNextBlock(work->protocol, NULL, ggid, TRUE); in WXC_RegisterDataEx()
794 WXCProtocolRegistry *p_data = WXC_FindNextBlock(work->protocol, NULL, 0, TRUE); in WXC_RegisterDataEx()
834 WXCProtocolRegistry *target = WXC_FindNextBlock(work->protocol, NULL, ggid, TRUE); in WXC_SetInitialData()
856 WXCProtocolRegistry *target = WXC_FindNextBlock(work->protocol, NULL, ggid, TRUE); in WXC_UnregisterData()
860 target = WXC_FindNextBlock(work->protocol, NULL, (u32)(ggid | WXC_GGID_COMMON_BIT), TRUE); in WXC_UnregisterData()
865 if ((WXC_GetUserBitmap() != 0) && (target == WXC_GetCurrentBlock(work->protocol))) in WXC_UnregisterData()
898 WXC_SetDriverSsid(&work->driver, buffer, length); in WXCi_SetSsid()