cdp_load.h

Go to the documentation of this file.
00001 
00054 #ifndef _CDP_BIND_H
00055 #define _CDP_BIND_H
00056 
00057 #define CDP_FOR_SER 1
00058 
00059 #include "utils.h"
00060 #include "diameter.h"
00061 #include "diameter_ims.h"
00062 #include "peer.h"
00063 
00064 #define NO_SCRIPT   -1
00065 
00066 
00067 typedef AAAMessage* (*AAACreateRequest_f)(AAAApplicationId app_id,
00068                             AAACommandCode command_code,
00069                             AAAMsgFlag flags,
00070                             AAASessionId *sessId);
00071 typedef AAAMessage* (*AAACreateResponse_f)(AAAMessage *request);
00072 
00073 typedef AAASessionId (*AAACreateSession_f)();
00074 typedef int (*AAADropSession_f)(AAASessionId *s);
00075 
00076 typedef AAATransaction * (*AAACreateTransaction_f)(AAAApplicationId app_id,AAACommandCode cmd_code);
00077 typedef int (*AAADropTransaction_f)(AAATransaction *trans);
00078 
00079 
00080 typedef AAA_AVP* (*AAACreateAVP_f)(
00081                                     AAA_AVPCode code,
00082                                     AAA_AVPFlag flags,
00083                                     AAAVendorId vendorId,
00084                                     char *data,
00085                                     size_t length,
00086                                     AVPDataStatus data_status);
00087         
00088 typedef AAAReturnCode (*AAAAddAVPToMessage_f)(
00089                                                 AAAMessage *msg,
00090                                                 AAA_AVP *avp,
00091                                                 AAA_AVP *position);
00092 
00093 typedef AAA_AVP* (*AAAFindMatchingAVP_f)(
00094                                         AAAMessage *msg,
00095                                         AAA_AVP *startAvp,
00096                                         AAA_AVPCode avpCode,
00097                                         AAAVendorId vendorId,
00098                                         AAASearchType searchType);
00099 
00100 typedef AAA_AVP  *(*AAAFindMatchingAVPList_f)(
00101                                                 AAA_AVP_LIST avpList,
00102                                                 AAA_AVP *startAvp,
00103                                                 AAA_AVPCode avpCode,
00104                                                 AAAVendorId vendorId,
00105                                                 AAASearchType searchType);
00106 typedef AAA_AVP* (*AAAGetNextAVP_f)(AAA_AVP *avp);
00107 
00108 
00109 
00110 typedef AAAReturnCode (*AAAFreeAVP_f)(
00111                                         AAA_AVP **avp);
00112         
00113 typedef AAAReturnCode  (*AAAFreeAVPList_f)(AAA_AVP_LIST *avpList);
00114 
00115 typedef str (*AAAGroupAVPS_f)(AAA_AVP_LIST avps);
00116 
00117 typedef AAA_AVP_LIST (*AAAUngroupAVPS_f)(str buf);
00118 
00119 
00120 typedef AAAReturnCode (*AAASendMessage_f)(  
00121                                             AAAMessage *message,
00122                                             AAATransactionCallback_f *callback_f,
00123                                             void *callback_param);
00124 
00125 typedef AAAReturnCode (*AAASendMessageToPeer_f)(    
00126                                             AAAMessage *message,
00127                                             str *peer_id, 
00128                                             AAATransactionCallback_f *callback_f,
00129                                             void *callback_param);
00130 
00131 typedef AAAMessage* (*AAASendRecvMessage_f)(AAAMessage *msg);
00132 
00133 typedef AAAMessage* (*AAASendRecvMessageToPeer_f)(AAAMessage *msg, str *peer_id);
00134 
00135 typedef AAAReturnCode (*AAAFreeMessage_f)(
00136                                             AAAMessage **message);
00137 
00138 
00139 typedef int (*AAAAddRequestHandler_f)(AAARequestHandler_f *f,void *param);
00140 typedef int (*AAAAddResponseHandler_f)(AAAResponseHandler_f *f,void *param);
00141 
00142 
00143 struct cdp_binds {
00144     AAASendMessage_f AAASendMessage;
00145     AAASendMessageToPeer_f AAASendMessageToPeer;
00146     AAASendRecvMessage_f AAASendRecvMessage;
00147     AAASendRecvMessageToPeer_f AAASendRecvMessageToPeer;
00148     AAAFreeMessage_f AAAFreeMessage;
00149     
00150     AAACreateRequest_f AAACreateRequest;
00151     AAACreateResponse_f AAACreateResponse;  
00152     
00153     AAACreateSession_f AAACreateSession;
00154     AAADropSession_f AAADropSession;
00155 
00156     AAACreateTransaction_f AAACreateTransaction;
00157     AAADropTransaction_f AAADropTransaction;
00158     
00159     AAACreateAVP_f AAACreateAVP;
00160     AAAAddAVPToMessage_f AAAAddAVPToMessage;
00161     AAAFindMatchingAVP_f AAAFindMatchingAVP;
00162     AAAFindMatchingAVPList_f AAAFindMatchingAVPList;
00163     AAAGetNextAVP_f AAAGetNextAVP;
00164     AAAFreeAVP_f AAAFreeAVP;
00165     AAAFreeAVPList_f AAAFreeAVPList;
00166     AAAGroupAVPS_f AAAGroupAVPS;
00167     AAAUngroupAVPS_f AAAUngroupAVPS;
00168     
00169     AAAAddRequestHandler_f AAAAddRequestHandler;
00170     AAAAddResponseHandler_f AAAAddResponseHandler;
00171 };
00172 
00173 
00174 typedef int(*load_cdp_f)( struct cdp_binds *cdpb );
00175 int load_cdp( struct cdp_binds *cdpb);
00176 
00177 #endif
00178 

Generated on Sat Sep 6 04:17:47 2008 for Open IMS Core CSCFs by  doxygen 1.5.2