Mercurial > hg > freeDiameter
diff include/freeDiameter/libfreeDiameter.h @ 90:2c9444152e4b
Added the dispatch thread code
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Mon, 07 Dec 2009 18:32:30 +0900 |
parents | 9e2db1647d6f |
children | 6a294d977878 |
line wrap: on
line diff
--- a/include/freeDiameter/libfreeDiameter.h Mon Dec 07 16:56:42 2009 +0900 +++ b/include/freeDiameter/libfreeDiameter.h Mon Dec 07 18:32:30 2009 +0900 @@ -2352,7 +2352,8 @@ enum disp_action { DISP_ACT_CONT, /* The next handler should be called, unless *msg == NULL. */ - DISP_ACT_SEND /* The updated message must be sent. No further callback is called. */ + DISP_ACT_SEND, /* The updated message must be sent. No further callback is called. */ + DISP_ACT_ERROR /* An error must be created and sent as a reply -- not valid for callbacks, only for fd_msg_dispatch. */ }; /* The callbacks that are registered have the following prototype: * int dispatch_callback( struct msg ** msg, struct avp * avp, struct session * session, enum disp_action * action ); @@ -2423,6 +2424,9 @@ */ int fd_disp_unregister ( struct disp_hdl ** handle ); +/* Destroy all handlers */ +void fd_disp_unregister_all ( void ); + /* * FUNCTION: fd_msg_dispatch * @@ -2442,7 +2446,7 @@ * EINVAL : A parameter is invalid. * (other errors) */ -int fd_msg_dispatch ( struct msg ** msg, struct session * session, enum disp_action *action ); +int fd_msg_dispatch ( struct msg ** msg, struct session * session, enum disp_action *action, const char ** error_code );