+int
+tbm_module_bufmgr_get_capabilities(tbm_module *module)
+{
+ tbm_error_e error = TBM_ERROR_NOT_SUPPORTED;
+ int capabilities = 0;
+
+ switch (module->type) {
+ case TBM_MODULE_TYPE_HAL_TBM:
+ capabilities = hal_tbm_bufmgr_get_capabilities(module->hal_bufmgr, (hal_tbm_error *)&error);
+ break;
+ case TBM_MODULE_TYPE_TBM_BACKEND:
+ capabilities = module->bufmgr_func->bufmgr_get_capabilities(module->bufmgr_data, &error);
+ break;
+ case TBM_MODULE_TYPE_BUFMGR_BACKEND:
+ TBM_ERR("Do not support at tbm_bufmgr_backend.");
+ break;
+ default:
+ TBM_ERR("Wrong module type:%d", module->type);
+ break;
+ }
+
+ if (error != TBM_ERROR_NONE) {
+ TBM_ERR("fail to get capabilities of bufmgr");
+ return 0;
+ }
+
+ return capabilities;
+}