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_SERVER_PROTOCOL_H | 3 #ifndef SECURE_OUTPUT_UNSTABLE_V1_SERVER_PROTOCOL_H |
4 #define SECURE_OUTPUT_UNSTABLE_V1_SERVER_PROTOCOL_H | 4 #define SECURE_OUTPUT_UNSTABLE_V1_SERVER_PROTOCOL_H |
5 | 5 |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include "wayland-server.h" | 8 #include "wayland-server.h" |
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
(...skipping 24 matching lines...) Expand all Loading... |
35 * Warning! The protocol described in this file is experimental and backward | 35 * Warning! The protocol described in this file is experimental and backward |
36 * incompatible changes may be made. Backward compatible changes may be added | 36 * incompatible changes may be made. Backward compatible changes may be added |
37 * together with the corresponding interface version bump. Backward | 37 * together with the corresponding interface version bump. Backward |
38 * incompatible changes are done by bumping the version number in the protocol | 38 * incompatible changes are done by bumping the version number in the protocol |
39 * and interface names and resetting the interface version. Once the protocol | 39 * and interface names and resetting the interface version. Once the protocol |
40 * is to be declared stable, the 'z' prefix and the version number in the | 40 * is to be declared stable, the 'z' prefix and the version number in the |
41 * protocol and interface names are removed and the interface version number is | 41 * protocol and interface names are removed and the interface version number is |
42 * reset. | 42 * reset. |
43 * | 43 * |
44 * @section page_ifaces_secure_output_unstable_v1 Interfaces | 44 * @section page_ifaces_secure_output_unstable_v1 Interfaces |
45 * - @subpage page_iface_zwp_secure_output_v1 - secure output | 45 * - @subpage page_iface_zcr_secure_output_v1 - secure output |
46 * - @subpage page_iface_zwp_security_v1 - security interface to a wl_surface | 46 * - @subpage page_iface_zcr_security_v1 - security interface to a wl_surface |
| 47 * - @subpage page_iface_zwp_secure_output_v1 - DEPRECATED |
| 48 * - @subpage page_iface_zwp_security_v1 - DEPRECATED |
47 * @section page_copyright_secure_output_unstable_v1 Copyright | 49 * @section page_copyright_secure_output_unstable_v1 Copyright |
48 * <pre> | 50 * <pre> |
49 * | 51 * |
50 * Copyright 2016 The Chromium Authors. | 52 * Copyright 2016 The Chromium Authors. |
51 * | 53 * |
52 * Permission is hereby granted, free of charge, to any person obtaining a | 54 * Permission is hereby granted, free of charge, to any person obtaining a |
53 * copy of this software and associated documentation files (the "Software"), | 55 * copy of this software and associated documentation files (the "Software"), |
54 * to deal in the Software without restriction, including without limitation | 56 * to deal in the Software without restriction, including without limitation |
55 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 57 * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
56 * and/or sell copies of the Software, and to permit persons to whom the | 58 * and/or sell copies of the Software, and to permit persons to whom the |
57 * Software is furnished to do so, subject to the following conditions: | 59 * Software is furnished to do so, subject to the following conditions: |
58 * | 60 * |
59 * The above copyright notice and this permission notice (including the next | 61 * The above copyright notice and this permission notice (including the next |
60 * paragraph) shall be included in all copies or substantial portions of the | 62 * paragraph) shall be included in all copies or substantial portions of the |
61 * Software. | 63 * Software. |
62 * | 64 * |
63 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 65 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
64 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 66 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
65 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 67 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
66 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 68 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
67 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 69 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
68 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 70 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
69 * DEALINGS IN THE SOFTWARE. | 71 * DEALINGS IN THE SOFTWARE. |
70 * </pre> | 72 * </pre> |
71 */ | 73 */ |
72 struct wl_surface; | 74 struct wl_surface; |
| 75 struct zcr_secure_output_v1; |
| 76 struct zcr_security_v1; |
73 struct zwp_secure_output_v1; | 77 struct zwp_secure_output_v1; |
74 struct zwp_security_v1; | 78 struct zwp_security_v1; |
75 | 79 |
76 /** | 80 /** |
| 81 * @page page_iface_zcr_secure_output_v1 zcr_secure_output_v1 |
| 82 * @section page_iface_zcr_secure_output_v1_desc Description |
| 83 * |
| 84 * The global interface exposing secure output capabilities is used |
| 85 * to instantiate an interface extension for a wl_surface object. |
| 86 * This extended interface will then allow surfaces to be marked as |
| 87 * as only visible on secure outputs. |
| 88 * @section page_iface_zcr_secure_output_v1_api API |
| 89 * See @ref iface_zcr_secure_output_v1. |
| 90 */ |
| 91 /** |
| 92 * @defgroup iface_zcr_secure_output_v1 The zcr_secure_output_v1 interface |
| 93 * |
| 94 * The global interface exposing secure output capabilities is used |
| 95 * to instantiate an interface extension for a wl_surface object. |
| 96 * This extended interface will then allow surfaces to be marked as |
| 97 * as only visible on secure outputs. |
| 98 */ |
| 99 extern const struct wl_interface zcr_secure_output_v1_interface; |
| 100 /** |
| 101 * @page page_iface_zcr_security_v1 zcr_security_v1 |
| 102 * @section page_iface_zcr_security_v1_desc Description |
| 103 * |
| 104 * An additional interface to a wl_surface object, which allows the |
| 105 * client to specify that a surface should not appear in screenshots |
| 106 * or be visible on non-secure outputs. |
| 107 * |
| 108 * If the wl_surface associated with the security object is destroyed, |
| 109 * the security object becomes inert. |
| 110 * |
| 111 * If the security object is destroyed, the security state is removed |
| 112 * from the wl_surface. The change will be applied on the next |
| 113 * wl_surface.commit. |
| 114 * @section page_iface_zcr_security_v1_api API |
| 115 * See @ref iface_zcr_security_v1. |
| 116 */ |
| 117 /** |
| 118 * @defgroup iface_zcr_security_v1 The zcr_security_v1 interface |
| 119 * |
| 120 * An additional interface to a wl_surface object, which allows the |
| 121 * client to specify that a surface should not appear in screenshots |
| 122 * or be visible on non-secure outputs. |
| 123 * |
| 124 * If the wl_surface associated with the security object is destroyed, |
| 125 * the security object becomes inert. |
| 126 * |
| 127 * If the security object is destroyed, the security state is removed |
| 128 * from the wl_surface. The change will be applied on the next |
| 129 * wl_surface.commit. |
| 130 */ |
| 131 extern const struct wl_interface zcr_security_v1_interface; |
| 132 /** |
77 * @page page_iface_zwp_secure_output_v1 zwp_secure_output_v1 | 133 * @page page_iface_zwp_secure_output_v1 zwp_secure_output_v1 |
78 * @section page_iface_zwp_secure_output_v1_desc Description | 134 * @section page_iface_zwp_secure_output_v1_desc Description |
79 * | 135 * |
80 * The global interface exposing secure output capabilities is used | 136 * The global interface exposing secure output capabilities is used |
81 * to instantiate an interface extension for a wl_surface object. | 137 * to instantiate an interface extension for a wl_surface object. |
82 * This extended interface will then allow surfaces to be marked as | 138 * This extended interface will then allow surfaces to be marked as |
83 * as only visible on secure outputs. | 139 * as only visible on secure outputs. |
84 * @section page_iface_zwp_secure_output_v1_api API | 140 * @section page_iface_zwp_secure_output_v1_api API |
85 * See @ref iface_zwp_secure_output_v1. | 141 * See @ref iface_zwp_secure_output_v1. |
86 */ | 142 */ |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 * | 175 * |
120 * If the wl_surface associated with the security object is destroyed, | 176 * If the wl_surface associated with the security object is destroyed, |
121 * the security object becomes inert. | 177 * the security object becomes inert. |
122 * | 178 * |
123 * If the security object is destroyed, the security state is removed | 179 * If the security object is destroyed, the security state is removed |
124 * from the wl_surface. The change will be applied on the next | 180 * from the wl_surface. The change will be applied on the next |
125 * wl_surface.commit. | 181 * wl_surface.commit. |
126 */ | 182 */ |
127 extern const struct wl_interface zwp_security_v1_interface; | 183 extern const struct wl_interface zwp_security_v1_interface; |
128 | 184 |
| 185 #ifndef ZCR_SECURE_OUTPUT_V1_ERROR_ENUM |
| 186 #define ZCR_SECURE_OUTPUT_V1_ERROR_ENUM |
| 187 enum zcr_secure_output_v1_error { |
| 188 /** |
| 189 * the surface already has a security object associated |
| 190 */ |
| 191 ZCR_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, |
| 192 }; |
| 193 #endif /* ZCR_SECURE_OUTPUT_V1_ERROR_ENUM */ |
| 194 |
| 195 /** |
| 196 * @ingroup iface_zcr_secure_output_v1 |
| 197 * @struct zcr_secure_output_v1_interface |
| 198 */ |
| 199 struct zcr_secure_output_v1_interface { |
| 200 /** |
| 201 * unbind from the secure output interface |
| 202 * |
| 203 * Informs the server that the client will not be using this |
| 204 * protocol object anymore. This does not affect any other objects, |
| 205 * security objects included. |
| 206 */ |
| 207 void (*destroy)(struct wl_client *client, |
| 208 struct wl_resource *resource); |
| 209 /** |
| 210 * extend surface interface for security |
| 211 * |
| 212 * Instantiate an interface extension for the given wl_surface to |
| 213 * provide surface security. If the given wl_surface already has a |
| 214 * security object associated, the security_exists protocol error |
| 215 * is raised. |
| 216 * @param id the new security interface id |
| 217 * @param surface the surface |
| 218 */ |
| 219 void (*get_security)(struct wl_client *client, |
| 220 struct wl_resource *resource, |
| 221 uint32_t id, |
| 222 struct wl_resource *surface); |
| 223 }; |
| 224 |
| 225 |
| 226 /** |
| 227 * @ingroup iface_zcr_security_v1 |
| 228 * @struct zcr_security_v1_interface |
| 229 */ |
| 230 struct zcr_security_v1_interface { |
| 231 /** |
| 232 * remove security from the surface |
| 233 * |
| 234 * The associated wl_surface's security state is removed. The |
| 235 * change is applied on the next wl_surface.commit. |
| 236 */ |
| 237 void (*destroy)(struct wl_client *client, |
| 238 struct wl_resource *resource); |
| 239 /** |
| 240 * set the only visible on secure output state |
| 241 * |
| 242 * Constrain visibility of wl_surface contents to secure outputs. |
| 243 * See wp_secure_output for the description. |
| 244 * |
| 245 * The only visible on secure output state is double-buffered |
| 246 * state, and will be applied on the next wl_surface.commit. |
| 247 */ |
| 248 void (*only_visible_on_secure_output)(struct wl_client *client, |
| 249 struct wl_resource *resource); |
| 250 }; |
| 251 |
| 252 |
129 #ifndef ZWP_SECURE_OUTPUT_V1_ERROR_ENUM | 253 #ifndef ZWP_SECURE_OUTPUT_V1_ERROR_ENUM |
130 #define ZWP_SECURE_OUTPUT_V1_ERROR_ENUM | 254 #define ZWP_SECURE_OUTPUT_V1_ERROR_ENUM |
131 enum zwp_secure_output_v1_error { | 255 enum zwp_secure_output_v1_error { |
132 /** | 256 /** |
133 * the surface already has a security object associated | 257 * the surface already has a security object associated |
134 */ | 258 */ |
135 ZWP_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, | 259 ZWP_SECURE_OUTPUT_V1_ERROR_SECURITY_EXISTS = 0, |
136 }; | 260 }; |
137 #endif /* ZWP_SECURE_OUTPUT_V1_ERROR_ENUM */ | 261 #endif /* ZWP_SECURE_OUTPUT_V1_ERROR_ENUM */ |
138 | 262 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 void (*only_visible_on_secure_output)(struct wl_client *client, | 316 void (*only_visible_on_secure_output)(struct wl_client *client, |
193 struct wl_resource *resource); | 317 struct wl_resource *resource); |
194 }; | 318 }; |
195 | 319 |
196 | 320 |
197 #ifdef __cplusplus | 321 #ifdef __cplusplus |
198 } | 322 } |
199 #endif | 323 #endif |
200 | 324 |
201 #endif | 325 #endif |
OLD | NEW |