AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: int32_t AG903_ViaMgrGetInputHandle(int32_t *ports, int32_t num_ports, AG903_ViaMgrInputHandle **handles) 2: { 3: int32_t i; 4: _Bool num_check[AG903_VIA_MGR_MAX_PORTS] = {false}; 5: 6: if (init_check != true) { 7: return -AG903_EINVAL; 8: } 9: if (num_ports > AG903_VIA_MGR_MAX_PORTS) { 10: return -AG903_EINVAL; 11: } 12: if ((ports == NULL) || (handles == NULL)) { 13: return -AG903_EINVAL; 14: } 15: for (i = 0; i < num_ports; i++) { 16: if ((ports[i] < 0) || (ports[i] >= AG903_VIA_MGR_MAX_PORTS)) { 17: return -AG903_EINVAL; 18: } 19: if (ViaContext.used_ports[ports[i]] != false) { 20: return -AG903_ENOMEM; 21: } 22: 23: if (num_check[ports[i]] == true) { 24: return -AG903_EINVAL; 25: } 26: num_check[ports[i]] = true; 27: } 28: 29: for (i = 0; i < num_ports; i++) { 30: 31: handles[i] = (AG903_ViaMgrInputHandle *)&ViaContext.ports[ports[i]]; 32: handles[i]->id = AG903_VIA_MGR_INPUT_HANDLE_ID; 33: handles[i]->port_no = ports[i]; 34: 35: ViaContext.used_ports[ports[i]] = true; 36: } 37: return AG903_ENONE; 38: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.