|
|
/****************************************************************************/
|
|
|
/* Copyright (c) 2007,许继集团有限公司 */
|
|
|
/* All rights reserved. */
|
|
|
/* */
|
|
|
/* 模块描述: */
|
|
|
/** 客户端站点管理模块,提供站点初始化、站点状态处理及其他操作接口
|
|
|
* @file ac_srvm.h */
|
|
|
/* */
|
|
|
/* 日期 作者 注释 */
|
|
|
/* 2007/07/14 ZYZ 创建文件 */
|
|
|
/****************************************************************************/
|
|
|
#ifndef IEC61850_AC_SRVM_H
|
|
|
#define IEC61850_AC_SRVM_H
|
|
|
|
|
|
#include "ac_srvmgs.h"
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|
|
|
#endif
|
|
|
|
|
|
extern ST_CHAR scd_path_name[];
|
|
|
|
|
|
/**
|
|
|
* 对象空间创建用户回调函数接口
|
|
|
*/
|
|
|
extern ST_VOID (*u_ac_on_srv_created)(ST_INT srv_id, CREATE_STATE cre_state);
|
|
|
|
|
|
/**
|
|
|
* 数据刷新完毕用户回调函数接口
|
|
|
*/
|
|
|
extern ST_VOID (*u_ac_on_srv_refreshed)(ST_INT srv_id, AC_CHANNEL chnl, REFRESH_STATE refr_state);
|
|
|
|
|
|
extern ST_VOID (*u_ac_on_print_mms_pdu)(
|
|
|
ST_INT srv_id, /**< IEDID*/
|
|
|
ST_UCHAR *pdu,
|
|
|
ST_INT pdu_len,
|
|
|
ST_BOOLEAN downFlag,AC_CHANNEL chnl);
|
|
|
/**
|
|
|
* 站点管理初始化接口.
|
|
|
* 初始化所有站点管理数据结构,并通过文件进行Typeid、对象空间、对象ID的创建,
|
|
|
* 数据结构的指针被保存在数组ac_srvms里
|
|
|
* @retval SD_SUCCESS 初始化成功
|
|
|
* @retval SD_FAILURE 初始化失败
|
|
|
*/
|
|
|
ST_RET ac_init_srvm();
|
|
|
|
|
|
/**
|
|
|
* 站点管理终止接口.
|
|
|
* 释放对象空间,清空请求链表,释放所有站点结构,程序退出前调用
|
|
|
* @return ST_VOID
|
|
|
*/
|
|
|
ST_VOID ac_uninit_srvm();
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 客户端状态处理函数接口.
|
|
|
* 检查连接状态、对象空间创建状态、数据刷新状态并进行请求队列的处理
|
|
|
* @return ST_VOID
|
|
|
*/
|
|
|
ST_VOID ac_srv_state_handle();
|
|
|
|
|
|
/**
|
|
|
* 刷新数据函数接口.
|
|
|
* 该函数实现客户端刷新所有数据,在连接刚刚建立的时候需要调用此函数进行数据刷新
|
|
|
* @param srv_id 服务器ID
|
|
|
* @retval SD_SUCCESS 刷新成功
|
|
|
* @retval SD_FAILURE 刷新失败
|
|
|
*/
|
|
|
ST_RET ac_refresh_srv_data(ST_INT srv_id, AC_CHANNEL chnl);
|
|
|
/**
|
|
|
* 刷新报告控制块数函数接口.
|
|
|
* 该函数实现客户端刷新报告控制块,在连接刚刚建立的时候需要调用此函数刷新所有报告控制块数据
|
|
|
* @param srv_id 服务器ID
|
|
|
* @retval SD_SUCCESS 刷新成功
|
|
|
* @retval SD_FAILURE 刷新失败
|
|
|
*/
|
|
|
ST_RET ac_refresh_srv_rcb(ST_INT srv_id, AC_CHANNEL chnl);
|
|
|
|
|
|
/**
|
|
|
* 通道关联上用户回调接口
|
|
|
*/
|
|
|
extern ST_VOID(*u_ac_chnl_connected)(ST_INT srv_id, AC_CHANNEL chnl);
|
|
|
/**
|
|
|
* 通道断开关联用户回调接口
|
|
|
*/
|
|
|
extern ST_VOID(*u_ac_chnl_disconnected)(ST_INT srv_id, AC_CHANNEL chnl);
|
|
|
/**
|
|
|
* 主通道切换用户回调接口
|
|
|
*/
|
|
|
extern ST_VOID(*u_ac_switch_chnl)(ST_INT srv_id, AC_CHANNEL active_chnl);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
}
|
|
|
#endif
|
|
|
#endif
|