pub type switch_io_routines_t = switch_io_routines;Expand description
\brief A table of i/o routines that an endpoint interface can implement
Aliased Type§
#[repr(C)]pub struct switch_io_routines_t {Show 15 fields
pub outgoing_channel: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_event, *mut switch_caller_profile, *mut *mut switch_core_session, *mut *mut fspr_pool_t, u32, *mut u32) -> u32>,
pub read_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>,
pub write_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>,
pub kill_channel: Option<unsafe extern "C" fn(*mut switch_core_session, i32) -> switch_status_t>,
pub send_dtmf: Option<unsafe extern "C" fn(*mut switch_core_session, *const switch_dtmf_t) -> switch_status_t>,
pub receive_message: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_core_session_message) -> switch_status_t>,
pub receive_event: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_event) -> switch_status_t>,
pub state_change: Option<unsafe extern "C" fn(*mut switch_core_session) -> switch_status_t>,
pub read_video_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>,
pub write_video_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>,
pub read_text_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>,
pub write_text_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>,
pub state_run: Option<unsafe extern "C" fn(*mut switch_core_session) -> switch_status_t>,
pub get_jb: Option<unsafe extern "C" fn(*mut switch_core_session, u32) -> *mut switch_jb_s>,
pub padding: [*mut c_void; 10],
}Fields§
§outgoing_channel: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_event, *mut switch_caller_profile, *mut *mut switch_core_session, *mut *mut fspr_pool_t, u32, *mut u32) -> u32>creates an outgoing session from given session, caller profile
read_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>read a frame from a session
write_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>write a frame to a session
kill_channel: Option<unsafe extern "C" fn(*mut switch_core_session, i32) -> switch_status_t>send a kill signal to the session’s channel
send_dtmf: Option<unsafe extern "C" fn(*mut switch_core_session, *const switch_dtmf_t) -> switch_status_t>send a string of DTMF digits to a session’s channel
receive_message: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_core_session_message) -> switch_status_t>receive a message from another session
receive_event: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_event) -> switch_status_t>queue a message for another session
state_change: Option<unsafe extern "C" fn(*mut switch_core_session) -> switch_status_t>change a sessions channel state
read_video_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>read a video frame from a session
write_video_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>write a video frame to a session
read_text_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut *mut switch_frame, u32, i32) -> switch_status_t>read a video frame from a session
write_text_frame: Option<unsafe extern "C" fn(*mut switch_core_session, *mut switch_frame, u32, i32) -> switch_status_t>write a video frame to a session
state_run: Option<unsafe extern "C" fn(*mut switch_core_session) -> switch_status_t>change a sessions channel run state
get_jb: Option<unsafe extern "C" fn(*mut switch_core_session, u32) -> *mut switch_jb_s>get sessions jitterbuffer
padding: [*mut c_void; 10]