[Asterisk-cvs] asterisk/include/asterisk manager.h,1.11,1.12
markster at lists.digium.com
markster at lists.digium.com
Wed Mar 2 00:00:50 CST 2005
- Previous message: [Asterisk-cvs] asterisk/channels chan_phone.c,1.43,1.44
- Next message: [Asterisk-cvs] libpri libpri.h, 1.41, 1.42 pri.c, 1.31,
1.32 pri_facility.c, 1.3, 1.4 pri_facility.h, 1.2,
1.3 pri_internal.h, 1.16, 1.17 pri_q931.h, 1.19, 1.20 q931.c,
1.115, 1.116 testprilib.c, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /usr/cvsroot/asterisk/include/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv3226/include/asterisk
Modified Files:
manager.h
Log Message:
Add manager doxygen docs (bug #3691)
Index: manager.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/manager.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- manager.h 2 Jul 2004 23:11:13 -0000 1.11
+++ manager.h 2 Mar 2005 05:58:13 -0000 1.12
@@ -25,18 +25,22 @@
#include <asterisk/lock.h>
-/*
- * Call management packages are text fields of the form a: b. There is
- * always exactly one space after the colon.
- *
- * The first header type is the "Event" header. Other headers vary from
- * event to event. Headers end with standard \r\n termination.
- *
- * Some standard headers:
- *
- * Action: <action> -- request or notification of a particular action
- * Response: <response> -- response code, like "200 OK"
- *
+/*!
+ \file manager.h
+ \brief The AMI - Asterisk Manager Interface - is a TCP protocol created to
+ manage Asterisk with third-party software.
+
+ Manager protocol packages are text fields of the form a: b. There is
+ always exactly one space after the colon.
+
+ The first header type is the "Event" header. Other headers vary from
+ event to event. Headers end with standard \r\n termination.
+
+ Some standard headers:
+
+ Action: <action> -- request or notification of a particular action
+ Response: <response> -- response code, like "200 OK"
+
*/
#define DEFAULT_MANAGER_PORT 5038 /* Default port for Asterisk management via TCP */
@@ -54,16 +58,26 @@
#define MAX_LEN 256
struct mansession {
+ /*! Execution thread */
pthread_t t;
+ /*! Thread lock */
ast_mutex_t lock;
+ /*! socket address */
struct sockaddr_in sin;
+ /*! TCP socket */
int fd;
int blocking;
+ /*! Logged in username */
char username[80];
+ /*! Authentication challenge */
char challenge[10];
+ /*! Authentication status */
int authenticated;
+ /*! Authorization for reading */
int readperm;
+ /*! Authorization for writing */
int writeperm;
+ /*! Buffer */
char inbuf[MAX_LEN];
int inlen;
int send_events;
@@ -95,20 +109,45 @@
/* External routines may register/unregister manager callbacks this way */
#define ast_manager_register(a, b, c, d) ast_manager_register2(a, b, c, d, NULL)
-int ast_manager_register2( char *action, int authority,
- int (*func)(struct mansession *s, struct message *m), char *synopsis, char *description);
+
+/* Use ast_manager_register2 to register with help text for new manager commands */
+
+/*! Register a manager command with the manager interface */
+/*! \param action Name of the requested Action:
+ \param authority Required authority for this command
+ \param func Function to call for this command
+ \param synopsis Help text (one line, up to 30 chars) for CLI manager show commands
+ \param description Help text, several lines
+*/
+int ast_manager_register2(
+ char *action,
+ int authority,
+ int (*func)(struct mansession *s, struct message *m),
+ char *synopsis,
+ char *description);
+
+/*! Unregister a registred manager command */
+/*! \param action Name of registred Action:
+*/
int ast_manager_unregister( char *action );
-/* External routines may send asterisk manager events this way */
+/*! External routines may send asterisk manager events this way */
+/*! \param category Event category, matches manager authorization
+ \param event Event name
+ \param contents Contents of event
+*/
extern int manager_event(int category, char *event, char *contents, ...)
__attribute__ ((format (printf, 3,4)));
+/*! Get header from mananger transaction */
extern char *astman_get_header(struct message *m, char *var);
+/*! Send error in manager transaction */
extern void astman_send_error(struct mansession *s, struct message *m, char *error);
extern void astman_send_response(struct mansession *s, struct message *m, char *resp, char *msg);
extern void astman_send_ack(struct mansession *s, struct message *m, char *msg);
-/* Called by Asterisk initialization */
+/*! Called by Asterisk initialization */
extern int init_manager(void);
+/*! Called by Asterisk initialization */
extern int reload_manager(void);
#endif
- Previous message: [Asterisk-cvs] asterisk/channels chan_phone.c,1.43,1.44
- Next message: [Asterisk-cvs] libpri libpri.h, 1.41, 1.42 pri.c, 1.31,
1.32 pri_facility.c, 1.3, 1.4 pri_facility.h, 1.2,
1.3 pri_internal.h, 1.16, 1.17 pri_q931.h, 1.19, 1.20 q931.c,
1.115, 1.116 testprilib.c, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the svn-commits
mailing list