/*--------------------------------------------------------------------------- * MCP_HciSeq_CreateSequence() *--------------------------------------------------------------------------- * * Synopsis: Prepares a HCI sequence to be used * */ void MCP_HciSeq_CreateSequence (MCP_HciSeq_Context *pContext, BtHciIfObj *hciIfObj, McpHalCoreId coreId) { BtHciIfStatus status; MCP_FUNC_START ("MCP_HciSeq_CreateSequence"); /* nullify variables */ pContext->uSequenceId = 0; pContext->uCommandCount = 0; pContext->uCurrentCommandIdx = 0; pContext->bPendingCommand = MCP_FALSE; /* register a HCI IF client */ pContext->coreId = coreId; if(pContext->coreId == MCP_HAL_CORE_ID_BT) { status = BT_HCI_IF_RegisterClient(hciIfObj, _MCP_HciSeq_callback, &(pContext->handle)); MCP_VERIFY_FATAL_NO_RETVAR ((BT_HCI_IF_STATUS_SUCCESS == status), ("MCP_HciSeq_CreateSequence: BT_HCI_IF_RegisterClient returned status %d", status)); } MCP_FUNC_END (); }
void MCP_LoadMngr_Create(BtHciIfObj *hciIfObj) { BtHciIfStatus status; MCP_FUNC_START("MCP_LoadMngr_Create"); /* Create State Machine */ MCP_GenSM_Create(&(tDataGenSm), MCP_LM_STATE_MAX_NUM, MCP_LM_EVENT_MAX_NUM, &(tSmMatrix[0][0]), MCP_LM_STATE_UNLOADED, (Mcp_TEnumTString)MCP_LM_EventToString, (Mcp_TEnumTString)MCP_LM_StateToString); /* Register a HCI IF client */ status = BT_HCI_IF_RegisterClient(hciIfObj, MCP_LoadMngr_Hci_Cmds_callback, &(handle)); MCP_VERIFY_FATAL_NO_RETVAR ((BT_HCI_IF_STATUS_SUCCESS == status), ("MCP_LoadMngr_Create: BT_HCI_IF_RegisterClient returned status %d", status)); MCP_FUNC_END(); }