Add micro-http server and abstract manager interface, make snmp not die

on reload.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2006-03-25 23:50:09 +00:00
parent b0ac62573a
commit 9164eac21a
16 changed files with 823 additions and 172 deletions

View File

@@ -64,40 +64,7 @@ struct eventqent {
char eventdata[1];
};
struct mansession {
/*! Execution thread */
pthread_t t;
/*! Thread lock -- don't use in action callbacks, it's already taken care of */
ast_mutex_t __lock;
/*! socket address */
struct sockaddr_in sin;
/*! TCP socket */
int fd;
/*! Whether or not we're busy doing an action */
int busy;
/*! Whether or not we're "dead" */
int dead;
/*! 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[AST_MAX_MANHEADER_LEN];
int inlen;
int send_events;
/* Queued events that we've not had the ability to send yet */
struct eventqent *eventq;
/* Timeout for ast_carefulwrite() */
int writetimeout;
struct mansession *next;
};
struct mansession;
struct message {
int hdrcount;
@@ -164,6 +131,10 @@ extern void astman_send_error(struct mansession *s, struct message *m, char *err
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);
extern void astman_append(struct mansession *s, const char *fmt, ...)
__attribute__ ((format (printf, 2, 3)));
/*! Called by Asterisk initialization */
extern int init_manager(void);
/*! Called by Asterisk initialization */