Type Alias switch_io_routines_t

Source
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]