00001
00056 #ifndef __STATEMACHINE_H
00057 #define __STATEMACHINE_H
00058
00059
00060 #include "utils.h"
00061
00062 #include "peer.h"
00063 #include "diameter.h"
00064
00065 int sm_process(peer *p,peer_event_t event,AAAMessage *msg,int peer_locked,int sock);
00066
00067 peer_state_t I_Snd_Conn_Req(peer *p);
00068 void Cleanup(peer *p,int sock);
00069 void Error(peer *p, int sock);
00070 void I_Snd_CER(peer *p);
00071 int Process_CEA(peer *p,AAAMessage *cea);
00072 void I_Disc(peer *p);
00073 void R_Disc(peer *p);
00074 int Process_DWR(peer *p,AAAMessage *dwr);
00075 void Process_DWA(peer *p,AAAMessage *dwa);
00076 void Snd_DWR(peer *p);
00077 void Snd_DWA(peer *p,AAAMessage *dwr,int result_code,int sock);
00078 void Snd_DPR(peer *p);
00079 void Snd_DPA(peer *p,AAAMessage *dpr,int result_code,int sock);
00080 void R_Accept(peer *p,int sock);
00081 void R_Reject(peer *p,int sock);
00082 int Process_CER(peer *p,AAAMessage *cer);
00083 void Snd_CEA(peer *p,AAAMessage *cer,int result_code,int sock);
00084 int Elect(peer *p,AAAMessage *cer);
00085
00086 void Snd_Message(peer *p, AAAMessage *msg);
00087 void Rcv_Process(peer *p, AAAMessage *msg);
00088
00089 #endif