# requests

request destroy = 0 {

}

request set_output = 1 {
    output: id(jay_output),
}

request set_allow_all_workspaces = 2 {
    allow_all: u32,
}

request allow_workspace = 3 {
    workspace: id(jay_workspace),
}

request touch_allowed_workspaces = 4 {
}

request set_use_linear_buffers = 5 {
    use_linear: u32,
}

request set_running = 6 {
    running: u32,
}

request configure = 7 {

}

request ack_buffers = 8 {
    serial: u32,
}

request ack_config = 9 {
    serial: u32,
}

request release_buffer = 10 {
    idx: u32,
}

# events

event plane = 0 {
    fd: fd,
    offset: u32,
    stride: u32,
}

event buffer = 1 {
    format: u32,
    modifier: pod(u64),
    width: i32,
    height: i32,
}

event buffers_done = 2 {
    serial: u32,
}

event ready = 3 {
    idx: u32,
}

event destroyed = 4 {

}

event missed_frame = 5 {

}

event config_output = 6 {
    linear_id: u32,
}

event config_allow_all_workspaces = 7 {
    allow_all: u32,
}

event config_allow_workspace = 8 {
    linear_id: u32,
}

event config_use_linear_buffers = 9 {
    use_linear: u32,
}

event config_running = 10 {
    running: u32,
}

event config_done = 11 {
    serial: u32,
}
