#![allow(missing_docs)]
use core::ffi::{c_int, c_void};
pub type StreamEventCallback =
unsafe extern "C" fn(kind: c_int, payload: *const c_void, ctx: *mut c_void);
pub type ContextRefCallback = extern "C" fn(ctx: *mut c_void);
extern "C" {
pub fn mp_notification_subscribe(
kind: c_int,
callback: Option<StreamEventCallback>,
ctx: *mut c_void,
context_retain: ContextRefCallback,
context_release: ContextRefCallback,
) -> *mut c_void;
pub fn mp_notification_unsubscribe(handle: *mut c_void);
pub fn mp_stream_remote_command_subscribe(
command_id: c_int,
callback: Option<StreamEventCallback>,
ctx: *mut c_void,
context_retain: ContextRefCallback,
context_release: ContextRefCallback,
) -> *mut c_void;
pub fn mp_stream_remote_command_unsubscribe(handle: *mut c_void);
pub fn mp_now_playing_session_stream_subscribe(
callback: Option<StreamEventCallback>,
ctx: *mut c_void,
context_retain: ContextRefCallback,
context_release: ContextRefCallback,
) -> *mut c_void;
pub fn mp_now_playing_session_stream_unsubscribe(handle: *mut c_void);
pub fn mp_verify_ffi_layout() -> bool;
}