aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/apps.txt10
-rwxr-xr-xdoc/modules.txt26
2 files changed, 36 insertions, 0 deletions
diff --git a/doc/apps.txt b/doc/apps.txt
new file mode 100755
index 000000000..c9696a1a5
--- /dev/null
+++ b/doc/apps.txt
@@ -0,0 +1,10 @@
+Asterisk applications register themselves with ast_application_register.
+They should have a short, unique name, and an exec function which takes
+as its arguments a channel and some data that might be useful for callback
+stuff. Remember to keep track of how many and which channels are using
+your application so that should the module need to be unloaded
+(particularly force unloaded), you will be able to ast_softhangup all the
+channels. An application should *never* call ast_hangup on the channel
+that it is running on (although it could conceivably hang up other
+channels that it allocates). See app_playback.c as an example of a simple
+application.
diff --git a/doc/modules.txt b/doc/modules.txt
new file mode 100755
index 000000000..9f8ae20b5
--- /dev/null
+++ b/doc/modules.txt
@@ -0,0 +1,26 @@
+All modules must have at least the following functions:
+
+int load_module():
+
+ Do what you need to do when you get started. This function
+returns 0 on sucess and non-zero on failure (it is not considered loaded
+if it failes.
+
+int unload_module():
+
+ The module will soon be unloaded. If any channels are using your
+features, you should give them a softhangup in an effort to keep the
+program from crashing. Generally, unload_module is only called when the
+usecount is 0 or less, but the user can force unloading at their
+discression, and thus a module should do its best to comply (although in
+some cases there may be no way to avoid a crash). This function should
+return 0 on success and non-zero on failure (i.e. it cannot yet be
+unloaded).
+
+char *description():
+
+ Return a description of the module's functionality.
+
+int usecnt():
+
+ Return the number of channels, etc that are using you.