1use crate::version::*;
2
3use std::ffi::{c_char, c_void};
4
5#[repr(C)]
6#[derive(Debug, Copy, Clone)]
7pub struct clap_host {
8 pub clap_version: clap_version,
9 pub host_data: *mut c_void,
10 pub name: *const c_char,
11 pub vendor: *const c_char,
12 pub url: *const c_char,
13 pub version: *const c_char,
14 pub get_extension: Option<
15 unsafe extern "C" fn(host: *const clap_host, extension_id: *const c_char) -> *const c_void,
16 >,
17 pub request_restart: Option<unsafe extern "C" fn(host: *const clap_host)>,
18 pub request_process: Option<unsafe extern "C" fn(host: *const clap_host)>,
19 pub request_callback: Option<unsafe extern "C" fn(host: *const clap_host)>,
20}
21
22unsafe impl Send for clap_host {}
23unsafe impl Sync for clap_host {}