<protocol name="wl_tdm">
- <interface name="wl_tdm_vblank" version="1">
+ <interface name="wl_tdm" version="1">
- <event name="done">
- <arg name="sequence" type="uint"/>
- <arg name="tv_sec" type="uint"/>
- <arg name="tv_usec" type="uint"/>
+ <description summary="the private protocol for TDM">
+ TDM uses the wayland protocol to communicate between tdm client and tdm server.
+ </description>
+
+ <event name="debug_message">
+ <arg name="message" type="string"/>
</event>
+ <event name="debug_done" />
+
+ <request name="debug">
+ <arg name="options" type="string" summary="debug options"/>
+ </request>
+
+ <request name="create_output">
+ <arg name="name" type="string" summary="output's name. 'primary' or 'default' can be used for default."/>
+ <arg name="id" type="new_id" interface="wl_tdm_output"/>
+ </request>
+
</interface>
- <interface name="wl_tdm" version="1">
+ <interface name="wl_tdm_output" version="1">
+ <description summary="TDM client output object">
+ When the DPMS of connection status of the output is changed, TDM server
+ will send wl_tdm_output.mode and wl_tdm_output.dpms event.
+ </description>
- <enum name="error">
- <entry name="invalid_name" value="0"/>
- <entry name="operation_failed" value="1"/>
- </enum>
+ <event name="mode">
+ <arg name="width" type="uint"/>
+ <arg name="height" type="uint"/>
+ <arg name="refresh" type="uint"/>
+ <arg name="error" type="uint" summary="error status enumeration"/>
+ </event>
- <request name="wait_vblank">
+ <event name="connection">
+ <arg name="value" type="uint"/>
+ <arg name="error" type="uint" summary="error status enumeration"/>
+ </event>
+
+ <event name="dpms">
+ <arg name="value" type="uint"/>
+ <arg name="error" type="uint" summary="error status enumeration"/>
+ </event>
+
+ <request name="destroy" type="destructor"/>
+
+ <request name="create_vblank">
<arg name="id" type="new_id" interface="wl_tdm_vblank"/>
+ </request>
+
+ <request name="watch_output_changes">
+ <arg name="enable" type="uint"/>
+ </request>
+
+ <request name="get_connection"/>
+
+ <request name="get_mode"/>
+
+ <request name="get_dpms"/>
+
+ </interface>
+
+ <interface name="wl_tdm_vblank" version="1">
+
+ <event name="stamp">
+ <arg name="stamp" type="uint"/>
+ </event>
+
+ <event name="done">
+ <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
+ <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
+ <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
+ <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
+ <arg name="error" type="uint" summary="error status enumeration"/>
+ </event>
+
+ <event name="ttrace">
+ <arg name="enable" type="uint"/>
+ </event>
+
+ <request name="destroy" type="destructor"/>
+
+ <request name="set_name">
<arg name="name" type="string"/>
- <arg name="interval" type="int"/>
- <arg name="req_sec" type="uint"/>
- <arg name="req_usec" type="uint"/>
+ </request>
+
+ <request name="set_fps">
+ <arg name="fps" type="uint"/>
+ </request>
+
+ <request name="set_offset">
+ <arg name="offset" type="int"/>
+ </request>
+
+ <request name="set_enable_fake">
+ <arg name="enable_fake" type="uint"/>
+ </request>
+
+ <request name="wait_vblank">
+ <description summary="Wait for a HW vblank">
+ When wl_tdm_vblank.wait_vblank is called, TDM server will send the
+ wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
+ TDM server will send the done event always. Otherwise, TDM server will
+ send the done event with TDM error value.
+ </description>
+
+ <arg name="interval" type="uint"/>
+ <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
+ <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
+ <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
+ </request>
+
+ <request name="wait_vblank_seq">
+ <arg name="sequence" type="uint" summary="the target sequence number"/>
+ <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
+ <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
+ <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
</request>
</interface>