summaryrefslogtreecommitdiff
path: root/include/asterisk/module.h
AgeCommit message (Collapse)Author
2006-05-09various doxygen fixesKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14This rather large commit changes the way modules are loaded. Luigi Rizzo
As partly documented in loader.c and include/asterisk/module.h, modules are now expected to return all of their methods and flags into a structure 'mod_data', and are normally loaded with RTLD_NOW | RTLD_LOCAL, so symbols are resolved immediately and conflicts should be less likely. Only in a small number of cases (res_*, typically) modules are loaded RTLD_GLOBAL, so they can export symbols. The core of the change is only the two files loader.c and include/asterisk/module.h, all the rest is simply adaptation of the existing modules to the new API, a rather mechanical (but believe me, time and finger-consuming!) process whose detail you can figure out by svn diff'ing any single module. Expect some minor compilation issue after this change, please report it on mantis http://bugs.digium.com/view.php?id=6968 so we collect all the feedback in one place. I am just sorry that this change missed SVN version number 20000! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11remove an unused functionLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11as discussed with kevin, moveLuigi Rizzo
ast_register_atexit()/ ast_unregister_atexit() into asterisk.h These are general functions, not restricted to modules, so move them in a more proper place. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08update module license key text and update loader to accept itKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08since the module API is changing, it's a good time to const-ify the ↵Kevin P. Fleming
description() and key() return values git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-06small cleanups to module.h and loader.c to start playing withLuigi Rizzo
new-style modules using static symbols. Everything will still work as before, but new-style modules can now be defined by putting a '#define STATIC_MODULE' somewhere before including module.h, then declaring STATIC_MODULE the various methods (load, unload, key...) that the module is supposed to supply, and adding a 'STD_MOD(MOD_1, reload_fn, NULL, NULL)' macro call at the end. A module compiled in this way will be loaded RTLD_NOW|RTLD_LOCAL so symbol pollution is reduced, and symbols are resolved immediately. Removing just the '#define STATIC_MODULE' will restore the old behaviour. In order for a module to be loaded RTLD_NOW|RTLD_LOCAL, it must not export any symbol[1], and all the modules it depends on (e.g. res_*) must be loaded already. [1] Mechanisms are in place, and will be enabled later, to still allow such modules to 'export' symbols and resolving the dependencies irrespective of the load order. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28Doxygen fixes Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28Bring in the new loader code as described in mantis #4377Luigi Rizzo
and updated to today's version. The core of the patch is only two files, loader.c and include/asterisk/module.h, with the other files touched only to adapt non-standard usages of the reference counts and localuser lists. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28remove the long since unused STANDARD_LOCAL_USERS macroLuigi Rizzo
so that new apps will not try to use it by mistake. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25revert loader changes that have clearly not undergone adequate testing ↵Kevin P. Fleming
before commit git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25Bug 4377 - Round 2 of the loader updatesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-21update LOCAL_USER_ADD to use ast_callocRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-15now that there are no modules that define their own version ofRussell Bryant
'struct localuser' (see issue #6216), redefine STANDARD_LOCAL_USER to empty, and define the localuser structure in module.h (issue #6494) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-13remove LOCAL_USER_ACF_ADD since it is now the same as LOCAL_USER_ADDRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-12major dialplan functions updateKevin P. Fleming
deprecate LANGUAGE() and MUSICCLASS(), in favor of CHANNEL() git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18constify arguments in more places where strings should not be modified ↵Russell Bryant
(issue #6286) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18allows for use of the originate function fromMatt O'Gorman
the cli patch 5847 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29remove extraneous svn:executable propertiesKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-28add macros for explicit module usecount increment/decrementKevin P. Fleming
remove unnecessary locking around setting usecount to zero git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-26clean up a lot of doxygen errors and warnings (issue #5522)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-30major header file cleanup: license, copyrights, descriptions, markers, etc.Kevin P. Fleming
remove deprecated config_old.c/config_old.h remove unused cvsid.h git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-24clear out memory allocated by LOCAL_USER_ADD/LOCAL_USER_ACF_ADDKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25more extensive documentation (bug #4444)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-12add support for multiple-digit extensions in queue exit contexts (bug #4690)Kevin P. Fleming
add QUEUEAGENTCOUNT dialplan function (bug #4690) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-24don't use locks when reading usecounts (reading only, not writing)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06remove experimental module version tagsKevin P. Fleming
add per-file revision tags and 'show version files' CLI command git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06add support for per-module version numbersKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16Optimize module loading (bug #3356)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-15Repair // comments to /* */ comments (bug #3347)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16Provide module command completion (make twisted happy)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14Add option for "show modules like" (bug #2643)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-09-02Don't try to look offhook with channel banks & Loopstart (bug #2362), also ↵Mark Spencer
make individual modules reloadable... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-07-31Don't hard code the RTP payload type to 101 (bug #2192)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-06-09Merge FreeBSD locking fixes (bug #1411)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-13Totally revamp thread debugging to support locating and removing deadlocksMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2003-08-07Allow groups to be checked in reverse order, make musiconhold die on restartMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-07-11Version 0.2.0 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2002-05-13Version 0.1.12 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-11-01Version 0.1.10 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-04-13Version 0.1.8 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2001-03-07Version 0.1.7 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1999-12-11Version 0.1.1 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1999-10-28Version 0.1.0 from FTPMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13 65c4cc65-6c06-0410-ace0-fbb531ad65f3