AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_OSPMgrSetCommandBuf(AG903_OSPMgrHandle *handle, AG903_OSPCmdBuf *param, bool init) 2: { 3: int32_t rc = AG903_ENONE; 4: uint8_t ch; 5: OSPCmdDesc *desc; 6: 7: if(NULL == handle || NULL == param) { 8: rc = -AG903_EINVAL; 9: } 10: 11: rc = OSPMgrCheckHandle(handle, &ch); 12: 13: if (rc == AG903_ENONE) { 14: if ((AG903_OSP_BUFMODE_NUM <= param->mode) || (NULL == param->addr) || (0 == param->size)) { 15: 16: rc = -AG903_EINVAL; 17: } 18: } 19: 20: if (rc == AG903_ENONE) { 21: 37: OspChStat[ch].cmdbuf = (void*)param->addr; 38: desc = (OSPCmdDesc*)param->addr; 39: desc->Buf = param->addr + sizeof(OSPCmdDesc) / sizeof(uint32_t); 40: desc->BufLen = (param->size - sizeof(OSPCmdDesc)) / sizeof(uint32_t); 41: desc->CurLen = 0; 42: desc->WrBuf = desc->Buf; 43: desc->RdBuf = desc->Buf; 44: desc->BuffMode = param->mode; 45: if(true == init) { 46: AG903_OSPMgrClearCommand(handle); 47: } 48: } 49: 50: return rc; 51: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.