aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
commit91282c22ff7b8facf84d267fda0555eb4a17261a (patch)
treeaeee88ffbd06e0bc9b16c4ed7a235e376aedaf13 /res
parentf4a5d593628f3296611859f69ff24ee3d95535da (diff)
Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix.
With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@182802 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r--res/res_adsi.exports33
-rw-r--r--res/res_agi.exports7
-rw-r--r--res/res_config_odbc.c2
-rw-r--r--res/res_config_pgsql.c2
-rw-r--r--res/res_crypto.c2
-rw-r--r--res/res_features.exports13
-rw-r--r--res/res_indications.c2
-rw-r--r--res/res_jabber.exports13
-rw-r--r--res/res_monitor.exports11
-rw-r--r--res/res_musiconhold.c2
-rw-r--r--res/res_odbc.exports11
-rw-r--r--res/res_smdi.exports18
-rw-r--r--res/res_snmp.c2
-rw-r--r--res/res_speech.exports21
14 files changed, 133 insertions, 6 deletions
diff --git a/res/res_adsi.exports b/res/res_adsi.exports
new file mode 100644
index 000000000..a4119dc1f
--- /dev/null
+++ b/res/res_adsi.exports
@@ -0,0 +1,33 @@
+{
+ global:
+ ast_adsi_available;
+ ast_adsi_begin_download;
+ ast_adsi_channel_restore;
+ ast_adsi_clear_screen;
+ ast_adsi_clear_soft_keys;
+ ast_adsi_connect_session;
+ ast_adsi_data_mode;
+ ast_adsi_disconnect_session;
+ ast_adsi_display;
+ ast_adsi_download_connect;
+ ast_adsi_download_disconnect;
+ ast_adsi_end_download;
+ ast_adsi_get_cpeid;
+ ast_adsi_get_cpeinfo;
+ ast_adsi_input_control;
+ ast_adsi_input_format;
+ ast_adsi_load_session;
+ ast_adsi_load_soft_key;
+ ast_adsi_print;
+ ast_adsi_query_cpeid;
+ ast_adsi_query_cpeinfo;
+ ast_adsi_read_encoded_dtmf;
+ ast_adsi_set_keys;
+ ast_adsi_set_line;
+ ast_adsi_transmit_message;
+ ast_adsi_transmit_message_full;
+ ast_adsi_unload_session;
+ ast_adsi_voice_mode;
+ local:
+ *;
+};
diff --git a/res/res_agi.exports b/res/res_agi.exports
new file mode 100644
index 000000000..e1b11968f
--- /dev/null
+++ b/res/res_agi.exports
@@ -0,0 +1,7 @@
+{
+ global:
+ ast_agi_register;
+ ast_agi_unregister;
+ local:
+ *;
+};
diff --git a/res/res_config_odbc.c b/res/res_config_odbc.c
index 7f11b5db3..5c3c1f669 100644
--- a/res/res_config_odbc.c
+++ b/res/res_config_odbc.c
@@ -558,7 +558,7 @@ static int load_module (void)
return 0;
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "ODBC Configuration",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "ODBC Configuration",
.load = load_module,
.unload = unload_module,
);
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index 494497033..986223480 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -835,7 +835,7 @@ static int realtime_pgsql_status(int fd, int argc, char **argv)
}
/* needs usecount semantics defined */
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "PostgreSQL RealTime Configuration Driver",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "PostgreSQL RealTime Configuration Driver",
.load = load_module,
.unload = unload_module,
.reload = reload
diff --git a/res/res_crypto.c b/res/res_crypto.c
index c2c33d015..8fd78c498 100644
--- a/res/res_crypto.c
+++ b/res/res_crypto.c
@@ -624,7 +624,7 @@ static int unload_module(void)
}
/* needs usecount semantics defined */
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Cryptographic Digital Signatures",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Cryptographic Digital Signatures",
.load = load_module,
.unload = unload_module,
.reload = reload
diff --git a/res/res_features.exports b/res/res_features.exports
new file mode 100644
index 000000000..344a652c8
--- /dev/null
+++ b/res/res_features.exports
@@ -0,0 +1,13 @@
+{
+ global:
+ ast_bridge_call;
+ ast_masq_park_call;
+ ast_park_call;
+ ast_parking_ext;
+ ast_pickup_call;
+ ast_pickup_ext;
+ ast_register_feature;
+ ast_unregister_feature;
+ local:
+ *;
+};
diff --git a/res/res_indications.c b/res/res_indications.c
index 9bff10b76..b1c948c95 100644
--- a/res/res_indications.c
+++ b/res/res_indications.c
@@ -399,7 +399,7 @@ static int reload(void)
return ind_load_module();
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Indications Resource",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Indications Resource",
.load = load_module,
.unload = unload_module,
.reload = reload,
diff --git a/res/res_jabber.exports b/res/res_jabber.exports
new file mode 100644
index 000000000..8df1fee0e
--- /dev/null
+++ b/res/res_jabber.exports
@@ -0,0 +1,13 @@
+{
+ global:
+ ast_aji_create_chat;
+ ast_aji_disconnect;
+ ast_aji_get_client;
+ ast_aji_get_clients;
+ ast_aji_increment_mid;
+ ast_aji_invite_chat;
+ ast_aji_join_chat;
+ ast_aji_send;
+ local:
+ *;
+};
diff --git a/res/res_monitor.exports b/res/res_monitor.exports
new file mode 100644
index 000000000..4352dc8b6
--- /dev/null
+++ b/res/res_monitor.exports
@@ -0,0 +1,11 @@
+{
+ global:
+ ast_monitor_change_fname;
+ ast_monitor_pause;
+ ast_monitor_setjoinfiles;
+ ast_monitor_start;
+ ast_monitor_stop;
+ ast_monitor_unpause;
+ local:
+ *;
+};
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index cd8bb3e10..95fe16ec2 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -1486,7 +1486,7 @@ static int unload_module(void)
return res;
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Music On Hold Resource",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Music On Hold Resource",
.load = load_module,
.unload = unload_module,
.reload = reload,
diff --git a/res/res_odbc.exports b/res/res_odbc.exports
new file mode 100644
index 000000000..1e38d49da
--- /dev/null
+++ b/res/res_odbc.exports
@@ -0,0 +1,11 @@
+{
+ global:
+ ast_odbc_backslash_is_escape;
+ ast_odbc_prepare_and_execute;
+ ast_odbc_release_obj;
+ ast_odbc_request_obj;
+ ast_odbc_sanity_check;
+ ast_odbc_smart_execute;
+ local:
+ *;
+};
diff --git a/res/res_smdi.exports b/res/res_smdi.exports
new file mode 100644
index 000000000..7fe3edff3
--- /dev/null
+++ b/res/res_smdi.exports
@@ -0,0 +1,18 @@
+{
+ global:
+ ast_smdi_interface_find;
+ ast_smdi_interface_unref;
+ ast_smdi_md_message_destroy;
+ ast_smdi_md_message_pop;
+ ast_smdi_md_message_putback;
+ ast_smdi_md_message_wait;
+ ast_smdi_mwi_message_destroy;
+ ast_smdi_mwi_message_pop;
+ ast_smdi_mwi_message_putback;
+ ast_smdi_mwi_message_wait;
+ ast_smdi_mwi_message_wait_station;
+ ast_smdi_mwi_set;
+ ast_smdi_mwi_unset;
+ local:
+ *;
+};
diff --git a/res/res_snmp.c b/res/res_snmp.c
index 6bbf23171..5ec0419ad 100644
--- a/res/res_snmp.c
+++ b/res/res_snmp.c
@@ -109,7 +109,7 @@ static int unload_module(void)
return ((thread != AST_PTHREADT_NULL) ? pthread_join(thread, NULL) : 0);
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "SNMP [Sub]Agent for Asterisk",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "SNMP [Sub]Agent for Asterisk",
.load = load_module,
.unload = unload_module,
);
diff --git a/res/res_speech.exports b/res/res_speech.exports
new file mode 100644
index 000000000..226660735
--- /dev/null
+++ b/res/res_speech.exports
@@ -0,0 +1,21 @@
+{
+ global:
+ ast_speech_change;
+ ast_speech_change_results_type;
+ ast_speech_change_state;
+ ast_speech_destroy;
+ ast_speech_dtmf;
+ ast_speech_grammar_activate;
+ ast_speech_grammar_deactivate;
+ ast_speech_grammar_load;
+ ast_speech_grammar_unload;
+ ast_speech_new;
+ ast_speech_register;
+ ast_speech_results_free;
+ ast_speech_results_get;
+ ast_speech_start;
+ ast_speech_unregister;
+ ast_speech_write;
+ local:
+ *;
+};