1: int32_t AG903_BMUMgrGetHandle(
AG903_BMUMgrHandle **handle)
2: {
3: int32_t alloc_unit = -1;
4: int32_t i;
5:
6:
7:
for(i = 0 ; i <
AG903_BMU_UNIT_NUM ; i++)
8: {
9:
if(handle_used_flag[i] !=
true)
10: {
11: alloc_unit = i;
12:
break;
13: }
14: }
15:
16:
if(alloc_unit == -1)
17: {
18:
return -
AG903_EBUSY;
19: }
20:
21:
22:
AG903_BMUMgrInit(alloc_unit);
23:
24: (*handle) = &handle_list[alloc_unit];
25: handle_used_flag[i] =
true;
26:
27: (*handle)->unit_id = alloc_unit;
28: (*handle)->is_exec =
false;
29:
30:
return AG903_ENONE;
31: }