+/* virtual */
+tdm_voutput *
+tdm_voutput_create(tdm_display *dpy, const char *name, tdm_error *error);
+tdm_error
+tdm_voutput_destroy(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_set_available_mode(tdm_voutput *voutput, const tdm_output_mode *modes, int count);
+tdm_error
+tdm_voutput_set_physical_size(tdm_voutput *voutput, unsigned int mmwidth, unsigned int mmheight);
+tdm_error
+tdm_voutput_connect(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_disconnect(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_set_commit_func(tdm_voutput *voutput, tdm_voutput_commit_handler func);
+tdm_error
+tdm_voutput_attach_buffer(tdm_voutput *voutput, tbm_surface_h buffer);
+tdm_error
+tdm_voutput_commit_buffer(tdm_voutput *voutput);
+tdm_error
+tdm_output_set_voutput_commit(tdm_voutput *voutput);
+tdm_error
+tdm_output_unset_voutput_commit(tdm_voutput *voutput);
+tdm_error
+tdm_voutput_commit_done(tdm_voutput *voutput);
+void *
+tdm_display_find_private_voutput(tdm_private_display *private_display, double stamp);