/****************************************************************************/
/* Copyright (c) 2007,许继集团有限公司                                      */
/* All rights reserved.                                                     */
/*                                                                          */
/*  模块描述：                                                              */
/** 程序环境初始化和终止化处理接口及接收网络数据接口
 *  @file  ai_envir.h                                                       */
/*                                                                          */
/* 日期         作者    注释                                                */
/* 2007/07/12   DJF     创建文件                                            */
/****************************************************************************/

#ifndef IEC61850_AI_ENVIR_H
#define IEC61850_AI_ENVIR_H

#include "ai_def.h"
#include "mvl_acse.h"
#include "ac_acfg.h"

#ifdef __cplusplus
extern "C" {
#endif

#define  IEC61850_VERSION  "1.00_081017"
/**
 * 程序运行所必须的初始化步骤.
 * 包括多线程环境的初始化、时钟初始化，全局变量初始化、内存管理初始化、调试log初始化以及网络初始化
 * @param  cfg_path osicfg.xml scd.xml logcfg.xml等配置文件的路径,如果传入为NULL，则默认为配置文件存在可执行程序所在的路径
 * @return  SD_SUCCESS or SD_FAILURE
 */
ST_RET  ai_init_envir(ST_CHAR *cfg_path);

/**
 * 释放初始化及程序运行过程中占用的资源，程序退出前调用
 * @return  ST_VOID
 */
ST_VOID  ai_uninit_envir();

/**
 * 网络数据接收处理接口.
 * 从网口接收数据，并对收到的内容进行分发处理，需要主程序循环调用，循环间隔不要超过1秒  
 */
ST_VOID  ai_comm_serve();

/**
 * 通过服务器名称查找ied_config
 */
AI_IED_CFG *ai_get_ied_config(ST_CHAR *srv_name);

#ifdef __cplusplus
}
#endif


#endif /* ACSI_DEFINED_INCLUDE */


