aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/manager.h
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2002-12-11 00:15:13 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2002-12-11 00:15:13 +0000
commitc791e0d15a494431933106040f050acdde916918 (patch)
treee92d08c7bd0079c9e9459e7d56447ee2b762c809 /include/asterisk/manager.h
parent6522b1465f1334f90b2961e5a8581819012dc690 (diff)
Version 0.3.0 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@566 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/manager.h')
-rwxr-xr-xinclude/asterisk/manager.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/asterisk/manager.h b/include/asterisk/manager.h
index 5eb4965d5..4a267747f 100755
--- a/include/asterisk/manager.h
+++ b/include/asterisk/manager.h
@@ -18,6 +18,10 @@
#define _ASTERISK_MANAGER_H
#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
/*
* Call management packages are text fields of the form a: b. There is
@@ -42,6 +46,46 @@
#define EVENT_FLAG_COMMAND (1 << 4) /* Ability to read/set commands */
#define EVENT_FLAG_AGENT (1 << 5) /* Ability to read/set agent info */
+/* JDG: export manager structures */
+#define MAX_HEADERS 80
+#define MAX_LEN 256
+
+struct mansession {
+ pthread_t t;
+ pthread_mutex_t lock;
+ struct sockaddr_in sin;
+ int fd;
+ int blocking;
+ char username[80];
+ int authenticated;
+ int readperm;
+ int writeperm;
+ char inbuf[MAX_LEN];
+ int inlen;
+
+ struct mansession *next;
+};
+
+
+struct message {
+ int hdrcount;
+ char headers[MAX_HEADERS][MAX_LEN];
+};
+
+struct manager_action {
+ char action[256];
+ char *synopsis;
+ int authority;
+ int (*func)(struct mansession *s, struct message *m);
+ struct manager_action *next;
+};
+
+/* External routines may register/unregister manager callbacks this way */
+int ast_manager_register( char *action, int authority,
+ int (*func)(struct mansession *s, struct message *m), char *synopsis);
+int ast_manager_unregister( char *action );
+/* /JDG */
+
/* External routines may send asterisk manager events this way */
extern int manager_event(int category, char *event, char *contents, ...)
__attribute__ ((format (printf, 3,4)));