#ifndef IEC61850_DLL_INCLUDE
#define IEC61850_DLL_INCLUDE

#include "ai_def.h"
#include "mmsobj.h"
#include "ac_rpt.h"
#include "ac_srvmgs.h"
#include "ac_srvm.h"
#include "ai_log.h"


#ifdef __cplusplus
extern "C" {
#endif

ST_VOID u_chnl_connect_app(ST_VOID(*fun)(ST_INT srv_id, AC_CHANNEL chnl));
ST_VOID u_chnl_disconnect_app(ST_VOID(*fun)(ST_INT srv_id, AC_CHANNEL chnl));
ST_VOID u_chnl_switch_app(ST_VOID(*fun)(ST_INT srv_id, AC_CHANNEL active_chnl));



ST_VOID u_ai_c_rpt_app(ST_VOID(*fun)(VISIBLE_STRING65_TDEF RptID,ST_INT obj_num,AI_OBJ_VAL *obj_val,  ST_BOOLEAN *val_chgs,  
					   AC_REPORT_REASON *reasons,  ST_INT srv_id));
ST_VOID u_srv_create_app(ST_VOID(*fun)(ST_INT srv_id, CREATE_STATE cre_state));
ST_VOID u_srv_refreshed_app(ST_VOID(*fun)(ST_INT srv_id,AC_CHANNEL chnl, REFRESH_STATE refr_state));
ST_VOID *my_chk_calloc(ST_UINT num, ST_UINT size);
ST_VOID my_chk_free(ST_VOID *del_mem_ptr);
ST_VOID u_printf_err_desc(ST_VOID(*fun)(ST_CHAR *desc));
ST_VOID u_srv_print_mms_pdu_app(ST_VOID(*fun)(ST_INT srv_id,ST_UCHAR*pdu,ST_INT pdu_len, ST_BOOLEAN downFlag,
								AC_CHANNEL chnl));

#ifdef __cplusplus
}
#endif

#endif // !defined(AFX_STDAFX_H__953A01C8_64CA_4370_9B53_5E2C56C0D426__INCLUDED_)


