int
tdm_thread_is_running(void);
+typedef void* (*tdm_thread_find_object)(tdm_private_display *private_display, double stamp);
+typedef void (*tdm_thread_cb)(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data);
+
+void
+tdm_thread_cb_set_find_func(tdm_thread_cb_type cb_type, tdm_thread_find_object func);
+tdm_error
+tdm_thread_cb_add(void *object, tdm_thread_cb_type cb_type, void *cb_data, tdm_thread_cb func, void *user_data);
+void
+tdm_thread_cb_remove(void *object, tdm_thread_cb_type cb_type, void *cb_data, tdm_thread_cb func, void *user_data);
+tdm_error
+tdm_thread_cb_call(void *object, tdm_thread_cb_base *cb_base);
+
+
#ifdef __cplusplus
}
#endif