FreeSWITCH API Documentation  1.7.0
Data Structures | Macros | Typedefs | Enumerations
switch_module_interfaces.h File Reference

Module Interface Definitions. More...

#include <switch.h>
#include "switch_resample.h"
#include "switch_frame.h"
+ Include dependency graph for switch_module_interfaces.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  switch_state_handler_table
 
struct  switch_stream_handle
 
struct  switch_io_routines
 A table of i/o routines that an endpoint interface can implement. More...
 
struct  switch_endpoint_interface
 Abstraction of an module endpoint interface This is the glue between the abstract idea of a "channel" and what is really going on under the hood. Each endpoint module fills out one of these tables and makes it available when a channel is created of it's paticular type. More...
 
struct  switch_timer
 Abstract handler to a timer module. More...
 
struct  switch_timer_interface
 A table of functions that a timer module implements. More...
 
struct  switch_dialplan_interface
 Abstract interface to a dialplan module. More...
 
struct  switch_file_interface
 Abstract interface to a file format module. More...
 
struct  switch_mm_s
 
struct  switch_file_handle
 
struct  switch_asr_interface
 Abstract interface to an asr module. More...
 
struct  switch_asr_handle
 
struct  switch_speech_interface
 Abstract interface to a speech module. More...
 
struct  switch_speech_handle
 
struct  switch_say_interface
 Abstract interface to a say module. More...
 
struct  switch_chat_interface
 Abstract interface to a chat module. More...
 
struct  switch_management_interface
 Abstract interface to a management module. More...
 
struct  switch_limit_interface
 Abstract interface to a limit module. More...
 
struct  switch_directory_interface
 Abstract interface to a directory module. More...
 
struct  switch_directory_handle
 
struct  switch_audio_codec_settings
 
struct  switch_video_codec_settings
 
union  switch_codec_settings
 
struct  switch_codec_fmtp
 
struct  switch_picture
 
struct  switch_codec
 
struct  switch_codec_implementation
 A table of settings and callbacks that define a paticular implementation of a codec. More...
 
struct  switch_codec_interface
 Top level module interface to implement a series of codec implementations. More...
 
struct  switch_application_interface
 A module interface to implement an application. More...
 
struct  switch_chat_application_interface
 A module interface to implement a chat application. More...
 
struct  switch_api_interface
 A module interface to implement an api function. More...
 
struct  switch_json_api_interface
 A module interface to implement a json api function. More...
 
struct  switch_slin_data
 

Macros

#define PROTECT_INTERFACE(_it)   if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_rdlock(_it->parent->rwlock); switch_thread_rwlock_rdlock(_it->rwlock); _it->refs++; _it->parent->refs++; switch_mutex_unlock(_it->reflock);}
 
#define UNPROTECT_INTERFACE(_it)   if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_unlock(_it->rwlock); switch_thread_rwlock_unlock(_it->parent->rwlock); _it->refs--; _it->parent->refs--; switch_mutex_unlock(_it->reflock);}
 

Typedefs

typedef switch_call_cause_t(* switch_io_outgoing_channel_t )(switch_core_session_t *, switch_event_t *, switch_caller_profile_t *, switch_core_session_t **, switch_memory_pool_t **, switch_originate_flag_t, switch_call_cause_t *)
 
typedef switch_status_t(* switch_io_read_frame_t )(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)
 
typedef switch_status_t(* switch_io_write_frame_t )(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)
 
typedef switch_status_t(* switch_io_kill_channel_t )(switch_core_session_t *, int)
 
typedef switch_status_t(* switch_io_send_dtmf_t )(switch_core_session_t *, const switch_dtmf_t *)
 
typedef switch_status_t(* switch_io_receive_message_t )(switch_core_session_t *, switch_core_session_message_t *)
 
typedef switch_status_t(* switch_io_receive_event_t )(switch_core_session_t *, switch_event_t *)
 
typedef switch_status_t(* switch_io_state_change_t )(switch_core_session_t *)
 
typedef switch_status_t(* switch_io_state_run_t )(switch_core_session_t *)
 
typedef switch_status_t(* switch_io_read_video_frame_t )(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)
 
typedef switch_status_t(* switch_io_write_video_frame_t )(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)
 
typedef switch_jb_t *(* switch_io_get_jb_t )(switch_core_session_t *, switch_media_type_t)
 
typedef struct switch_mm_s switch_mm_t
 

Enumerations

enum  switch_state_handler_name_t {
  SWITCH_SHN_ON_INIT, SWITCH_SHN_ON_ROUTING, SWITCH_SHN_ON_EXECUTE, SWITCH_SHN_ON_HANGUP,
  SWITCH_SHN_ON_EXCHANGE_MEDIA, SWITCH_SHN_ON_SOFT_EXECUTE, SWITCH_SHN_ON_CONSUME_MEDIA, SWITCH_SHN_ON_HIBERNATE,
  SWITCH_SHN_ON_RESET, SWITCH_SHN_ON_PARK, SWITCH_SHN_ON_REPORTING, SWITCH_SHN_ON_DESTROY
}
 A table of functions to execute at various states. More...
 
