/****************************************************************************/
/* Copyright (c) 2007,许继集团有限公司                                      */
/* All rights reserved.                                                     */
/*                                                                          */
/*  模块描述：                                                              */
/** 创建解析报告报文模块对外接口声明及数据结构定义
 *  @file  ac_rptEna.h                                                      
 *  @author yh  huiy@xSgc.com												*/
/*                                                                          */
/* 日期         作者    注释                                                */
/* 2007/07/16   YH    创建文件                                              */
/****************************************************************************/
#ifndef IEC61850_RPTENA_INCLUDED
#define IEC61850_RPTENA_INCLUDED

#include "ac_reqm.h"
#include "ai_sem.h"
#include "ai_log.h"
#include "mmsobj.h"
#include "ac_srvm.h"

#ifdef __cplusplus
extern "C" {
#endif
	
/**
 * ENABLE报告请求信息结构
 */
typedef struct
{
	AI_OBJ_ID rcb_id;            /**<  报告ID*/ 
	ST_INT OptFlds;              /**<  OptFlds值*/ 
	ST_INT TrgOps;               /**<  TrgOps值*/
	ST_INT IntgPd;               /**<  IntgPd值*/
	ST_BOOLEAN rptEna;           /**<  rptEna,是否使能 */
	U_AC_REQ_DONE u_rpt_done;    /**<  用户回调函数指针*/
}AC_ENAREPORT_INFO;

/**
 * 使能报告服务。
 * @param  srv_id	        SRVID
 * @param  enarpt_info	    使能报告服务的输入信息结构指针
 * @param  time_out	        服务超时时间
 * @param  ac_req_ctrl_out	请求结构指针（输出）
 * @retval SD_SUCCESS   成功
 * @retval SD_FAILURE   失败
*/
ST_RET ac_rpt_enable(ST_INT srv_id, AC_ENAREPORT_INFO* enarpt_info, ST_INT time_out, AC_REQ_CTRL **ac_req_ctrl_out);
	
/**
 * 清除所有使能的报告控制块的使能标志
 * @param  srv_id       服务器 ID
 * @retval SD_FAILURE   失败
 * @retval SD_SUCCESS   成功
 */
ST_RET ac_set_rcb_disable(ST_INT srv_id);

/**
 * 通过指定通道下发使能报告服务。
 * @param  srv_id	        SRVID
 * @param  enarpt_info	    使能报告服务的输入信息结构指针
 * @param  time_out	        服务超时时间
 * @param  ac_req_ctrl_out	请求结构指针（输出）
 * @param  chnl				通道号 
 * @retval SD_SUCCESS   成功
 * @retval SD_FAILURE   失败
*/
ST_RET ac_rpt_enable_chnl(ST_INT srv_id, AC_ENAREPORT_INFO* enarpt_info, ST_INT time_out, AC_CHANNEL chnl, AC_REQ_CTRL **reqCtrl_out);

#ifdef __cplusplus
}
#endif
#endif
