lib/wayland/src/protocol/generated/core.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

   1 const protocol = @import("../root.zig");
   2 
   3 const schema = protocol.schema;
   4 
   5 pub const wl_display = struct {
   6     pub const requests = struct {
   7         pub const sync: schema.Message = .{
   8             .name = "sync",
   9             .opcode = 0,
  10             .since = 1,
  11             .deprecated_since = null,
  12             .destructor = false,
  13             .signature = "n",
  14             .descriptor_count = 0,
  15             .minimum_payload_size = 4,
  16             .arguments = &.{
  17                 .{ .name = "callback", .kind = .new_id, .interface = "wl_callback", .enumeration = null, .nullable = false },
  18             },
  19         };
  20         pub const get_registry: schema.Message = .{
  21             .name = "get_registry",
  22             .opcode = 1,
  23             .since = 1,
  24             .deprecated_since = null,
  25             .destructor = false,
  26             .signature = "n",
  27             .descriptor_count = 0,
  28             .minimum_payload_size = 4,
  29             .arguments = &.{
  30                 .{ .name = "registry", .kind = .new_id, .interface = "wl_registry", .enumeration = null, .nullable = false },
  31             },
  32         };
  33         pub const all = [_]schema.Message{ sync, get_registry };
  34     };
  35     pub const events = struct {
  36         pub const @"error": schema.Message = .{
  37             .name = "error",
  38             .opcode = 0,
  39             .since = 1,
  40             .deprecated_since = null,
  41             .destructor = false,
  42             .signature = "ous",
  43             .descriptor_count = 0,
  44             .minimum_payload_size = 16,
  45             .arguments = &.{
  46                 .{ .name = "object_id", .kind = .object, .interface = null, .enumeration = null, .nullable = false },
  47                 .{ .name = "code", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
  48                 .{ .name = "message", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
  49             },
  50         };
  51         pub const delete_id: schema.Message = .{
  52             .name = "delete_id",
  53             .opcode = 1,
  54             .since = 1,
  55             .deprecated_since = null,
  56             .destructor = false,
  57             .signature = "u",
  58             .descriptor_count = 0,
  59             .minimum_payload_size = 4,
  60             .arguments = &.{
  61                 .{ .name = "id", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
  62             },
  63         };
  64         pub const all = [_]schema.Message{ @"error", delete_id };
  65     };
  66     pub const enumerations = struct {
  67         pub const @"error": schema.Enumeration = .{
  68             .name = "error",
  69             .since = 1,
  70             .bitfield = false,
  71             .entries = &.{
  72                 .{ .name = "invalid_object", .value = 0, .since = 1, .deprecated_since = null },
  73                 .{ .name = "invalid_method", .value = 1, .since = 1, .deprecated_since = null },
  74                 .{ .name = "no_memory", .value = 2, .since = 1, .deprecated_since = null },
  75                 .{ .name = "implementation", .value = 3, .since = 1, .deprecated_since = null },
  76             },
  77         };
  78         pub const all = [_]schema.Enumeration{@"error"};
  79     };
  80     pub const metadata: schema.Interface = .{
  81         .name = "wl_display",
  82         .version = 1,
  83         .requests = &requests.all,
  84         .events = &events.all,
  85         .enumerations = &enumerations.all,
  86     };
  87 };
  88 
  89 pub const wl_registry = struct {
  90     pub const requests = struct {
  91         pub const bind: schema.Message = .{
  92             .name = "bind",
  93             .opcode = 0,
  94             .since = 1,
  95             .deprecated_since = null,
  96             .destructor = false,
  97             .signature = "usun",
  98             .descriptor_count = 0,
  99             .minimum_payload_size = 20,
 100             .arguments = &.{
 101                 .{ .name = "name", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 102                 .{ .name = "id", .kind = .new_id, .interface = null, .enumeration = null, .nullable = false },
 103             },
 104         };
 105         pub const all = [_]schema.Message{bind};
 106     };
 107     pub const events = struct {
 108         pub const global: schema.Message = .{
 109             .name = "global",
 110             .opcode = 0,
 111             .since = 1,
 112             .deprecated_since = null,
 113             .destructor = false,
 114             .signature = "usu",
 115             .descriptor_count = 0,
 116             .minimum_payload_size = 16,
 117             .arguments = &.{
 118                 .{ .name = "name", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 119                 .{ .name = "interface", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 120                 .{ .name = "version", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 121             },
 122         };
 123         pub const global_remove: schema.Message = .{
 124             .name = "global_remove",
 125             .opcode = 1,
 126             .since = 1,
 127             .deprecated_since = null,
 128             .destructor = false,
 129             .signature = "u",
 130             .descriptor_count = 0,
 131             .minimum_payload_size = 4,
 132             .arguments = &.{
 133                 .{ .name = "name", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 134             },
 135         };
 136         pub const all = [_]schema.Message{ global, global_remove };
 137     };
 138     pub const enumerations = struct {
 139         pub const all = [_]schema.Enumeration{};
 140     };
 141     pub const metadata: schema.Interface = .{
 142         .name = "wl_registry",
 143         .version = 1,
 144         .requests = &requests.all,
 145         .events = &events.all,
 146         .enumerations = &enumerations.all,
 147     };
 148 };
 149 
 150 pub const wl_callback = struct {
 151     pub const requests = struct {
 152         pub const all = [_]schema.Message{};
 153     };
 154     pub const events = struct {
 155         pub const done: schema.Message = .{
 156             .name = "done",
 157             .opcode = 0,
 158             .since = 1,
 159             .deprecated_since = null,
 160             .destructor = true,
 161             .signature = "u",
 162             .descriptor_count = 0,
 163             .minimum_payload_size = 4,
 164             .arguments = &.{
 165                 .{ .name = "callback_data", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 166             },
 167         };
 168         pub const all = [_]schema.Message{done};
 169     };
 170     pub const enumerations = struct {
 171         pub const all = [_]schema.Enumeration{};
 172     };
 173     pub const metadata: schema.Interface = .{
 174         .name = "wl_callback",
 175         .version = 1,
 176         .requests = &requests.all,
 177         .events = &events.all,
 178         .enumerations = &enumerations.all,
 179     };
 180 };
 181 
 182 pub const wl_compositor = struct {
 183     pub const requests = struct {
 184         pub const create_surface: schema.Message = .{
 185             .name = "create_surface",
 186             .opcode = 0,
 187             .since = 1,
 188             .deprecated_since = null,
 189             .destructor = false,
 190             .signature = "n",
 191             .descriptor_count = 0,
 192             .minimum_payload_size = 4,
 193             .arguments = &.{
 194                 .{ .name = "id", .kind = .new_id, .interface = "wl_surface", .enumeration = null, .nullable = false },
 195             },
 196         };
 197         pub const create_region: schema.Message = .{
 198             .name = "create_region",
 199             .opcode = 1,
 200             .since = 1,
 201             .deprecated_since = null,
 202             .destructor = false,
 203             .signature = "n",
 204             .descriptor_count = 0,
 205             .minimum_payload_size = 4,
 206             .arguments = &.{
 207                 .{ .name = "id", .kind = .new_id, .interface = "wl_region", .enumeration = null, .nullable = false },
 208             },
 209         };
 210         pub const release: schema.Message = .{
 211             .name = "release",
 212             .opcode = 2,
 213             .since = 7,
 214             .deprecated_since = null,
 215             .destructor = true,
 216             .signature = "7",
 217             .descriptor_count = 0,
 218             .minimum_payload_size = 0,
 219             .arguments = &.{},
 220         };
 221         pub const all = [_]schema.Message{ create_surface, create_region, release };
 222     };
 223     pub const events = struct {
 224         pub const all = [_]schema.Message{};
 225     };
 226     pub const enumerations = struct {
 227         pub const all = [_]schema.Enumeration{};
 228     };
 229     pub const metadata: schema.Interface = .{
 230         .name = "wl_compositor",
 231         .version = 7,
 232         .requests = &requests.all,
 233         .events = &events.all,
 234         .enumerations = &enumerations.all,
 235     };
 236 };
 237 
 238 pub const wl_shm_pool = struct {
 239     pub const requests = struct {
 240         pub const create_buffer: schema.Message = .{
 241             .name = "create_buffer",
 242             .opcode = 0,
 243             .since = 1,
 244             .deprecated_since = null,
 245             .destructor = false,
 246             .signature = "niiiiu",
 247             .descriptor_count = 0,
 248             .minimum_payload_size = 24,
 249             .arguments = &.{
 250                 .{ .name = "id", .kind = .new_id, .interface = "wl_buffer", .enumeration = null, .nullable = false },
 251                 .{ .name = "offset", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 252                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 253                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 254                 .{ .name = "stride", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 255                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = "wl_shm.format", .nullable = false },
 256             },
 257         };
 258         pub const destroy: schema.Message = .{
 259             .name = "destroy",
 260             .opcode = 1,
 261             .since = 1,
 262             .deprecated_since = null,
 263             .destructor = true,
 264             .signature = "",
 265             .descriptor_count = 0,
 266             .minimum_payload_size = 0,
 267             .arguments = &.{},
 268         };
 269         pub const resize: schema.Message = .{
 270             .name = "resize",
 271             .opcode = 2,
 272             .since = 1,
 273             .deprecated_since = null,
 274             .destructor = false,
 275             .signature = "i",
 276             .descriptor_count = 0,
 277             .minimum_payload_size = 4,
 278             .arguments = &.{
 279                 .{ .name = "size", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 280             },
 281         };
 282         pub const all = [_]schema.Message{ create_buffer, destroy, resize };
 283     };
 284     pub const events = struct {
 285         pub const all = [_]schema.Message{};
 286     };
 287     pub const enumerations = struct {
 288         pub const all = [_]schema.Enumeration{};
 289     };
 290     pub const metadata: schema.Interface = .{
 291         .name = "wl_shm_pool",
 292         .version = 2,
 293         .requests = &requests.all,
 294         .events = &events.all,
 295         .enumerations = &enumerations.all,
 296     };
 297 };
 298 
 299 pub const wl_shm = struct {
 300     pub const requests = struct {
 301         pub const create_pool: schema.Message = .{
 302             .name = "create_pool",
 303             .opcode = 0,
 304             .since = 1,
 305             .deprecated_since = null,
 306             .destructor = false,
 307             .signature = "nhi",
 308             .descriptor_count = 1,
 309             .minimum_payload_size = 8,
 310             .arguments = &.{
 311                 .{ .name = "id", .kind = .new_id, .interface = "wl_shm_pool", .enumeration = null, .nullable = false },
 312                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
 313                 .{ .name = "size", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 314             },
 315         };
 316         pub const release: schema.Message = .{
 317             .name = "release",
 318             .opcode = 1,
 319             .since = 2,
 320             .deprecated_since = null,
 321             .destructor = true,
 322             .signature = "2",
 323             .descriptor_count = 0,
 324             .minimum_payload_size = 0,
 325             .arguments = &.{},
 326         };
 327         pub const all = [_]schema.Message{ create_pool, release };
 328     };
 329     pub const events = struct {
 330         pub const format: schema.Message = .{
 331             .name = "format",
 332             .opcode = 0,
 333             .since = 1,
 334             .deprecated_since = null,
 335             .destructor = false,
 336             .signature = "u",
 337             .descriptor_count = 0,
 338             .minimum_payload_size = 4,
 339             .arguments = &.{
 340                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = "format", .nullable = false },
 341             },
 342         };
 343         pub const all = [_]schema.Message{format};
 344     };
 345     pub const enumerations = struct {
 346         pub const @"error": schema.Enumeration = .{
 347             .name = "error",
 348             .since = 1,
 349             .bitfield = false,
 350             .entries = &.{
 351                 .{ .name = "invalid_format", .value = 0, .since = 1, .deprecated_since = null },
 352                 .{ .name = "invalid_stride", .value = 1, .since = 1, .deprecated_since = null },
 353                 .{ .name = "invalid_fd", .value = 2, .since = 1, .deprecated_since = null },
 354             },
 355         };
 356         pub const format: schema.Enumeration = .{
 357             .name = "format",
 358             .since = 1,
 359             .bitfield = false,
 360             .entries = &.{
 361                 .{ .name = "argb8888", .value = 0, .since = 1, .deprecated_since = null },
 362                 .{ .name = "xrgb8888", .value = 1, .since = 1, .deprecated_since = null },
 363                 .{ .name = "c8", .value = 538982467, .since = 1, .deprecated_since = null },
 364                 .{ .name = "rgb332", .value = 943867730, .since = 1, .deprecated_since = null },
 365                 .{ .name = "bgr233", .value = 944916290, .since = 1, .deprecated_since = null },
 366                 .{ .name = "xrgb4444", .value = 842093144, .since = 1, .deprecated_since = null },
 367                 .{ .name = "xbgr4444", .value = 842089048, .since = 1, .deprecated_since = null },
 368                 .{ .name = "rgbx4444", .value = 842094674, .since = 1, .deprecated_since = null },
 369                 .{ .name = "bgrx4444", .value = 842094658, .since = 1, .deprecated_since = null },
 370                 .{ .name = "argb4444", .value = 842093121, .since = 1, .deprecated_since = null },
 371                 .{ .name = "abgr4444", .value = 842089025, .since = 1, .deprecated_since = null },
 372                 .{ .name = "rgba4444", .value = 842088786, .since = 1, .deprecated_since = null },
 373                 .{ .name = "bgra4444", .value = 842088770, .since = 1, .deprecated_since = null },
 374                 .{ .name = "xrgb1555", .value = 892424792, .since = 1, .deprecated_since = null },
 375                 .{ .name = "xbgr1555", .value = 892420696, .since = 1, .deprecated_since = null },
 376                 .{ .name = "rgbx5551", .value = 892426322, .since = 1, .deprecated_since = null },
 377                 .{ .name = "bgrx5551", .value = 892426306, .since = 1, .deprecated_since = null },
 378                 .{ .name = "argb1555", .value = 892424769, .since = 1, .deprecated_since = null },
 379                 .{ .name = "abgr1555", .value = 892420673, .since = 1, .deprecated_since = null },
 380                 .{ .name = "rgba5551", .value = 892420434, .since = 1, .deprecated_since = null },
 381                 .{ .name = "bgra5551", .value = 892420418, .since = 1, .deprecated_since = null },
 382                 .{ .name = "rgb565", .value = 909199186, .since = 1, .deprecated_since = null },
 383                 .{ .name = "bgr565", .value = 909199170, .since = 1, .deprecated_since = null },
 384                 .{ .name = "rgb888", .value = 875710290, .since = 1, .deprecated_since = null },
 385                 .{ .name = "bgr888", .value = 875710274, .since = 1, .deprecated_since = null },
 386                 .{ .name = "xbgr8888", .value = 875709016, .since = 1, .deprecated_since = null },
 387                 .{ .name = "rgbx8888", .value = 875714642, .since = 1, .deprecated_since = null },
 388                 .{ .name = "bgrx8888", .value = 875714626, .since = 1, .deprecated_since = null },
 389                 .{ .name = "abgr8888", .value = 875708993, .since = 1, .deprecated_since = null },
 390                 .{ .name = "rgba8888", .value = 875708754, .since = 1, .deprecated_since = null },
 391                 .{ .name = "bgra8888", .value = 875708738, .since = 1, .deprecated_since = null },
 392                 .{ .name = "xrgb2101010", .value = 808669784, .since = 1, .deprecated_since = null },
 393                 .{ .name = "xbgr2101010", .value = 808665688, .since = 1, .deprecated_since = null },
 394                 .{ .name = "rgbx1010102", .value = 808671314, .since = 1, .deprecated_since = null },
 395                 .{ .name = "bgrx1010102", .value = 808671298, .since = 1, .deprecated_since = null },
 396                 .{ .name = "argb2101010", .value = 808669761, .since = 1, .deprecated_since = null },
 397                 .{ .name = "abgr2101010", .value = 808665665, .since = 1, .deprecated_since = null },
 398                 .{ .name = "rgba1010102", .value = 808665426, .since = 1, .deprecated_since = null },
 399                 .{ .name = "bgra1010102", .value = 808665410, .since = 1, .deprecated_since = null },
 400                 .{ .name = "yuyv", .value = 1448695129, .since = 1, .deprecated_since = null },
 401                 .{ .name = "yvyu", .value = 1431918169, .since = 1, .deprecated_since = null },
 402                 .{ .name = "uyvy", .value = 1498831189, .since = 1, .deprecated_since = null },
 403                 .{ .name = "vyuy", .value = 1498765654, .since = 1, .deprecated_since = null },
 404                 .{ .name = "ayuv", .value = 1448433985, .since = 1, .deprecated_since = null },
 405                 .{ .name = "nv12", .value = 842094158, .since = 1, .deprecated_since = null },
 406                 .{ .name = "nv21", .value = 825382478, .since = 1, .deprecated_since = null },
 407                 .{ .name = "nv16", .value = 909203022, .since = 1, .deprecated_since = null },
 408                 .{ .name = "nv61", .value = 825644622, .since = 1, .deprecated_since = null },
 409                 .{ .name = "yuv410", .value = 961959257, .since = 1, .deprecated_since = null },
 410                 .{ .name = "yvu410", .value = 961893977, .since = 1, .deprecated_since = null },
 411                 .{ .name = "yuv411", .value = 825316697, .since = 1, .deprecated_since = null },
 412                 .{ .name = "yvu411", .value = 825316953, .since = 1, .deprecated_since = null },
 413                 .{ .name = "yuv420", .value = 842093913, .since = 1, .deprecated_since = null },
 414                 .{ .name = "yvu420", .value = 842094169, .since = 1, .deprecated_since = null },
 415                 .{ .name = "yuv422", .value = 909202777, .since = 1, .deprecated_since = null },
 416                 .{ .name = "yvu422", .value = 909203033, .since = 1, .deprecated_since = null },
 417                 .{ .name = "yuv444", .value = 875713881, .since = 1, .deprecated_since = null },
 418                 .{ .name = "yvu444", .value = 875714137, .since = 1, .deprecated_since = null },
 419                 .{ .name = "r8", .value = 538982482, .since = 1, .deprecated_since = null },
 420                 .{ .name = "r16", .value = 540422482, .since = 1, .deprecated_since = null },
 421                 .{ .name = "rg88", .value = 943212370, .since = 1, .deprecated_since = null },
 422                 .{ .name = "gr88", .value = 943215175, .since = 1, .deprecated_since = null },
 423                 .{ .name = "rg1616", .value = 842221394, .since = 1, .deprecated_since = null },
 424                 .{ .name = "gr1616", .value = 842224199, .since = 1, .deprecated_since = null },
 425                 .{ .name = "xrgb16161616f", .value = 1211388504, .since = 1, .deprecated_since = null },
 426                 .{ .name = "xbgr16161616f", .value = 1211384408, .since = 1, .deprecated_since = null },
 427                 .{ .name = "argb16161616f", .value = 1211388481, .since = 1, .deprecated_since = null },
 428                 .{ .name = "abgr16161616f", .value = 1211384385, .since = 1, .deprecated_since = null },
 429                 .{ .name = "xyuv8888", .value = 1448434008, .since = 1, .deprecated_since = null },
 430                 .{ .name = "vuy888", .value = 875713878, .since = 1, .deprecated_since = null },
 431                 .{ .name = "vuy101010", .value = 808670550, .since = 1, .deprecated_since = null },
 432                 .{ .name = "y210", .value = 808530521, .since = 1, .deprecated_since = null },
 433                 .{ .name = "y212", .value = 842084953, .since = 1, .deprecated_since = null },
 434                 .{ .name = "y216", .value = 909193817, .since = 1, .deprecated_since = null },
 435                 .{ .name = "y410", .value = 808531033, .since = 1, .deprecated_since = null },
 436                 .{ .name = "y412", .value = 842085465, .since = 1, .deprecated_since = null },
 437                 .{ .name = "y416", .value = 909194329, .since = 1, .deprecated_since = null },
 438                 .{ .name = "xvyu2101010", .value = 808670808, .since = 1, .deprecated_since = null },
 439                 .{ .name = "xvyu12_16161616", .value = 909334104, .since = 1, .deprecated_since = null },
 440                 .{ .name = "xvyu16161616", .value = 942954072, .since = 1, .deprecated_since = null },
 441                 .{ .name = "y0l0", .value = 810299481, .since = 1, .deprecated_since = null },
 442                 .{ .name = "x0l0", .value = 810299480, .since = 1, .deprecated_since = null },
 443                 .{ .name = "y0l2", .value = 843853913, .since = 1, .deprecated_since = null },
 444                 .{ .name = "x0l2", .value = 843853912, .since = 1, .deprecated_since = null },
 445                 .{ .name = "yuv420_8bit", .value = 942691673, .since = 1, .deprecated_since = null },
 446                 .{ .name = "yuv420_10bit", .value = 808539481, .since = 1, .deprecated_since = null },
 447                 .{ .name = "xrgb8888_a8", .value = 943805016, .since = 1, .deprecated_since = null },
 448                 .{ .name = "xbgr8888_a8", .value = 943800920, .since = 1, .deprecated_since = null },
 449                 .{ .name = "rgbx8888_a8", .value = 943806546, .since = 1, .deprecated_since = null },
 450                 .{ .name = "bgrx8888_a8", .value = 943806530, .since = 1, .deprecated_since = null },
 451                 .{ .name = "rgb888_a8", .value = 943798354, .since = 1, .deprecated_since = null },
 452                 .{ .name = "bgr888_a8", .value = 943798338, .since = 1, .deprecated_since = null },
 453                 .{ .name = "rgb565_a8", .value = 943797586, .since = 1, .deprecated_since = null },
 454                 .{ .name = "bgr565_a8", .value = 943797570, .since = 1, .deprecated_since = null },
 455                 .{ .name = "nv24", .value = 875714126, .since = 1, .deprecated_since = null },
 456                 .{ .name = "nv42", .value = 842290766, .since = 1, .deprecated_since = null },
 457                 .{ .name = "p210", .value = 808530512, .since = 1, .deprecated_since = null },
 458                 .{ .name = "p010", .value = 808530000, .since = 1, .deprecated_since = null },
 459                 .{ .name = "p012", .value = 842084432, .since = 1, .deprecated_since = null },
 460                 .{ .name = "p016", .value = 909193296, .since = 1, .deprecated_since = null },
 461                 .{ .name = "axbxgxrx106106106106", .value = 808534593, .since = 1, .deprecated_since = null },
 462                 .{ .name = "nv15", .value = 892425806, .since = 1, .deprecated_since = null },
 463                 .{ .name = "q410", .value = 808531025, .since = 1, .deprecated_since = null },
 464                 .{ .name = "q401", .value = 825242705, .since = 1, .deprecated_since = null },
 465                 .{ .name = "xrgb16161616", .value = 942953048, .since = 1, .deprecated_since = null },
 466                 .{ .name = "xbgr16161616", .value = 942948952, .since = 1, .deprecated_since = null },
 467                 .{ .name = "argb16161616", .value = 942953025, .since = 1, .deprecated_since = null },
 468                 .{ .name = "abgr16161616", .value = 942948929, .since = 1, .deprecated_since = null },
 469                 .{ .name = "c1", .value = 538980675, .since = 1, .deprecated_since = null },
 470                 .{ .name = "c2", .value = 538980931, .since = 1, .deprecated_since = null },
 471                 .{ .name = "c4", .value = 538981443, .since = 1, .deprecated_since = null },
 472                 .{ .name = "d1", .value = 538980676, .since = 1, .deprecated_since = null },
 473                 .{ .name = "d2", .value = 538980932, .since = 1, .deprecated_since = null },
 474                 .{ .name = "d4", .value = 538981444, .since = 1, .deprecated_since = null },
 475                 .{ .name = "d8", .value = 538982468, .since = 1, .deprecated_since = null },
 476                 .{ .name = "r1", .value = 538980690, .since = 1, .deprecated_since = null },
 477                 .{ .name = "r2", .value = 538980946, .since = 1, .deprecated_since = null },
 478                 .{ .name = "r4", .value = 538981458, .since = 1, .deprecated_since = null },
 479                 .{ .name = "r10", .value = 540029266, .since = 1, .deprecated_since = null },
 480                 .{ .name = "r12", .value = 540160338, .since = 1, .deprecated_since = null },
 481                 .{ .name = "avuy8888", .value = 1498764865, .since = 1, .deprecated_since = null },
 482                 .{ .name = "xvuy8888", .value = 1498764888, .since = 1, .deprecated_since = null },
 483                 .{ .name = "p030", .value = 808661072, .since = 1, .deprecated_since = null },
 484                 .{ .name = "rgb161616", .value = 942950226, .since = 1, .deprecated_since = null },
 485                 .{ .name = "bgr161616", .value = 942950210, .since = 1, .deprecated_since = null },
 486                 .{ .name = "r16f", .value = 1210064978, .since = 1, .deprecated_since = null },
 487                 .{ .name = "gr1616f", .value = 1210077767, .since = 1, .deprecated_since = null },
 488                 .{ .name = "bgr161616f", .value = 1213351746, .since = 1, .deprecated_since = null },
 489                 .{ .name = "r32f", .value = 1176510546, .since = 1, .deprecated_since = null },
 490                 .{ .name = "gr3232f", .value = 1176523335, .since = 1, .deprecated_since = null },
 491                 .{ .name = "bgr323232f", .value = 1179797314, .since = 1, .deprecated_since = null },
 492                 .{ .name = "abgr32323232f", .value = 1178092097, .since = 1, .deprecated_since = null },
 493                 .{ .name = "nv20", .value = 808605262, .since = 1, .deprecated_since = null },
 494                 .{ .name = "nv30", .value = 808670798, .since = 1, .deprecated_since = null },
 495                 .{ .name = "s010", .value = 808530003, .since = 1, .deprecated_since = null },
 496                 .{ .name = "s210", .value = 808530515, .since = 1, .deprecated_since = null },
 497                 .{ .name = "s410", .value = 808531027, .since = 1, .deprecated_since = null },
 498                 .{ .name = "s012", .value = 842084435, .since = 1, .deprecated_since = null },
 499                 .{ .name = "s212", .value = 842084947, .since = 1, .deprecated_since = null },
 500                 .{ .name = "s412", .value = 842085459, .since = 1, .deprecated_since = null },
 501                 .{ .name = "s016", .value = 909193299, .since = 1, .deprecated_since = null },
 502                 .{ .name = "s216", .value = 909193811, .since = 1, .deprecated_since = null },
 503                 .{ .name = "s416", .value = 909194323, .since = 1, .deprecated_since = null },
 504             },
 505         };
 506         pub const all = [_]schema.Enumeration{ @"error", format };
 507     };
 508     pub const metadata: schema.Interface = .{
 509         .name = "wl_shm",
 510         .version = 2,
 511         .requests = &requests.all,
 512         .events = &events.all,
 513         .enumerations = &enumerations.all,
 514     };
 515 };
 516 
 517 pub const wl_buffer = struct {
 518     pub const requests = struct {
 519         pub const destroy: schema.Message = .{
 520             .name = "destroy",
 521             .opcode = 0,
 522             .since = 1,
 523             .deprecated_since = null,
 524             .destructor = true,
 525             .signature = "",
 526             .descriptor_count = 0,
 527             .minimum_payload_size = 0,
 528             .arguments = &.{},
 529         };
 530         pub const all = [_]schema.Message{destroy};
 531     };
 532     pub const events = struct {
 533         pub const release: schema.Message = .{
 534             .name = "release",
 535             .opcode = 0,
 536             .since = 1,
 537             .deprecated_since = null,
 538             .destructor = false,
 539             .signature = "",
 540             .descriptor_count = 0,
 541             .minimum_payload_size = 0,
 542             .arguments = &.{},
 543         };
 544         pub const all = [_]schema.Message{release};
 545     };
 546     pub const enumerations = struct {
 547         pub const all = [_]schema.Enumeration{};
 548     };
 549     pub const metadata: schema.Interface = .{
 550         .name = "wl_buffer",
 551         .version = 1,
 552         .requests = &requests.all,
 553         .events = &events.all,
 554         .enumerations = &enumerations.all,
 555     };
 556 };
 557 
 558 pub const wl_data_offer = struct {
 559     pub const requests = struct {
 560         pub const accept: schema.Message = .{
 561             .name = "accept",
 562             .opcode = 0,
 563             .since = 1,
 564             .deprecated_since = null,
 565             .destructor = false,
 566             .signature = "u?s",
 567             .descriptor_count = 0,
 568             .minimum_payload_size = 8,
 569             .arguments = &.{
 570                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 571                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = true },
 572             },
 573         };
 574         pub const receive: schema.Message = .{
 575             .name = "receive",
 576             .opcode = 1,
 577             .since = 1,
 578             .deprecated_since = null,
 579             .destructor = false,
 580             .signature = "sh",
 581             .descriptor_count = 1,
 582             .minimum_payload_size = 8,
 583             .arguments = &.{
 584                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 585                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
 586             },
 587         };
 588         pub const destroy: schema.Message = .{
 589             .name = "destroy",
 590             .opcode = 2,
 591             .since = 1,
 592             .deprecated_since = null,
 593             .destructor = true,
 594             .signature = "",
 595             .descriptor_count = 0,
 596             .minimum_payload_size = 0,
 597             .arguments = &.{},
 598         };
 599         pub const finish: schema.Message = .{
 600             .name = "finish",
 601             .opcode = 3,
 602             .since = 3,
 603             .deprecated_since = null,
 604             .destructor = false,
 605             .signature = "3",
 606             .descriptor_count = 0,
 607             .minimum_payload_size = 0,
 608             .arguments = &.{},
 609         };
 610         pub const set_actions: schema.Message = .{
 611             .name = "set_actions",
 612             .opcode = 4,
 613             .since = 3,
 614             .deprecated_since = null,
 615             .destructor = false,
 616             .signature = "3uu",
 617             .descriptor_count = 0,
 618             .minimum_payload_size = 8,
 619             .arguments = &.{
 620                 .{ .name = "dnd_actions", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 621                 .{ .name = "preferred_action", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 622             },
 623         };
 624         pub const all = [_]schema.Message{ accept, receive, destroy, finish, set_actions };
 625     };
 626     pub const events = struct {
 627         pub const offer: schema.Message = .{
 628             .name = "offer",
 629             .opcode = 0,
 630             .since = 1,
 631             .deprecated_since = null,
 632             .destructor = false,
 633             .signature = "s",
 634             .descriptor_count = 0,
 635             .minimum_payload_size = 8,
 636             .arguments = &.{
 637                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 638             },
 639         };
 640         pub const source_actions: schema.Message = .{
 641             .name = "source_actions",
 642             .opcode = 1,
 643             .since = 3,
 644             .deprecated_since = null,
 645             .destructor = false,
 646             .signature = "3u",
 647             .descriptor_count = 0,
 648             .minimum_payload_size = 4,
 649             .arguments = &.{
 650                 .{ .name = "source_actions", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 651             },
 652         };
 653         pub const action: schema.Message = .{
 654             .name = "action",
 655             .opcode = 2,
 656             .since = 3,
 657             .deprecated_since = null,
 658             .destructor = false,
 659             .signature = "3u",
 660             .descriptor_count = 0,
 661             .minimum_payload_size = 4,
 662             .arguments = &.{
 663                 .{ .name = "dnd_action", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 664             },
 665         };
 666         pub const all = [_]schema.Message{ offer, source_actions, action };
 667     };
 668     pub const enumerations = struct {
 669         pub const @"error": schema.Enumeration = .{
 670             .name = "error",
 671             .since = 1,
 672             .bitfield = false,
 673             .entries = &.{
 674                 .{ .name = "invalid_finish", .value = 0, .since = 1, .deprecated_since = null },
 675                 .{ .name = "invalid_action_mask", .value = 1, .since = 1, .deprecated_since = null },
 676                 .{ .name = "invalid_action", .value = 2, .since = 1, .deprecated_since = null },
 677                 .{ .name = "invalid_offer", .value = 3, .since = 1, .deprecated_since = null },
 678             },
 679         };
 680         pub const all = [_]schema.Enumeration{@"error"};
 681     };
 682     pub const metadata: schema.Interface = .{
 683         .name = "wl_data_offer",
 684         .version = 4,
 685         .requests = &requests.all,
 686         .events = &events.all,
 687         .enumerations = &enumerations.all,
 688     };
 689 };
 690 
 691 pub const wl_data_source = struct {
 692     pub const requests = struct {
 693         pub const offer: schema.Message = .{
 694             .name = "offer",
 695             .opcode = 0,
 696             .since = 1,
 697             .deprecated_since = null,
 698             .destructor = false,
 699             .signature = "s",
 700             .descriptor_count = 0,
 701             .minimum_payload_size = 8,
 702             .arguments = &.{
 703                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 704             },
 705         };
 706         pub const destroy: schema.Message = .{
 707             .name = "destroy",
 708             .opcode = 1,
 709             .since = 1,
 710             .deprecated_since = null,
 711             .destructor = true,
 712             .signature = "",
 713             .descriptor_count = 0,
 714             .minimum_payload_size = 0,
 715             .arguments = &.{},
 716         };
 717         pub const set_actions: schema.Message = .{
 718             .name = "set_actions",
 719             .opcode = 2,
 720             .since = 3,
 721             .deprecated_since = null,
 722             .destructor = false,
 723             .signature = "3u",
 724             .descriptor_count = 0,
 725             .minimum_payload_size = 4,
 726             .arguments = &.{
 727                 .{ .name = "dnd_actions", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 728             },
 729         };
 730         pub const all = [_]schema.Message{ offer, destroy, set_actions };
 731     };
 732     pub const events = struct {
 733         pub const target: schema.Message = .{
 734             .name = "target",
 735             .opcode = 0,
 736             .since = 1,
 737             .deprecated_since = null,
 738             .destructor = false,
 739             .signature = "?s",
 740             .descriptor_count = 0,
 741             .minimum_payload_size = 4,
 742             .arguments = &.{
 743                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = true },
 744             },
 745         };
 746         pub const send: schema.Message = .{
 747             .name = "send",
 748             .opcode = 1,
 749             .since = 1,
 750             .deprecated_since = null,
 751             .destructor = false,
 752             .signature = "sh",
 753             .descriptor_count = 1,
 754             .minimum_payload_size = 8,
 755             .arguments = &.{
 756                 .{ .name = "mime_type", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 757                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
 758             },
 759         };
 760         pub const cancelled: schema.Message = .{
 761             .name = "cancelled",
 762             .opcode = 2,
 763             .since = 1,
 764             .deprecated_since = null,
 765             .destructor = false,
 766             .signature = "",
 767             .descriptor_count = 0,
 768             .minimum_payload_size = 0,
 769             .arguments = &.{},
 770         };
 771         pub const dnd_drop_performed: schema.Message = .{
 772             .name = "dnd_drop_performed",
 773             .opcode = 3,
 774             .since = 3,
 775             .deprecated_since = null,
 776             .destructor = false,
 777             .signature = "3",
 778             .descriptor_count = 0,
 779             .minimum_payload_size = 0,
 780             .arguments = &.{},
 781         };
 782         pub const dnd_finished: schema.Message = .{
 783             .name = "dnd_finished",
 784             .opcode = 4,
 785             .since = 3,
 786             .deprecated_since = null,
 787             .destructor = false,
 788             .signature = "3",
 789             .descriptor_count = 0,
 790             .minimum_payload_size = 0,
 791             .arguments = &.{},
 792         };
 793         pub const action: schema.Message = .{
 794             .name = "action",
 795             .opcode = 5,
 796             .since = 3,
 797             .deprecated_since = null,
 798             .destructor = false,
 799             .signature = "3u",
 800             .descriptor_count = 0,
 801             .minimum_payload_size = 4,
 802             .arguments = &.{
 803                 .{ .name = "dnd_action", .kind = .uint, .interface = null, .enumeration = "wl_data_device_manager.dnd_action", .nullable = false },
 804             },
 805         };
 806         pub const all = [_]schema.Message{ target, send, cancelled, dnd_drop_performed, dnd_finished, action };
 807     };
 808     pub const enumerations = struct {
 809         pub const @"error": schema.Enumeration = .{
 810             .name = "error",
 811             .since = 1,
 812             .bitfield = false,
 813             .entries = &.{
 814                 .{ .name = "invalid_action_mask", .value = 0, .since = 1, .deprecated_since = null },
 815                 .{ .name = "invalid_source", .value = 1, .since = 1, .deprecated_since = null },
 816             },
 817         };
 818         pub const all = [_]schema.Enumeration{@"error"};
 819     };
 820     pub const metadata: schema.Interface = .{
 821         .name = "wl_data_source",
 822         .version = 4,
 823         .requests = &requests.all,
 824         .events = &events.all,
 825         .enumerations = &enumerations.all,
 826     };
 827 };
 828 
 829 pub const wl_data_device = struct {
 830     pub const requests = struct {
 831         pub const start_drag: schema.Message = .{
 832             .name = "start_drag",
 833             .opcode = 0,
 834             .since = 1,
 835             .deprecated_since = null,
 836             .destructor = false,
 837             .signature = "?oo?ou",
 838             .descriptor_count = 0,
 839             .minimum_payload_size = 16,
 840             .arguments = &.{
 841                 .{ .name = "source", .kind = .object, .interface = "wl_data_source", .enumeration = null, .nullable = true },
 842                 .{ .name = "origin", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
 843                 .{ .name = "icon", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = true },
 844                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 845             },
 846         };
 847         pub const set_selection: schema.Message = .{
 848             .name = "set_selection",
 849             .opcode = 1,
 850             .since = 1,
 851             .deprecated_since = null,
 852             .destructor = false,
 853             .signature = "?ou",
 854             .descriptor_count = 0,
 855             .minimum_payload_size = 8,
 856             .arguments = &.{
 857                 .{ .name = "source", .kind = .object, .interface = "wl_data_source", .enumeration = null, .nullable = true },
 858                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 859             },
 860         };
 861         pub const release: schema.Message = .{
 862             .name = "release",
 863             .opcode = 2,
 864             .since = 2,
 865             .deprecated_since = null,
 866             .destructor = true,
 867             .signature = "2",
 868             .descriptor_count = 0,
 869             .minimum_payload_size = 0,
 870             .arguments = &.{},
 871         };
 872         pub const all = [_]schema.Message{ start_drag, set_selection, release };
 873     };
 874     pub const events = struct {
 875         pub const data_offer: schema.Message = .{
 876             .name = "data_offer",
 877             .opcode = 0,
 878             .since = 1,
 879             .deprecated_since = null,
 880             .destructor = false,
 881             .signature = "n",
 882             .descriptor_count = 0,
 883             .minimum_payload_size = 4,
 884             .arguments = &.{
 885                 .{ .name = "id", .kind = .new_id, .interface = "wl_data_offer", .enumeration = null, .nullable = false },
 886             },
 887         };
 888         pub const enter: schema.Message = .{
 889             .name = "enter",
 890             .opcode = 1,
 891             .since = 1,
 892             .deprecated_since = null,
 893             .destructor = false,
 894             .signature = "uoff?o",
 895             .descriptor_count = 0,
 896             .minimum_payload_size = 20,
 897             .arguments = &.{
 898                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 899                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
 900                 .{ .name = "x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 901                 .{ .name = "y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 902                 .{ .name = "id", .kind = .object, .interface = "wl_data_offer", .enumeration = null, .nullable = true },
 903             },
 904         };
 905         pub const leave: schema.Message = .{
 906             .name = "leave",
 907             .opcode = 2,
 908             .since = 1,
 909             .deprecated_since = null,
 910             .destructor = false,
 911             .signature = "",
 912             .descriptor_count = 0,
 913             .minimum_payload_size = 0,
 914             .arguments = &.{},
 915         };
 916         pub const motion: schema.Message = .{
 917             .name = "motion",
 918             .opcode = 3,
 919             .since = 1,
 920             .deprecated_since = null,
 921             .destructor = false,
 922             .signature = "uff",
 923             .descriptor_count = 0,
 924             .minimum_payload_size = 12,
 925             .arguments = &.{
 926                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 927                 .{ .name = "x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 928                 .{ .name = "y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 929             },
 930         };
 931         pub const drop: schema.Message = .{
 932             .name = "drop",
 933             .opcode = 4,
 934             .since = 1,
 935             .deprecated_since = null,
 936             .destructor = false,
 937             .signature = "",
 938             .descriptor_count = 0,
 939             .minimum_payload_size = 0,
 940             .arguments = &.{},
 941         };
 942         pub const selection: schema.Message = .{
 943             .name = "selection",
 944             .opcode = 5,
 945             .since = 1,
 946             .deprecated_since = null,
 947             .destructor = false,
 948             .signature = "?o",
 949             .descriptor_count = 0,
 950             .minimum_payload_size = 4,
 951             .arguments = &.{
 952                 .{ .name = "id", .kind = .object, .interface = "wl_data_offer", .enumeration = null, .nullable = true },
 953             },
 954         };
 955         pub const all = [_]schema.Message{ data_offer, enter, leave, motion, drop, selection };
 956     };
 957     pub const enumerations = struct {
 958         pub const @"error": schema.Enumeration = .{
 959             .name = "error",
 960             .since = 1,
 961             .bitfield = false,
 962             .entries = &.{
 963                 .{ .name = "role", .value = 0, .since = 1, .deprecated_since = null },
 964                 .{ .name = "used_source", .value = 1, .since = 1, .deprecated_since = null },
 965             },
 966         };
 967         pub const all = [_]schema.Enumeration{@"error"};
 968     };
 969     pub const metadata: schema.Interface = .{
 970         .name = "wl_data_device",
 971         .version = 4,
 972         .requests = &requests.all,
 973         .events = &events.all,
 974         .enumerations = &enumerations.all,
 975     };
 976 };
 977 
 978 pub const wl_data_device_manager = struct {
 979     pub const requests = struct {
 980         pub const create_data_source: schema.Message = .{
 981             .name = "create_data_source",
 982             .opcode = 0,
 983             .since = 1,
 984             .deprecated_since = null,
 985             .destructor = false,
 986             .signature = "n",
 987             .descriptor_count = 0,
 988             .minimum_payload_size = 4,
 989             .arguments = &.{
 990                 .{ .name = "id", .kind = .new_id, .interface = "wl_data_source", .enumeration = null, .nullable = false },
 991             },
 992         };
 993         pub const get_data_device: schema.Message = .{
 994             .name = "get_data_device",
 995             .opcode = 1,
 996             .since = 1,
 997             .deprecated_since = null,
 998             .destructor = false,
 999             .signature = "no",
1000             .descriptor_count = 0,
1001             .minimum_payload_size = 8,
1002             .arguments = &.{
1003                 .{ .name = "id", .kind = .new_id, .interface = "wl_data_device", .enumeration = null, .nullable = false },
1004                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
1005             },
1006         };
1007         pub const release: schema.Message = .{
1008             .name = "release",
1009             .opcode = 2,
1010             .since = 4,
1011             .deprecated_since = null,
1012             .destructor = true,
1013             .signature = "4",
1014             .descriptor_count = 0,
1015             .minimum_payload_size = 0,
1016             .arguments = &.{},
1017         };
1018         pub const all = [_]schema.Message{ create_data_source, get_data_device, release };
1019     };
1020     pub const events = struct {
1021         pub const all = [_]schema.Message{};
1022     };
1023     pub const enumerations = struct {
1024         pub const dnd_action: schema.Enumeration = .{
1025             .name = "dnd_action",
1026             .since = 3,
1027             .bitfield = true,
1028             .entries = &.{
1029                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
1030                 .{ .name = "copy", .value = 1, .since = 1, .deprecated_since = null },
1031                 .{ .name = "move", .value = 2, .since = 1, .deprecated_since = null },
1032                 .{ .name = "ask", .value = 4, .since = 1, .deprecated_since = null },
1033             },
1034         };
1035         pub const all = [_]schema.Enumeration{dnd_action};
1036     };
1037     pub const metadata: schema.Interface = .{
1038         .name = "wl_data_device_manager",
1039         .version = 4,
1040         .requests = &requests.all,
1041         .events = &events.all,
1042         .enumerations = &enumerations.all,
1043     };
1044 };
1045 
1046 pub const wl_shell = struct {
1047     pub const requests = struct {
1048         pub const get_shell_surface: schema.Message = .{
1049             .name = "get_shell_surface",
1050             .opcode = 0,
1051             .since = 1,
1052             .deprecated_since = null,
1053             .destructor = false,
1054             .signature = "no",
1055             .descriptor_count = 0,
1056             .minimum_payload_size = 8,
1057             .arguments = &.{
1058                 .{ .name = "id", .kind = .new_id, .interface = "wl_shell_surface", .enumeration = null, .nullable = false },
1059                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1060             },
1061         };
1062         pub const all = [_]schema.Message{get_shell_surface};
1063     };
1064     pub const events = struct {
1065         pub const all = [_]schema.Message{};
1066     };
1067     pub const enumerations = struct {
1068         pub const @"error": schema.Enumeration = .{
1069             .name = "error",
1070             .since = 1,
1071             .bitfield = false,
1072             .entries = &.{
1073                 .{ .name = "role", .value = 0, .since = 1, .deprecated_since = null },
1074             },
1075         };
1076         pub const all = [_]schema.Enumeration{@"error"};
1077     };
1078     pub const metadata: schema.Interface = .{
1079         .name = "wl_shell",
1080         .version = 1,
1081         .requests = &requests.all,
1082         .events = &events.all,
1083         .enumerations = &enumerations.all,
1084     };
1085 };
1086 
1087 pub const wl_shell_surface = struct {
1088     pub const requests = struct {
1089         pub const pong: schema.Message = .{
1090             .name = "pong",
1091             .opcode = 0,
1092             .since = 1,
1093             .deprecated_since = null,
1094             .destructor = false,
1095             .signature = "u",
1096             .descriptor_count = 0,
1097             .minimum_payload_size = 4,
1098             .arguments = &.{
1099                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1100             },
1101         };
1102         pub const move: schema.Message = .{
1103             .name = "move",
1104             .opcode = 1,
1105             .since = 1,
1106             .deprecated_since = null,
1107             .destructor = false,
1108             .signature = "ou",
1109             .descriptor_count = 0,
1110             .minimum_payload_size = 8,
1111             .arguments = &.{
1112                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
1113                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1114             },
1115         };
1116         pub const resize: schema.Message = .{
1117             .name = "resize",
1118             .opcode = 2,
1119             .since = 1,
1120             .deprecated_since = null,
1121             .destructor = false,
1122             .signature = "ouu",
1123             .descriptor_count = 0,
1124             .minimum_payload_size = 12,
1125             .arguments = &.{
1126                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
1127                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1128                 .{ .name = "edges", .kind = .uint, .interface = null, .enumeration = "resize", .nullable = false },
1129             },
1130         };
1131         pub const set_toplevel: schema.Message = .{
1132             .name = "set_toplevel",
1133             .opcode = 3,
1134             .since = 1,
1135             .deprecated_since = null,
1136             .destructor = false,
1137             .signature = "",
1138             .descriptor_count = 0,
1139             .minimum_payload_size = 0,
1140             .arguments = &.{},
1141         };
1142         pub const set_transient: schema.Message = .{
1143             .name = "set_transient",
1144             .opcode = 4,
1145             .since = 1,
1146             .deprecated_since = null,
1147             .destructor = false,
1148             .signature = "oiiu",
1149             .descriptor_count = 0,
1150             .minimum_payload_size = 16,
1151             .arguments = &.{
1152                 .{ .name = "parent", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1153                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1154                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1155                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "transient", .nullable = false },
1156             },
1157         };
1158         pub const set_fullscreen: schema.Message = .{
1159             .name = "set_fullscreen",
1160             .opcode = 5,
1161             .since = 1,
1162             .deprecated_since = null,
1163             .destructor = false,
1164             .signature = "uu?o",
1165             .descriptor_count = 0,
1166             .minimum_payload_size = 12,
1167             .arguments = &.{
1168                 .{ .name = "method", .kind = .uint, .interface = null, .enumeration = "fullscreen_method", .nullable = false },
1169                 .{ .name = "framerate", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1170                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = true },
1171             },
1172         };
1173         pub const set_popup: schema.Message = .{
1174             .name = "set_popup",
1175             .opcode = 6,
1176             .since = 1,
1177             .deprecated_since = null,
1178             .destructor = false,
1179             .signature = "ouoiiu",
1180             .descriptor_count = 0,
1181             .minimum_payload_size = 24,
1182             .arguments = &.{
1183                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
1184                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1185                 .{ .name = "parent", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1186                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1187                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1188                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "transient", .nullable = false },
1189             },
1190         };
1191         pub const set_maximized: schema.Message = .{
1192             .name = "set_maximized",
1193             .opcode = 7,
1194             .since = 1,
1195             .deprecated_since = null,
1196             .destructor = false,
1197             .signature = "?o",
1198             .descriptor_count = 0,
1199             .minimum_payload_size = 4,
1200             .arguments = &.{
1201                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = true },
1202             },
1203         };
1204         pub const set_title: schema.Message = .{
1205             .name = "set_title",
1206             .opcode = 8,
1207             .since = 1,
1208             .deprecated_since = null,
1209             .destructor = false,
1210             .signature = "s",
1211             .descriptor_count = 0,
1212             .minimum_payload_size = 8,
1213             .arguments = &.{
1214                 .{ .name = "title", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
1215             },
1216         };
1217         pub const set_class: schema.Message = .{
1218             .name = "set_class",
1219             .opcode = 9,
1220             .since = 1,
1221             .deprecated_since = null,
1222             .destructor = false,
1223             .signature = "s",
1224             .descriptor_count = 0,
1225             .minimum_payload_size = 8,
1226             .arguments = &.{
1227                 .{ .name = "class_", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
1228             },
1229         };
1230         pub const all = [_]schema.Message{ pong, move, resize, set_toplevel, set_transient, set_fullscreen, set_popup, set_maximized, set_title, set_class };
1231     };
1232     pub const events = struct {
1233         pub const ping: schema.Message = .{
1234             .name = "ping",
1235             .opcode = 0,
1236             .since = 1,
1237             .deprecated_since = null,
1238             .destructor = false,
1239             .signature = "u",
1240             .descriptor_count = 0,
1241             .minimum_payload_size = 4,
1242             .arguments = &.{
1243                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1244             },
1245         };
1246         pub const configure: schema.Message = .{
1247             .name = "configure",
1248             .opcode = 1,
1249             .since = 1,
1250             .deprecated_since = null,
1251             .destructor = false,
1252             .signature = "uii",
1253             .descriptor_count = 0,
1254             .minimum_payload_size = 12,
1255             .arguments = &.{
1256                 .{ .name = "edges", .kind = .uint, .interface = null, .enumeration = "resize", .nullable = false },
1257                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1258                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1259             },
1260         };
1261         pub const popup_done: schema.Message = .{
1262             .name = "popup_done",
1263             .opcode = 2,
1264             .since = 1,
1265             .deprecated_since = null,
1266             .destructor = false,
1267             .signature = "",
1268             .descriptor_count = 0,
1269             .minimum_payload_size = 0,
1270             .arguments = &.{},
1271         };
1272         pub const all = [_]schema.Message{ ping, configure, popup_done };
1273     };
1274     pub const enumerations = struct {
1275         pub const resize: schema.Enumeration = .{
1276             .name = "resize",
1277             .since = 1,
1278             .bitfield = true,
1279             .entries = &.{
1280                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
1281                 .{ .name = "top", .value = 1, .since = 1, .deprecated_since = null },
1282                 .{ .name = "bottom", .value = 2, .since = 1, .deprecated_since = null },
1283                 .{ .name = "left", .value = 4, .since = 1, .deprecated_since = null },
1284                 .{ .name = "top_left", .value = 5, .since = 1, .deprecated_since = null },
1285                 .{ .name = "bottom_left", .value = 6, .since = 1, .deprecated_since = null },
1286                 .{ .name = "right", .value = 8, .since = 1, .deprecated_since = null },
1287                 .{ .name = "top_right", .value = 9, .since = 1, .deprecated_since = null },
1288                 .{ .name = "bottom_right", .value = 10, .since = 1, .deprecated_since = null },
1289             },
1290         };
1291         pub const transient: schema.Enumeration = .{
1292             .name = "transient",
1293             .since = 1,
1294             .bitfield = true,
1295             .entries = &.{
1296                 .{ .name = "inactive", .value = 1, .since = 1, .deprecated_since = null },
1297             },
1298         };
1299         pub const fullscreen_method: schema.Enumeration = .{
1300             .name = "fullscreen_method",
1301             .since = 1,
1302             .bitfield = false,
1303             .entries = &.{
1304                 .{ .name = "default", .value = 0, .since = 1, .deprecated_since = null },
1305                 .{ .name = "scale", .value = 1, .since = 1, .deprecated_since = null },
1306                 .{ .name = "driver", .value = 2, .since = 1, .deprecated_since = null },
1307                 .{ .name = "fill", .value = 3, .since = 1, .deprecated_since = null },
1308             },
1309         };
1310         pub const all = [_]schema.Enumeration{ resize, transient, fullscreen_method };
1311     };
1312     pub const metadata: schema.Interface = .{
1313         .name = "wl_shell_surface",
1314         .version = 1,
1315         .requests = &requests.all,
1316         .events = &events.all,
1317         .enumerations = &enumerations.all,
1318     };
1319 };
1320 
1321 pub const wl_surface = struct {
1322     pub const requests = struct {
1323         pub const destroy: schema.Message = .{
1324             .name = "destroy",
1325             .opcode = 0,
1326             .since = 1,
1327             .deprecated_since = null,
1328             .destructor = true,
1329             .signature = "",
1330             .descriptor_count = 0,
1331             .minimum_payload_size = 0,
1332             .arguments = &.{},
1333         };
1334         pub const attach: schema.Message = .{
1335             .name = "attach",
1336             .opcode = 1,
1337             .since = 1,
1338             .deprecated_since = null,
1339             .destructor = false,
1340             .signature = "?oii",
1341             .descriptor_count = 0,
1342             .minimum_payload_size = 12,
1343             .arguments = &.{
1344                 .{ .name = "buffer", .kind = .object, .interface = "wl_buffer", .enumeration = null, .nullable = true },
1345                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1346                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1347             },
1348         };
1349         pub const damage: schema.Message = .{
1350             .name = "damage",
1351             .opcode = 2,
1352             .since = 1,
1353             .deprecated_since = null,
1354             .destructor = false,
1355             .signature = "iiii",
1356             .descriptor_count = 0,
1357             .minimum_payload_size = 16,
1358             .arguments = &.{
1359                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1360                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1361                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1362                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1363             },
1364         };
1365         pub const frame: schema.Message = .{
1366             .name = "frame",
1367             .opcode = 3,
1368             .since = 1,
1369             .deprecated_since = null,
1370             .destructor = false,
1371             .signature = "n",
1372             .descriptor_count = 0,
1373             .minimum_payload_size = 4,
1374             .arguments = &.{
1375                 .{ .name = "callback", .kind = .new_id, .interface = "wl_callback", .enumeration = null, .nullable = false },
1376             },
1377         };
1378         pub const set_opaque_region: schema.Message = .{
1379             .name = "set_opaque_region",
1380             .opcode = 4,
1381             .since = 1,
1382             .deprecated_since = null,
1383             .destructor = false,
1384             .signature = "?o",
1385             .descriptor_count = 0,
1386             .minimum_payload_size = 4,
1387             .arguments = &.{
1388                 .{ .name = "region", .kind = .object, .interface = "wl_region", .enumeration = null, .nullable = true },
1389             },
1390         };
1391         pub const set_input_region: schema.Message = .{
1392             .name = "set_input_region",
1393             .opcode = 5,
1394             .since = 1,
1395             .deprecated_since = null,
1396             .destructor = false,
1397             .signature = "?o",
1398             .descriptor_count = 0,
1399             .minimum_payload_size = 4,
1400             .arguments = &.{
1401                 .{ .name = "region", .kind = .object, .interface = "wl_region", .enumeration = null, .nullable = true },
1402             },
1403         };
1404         pub const commit: schema.Message = .{
1405             .name = "commit",
1406             .opcode = 6,
1407             .since = 1,
1408             .deprecated_since = null,
1409             .destructor = false,
1410             .signature = "",
1411             .descriptor_count = 0,
1412             .minimum_payload_size = 0,
1413             .arguments = &.{},
1414         };
1415         pub const set_buffer_transform: schema.Message = .{
1416             .name = "set_buffer_transform",
1417             .opcode = 7,
1418             .since = 2,
1419             .deprecated_since = null,
1420             .destructor = false,
1421             .signature = "2i",
1422             .descriptor_count = 0,
1423             .minimum_payload_size = 4,
1424             .arguments = &.{
1425                 .{ .name = "transform", .kind = .int, .interface = null, .enumeration = "wl_output.transform", .nullable = false },
1426             },
1427         };
1428         pub const set_buffer_scale: schema.Message = .{
1429             .name = "set_buffer_scale",
1430             .opcode = 8,
1431             .since = 3,
1432             .deprecated_since = null,
1433             .destructor = false,
1434             .signature = "3i",
1435             .descriptor_count = 0,
1436             .minimum_payload_size = 4,
1437             .arguments = &.{
1438                 .{ .name = "scale", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1439             },
1440         };
1441         pub const damage_buffer: schema.Message = .{
1442             .name = "damage_buffer",
1443             .opcode = 9,
1444             .since = 4,
1445             .deprecated_since = null,
1446             .destructor = false,
1447             .signature = "4iiii",
1448             .descriptor_count = 0,
1449             .minimum_payload_size = 16,
1450             .arguments = &.{
1451                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1452                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1453                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1454                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1455             },
1456         };
1457         pub const offset: schema.Message = .{
1458             .name = "offset",
1459             .opcode = 10,
1460             .since = 5,
1461             .deprecated_since = null,
1462             .destructor = false,
1463             .signature = "5ii",
1464             .descriptor_count = 0,
1465             .minimum_payload_size = 8,
1466             .arguments = &.{
1467                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1468                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1469             },
1470         };
1471         pub const get_release: schema.Message = .{
1472             .name = "get_release",
1473             .opcode = 11,
1474             .since = 7,
1475             .deprecated_since = null,
1476             .destructor = false,
1477             .signature = "7n",
1478             .descriptor_count = 0,
1479             .minimum_payload_size = 4,
1480             .arguments = &.{
1481                 .{ .name = "callback", .kind = .new_id, .interface = "wl_callback", .enumeration = null, .nullable = false },
1482             },
1483         };
1484         pub const all = [_]schema.Message{ destroy, attach, damage, frame, set_opaque_region, set_input_region, commit, set_buffer_transform, set_buffer_scale, damage_buffer, offset, get_release };
1485     };
1486     pub const events = struct {
1487         pub const enter: schema.Message = .{
1488             .name = "enter",
1489             .opcode = 0,
1490             .since = 1,
1491             .deprecated_since = null,
1492             .destructor = false,
1493             .signature = "o",
1494             .descriptor_count = 0,
1495             .minimum_payload_size = 4,
1496             .arguments = &.{
1497                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = false },
1498             },
1499         };
1500         pub const leave: schema.Message = .{
1501             .name = "leave",
1502             .opcode = 1,
1503             .since = 1,
1504             .deprecated_since = null,
1505             .destructor = false,
1506             .signature = "o",
1507             .descriptor_count = 0,
1508             .minimum_payload_size = 4,
1509             .arguments = &.{
1510                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = false },
1511             },
1512         };
1513         pub const preferred_buffer_scale: schema.Message = .{
1514             .name = "preferred_buffer_scale",
1515             .opcode = 2,
1516             .since = 6,
1517             .deprecated_since = null,
1518             .destructor = false,
1519             .signature = "6i",
1520             .descriptor_count = 0,
1521             .minimum_payload_size = 4,
1522             .arguments = &.{
1523                 .{ .name = "factor", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1524             },
1525         };
1526         pub const preferred_buffer_transform: schema.Message = .{
1527             .name = "preferred_buffer_transform",
1528             .opcode = 3,
1529             .since = 6,
1530             .deprecated_since = null,
1531             .destructor = false,
1532             .signature = "6u",
1533             .descriptor_count = 0,
1534             .minimum_payload_size = 4,
1535             .arguments = &.{
1536                 .{ .name = "transform", .kind = .uint, .interface = null, .enumeration = "wl_output.transform", .nullable = false },
1537             },
1538         };
1539         pub const all = [_]schema.Message{ enter, leave, preferred_buffer_scale, preferred_buffer_transform };
1540     };
1541     pub const enumerations = struct {
1542         pub const @"error": schema.Enumeration = .{
1543             .name = "error",
1544             .since = 1,
1545             .bitfield = false,
1546             .entries = &.{
1547                 .{ .name = "invalid_scale", .value = 0, .since = 1, .deprecated_since = null },
1548                 .{ .name = "invalid_transform", .value = 1, .since = 1, .deprecated_since = null },
1549                 .{ .name = "invalid_size", .value = 2, .since = 1, .deprecated_since = null },
1550                 .{ .name = "invalid_offset", .value = 3, .since = 1, .deprecated_since = null },
1551                 .{ .name = "defunct_role_object", .value = 4, .since = 1, .deprecated_since = null },
1552                 .{ .name = "no_buffer", .value = 5, .since = 1, .deprecated_since = null },
1553             },
1554         };
1555         pub const all = [_]schema.Enumeration{@"error"};
1556     };
1557     pub const metadata: schema.Interface = .{
1558         .name = "wl_surface",
1559         .version = 7,
1560         .requests = &requests.all,
1561         .events = &events.all,
1562         .enumerations = &enumerations.all,
1563     };
1564 };
1565 
1566 pub const wl_seat = struct {
1567     pub const requests = struct {
1568         pub const get_pointer: schema.Message = .{
1569             .name = "get_pointer",
1570             .opcode = 0,
1571             .since = 1,
1572             .deprecated_since = null,
1573             .destructor = false,
1574             .signature = "n",
1575             .descriptor_count = 0,
1576             .minimum_payload_size = 4,
1577             .arguments = &.{
1578                 .{ .name = "id", .kind = .new_id, .interface = "wl_pointer", .enumeration = null, .nullable = false },
1579             },
1580         };
1581         pub const get_keyboard: schema.Message = .{
1582             .name = "get_keyboard",
1583             .opcode = 1,
1584             .since = 1,
1585             .deprecated_since = null,
1586             .destructor = false,
1587             .signature = "n",
1588             .descriptor_count = 0,
1589             .minimum_payload_size = 4,
1590             .arguments = &.{
1591                 .{ .name = "id", .kind = .new_id, .interface = "wl_keyboard", .enumeration = null, .nullable = false },
1592             },
1593         };
1594         pub const get_touch: schema.Message = .{
1595             .name = "get_touch",
1596             .opcode = 2,
1597             .since = 1,
1598             .deprecated_since = null,
1599             .destructor = false,
1600             .signature = "n",
1601             .descriptor_count = 0,
1602             .minimum_payload_size = 4,
1603             .arguments = &.{
1604                 .{ .name = "id", .kind = .new_id, .interface = "wl_touch", .enumeration = null, .nullable = false },
1605             },
1606         };
1607         pub const release: schema.Message = .{
1608             .name = "release",
1609             .opcode = 3,
1610             .since = 5,
1611             .deprecated_since = null,
1612             .destructor = true,
1613             .signature = "5",
1614             .descriptor_count = 0,
1615             .minimum_payload_size = 0,
1616             .arguments = &.{},
1617         };
1618         pub const all = [_]schema.Message{ get_pointer, get_keyboard, get_touch, release };
1619     };
1620     pub const events = struct {
1621         pub const capabilities: schema.Message = .{
1622             .name = "capabilities",
1623             .opcode = 0,
1624             .since = 1,
1625             .deprecated_since = null,
1626             .destructor = false,
1627             .signature = "u",
1628             .descriptor_count = 0,
1629             .minimum_payload_size = 4,
1630             .arguments = &.{
1631                 .{ .name = "capabilities", .kind = .uint, .interface = null, .enumeration = "capability", .nullable = false },
1632             },
1633         };
1634         pub const name: schema.Message = .{
1635             .name = "name",
1636             .opcode = 1,
1637             .since = 2,
1638             .deprecated_since = null,
1639             .destructor = false,
1640             .signature = "2s",
1641             .descriptor_count = 0,
1642             .minimum_payload_size = 8,
1643             .arguments = &.{
1644                 .{ .name = "name", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
1645             },
1646         };
1647         pub const all = [_]schema.Message{ capabilities, name };
1648     };
1649     pub const enumerations = struct {
1650         pub const capability: schema.Enumeration = .{
1651             .name = "capability",
1652             .since = 1,
1653             .bitfield = true,
1654             .entries = &.{
1655                 .{ .name = "pointer", .value = 1, .since = 1, .deprecated_since = null },
1656                 .{ .name = "keyboard", .value = 2, .since = 1, .deprecated_since = null },
1657                 .{ .name = "touch", .value = 4, .since = 1, .deprecated_since = null },
1658             },
1659         };
1660         pub const @"error": schema.Enumeration = .{
1661             .name = "error",
1662             .since = 1,
1663             .bitfield = false,
1664             .entries = &.{
1665                 .{ .name = "missing_capability", .value = 0, .since = 1, .deprecated_since = null },
1666             },
1667         };
1668         pub const all = [_]schema.Enumeration{ capability, @"error" };
1669     };
1670     pub const metadata: schema.Interface = .{
1671         .name = "wl_seat",
1672         .version = 10,
1673         .requests = &requests.all,
1674         .events = &events.all,
1675         .enumerations = &enumerations.all,
1676     };
1677 };
1678 
1679 pub const wl_pointer = struct {
1680     pub const requests = struct {
1681         pub const set_cursor: schema.Message = .{
1682             .name = "set_cursor",
1683             .opcode = 0,
1684             .since = 1,
1685             .deprecated_since = null,
1686             .destructor = false,
1687             .signature = "u?oii",
1688             .descriptor_count = 0,
1689             .minimum_payload_size = 16,
1690             .arguments = &.{
1691                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1692                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = true },
1693                 .{ .name = "hotspot_x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1694                 .{ .name = "hotspot_y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1695             },
1696         };
1697         pub const release: schema.Message = .{
1698             .name = "release",
1699             .opcode = 1,
1700             .since = 3,
1701             .deprecated_since = null,
1702             .destructor = true,
1703             .signature = "3",
1704             .descriptor_count = 0,
1705             .minimum_payload_size = 0,
1706             .arguments = &.{},
1707         };
1708         pub const all = [_]schema.Message{ set_cursor, release };
1709     };
1710     pub const events = struct {
1711         pub const enter: schema.Message = .{
1712             .name = "enter",
1713             .opcode = 0,
1714             .since = 1,
1715             .deprecated_since = null,
1716             .destructor = false,
1717             .signature = "uoff",
1718             .descriptor_count = 0,
1719             .minimum_payload_size = 16,
1720             .arguments = &.{
1721                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1722                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1723                 .{ .name = "surface_x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
1724                 .{ .name = "surface_y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
1725             },
1726         };
1727         pub const leave: schema.Message = .{
1728             .name = "leave",
1729             .opcode = 1,
1730             .since = 1,
1731             .deprecated_since = null,
1732             .destructor = false,
1733             .signature = "uo",
1734             .descriptor_count = 0,
1735             .minimum_payload_size = 8,
1736             .arguments = &.{
1737                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1738                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1739             },
1740         };
1741         pub const motion: schema.Message = .{
1742             .name = "motion",
1743             .opcode = 2,
1744             .since = 1,
1745             .deprecated_since = null,
1746             .destructor = false,
1747             .signature = "uff",
1748             .descriptor_count = 0,
1749             .minimum_payload_size = 12,
1750             .arguments = &.{
1751                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1752                 .{ .name = "surface_x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
1753                 .{ .name = "surface_y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
1754             },
1755         };
1756         pub const button: schema.Message = .{
1757             .name = "button",
1758             .opcode = 3,
1759             .since = 1,
1760             .deprecated_since = null,
1761             .destructor = false,
1762             .signature = "uuuu",
1763             .descriptor_count = 0,
1764             .minimum_payload_size = 16,
1765             .arguments = &.{
1766                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1767                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1768                 .{ .name = "button", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1769                 .{ .name = "state", .kind = .uint, .interface = null, .enumeration = "button_state", .nullable = false },
1770             },
1771         };
1772         pub const axis: schema.Message = .{
1773             .name = "axis",
1774             .opcode = 4,
1775             .since = 1,
1776             .deprecated_since = null,
1777             .destructor = false,
1778             .signature = "uuf",
1779             .descriptor_count = 0,
1780             .minimum_payload_size = 12,
1781             .arguments = &.{
1782                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1783                 .{ .name = "axis", .kind = .uint, .interface = null, .enumeration = "axis", .nullable = false },
1784                 .{ .name = "value", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
1785             },
1786         };
1787         pub const frame: schema.Message = .{
1788             .name = "frame",
1789             .opcode = 5,
1790             .since = 5,
1791             .deprecated_since = null,
1792             .destructor = false,
1793             .signature = "5",
1794             .descriptor_count = 0,
1795             .minimum_payload_size = 0,
1796             .arguments = &.{},
1797         };
1798         pub const axis_source: schema.Message = .{
1799             .name = "axis_source",
1800             .opcode = 6,
1801             .since = 5,
1802             .deprecated_since = null,
1803             .destructor = false,
1804             .signature = "5u",
1805             .descriptor_count = 0,
1806             .minimum_payload_size = 4,
1807             .arguments = &.{
1808                 .{ .name = "axis_source", .kind = .uint, .interface = null, .enumeration = "axis_source", .nullable = false },
1809             },
1810         };
1811         pub const axis_stop: schema.Message = .{
1812             .name = "axis_stop",
1813             .opcode = 7,
1814             .since = 5,
1815             .deprecated_since = null,
1816             .destructor = false,
1817             .signature = "5uu",
1818             .descriptor_count = 0,
1819             .minimum_payload_size = 8,
1820             .arguments = &.{
1821                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1822                 .{ .name = "axis", .kind = .uint, .interface = null, .enumeration = "axis", .nullable = false },
1823             },
1824         };
1825         pub const axis_discrete: schema.Message = .{
1826             .name = "axis_discrete",
1827             .opcode = 8,
1828             .since = 5,
1829             .deprecated_since = 8,
1830             .destructor = false,
1831             .signature = "5ui",
1832             .descriptor_count = 0,
1833             .minimum_payload_size = 8,
1834             .arguments = &.{
1835                 .{ .name = "axis", .kind = .uint, .interface = null, .enumeration = "axis", .nullable = false },
1836                 .{ .name = "discrete", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1837             },
1838         };
1839         pub const axis_value120: schema.Message = .{
1840             .name = "axis_value120",
1841             .opcode = 9,
1842             .since = 8,
1843             .deprecated_since = null,
1844             .destructor = false,
1845             .signature = "8ui",
1846             .descriptor_count = 0,
1847             .minimum_payload_size = 8,
1848             .arguments = &.{
1849                 .{ .name = "axis", .kind = .uint, .interface = null, .enumeration = "axis", .nullable = false },
1850                 .{ .name = "value120", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1851             },
1852         };
1853         pub const axis_relative_direction: schema.Message = .{
1854             .name = "axis_relative_direction",
1855             .opcode = 10,
1856             .since = 9,
1857             .deprecated_since = null,
1858             .destructor = false,
1859             .signature = "9uu",
1860             .descriptor_count = 0,
1861             .minimum_payload_size = 8,
1862             .arguments = &.{
1863                 .{ .name = "axis", .kind = .uint, .interface = null, .enumeration = "axis", .nullable = false },
1864                 .{ .name = "direction", .kind = .uint, .interface = null, .enumeration = "axis_relative_direction", .nullable = false },
1865             },
1866         };
1867         pub const all = [_]schema.Message{ enter, leave, motion, button, axis, frame, axis_source, axis_stop, axis_discrete, axis_value120, axis_relative_direction };
1868     };
1869     pub const enumerations = struct {
1870         pub const @"error": schema.Enumeration = .{
1871             .name = "error",
1872             .since = 1,
1873             .bitfield = false,
1874             .entries = &.{
1875                 .{ .name = "role", .value = 0, .since = 1, .deprecated_since = null },
1876             },
1877         };
1878         pub const button_state: schema.Enumeration = .{
1879             .name = "button_state",
1880             .since = 1,
1881             .bitfield = false,
1882             .entries = &.{
1883                 .{ .name = "released", .value = 0, .since = 1, .deprecated_since = null },
1884                 .{ .name = "pressed", .value = 1, .since = 1, .deprecated_since = null },
1885             },
1886         };
1887         pub const axis: schema.Enumeration = .{
1888             .name = "axis",
1889             .since = 1,
1890             .bitfield = false,
1891             .entries = &.{
1892                 .{ .name = "vertical_scroll", .value = 0, .since = 1, .deprecated_since = null },
1893                 .{ .name = "horizontal_scroll", .value = 1, .since = 1, .deprecated_since = null },
1894             },
1895         };
1896         pub const axis_source: schema.Enumeration = .{
1897             .name = "axis_source",
1898             .since = 1,
1899             .bitfield = false,
1900             .entries = &.{
1901                 .{ .name = "wheel", .value = 0, .since = 1, .deprecated_since = null },
1902                 .{ .name = "finger", .value = 1, .since = 1, .deprecated_since = null },
1903                 .{ .name = "continuous", .value = 2, .since = 1, .deprecated_since = null },
1904                 .{ .name = "wheel_tilt", .value = 3, .since = 6, .deprecated_since = null },
1905             },
1906         };
1907         pub const axis_relative_direction: schema.Enumeration = .{
1908             .name = "axis_relative_direction",
1909             .since = 1,
1910             .bitfield = false,
1911             .entries = &.{
1912                 .{ .name = "identical", .value = 0, .since = 1, .deprecated_since = null },
1913                 .{ .name = "inverted", .value = 1, .since = 1, .deprecated_since = null },
1914             },
1915         };
1916         pub const all = [_]schema.Enumeration{ @"error", button_state, axis, axis_source, axis_relative_direction };
1917     };
1918     pub const metadata: schema.Interface = .{
1919         .name = "wl_pointer",
1920         .version = 10,
1921         .requests = &requests.all,
1922         .events = &events.all,
1923         .enumerations = &enumerations.all,
1924     };
1925 };
1926 
1927 pub const wl_keyboard = struct {
1928     pub const requests = struct {
1929         pub const release: schema.Message = .{
1930             .name = "release",
1931             .opcode = 0,
1932             .since = 3,
1933             .deprecated_since = null,
1934             .destructor = true,
1935             .signature = "3",
1936             .descriptor_count = 0,
1937             .minimum_payload_size = 0,
1938             .arguments = &.{},
1939         };
1940         pub const all = [_]schema.Message{release};
1941     };
1942     pub const events = struct {
1943         pub const keymap: schema.Message = .{
1944             .name = "keymap",
1945             .opcode = 0,
1946             .since = 1,
1947             .deprecated_since = null,
1948             .destructor = false,
1949             .signature = "uhu",
1950             .descriptor_count = 1,
1951             .minimum_payload_size = 8,
1952             .arguments = &.{
1953                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = "keymap_format", .nullable = false },
1954                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
1955                 .{ .name = "size", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1956             },
1957         };
1958         pub const enter: schema.Message = .{
1959             .name = "enter",
1960             .opcode = 1,
1961             .since = 1,
1962             .deprecated_since = null,
1963             .destructor = false,
1964             .signature = "uoa",
1965             .descriptor_count = 0,
1966             .minimum_payload_size = 12,
1967             .arguments = &.{
1968                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1969                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1970                 .{ .name = "keys", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
1971             },
1972         };
1973         pub const leave: schema.Message = .{
1974             .name = "leave",
1975             .opcode = 2,
1976             .since = 1,
1977             .deprecated_since = null,
1978             .destructor = false,
1979             .signature = "uo",
1980             .descriptor_count = 0,
1981             .minimum_payload_size = 8,
1982             .arguments = &.{
1983                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1984                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1985             },
1986         };
1987         pub const key: schema.Message = .{
1988             .name = "key",
1989             .opcode = 3,
1990             .since = 1,
1991             .deprecated_since = null,
1992             .destructor = false,
1993             .signature = "uuuu",
1994             .descriptor_count = 0,
1995             .minimum_payload_size = 16,
1996             .arguments = &.{
1997                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1998                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1999                 .{ .name = "key", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2000                 .{ .name = "state", .kind = .uint, .interface = null, .enumeration = "key_state", .nullable = false },
2001             },
2002         };
2003         pub const modifiers: schema.Message = .{
2004             .name = "modifiers",
2005             .opcode = 4,
2006             .since = 1,
2007             .deprecated_since = null,
2008             .destructor = false,
2009             .signature = "uuuuu",
2010             .descriptor_count = 0,
2011             .minimum_payload_size = 20,
2012             .arguments = &.{
2013                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2014                 .{ .name = "mods_depressed", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2015                 .{ .name = "mods_latched", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2016                 .{ .name = "mods_locked", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2017                 .{ .name = "group", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2018             },
2019         };
2020         pub const repeat_info: schema.Message = .{
2021             .name = "repeat_info",
2022             .opcode = 5,
2023             .since = 4,
2024             .deprecated_since = null,
2025             .destructor = false,
2026             .signature = "4ii",
2027             .descriptor_count = 0,
2028             .minimum_payload_size = 8,
2029             .arguments = &.{
2030                 .{ .name = "rate", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2031                 .{ .name = "delay", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2032             },
2033         };
2034         pub const all = [_]schema.Message{ keymap, enter, leave, key, modifiers, repeat_info };
2035     };
2036     pub const enumerations = struct {
2037         pub const keymap_format: schema.Enumeration = .{
2038             .name = "keymap_format",
2039             .since = 1,
2040             .bitfield = false,
2041             .entries = &.{
2042                 .{ .name = "no_keymap", .value = 0, .since = 1, .deprecated_since = null },
2043                 .{ .name = "xkb_v1", .value = 1, .since = 1, .deprecated_since = null },
2044             },
2045         };
2046         pub const key_state: schema.Enumeration = .{
2047             .name = "key_state",
2048             .since = 1,
2049             .bitfield = false,
2050             .entries = &.{
2051                 .{ .name = "released", .value = 0, .since = 1, .deprecated_since = null },
2052                 .{ .name = "pressed", .value = 1, .since = 1, .deprecated_since = null },
2053                 .{ .name = "repeated", .value = 2, .since = 10, .deprecated_since = null },
2054             },
2055         };
2056         pub const all = [_]schema.Enumeration{ keymap_format, key_state };
2057     };
2058     pub const metadata: schema.Interface = .{
2059         .name = "wl_keyboard",
2060         .version = 10,
2061         .requests = &requests.all,
2062         .events = &events.all,
2063         .enumerations = &enumerations.all,
2064     };
2065 };
2066 
2067 pub const wl_touch = struct {
2068     pub const requests = struct {
2069         pub const release: schema.Message = .{
2070             .name = "release",
2071             .opcode = 0,
2072             .since = 3,
2073             .deprecated_since = null,
2074             .destructor = true,
2075             .signature = "3",
2076             .descriptor_count = 0,
2077             .minimum_payload_size = 0,
2078             .arguments = &.{},
2079         };
2080         pub const all = [_]schema.Message{release};
2081     };
2082     pub const events = struct {
2083         pub const down: schema.Message = .{
2084             .name = "down",
2085             .opcode = 0,
2086             .since = 1,
2087             .deprecated_since = null,
2088             .destructor = false,
2089             .signature = "uuoiff",
2090             .descriptor_count = 0,
2091             .minimum_payload_size = 24,
2092             .arguments = &.{
2093                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2094                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2095                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2096                 .{ .name = "id", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2097                 .{ .name = "x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2098                 .{ .name = "y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2099             },
2100         };
2101         pub const up: schema.Message = .{
2102             .name = "up",
2103             .opcode = 1,
2104             .since = 1,
2105             .deprecated_since = null,
2106             .destructor = false,
2107             .signature = "uui",
2108             .descriptor_count = 0,
2109             .minimum_payload_size = 12,
2110             .arguments = &.{
2111                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2112                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2113                 .{ .name = "id", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2114             },
2115         };
2116         pub const motion: schema.Message = .{
2117             .name = "motion",
2118             .opcode = 2,
2119             .since = 1,
2120             .deprecated_since = null,
2121             .destructor = false,
2122             .signature = "uiff",
2123             .descriptor_count = 0,
2124             .minimum_payload_size = 16,
2125             .arguments = &.{
2126                 .{ .name = "time", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2127                 .{ .name = "id", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2128                 .{ .name = "x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2129                 .{ .name = "y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2130             },
2131         };
2132         pub const frame: schema.Message = .{
2133             .name = "frame",
2134             .opcode = 3,
2135             .since = 1,
2136             .deprecated_since = null,
2137             .destructor = false,
2138             .signature = "",
2139             .descriptor_count = 0,
2140             .minimum_payload_size = 0,
2141             .arguments = &.{},
2142         };
2143         pub const cancel: schema.Message = .{
2144             .name = "cancel",
2145             .opcode = 4,
2146             .since = 1,
2147             .deprecated_since = null,
2148             .destructor = false,
2149             .signature = "",
2150             .descriptor_count = 0,
2151             .minimum_payload_size = 0,
2152             .arguments = &.{},
2153         };
2154         pub const shape: schema.Message = .{
2155             .name = "shape",
2156             .opcode = 5,
2157             .since = 6,
2158             .deprecated_since = null,
2159             .destructor = false,
2160             .signature = "6iff",
2161             .descriptor_count = 0,
2162             .minimum_payload_size = 12,
2163             .arguments = &.{
2164                 .{ .name = "id", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2165                 .{ .name = "major", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2166                 .{ .name = "minor", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2167             },
2168         };
2169         pub const orientation: schema.Message = .{
2170             .name = "orientation",
2171             .opcode = 6,
2172             .since = 6,
2173             .deprecated_since = null,
2174             .destructor = false,
2175             .signature = "6if",
2176             .descriptor_count = 0,
2177             .minimum_payload_size = 8,
2178             .arguments = &.{
2179                 .{ .name = "id", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2180                 .{ .name = "orientation", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
2181             },
2182         };
2183         pub const all = [_]schema.Message{ down, up, motion, frame, cancel, shape, orientation };
2184     };
2185     pub const enumerations = struct {
2186         pub const all = [_]schema.Enumeration{};
2187     };
2188     pub const metadata: schema.Interface = .{
2189         .name = "wl_touch",
2190         .version = 10,
2191         .requests = &requests.all,
2192         .events = &events.all,
2193         .enumerations = &enumerations.all,
2194     };
2195 };
2196 
2197 pub const wl_output = struct {
2198     pub const requests = struct {
2199         pub const release: schema.Message = .{
2200             .name = "release",
2201             .opcode = 0,
2202             .since = 3,
2203             .deprecated_since = null,
2204             .destructor = true,
2205             .signature = "3",
2206             .descriptor_count = 0,
2207             .minimum_payload_size = 0,
2208             .arguments = &.{},
2209         };
2210         pub const all = [_]schema.Message{release};
2211     };
2212     pub const events = struct {
2213         pub const geometry: schema.Message = .{
2214             .name = "geometry",
2215             .opcode = 0,
2216             .since = 1,
2217             .deprecated_since = null,
2218             .destructor = false,
2219             .signature = "iiiiissi",
2220             .descriptor_count = 0,
2221             .minimum_payload_size = 40,
2222             .arguments = &.{
2223                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2224                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2225                 .{ .name = "physical_width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2226                 .{ .name = "physical_height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2227                 .{ .name = "subpixel", .kind = .int, .interface = null, .enumeration = "subpixel", .nullable = false },
2228                 .{ .name = "make", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
2229                 .{ .name = "model", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
2230                 .{ .name = "transform", .kind = .int, .interface = null, .enumeration = "transform", .nullable = false },
2231             },
2232         };
2233         pub const mode: schema.Message = .{
2234             .name = "mode",
2235             .opcode = 1,
2236             .since = 1,
2237             .deprecated_since = null,
2238             .destructor = false,
2239             .signature = "uiii",
2240             .descriptor_count = 0,
2241             .minimum_payload_size = 16,
2242             .arguments = &.{
2243                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "mode", .nullable = false },
2244                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2245                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2246                 .{ .name = "refresh", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2247             },
2248         };
2249         pub const done: schema.Message = .{
2250             .name = "done",
2251             .opcode = 2,
2252             .since = 2,
2253             .deprecated_since = null,
2254             .destructor = false,
2255             .signature = "2",
2256             .descriptor_count = 0,
2257             .minimum_payload_size = 0,
2258             .arguments = &.{},
2259         };
2260         pub const scale: schema.Message = .{
2261             .name = "scale",
2262             .opcode = 3,
2263             .since = 2,
2264             .deprecated_since = null,
2265             .destructor = false,
2266             .signature = "2i",
2267             .descriptor_count = 0,
2268             .minimum_payload_size = 4,
2269             .arguments = &.{
2270                 .{ .name = "factor", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2271             },
2272         };
2273         pub const name: schema.Message = .{
2274             .name = "name",
2275             .opcode = 4,
2276             .since = 4,
2277             .deprecated_since = null,
2278             .destructor = false,
2279             .signature = "4s",
2280             .descriptor_count = 0,
2281             .minimum_payload_size = 8,
2282             .arguments = &.{
2283                 .{ .name = "name", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
2284             },
2285         };
2286         pub const description: schema.Message = .{
2287             .name = "description",
2288             .opcode = 5,
2289             .since = 4,
2290             .deprecated_since = null,
2291             .destructor = false,
2292             .signature = "4s",
2293             .descriptor_count = 0,
2294             .minimum_payload_size = 8,
2295             .arguments = &.{
2296                 .{ .name = "description", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
2297             },
2298         };
2299         pub const all = [_]schema.Message{ geometry, mode, done, scale, name, description };
2300     };
2301     pub const enumerations = struct {
2302         pub const subpixel: schema.Enumeration = .{
2303             .name = "subpixel",
2304             .since = 1,
2305             .bitfield = false,
2306             .entries = &.{
2307                 .{ .name = "unknown", .value = 0, .since = 1, .deprecated_since = null },
2308                 .{ .name = "none", .value = 1, .since = 1, .deprecated_since = null },
2309                 .{ .name = "horizontal_rgb", .value = 2, .since = 1, .deprecated_since = null },
2310                 .{ .name = "horizontal_bgr", .value = 3, .since = 1, .deprecated_since = null },
2311                 .{ .name = "vertical_rgb", .value = 4, .since = 1, .deprecated_since = null },
2312                 .{ .name = "vertical_bgr", .value = 5, .since = 1, .deprecated_since = null },
2313             },
2314         };
2315         pub const transform: schema.Enumeration = .{
2316             .name = "transform",
2317             .since = 1,
2318             .bitfield = false,
2319             .entries = &.{
2320                 .{ .name = "normal", .value = 0, .since = 1, .deprecated_since = null },
2321                 .{ .name = "90", .value = 1, .since = 1, .deprecated_since = null },
2322                 .{ .name = "180", .value = 2, .since = 1, .deprecated_since = null },
2323                 .{ .name = "270", .value = 3, .since = 1, .deprecated_since = null },
2324                 .{ .name = "flipped", .value = 4, .since = 1, .deprecated_since = null },
2325                 .{ .name = "flipped_90", .value = 5, .since = 1, .deprecated_since = null },
2326                 .{ .name = "flipped_180", .value = 6, .since = 1, .deprecated_since = null },
2327                 .{ .name = "flipped_270", .value = 7, .since = 1, .deprecated_since = null },
2328             },
2329         };
2330         pub const mode: schema.Enumeration = .{
2331             .name = "mode",
2332             .since = 1,
2333             .bitfield = true,
2334             .entries = &.{
2335                 .{ .name = "current", .value = 1, .since = 1, .deprecated_since = null },
2336                 .{ .name = "preferred", .value = 2, .since = 1, .deprecated_since = null },
2337             },
2338         };
2339         pub const all = [_]schema.Enumeration{ subpixel, transform, mode };
2340     };
2341     pub const metadata: schema.Interface = .{
2342         .name = "wl_output",
2343         .version = 4,
2344         .requests = &requests.all,
2345         .events = &events.all,
2346         .enumerations = &enumerations.all,
2347     };
2348 };
2349 
2350 pub const wl_region = struct {
2351     pub const requests = struct {
2352         pub const destroy: schema.Message = .{
2353             .name = "destroy",
2354             .opcode = 0,
2355             .since = 1,
2356             .deprecated_since = null,
2357             .destructor = true,
2358             .signature = "",
2359             .descriptor_count = 0,
2360             .minimum_payload_size = 0,
2361             .arguments = &.{},
2362         };
2363         pub const add: schema.Message = .{
2364             .name = "add",
2365             .opcode = 1,
2366             .since = 1,
2367             .deprecated_since = null,
2368             .destructor = false,
2369             .signature = "iiii",
2370             .descriptor_count = 0,
2371             .minimum_payload_size = 16,
2372             .arguments = &.{
2373                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2374                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2375                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2376                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2377             },
2378         };
2379         pub const subtract: schema.Message = .{
2380             .name = "subtract",
2381             .opcode = 2,
2382             .since = 1,
2383             .deprecated_since = null,
2384             .destructor = false,
2385             .signature = "iiii",
2386             .descriptor_count = 0,
2387             .minimum_payload_size = 16,
2388             .arguments = &.{
2389                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2390                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2391                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2392                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2393             },
2394         };
2395         pub const all = [_]schema.Message{ destroy, add, subtract };
2396     };
2397     pub const events = struct {
2398         pub const all = [_]schema.Message{};
2399     };
2400     pub const enumerations = struct {
2401         pub const all = [_]schema.Enumeration{};
2402     };
2403     pub const metadata: schema.Interface = .{
2404         .name = "wl_region",
2405         .version = 7,
2406         .requests = &requests.all,
2407         .events = &events.all,
2408         .enumerations = &enumerations.all,
2409     };
2410 };
2411 
2412 pub const wl_subcompositor = struct {
2413     pub const requests = struct {
2414         pub const destroy: schema.Message = .{
2415             .name = "destroy",
2416             .opcode = 0,
2417             .since = 1,
2418             .deprecated_since = null,
2419             .destructor = true,
2420             .signature = "",
2421             .descriptor_count = 0,
2422             .minimum_payload_size = 0,
2423             .arguments = &.{},
2424         };
2425         pub const get_subsurface: schema.Message = .{
2426             .name = "get_subsurface",
2427             .opcode = 1,
2428             .since = 1,
2429             .deprecated_since = null,
2430             .destructor = false,
2431             .signature = "noo",
2432             .descriptor_count = 0,
2433             .minimum_payload_size = 12,
2434             .arguments = &.{
2435                 .{ .name = "id", .kind = .new_id, .interface = "wl_subsurface", .enumeration = null, .nullable = false },
2436                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2437                 .{ .name = "parent", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2438             },
2439         };
2440         pub const all = [_]schema.Message{ destroy, get_subsurface };
2441     };
2442     pub const events = struct {
2443         pub const all = [_]schema.Message{};
2444     };
2445     pub const enumerations = struct {
2446         pub const @"error": schema.Enumeration = .{
2447             .name = "error",
2448             .since = 1,
2449             .bitfield = false,
2450             .entries = &.{
2451                 .{ .name = "bad_surface", .value = 0, .since = 1, .deprecated_since = null },
2452                 .{ .name = "bad_parent", .value = 1, .since = 1, .deprecated_since = null },
2453             },
2454         };
2455         pub const all = [_]schema.Enumeration{@"error"};
2456     };
2457     pub const metadata: schema.Interface = .{
2458         .name = "wl_subcompositor",
2459         .version = 1,
2460         .requests = &requests.all,
2461         .events = &events.all,
2462         .enumerations = &enumerations.all,
2463     };
2464 };
2465 
2466 pub const wl_subsurface = struct {
2467     pub const requests = struct {
2468         pub const destroy: schema.Message = .{
2469             .name = "destroy",
2470             .opcode = 0,
2471             .since = 1,
2472             .deprecated_since = null,
2473             .destructor = true,
2474             .signature = "",
2475             .descriptor_count = 0,
2476             .minimum_payload_size = 0,
2477             .arguments = &.{},
2478         };
2479         pub const set_position: schema.Message = .{
2480             .name = "set_position",
2481             .opcode = 1,
2482             .since = 1,
2483             .deprecated_since = null,
2484             .destructor = false,
2485             .signature = "ii",
2486             .descriptor_count = 0,
2487             .minimum_payload_size = 8,
2488             .arguments = &.{
2489                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2490                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2491             },
2492         };
2493         pub const place_above: schema.Message = .{
2494             .name = "place_above",
2495             .opcode = 2,
2496             .since = 1,
2497             .deprecated_since = null,
2498             .destructor = false,
2499             .signature = "o",
2500             .descriptor_count = 0,
2501             .minimum_payload_size = 4,
2502             .arguments = &.{
2503                 .{ .name = "sibling", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2504             },
2505         };
2506         pub const place_below: schema.Message = .{
2507             .name = "place_below",
2508             .opcode = 3,
2509             .since = 1,
2510             .deprecated_since = null,
2511             .destructor = false,
2512             .signature = "o",
2513             .descriptor_count = 0,
2514             .minimum_payload_size = 4,
2515             .arguments = &.{
2516                 .{ .name = "sibling", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2517             },
2518         };
2519         pub const set_sync: schema.Message = .{
2520             .name = "set_sync",
2521             .opcode = 4,
2522             .since = 1,
2523             .deprecated_since = null,
2524             .destructor = false,
2525             .signature = "",
2526             .descriptor_count = 0,
2527             .minimum_payload_size = 0,
2528             .arguments = &.{},
2529         };
2530         pub const set_desync: schema.Message = .{
2531             .name = "set_desync",
2532             .opcode = 5,
2533             .since = 1,
2534             .deprecated_since = null,
2535             .destructor = false,
2536             .signature = "",
2537             .descriptor_count = 0,
2538             .minimum_payload_size = 0,
2539             .arguments = &.{},
2540         };
2541         pub const all = [_]schema.Message{ destroy, set_position, place_above, place_below, set_sync, set_desync };
2542     };
2543     pub const events = struct {
2544         pub const all = [_]schema.Message{};
2545     };
2546     pub const enumerations = struct {
2547         pub const @"error": schema.Enumeration = .{
2548             .name = "error",
2549             .since = 1,
2550             .bitfield = false,
2551             .entries = &.{
2552                 .{ .name = "bad_surface", .value = 0, .since = 1, .deprecated_since = null },
2553             },
2554         };
2555         pub const all = [_]schema.Enumeration{@"error"};
2556     };
2557     pub const metadata: schema.Interface = .{
2558         .name = "wl_subsurface",
2559         .version = 1,
2560         .requests = &requests.all,
2561         .events = &events.all,
2562         .enumerations = &enumerations.all,
2563     };
2564 };
2565 
2566 pub const wl_fixes = struct {
2567     pub const requests = struct {
2568         pub const destroy: schema.Message = .{
2569             .name = "destroy",
2570             .opcode = 0,
2571             .since = 1,
2572             .deprecated_since = null,
2573             .destructor = true,
2574             .signature = "",
2575             .descriptor_count = 0,
2576             .minimum_payload_size = 0,
2577             .arguments = &.{},
2578         };
2579         pub const destroy_registry: schema.Message = .{
2580             .name = "destroy_registry",
2581             .opcode = 1,
2582             .since = 1,
2583             .deprecated_since = null,
2584             .destructor = false,
2585             .signature = "o",
2586             .descriptor_count = 0,
2587             .minimum_payload_size = 4,
2588             .arguments = &.{
2589                 .{ .name = "registry", .kind = .object, .interface = "wl_registry", .enumeration = null, .nullable = false },
2590             },
2591         };
2592         pub const all = [_]schema.Message{ destroy, destroy_registry };
2593     };
2594     pub const events = struct {
2595         pub const all = [_]schema.Message{};
2596     };
2597     pub const enumerations = struct {
2598         pub const all = [_]schema.Enumeration{};
2599     };
2600     pub const metadata: schema.Interface = .{
2601         .name = "wl_fixes",
2602         .version = 1,
2603         .requests = &requests.all,
2604         .events = &events.all,
2605         .enumerations = &enumerations.all,
2606     };
2607 };
2608 
2609 pub const interfaces = [_]schema.Interface{ wl_display.metadata, wl_registry.metadata, wl_callback.metadata, wl_compositor.metadata, wl_shm_pool.metadata, wl_shm.metadata, wl_buffer.metadata, wl_data_offer.metadata, wl_data_source.metadata, wl_data_device.metadata, wl_data_device_manager.metadata, wl_shell.metadata, wl_shell_surface.metadata, wl_surface.metadata, wl_seat.metadata, wl_pointer.metadata, wl_keyboard.metadata, wl_touch.metadata, wl_output.metadata, wl_region.metadata, wl_subcompositor.metadata, wl_subsurface.metadata, wl_fixes.metadata };