1 <?xml version="1.0" encoding="UTF-8"?>
3 <protocol name="wl_tdm">
5 <interface name="wl_tdm" version="1">
7 <description summary="the private protocol for TDM">
8 TDM uses the wayland protocol to communicate between tdm client and tdm server.
11 <event name="debug_message">
12 <arg name="message" type="string"/>
15 <event name="debug_done" />
17 <request name="debug">
18 <arg name="options" type="string" summary="debug options"/>
21 <request name="create_output">
22 <arg name="name" type="string" summary="output's name. 'primary' or 'default' can be used for default."/>
23 <arg name="id" type="new_id" interface="wl_tdm_output"/>
26 <request name="set_client_vblank_fps">
27 <arg name="pid" type="uint"/>
28 <arg name="name" type="string"/>
29 <arg name="fps" type="uint"/>
34 <interface name="wl_tdm_output" version="1">
35 <description summary="TDM client output object">
36 When the DPMS of connection status of the output is changed, TDM server
37 will send wl_tdm_output.mode and wl_tdm_output.dpms event.
41 <arg name="width" type="uint"/>
42 <arg name="height" type="uint"/>
43 <arg name="refresh" type="uint"/>
44 <arg name="error" type="uint" summary="error status enumeration"/>
47 <event name="connection">
48 <arg name="value" type="uint"/>
49 <arg name="error" type="uint" summary="error status enumeration"/>
53 <arg name="value" type="uint"/>
54 <arg name="error" type="uint" summary="error status enumeration"/>
57 <request name="destroy" type="destructor"/>
59 <request name="create_vblank">
60 <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
63 <request name="watch_output_changes">
64 <arg name="enable" type="uint"/>
67 <request name="get_connection"/>
69 <request name="get_mode"/>
71 <request name="get_dpms"/>
75 <interface name="wl_tdm_vblank" version="1">
78 <arg name="stamp" type="uint"/>
82 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
83 <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
84 <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
85 <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
86 <arg name="error" type="uint" summary="error status enumeration"/>
89 <request name="destroy" type="destructor"/>
91 <request name="set_name">
92 <arg name="name" type="string"/>
95 <request name="set_fps">
96 <arg name="fps" type="uint"/>
99 <request name="set_offset">
100 <arg name="offset" type="int"/>
103 <request name="set_enable_fake">
104 <arg name="enable_fake" type="uint"/>
107 <request name="wait_vblank">
108 <description summary="Wait for a HW vblank">
109 When wl_tdm_vblank.wait_vblank is called, TDM server will send the
110 wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
111 TDM server will send the done event always. Otherwise, TDM server will
112 send the done event with TDM error value.
115 <arg name="interval" type="uint"/>
116 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
117 <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
118 <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
121 <request name="wait_vblank_seq">
122 <arg name="sequence" type="uint" summary="the target sequence number"/>
123 <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
124 <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
125 <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>