FreeSWITCH模組載入
二、sofia模組
struct switch_loadable_module {char *key;char *filename;int perm;switch_loadable_module_interface_t *module_interface;switch_dso_lib_t lib;switch_module_load_t switch_module_load;switch_module_runtime_t switch_module_runtime;switch_module_shutdown_t switch_module_shutdown;switch_memory_pool_t *pool;switch_status_t status;switch_thread_t *thread;switch_bool_t shutting_down;};
其中最重要的成員是來自變數mod_sofia_module_interface的三個函式switch_module_load、switch_module_runtime、switch_module_shutdown,以及通過load函式獲取的介面module_interface。 mod_sofia模組中只匯出了mod_sofia_load、 mod_sofia_shutdown兩個函式,switch_module_runtime未實現。在mod_sofia.c中,使用巨集SWITCH_MODULE_DEFINITION定義了結構變數mod_sofia_module_interface供so檔案匯出