diff options
author | Mark Spencer <markster@digium.com> | 2002-12-11 00:15:13 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2002-12-11 00:15:13 +0000 |
commit | 3d1d4221aa91a022ea48e547466aeebad835c8d5 (patch) | |
tree | e92d08c7bd0079c9e9459e7d56447ee2b762c809 /include/asterisk/manager.h | |
parent | 12a42fbf3ae0373bc99472608dc67aa064a34d83 (diff) |
Version 0.3.0 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/manager.h')
-rwxr-xr-x | include/asterisk/manager.h | 44 |
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))); |