blob: 98f91c202989420597e4902367f7f7a06dd2ad5e [file] [log] [blame]
// 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;
}