enum  switch_io_routine_name_t {
  SWITCH_IO_OUTGOING_CHANNEL, SWITCH_IO_READ_FRAME, SWITCH_IO_WRITE_FRAME, SWITCH_IO_KILL_CHANNEL,
  SWITCH_IO_SEND_DTMF, SWITCH_IO_RECEIVE_MESSAGE, SWITCH_IO_RECEIVE_EVENT, SWITCH_IO_STATE_CHANGE,
  SWITCH_IO_READ_VIDEO_FRAME, SWITCH_IO_WRITE_VIDEO_FRAME, SWITCH_IO_GET_JB
}
 
enum  switch_timer_func_name_t {
  SWITCH_TIMER_FUNC_TIMER_INIT, SWITCH_TIMER_FUNC_TIMER_NEXT, SWITCH_TIMER_FUNC_TIMER_STEP, SWITCH_TIMER_FUNC_TIMER_SYNC,
  SWITCH_TIMER_FUNC_TIMER_CHECK, SWITCH_TIMER_FUNC_TIMER_DESTROY
}
 
enum  switch_video_encode_speed_t { SWITCH_VIDEO_ENCODE_SPEED_DEFAULT = 0, SWITCH_VIDEO_ENCODE_SPEED_FAST = 0, SWITCH_VIDEO_ENCODE_SPEED_MEDIUM, SWITCH_VIDEO_ENCODE_SPEED_SLOW }
 
enum  switch_video_profile_t { SWITCH_VIDEO_PROFILE_BASELINE, SWITCH_VIDEO_PROFILE_MAIN, SWITCH_VIDEO_PROFILE_HIGH }
 

Detailed Description

Module Interface Definitions.

This module holds the definition of data abstractions used to implement various pluggable interfaces and pluggable event handlers.

Definition in file switch_module_interfaces.h.

Macro Definition Documentation

#define PROTECT_INTERFACE (   _it)    if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_rdlock(_it->parent->rwlock); switch_thread_rwlock_rdlock(_it->rwlock); _it->refs++; _it->parent->refs++; switch_mutex_unlock(_it->reflock);}
#define UNPROTECT_INTERFACE (   _it)    if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_unlock(_it->rwlock); switch_thread_rwlock_unlock(_it->parent->rwlock); _it->refs--; _it->parent->refs--; switch_mutex_unlock(_it->reflock);}

Typedef Documentation

typedef switch_jb_t*(* switch_io_get_jb_t)(switch_core_session_t *, switch_media_type_t)

Definition at line 122 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_kill_channel_t)(switch_core_session_t *, int)

Definition at line 114 of file switch_module_interfaces.h.

Definition at line 110 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_read_frame_t)(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)

Definition at line 112 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_read_video_frame_t)(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)

Definition at line 120 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_receive_event_t)(switch_core_session_t *, switch_event_t *)

Definition at line 117 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_receive_message_t)(switch_core_session_t *, switch_core_session_message_t *)

Definition at line 116 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_send_dtmf_t)(switch_core_session_t *, const switch_dtmf_t *)

Definition at line 115 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_state_change_t)(switch_core_session_t *)

Definition at line 118 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_state_run_t)(switch_core_session_t *)

Definition at line 119 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_write_frame_t)(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)

Definition at line 113 of file switch_module_interfaces.h.

typedef switch_status_t(* switch_io_write_video_frame_t)(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)

Definition at line 121 of file switch_module_interfaces.h.

typedef struct switch_mm_s switch_mm_t

Enumeration Type Documentation

Enumerator
SWITCH_IO_OUTGOING_CHANNEL 
SWITCH_IO_READ_FRAME 
SWITCH_IO_WRITE_FRAME 
SWITCH_IO_KILL_CHANNEL 
SWITCH_IO_SEND_DTMF 
SWITCH_IO_RECEIVE_MESSAGE 
SWITCH_IO_RECEIVE_EVENT 
SWITCH_IO_STATE_CHANGE 
SWITCH_IO_READ_VIDEO_FRAME 
SWITCH_IO_WRITE_VIDEO_FRAME 
SWITCH_IO_GET_JB 

Definition at line 124 of file switch_module_interfaces.h.

A table of functions to execute at various states.

Enumerator
SWITCH_SHN_ON_INIT 
SWITCH_SHN_ON_ROUTING 
SWITCH_SHN_ON_EXECUTE 
SWITCH_SHN_ON_HANGUP 
SWITCH_SHN_ON_EXCHANGE_MEDIA 
SWITCH_SHN_ON_SOFT_EXECUTE 
SWITCH_SHN_ON_CONSUME_MEDIA 
SWITCH_SHN_ON_HIBERNATE 
SWITCH_SHN_ON_RESET 
SWITCH_SHN_ON_PARK 
SWITCH_SHN_ON_REPORTING 
SWITCH_SHN_ON_DESTROY 

Definition at line 49 of file switch_module_interfaces.h.

Enumerator
SWITCH_VIDEO_ENCODE_SPEED_DEFAULT 
SWITCH_VIDEO_ENCODE_SPEED_FAST 
SWITCH_VIDEO_ENCODE_SPEED_MEDIUM 
SWITCH_VIDEO_ENCODE_SPEED_SLOW 

Definition at line 303 of file switch_module_interfaces.h.

Enumerator
SWITCH_VIDEO_PROFILE_BASELINE 
SWITCH_VIDEO_PROFILE_MAIN 
SWITCH_VIDEO_PROFILE_HIGH 

Definition at line 310 of file switch_module_interfaces.h.