Version 0.1.7 from FTP
[asterisk/asterisk.git] / include / asterisk / pbx.h
index 37d65a1..95c510f 100755 (executable)
@@ -26,6 +26,9 @@ extern "C" {
 /* Max length of an application */
 #define AST_MAX_APP    32
 
+/* Special return values from applications to the PBX */
+#define AST_PBX_KEEPALIVE      10              /* Destroy the thread, but don't hang up the channel */
+
 struct ast_context;
 
 /* Register a new context */
@@ -56,6 +59,11 @@ int ast_unregister_application(char *app);
 /* If an extension exists, return non-zero */
 int ast_exists_extension(struct ast_channel *c, char *context, char *exten, int priority);
 
+/* If "exten" *could be* a valid extension in this context with or without
+   some more digits, return non-zero.  Basically, when this returns 0, no matter
+   what you add to exten, it's not going to be a valid extension anymore */
+int ast_canmatch_extension(struct ast_channel *c, char *context, char *exten, int priority);
+
 /* Launch a new extension (i.e. new stack) */
 int ast_spawn_extension(struct ast_channel *c, char *context, char *exten, int priority);