| // Copyright 2019 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| option optimize_for = LITE_RUNTIME; |
| package exo.wayland_fuzzer; |
| |
| // Enumerates all the expected globals which the fuzzer might target. It is |
| // reasonable for the fuzzer to target the "unspecified" global, in which case |
| // we will attempt to bind an index that does not exist. |
| enum global { |
| GLOBAL_UNSPECIFIED = 0; |
| wayland_wl_compositor = 1; |
| wayland_wl_shm = 2; |
| } |
| |
| message action { |
| oneof act { |
| wayland_wl_display_get_registry act_wayland_wl_display_get_registry = 3; |
| wayland_wl_display_sync act_wayland_wl_display_sync = 4; |
| wayland_wl_registry_bind act_wayland_wl_registry_bind = 5; |
| } |
| } |
| |
| message actions { |
| repeated action acts = 1; |
| } |
| |
| message wayland_wl_display_get_registry { |
| uint32 receiver = 1; |
| } |
| |
| message wayland_wl_display_sync { |
| uint32 receiver = 1; |
| } |
| |
| // Bind is a special case where we want the fuzzer to grab global interfaces we |
| // know about (so we use an enum) but the other fields are free game. |
| // |
| // Next available id: 4 |
| message wayland_wl_registry_bind { |
| uint32 receiver = 1; |
| |
| global global = 2; |
| } |