{
TBM_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr), 0);
- unsigned int capability = TBM_BUFMGR_CAPABILITY_NONE;
+ TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, bufmgr->capabilities);
- if (bufmgr->backend->bo_import && bufmgr->backend->bo_export)
- capability |= TBM_BUFMGR_CAPABILITY_SHARE_KEY;
-
- if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd)
- capability |= TBM_BUFMGR_CAPABILITY_SHARE_FD;
-
- TBM_TRACE("tbm_bufmgr(%p) capability(%d)\n", bufmgr, capability);
-
- return capability;
+ return bufmgr->capabilities;
}
int
}
bufmgr->backend = backend;
+ bufmgr->capabilities = TBM_BUFMGR_CAPABILITY_NONE;
+
+ if (bufmgr->backend->bo_import && bufmgr->backend->bo_export)
+ bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_KEY;
+
+ if (bufmgr->backend->bo_import_fd && bufmgr->backend->bo_export_fd)
+ bufmgr->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_FD;
return 1;
}
int lock_type; /* lock_type of bufmgr */
+ int capabilities; /* capabilities of bufmgr */
+
unsigned int bo_cnt; /* number of bos */
struct list_head bo_list; /* list of bos belonging to bufmgr */