# requests

msg destroy = 0 {

}

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

msg set_allow_all_workspaces = 2 {
    allow_all: u32,
}

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

msg touch_allowed_workspaces = 4 {
}

msg set_use_linear_buffers = 5 {
    use_linear: u32,
}

msg set_running = 6 {
    running: u32,
}

msg configure = 7 {

}

msg ack_buffers = 8 {
    serial: u32,
}

msg ack_config = 9 {
    serial: u32,
}

msg release_buffer = 10 {
    idx: u32,
}

# events

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

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

msg buffers_done = 2 {
    serial: u32,
}

msg ready = 3 {
    idx: u32,
}

msg destroyed = 4 {

}

msg missed_frame = 5 {

}

msg config_output = 6 {
    linear_id: u32,
}

msg config_allow_all_workspaces = 7 {
    allow_all: u32,
}

msg config_allow_workspace = 8 {
    linear_id: u32,
}

msg config_use_linear_buffers = 9 {
    use_linear: u32,
}

msg config_running = 10 {
    running: u32,
}

msg config_done = 11 {
    serial: u32,
}
