OLD | NEW |
1 /* Generated by wayland-scanner 1.11.0 */ | 1 /* Generated by wayland-scanner 1.11.0 */ |
2 | 2 |
3 #ifndef SECURE_OUTPUT_UNSTABLE_V1_CLIENT_PROTOCOL_H | 3 #ifndef SECURE_OUTPUT_UNSTABLE_V1_CLIENT_PROTOCOL_H |
4 #define SECURE_OUTPUT_UNSTABLE_V1_CLIENT_PROTOCOL_H | 4 #define SECURE_OUTPUT_UNSTABLE_V1_CLIENT_PROTOCOL_H |
5 | 5 |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include "wayland-client.h" | 8 #include "wayland-client.h" |
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
(...skipping 23 matching lines...) Expand all Loading... |
34 * together with the corresponding interface version bump. Backward | 34 * together with the corresponding interface version bump. Backward |
35 * incompatible changes are done by bumping the version number in the protocol | 35 * incompatible changes are done by bumping the version number in the protocol |
36 * and interface names and resetting the interface version. Once the protocol | 36 * and interface names and resetting the interface version. Once the protocol |
37 * is to be declared stable, the 'z' prefix and the version number in the | 37 * is to be declared stable, the 'z' prefix and the version number in the |
38 * protocol and interface names are removed and the interface version number is | 38 * protocol and interface names are removed and the interface version number is |
39 * reset. | 39 * reset. |
40 * | 40 * |
41 * @section page_ifaces_secure_output_unstable_v1 Interfaces | 41 * @section page_ifaces_secure_output_unstable_v1 Interfaces |
42 * - @subpage page_iface_zcr_secure_output_v1 - secure output | 42 * - @subpage page_iface_zcr_secure_output_v1 - secure output |
43 * - @subpage page_iface_zcr_security_v1 - security interface to a wl_surface | 43 * - @subpage page_iface_zcr_security_v1 - security interface to a wl_surface |
44 * - @subpage page_iface_zwp_secure_output_v1 - DEPRECATED | |
45 * - @subpage page_iface_zwp_security_v1 - DEPRECATED | |
46 * @section page_copyright_secure_output_unstable_v1 Copyright | 44 * @section page_copyright_secure_output_unstable_v1 Copyright |
47 * <pre> | 45 * <pre> |
48 * | 46 * |
49 * Copyright 2016 The Chromium Authors. | 47 * Copyright 2016 The Chromium Authors. |
50 * | 48 * |
51 * Permission is hereby granted, free of charge, to any person obtaining a | 49 * Permission is hereby granted, free of charge, to any person obtaining a |
52 * copy of this software and associated documentation files (the "Software"), | 50 * copy of this software and associated documentation files (the "Software"), |
53 * to deal in the Software without restriction, including without limitation | 51 * to deal in the Software without restriction, including without limitation |
54 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 52 * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
55 * and/or sell copies of the Software, and to permit persons to whom the | 53 * and/or sell copies of the Software, and to permit persons to whom the |
56 * Software is furnished to do so, subject to the following conditions: | 54 * Software is furnished to do so, subject to the following conditions: |
57 * | 55 * |
58 * The above copyright notice and this permission notice (including the next | 56 * The above copyright notice and this permission notice (including the next |
59 * paragraph) shall be included in all copies or substantial portions of the | 57 * paragraph) shall be included in all copies or substantial portions of the |
60 * Software. | 58 * Software. |
61 * | 59 * |
62 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 60 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
63 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 61 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
64 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 62 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
65 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 63 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
66 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 64 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
67 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 65 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
68 * DEALINGS IN THE SOFTWARE. | 66 * DEALINGS IN THE SOFTWARE. |
69 * </pre> | 67 * </pre> |
70 */ | 68 */ |
71 struct wl_surface; | 69 struct wl_surface; |
72 struct zcr_secure_output_v1; | 70 struct zcr_secure_output_v1; |
73 struct zcr_security_v1; | 71 struct zcr_security_v1; |
74 struct zwp_secure_output_v1; | |
75 struct zwp_security_v1; | |
76 | 72 |
77 /** | 73 /** |
78 * @page page_iface_zcr_secure_output_v1 zcr_secure_output_v1 | 74 * @page page_iface_zcr_secure_output_v1 zcr_secure_output_v1 |
79 * @section page_iface_zcr_secure_output_v1_desc Description | 75 * @section page_iface_zcr_secure_output_v1_desc Description |
80 * | 76 * |
81 * The global interface exposing secure output capabilities is used | 77 * The global interface exposing secure output capabilities is used |
82 * to instantiate an interface extension for a wl_surface object. | 78 * to instantiate an interface extension for a wl_surface object. |
83 * This extended interface will then allow surfaces to be marked as | 79 * This extended interface will then allow surfaces to be marked as |
84 * as only visible on secure outputs. | 80 * as only visible on secure outputs. |
85 * @section page_iface_zcr_secure_output_v1_api API | 81 * @section page_iface_zcr_secure_output_v1_api API |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 * or be visible on non-secure outputs. | 115 * or be visible on non-secure outputs. |
120 * | 116 * |
121 * If the wl_surface associated with the security object is destroyed, | 117 * If the wl_surface associated with the security object is destroyed, |
122 * the security object becomes inert. | 118 * the security object becomes inert. |
123 * | 119 * |
124 * If the security object is destroyed, the security state is removed | 120 * If the security object is destroyed, the security state is removed |
125 * from the wl_surface. The change will be applied on the next | 121 * from the wl_surface. The change will be applied on the next |
126 * wl_surface.commit. | 122 * wl_surface.commit. |
127 */ | 123 */ |
128 extern const struct wl_interface zcr_security_v1_interface; | 124 extern const struct wl_interface zcr_security_v1_interface; |
129 /** | |
130 * @page page_iface_zwp_secure_output_v1 zwp_secure_output_v1 | |
131 * @section page_iface_zwp_secure_output_v1_desc Description | |
132 * | |
133 * The global interface exposing secure output capabilities is used | |
134 * to instantiate an interface extension for a wl_surface object. | |
135 * This extended interface will then allow surfaces to be marked as | |
136 * as only visible on secure outputs. | |
137 * @section page_iface_zwp_secure_output_v1_api API | |
138 * See @ref iface_zwp_secure_output_v1. | |
139 */ | |
140 /** | |
141 * @defgroup iface_zwp_secure_output_v1 The zwp_secure_output_v1 interface | |
142 * | |
143 * The global interface exposing secure output capabilities is used | |
144 * to instantiate an interface extension for a wl_surface object. | |
145 * This extended interface will then allow surfaces to be marked as | |
146 * as only visible on secure outputs. | |
147 */ | |
148 extern const struct wl_interface zwp_secure_output_v1_interface; | |
149 /** | |
150 * @page page_iface_zwp_security_v1 zwp_security_v1 | |
151 * @section page_iface_zwp_security_v1_desc Description | |
152 * | |
153 * An additional interface to a wl_surface object, which allows the | |
154 * client to specify that a surface should not appear in screenshots | |
155 * or be visible on non-secure outputs. | |
156 * | |
157 * If the wl_surface associated with the security object is destroyed, | |
158 * the security object becomes inert. | |
159 * | |
160 * If the security object is destroyed, the security state is removed | |
161 * from the wl_surface. The change will be applied on the next | |
162 * wl_surface.commit. | |
163 * @section page_iface_zwp_security_v1_api API | |
164 * See @ref iface_zwp_security_v1. | |
165 */ | |
166 /** | |
167 * @defgroup iface_zwp_security_v1 The zwp_security_v1 interface | |
168 * | |
169 * An additional interface to a wl_surface object, which allows the | |
170 * client to specify that a surface should not appear in screenshots | |
171 * or be visible on non-secure outputs. | |
172 * | |
173 * If the wl_surface associated with the security object is destroyed, | |
174 * the security object becomes inert. | |
175 * | |
176 * If the security object is destroyed, the security state is removed | |
177 * from the wl_surface. The change will be applied on the next | |
178 * wl_surface.commit. | |
179 */ | |
180 extern const struct wl_interface zwp_security_v1_interface; | |
181 | 125 |
182 #ifndef ZCR_SECURE_OUTPUT_V1_ERROR_ENUM | 126 #ifndef ZCR_SECURE_OUTPUT_V1_ERROR_ENUM |
183 #define ZCR_SECURE_OUTPUT_V1_ERROR_ENUM | 127 #define ZCR_SECURE_OUTPUT_V1_ERROR_ENUM |
184 enum zcr_secure_output_v1_error { | 128 enum zcr_secure_output_v1_error { |
185 /** | 129 /** |
186 * the surface already has a security object associated | 130 * the surface already has a security object associated |
187 */ | 131 */ |
188 ZCR_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, | 132 ZCR_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, |
189 }; | 133 }; |
190 #endif /* ZCR_SECURE_OUTPUT_V1_ERROR_ENUM */ | 134 #endif /* ZCR_SECURE_OUTPUT_V1_ERROR_ENUM */ |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 * The only visible on secure output state is double-buffered state, | 256 * The only visible on secure output state is double-buffered state, |
313 * and will be applied on the next wl_surface.commit. | 257 * and will be applied on the next wl_surface.commit. |
314 */ | 258 */ |
315 static inline void | 259 static inline void |
316 zcr_security_v1_only_visible_on_secure_output(struct zcr_security_v1 *zcr_securi
ty_v1) | 260 zcr_security_v1_only_visible_on_secure_output(struct zcr_security_v1 *zcr_securi
ty_v1) |
317 { | 261 { |
318 wl_proxy_marshal((struct wl_proxy *) zcr_security_v1, | 262 wl_proxy_marshal((struct wl_proxy *) zcr_security_v1, |
319 ZCR_SECURITY_V1_ONLY_VISIBLE_ON_SECURE_OUTPUT); | 263 ZCR_SECURITY_V1_ONLY_VISIBLE_ON_SECURE_OUTPUT); |
320 } | 264 } |
321 | 265 |
322 #ifndef ZWP_SECURE_OUTPUT_V1_ERROR_ENUM | |
323 #define ZWP_SECURE_OUTPUT_V1_ERROR_ENUM | |
324 enum zwp_secure_output_v1_error { | |
325 /** | |
326 * the surface already has a security object associated | |
327 */ | |
328 ZWP_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, | |
329 }; | |
330 #endif /* ZWP_SECURE_OUTPUT_V1_ERROR_ENUM */ | |
331 | |
332 #define ZWP_SECURE_OUTPUT_V1_DESTROY 0 | |
333 #define ZWP_SECURE_OUTPUT_V1_GET_SECURITY 1 | |
334 | |
335 /** | |
336 * @ingroup iface_zwp_secure_output_v1 | |
337 */ | |
338 #define ZWP_SECURE_OUTPUT_V1_DESTROY_SINCE_VERSION 1 | |
339 /** | |
340 * @ingroup iface_zwp_secure_output_v1 | |
341 */ | |
342 #define ZWP_SECURE_OUTPUT_V1_GET_SECURITY_SINCE_VERSION 1 | |
343 | |
344 /** @ingroup iface_zwp_secure_output_v1 */ | |
345 static inline void | |
346 zwp_secure_output_v1_set_user_data(struct zwp_secure_output_v1 *zwp_secure_outpu
t_v1, void *user_data) | |
347 { | |
348 wl_proxy_set_user_data((struct wl_proxy *) zwp_secure_output_v1, user_da
ta); | |
349 } | |
350 | |
351 /** @ingroup iface_zwp_secure_output_v1 */ | |
352 static inline void * | |
353 zwp_secure_output_v1_get_user_data(struct zwp_secure_output_v1 *zwp_secure_outpu
t_v1) | |
354 { | |
355 return wl_proxy_get_user_data((struct wl_proxy *) zwp_secure_output_v1); | |
356 } | |
357 | |
358 static inline uint32_t | |
359 zwp_secure_output_v1_get_version(struct zwp_secure_output_v1 *zwp_secure_output_
v1) | |
360 { | |
361 return wl_proxy_get_version((struct wl_proxy *) zwp_secure_output_v1); | |
362 } | |
363 | |
364 /** | |
365 * @ingroup iface_zwp_secure_output_v1 | |
366 * | |
367 * Informs the server that the client will not be using this | |
368 * protocol object anymore. This does not affect any other objects, | |
369 * security objects included. | |
370 */ | |
371 static inline void | |
372 zwp_secure_output_v1_destroy(struct zwp_secure_output_v1 *zwp_secure_output_v1) | |
373 { | |
374 wl_proxy_marshal((struct wl_proxy *) zwp_secure_output_v1, | |
375 ZWP_SECURE_OUTPUT_V1_DESTROY); | |
376 | |
377 wl_proxy_destroy((struct wl_proxy *) zwp_secure_output_v1); | |
378 } | |
379 | |
380 /** | |
381 * @ingroup iface_zwp_secure_output_v1 | |
382 * | |
383 * Instantiate an interface extension for the given wl_surface to | |
384 * provide surface security. If the given wl_surface already has | |
385 * a security object associated, the security_exists protocol error | |
386 * is raised. | |
387 */ | |
388 static inline struct zwp_security_v1 * | |
389 zwp_secure_output_v1_get_security(struct zwp_secure_output_v1 *zwp_secure_output
_v1, struct wl_surface *surface) | |
390 { | |
391 struct wl_proxy *id; | |
392 | |
393 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_secure_output_
v1, | |
394 ZWP_SECURE_OUTPUT_V1_GET_SECURITY, &zwp_security_v1_int
erface, NULL, surface); | |
395 | |
396 return (struct zwp_security_v1 *) id; | |
397 } | |
398 | |
399 #define ZWP_SECURITY_V1_DESTROY 0 | |
400 #define ZWP_SECURITY_V1_ONLY_VISIBLE_ON_SECURE_OUTPUT 1 | |
401 | |
402 /** | |
403 * @ingroup iface_zwp_security_v1 | |
404 */ | |
405 #define ZWP_SECURITY_V1_DESTROY_SINCE_VERSION 1 | |
406 /** | |
407 * @ingroup iface_zwp_security_v1 | |
408 */ | |
409 #define ZWP_SECURITY_V1_ONLY_VISIBLE_ON_SECURE_OUTPUT_SINCE_VERSION 1 | |
410 | |
411 /** @ingroup iface_zwp_security_v1 */ | |
412 static inline void | |
413 zwp_security_v1_set_user_data(struct zwp_security_v1 *zwp_security_v1, void *use
r_data) | |
414 { | |
415 wl_proxy_set_user_data((struct wl_proxy *) zwp_security_v1, user_data); | |
416 } | |
417 | |
418 /** @ingroup iface_zwp_security_v1 */ | |
419 static inline void * | |
420 zwp_security_v1_get_user_data(struct zwp_security_v1 *zwp_security_v1) | |
421 { | |
422 return wl_proxy_get_user_data((struct wl_proxy *) zwp_security_v1); | |
423 } | |
424 | |
425 static inline uint32_t | |
426 zwp_security_v1_get_version(struct zwp_security_v1 *zwp_security_v1) | |
427 { | |
428 return wl_proxy_get_version((struct wl_proxy *) zwp_security_v1); | |
429 } | |
430 | |
431 /** | |
432 * @ingroup iface_zwp_security_v1 | |
433 * | |
434 * The associated wl_surface's security state is removed. | |
435 * The change is applied on the next wl_surface.commit. | |
436 */ | |
437 static inline void | |
438 zwp_security_v1_destroy(struct zwp_security_v1 *zwp_security_v1) | |
439 { | |
440 wl_proxy_marshal((struct wl_proxy *) zwp_security_v1, | |
441 ZWP_SECURITY_V1_DESTROY); | |
442 | |
443 wl_proxy_destroy((struct wl_proxy *) zwp_security_v1); | |
444 } | |
445 | |
446 /** | |
447 * @ingroup iface_zwp_security_v1 | |
448 * | |
449 * Constrain visibility of wl_surface contents to secure outputs. | |
450 * See wp_secure_output for the description. | |
451 * | |
452 * The only visible on secure output state is double-buffered state, | |
453 * and will be applied on the next wl_surface.commit. | |
454 */ | |
455 static inline void | |
456 zwp_security_v1_only_visible_on_secure_output(struct zwp_security_v1 *zwp_securi
ty_v1) | |
457 { | |
458 wl_proxy_marshal((struct wl_proxy *) zwp_security_v1, | |
459 ZWP_SECURITY_V1_ONLY_VISIBLE_ON_SECURE_OUTPUT); | |
460 } | |
461 | |
462 #ifdef __cplusplus | 266 #ifdef __cplusplus |
463 } | 267 } |
464 #endif | 268 #endif |
465 | 269 |
466 #endif | 270 #endif |
OLD | NEW |