struct list_head *next;
};
+typedef enum _tbm_module_type {
+ TBM_MODULE_TYPE_NONE,
+ TBM_MODULE_TYPE_HAL_TBM,
+ TBM_MODULE_TYPE_TBM_BACKEND,
+ TBM_MODULE_TYPE_BUFMGR_BACKEND,
+} tbm_module_type;
+
+typedef struct _tbm_module {
+ tbm_module_type type;
+
+ void *module_data; /* backend module */
+ tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */
+
+ tbm_backend_module *backend_module_data; /* backend module data */
+ tbm_backend_bufmgr_data *bufmgr_data; /* backend data of the backend module */
+ tbm_backend_bufmgr_func *bufmgr_func; /* backend functions for bufmgr */
+ tbm_backend_bo_func *bo_func; /* backend functions for bo */
+
+ int use_hal_tbm; /* use hal-api-tbm */
+ int auth_wl_socket_created; /* create wayland socket for authenticated drm_fd */
+ int auth_fd;
+ hal_tbm_backend *hal_backend; /* hal-api-tbm backend */
+ hal_tbm_bufmgr *hal_bufmgr; /* hal-api-tbm bufmgr */
+} tbm_module;
+
/**
* @brief tbm_bo : buffer object of Tizen Buffer Manager
*/
struct list_head surf_queue_list; /* list of surface queues belonging to bufmgr */
struct list_head debug_key_list; /* list of debug data key list belonging to bufmgr */
+ //TODO: tbm_module *module;
+ tbm_module *module; /* tbm module */
+
+ //TODO: replace this to data in tbm_module *module
void *module_data; /* backend module */
tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */