1 All modules must have at least the following:
3 static int load_module():
5 Do what you need to do when you get started. This function can return
6 AST_MODULE_LOAD_FAILURE if an action fails and the module is prevented from loading,
7 AST_MODULE_LOAD_DECLINE if the module can not load because of a non-critical failure
8 (the configuration file was not found), or AST_MODULE_LOAD_SUCCESS if the module
11 static int unload_module():
13 The module will soon be unloaded. If any channels are using your
14 features, you should give them a softhangup in an effort to keep the
15 program from crashing. Generally, unload_module is only called when the
16 usecount is 0 or less, but the user can force unloading at their
17 discretion, and thus a module should do its best to comply (although in
18 some cases there may be no way to avoid a crash). This function should
19 return 0 on success and non-zero on failure (i.e. it cannot yet be
22 AST_MODULE_INFO_STANDARD(keystr, desc);
24 keystr: Applicable license for module. In most cases this is ASTERISK_GPL_KEY.
25 desc: Description of module.