Mercurial > hg > freeDiameter
comparison extensions/app_radgw/rgw_common.h @ 356:e203fc0c95e3
Updated the app_radgw extension to allow more souple management of sessions, and stateful gateway features.
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Thu, 01 Jul 2010 15:47:34 +0900 |
parents | 3baabc0da588 |
children | 26aafbbc1640 |
comparison
equal
deleted
inserted
replaced
355:1ae3f2c28737 | 356:e203fc0c95e3 |
---|---|
69 | 69 |
70 /* Cleanup the configuration state when the daemon is exiting (called even if state is NULL). */ | 70 /* Cleanup the configuration state when the daemon is exiting (called even if state is NULL). */ |
71 void (*rgwp_conf_free) (struct rgwp_config * state); | 71 void (*rgwp_conf_free) (struct rgwp_config * state); |
72 | 72 |
73 /* handle an incoming RADIUS message */ | 73 /* handle an incoming RADIUS message */ |
74 int (*rgwp_rad_req) ( struct rgwp_config * conf, struct session * session, struct radius_msg * rad_req, struct radius_msg ** rad_ans, struct msg ** diam_fw, struct rgw_client * cli ); | 74 int (*rgwp_rad_req) ( struct rgwp_config * conf, struct session ** session, struct radius_msg * rad_req, struct radius_msg ** rad_ans, struct msg ** diam_fw, struct rgw_client * cli ); |
75 /* ret 0: continue; | 75 /* ret >0: critical error (errno), log and exit. |
76 ret 0: continue; | |
76 ret -1: stop processing this message | 77 ret -1: stop processing this message |
77 ret -2: reply the content of rad_ans to the RADIUS client immediatly | 78 ret -2: reply the content of rad_ans to the RADIUS client immediatly |
78 ret >0: critical error (errno), log and exit. | |
79 */ | 79 */ |
80 | 80 |
81 /* handle the corresponding Diameter answer */ | 81 /* handle the corresponding Diameter answer */ |
82 int (*rgwp_diam_ans) ( struct rgwp_config * conf, struct session * session, struct msg ** diam_ans, struct radius_msg ** rad_fw, struct rgw_client * cli ); | 82 int (*rgwp_diam_ans) ( struct rgwp_config * conf, struct session * session, struct msg ** diam_ans, struct radius_msg ** rad_fw, struct rgw_client * cli, int * stateful ); |
83 /* ret 0: continue; ret >0: error; ret: -1 ... (tbd) */ | 83 /* ret 0: continue; ret >0: error; ret: -1 ... (tbd) */ |
84 | 84 /* if *stateful = 1 on return, the session will not be destroyed after RADIUS answer is sent. The extension must ensure to register a timeout on the session in this case. */ |
85 | |
85 } rgwp_descriptor; | 86 } rgwp_descriptor; |
86 | 87 |
87 | 88 |
88 | 89 |
89 /**************************************************************/ | 90 /**************************************************************/ |