/****************************************************************************/ /* Copyright (c) 2007,许继集团有限公司 */ /* All rights reserved. */ /* */ /* 模块描述: */ /** 客户端控制服务模块,提供控制服务相关操作接口 * @file ac_ctrl.h */ /* */ /* 日期 作者 注释 */ /* 2007/09/30 ZYZ 创建文件 */ /****************************************************************************/ #ifndef IEC61850_AC_CTRL_H #define IEC61850_AC_CTRL_H #include "ac_reqm.h" #ifdef __cplusplus extern "C" { #endif /** 控制服务服务请求所需信息结构定义,选择,操作,取消通用结构*/ typedef struct { AI_OBJ_ID ctrl_obj; //对象id AC_CTRL_VALUE ctrl_val; U_AC_REQ_DONE u_ctrl_done; //用户回调函数指针 } AC_CTRL_REQ_INFO; /** * 常规安全模式的选择服务. * 先找到SBO属性的id,下发读SBO的请求 * @param srv_id 服务器id * @param sel_req_info 控制请求信息结构 * @param time_out 超时时间,单位为秒 * @param req 传出的选择请求结构 * @return SD_SUCCESS or SD_FAILURE */ ST_RET ac_select(ST_INT srv_id, AC_CTRL_REQ_INFO *sel_req_info, ST_INT time_out, AC_REQ_CTRL **req); /** * 增强安全模式的选择服务. * 先找到SBOw属性的id,下发读SBOw的请求 * @param srv_id 服务器id * @param selw_req_info 控制请求信息结构 * @param time_out 超时时间,单位为秒 * @param req 传出的选择请求结构 * @return SD_SUCCESS or SD_FAILURE */ ST_RET ac_select_with_val(ST_INT srv_id, AC_CTRL_REQ_INFO *selw_req_info, ST_INT time_out, AC_REQ_CTRL **req); /** * 取消服务. * 先找到Cancel属性的id,下发写Cancel的请求 * @param srv_id 服务器id * @param cancel_req_info 控制请求信息结构 * @param time_out 超时时间,单位为秒 * @param req 传出的取消请求结构 * @return SD_SUCCESS or SD_FAILURE */ ST_RET ac_cancel(ST_INT srv_id, AC_CTRL_REQ_INFO *cancel_req_info, ST_INT time_out, AC_REQ_CTRL **req); /** * 控制执行服务. * 先找到Oper属性的id,下发写Oper的请求 * @param srv_id 服务器id * @param oper_req_info 控制请求信息结构 * @param time_out 超时时间,单位为秒 * @param req 传出的操作请求结构 * @return SD_SUCCESS or SD_FAILURE */ ST_RET ac_operate(ST_INT srv_id, AC_CTRL_REQ_INFO *oper_req_info, ST_INT time_out, AC_REQ_CTRL **req); #ifdef __cplusplus } #endif #endif /** IEC61850_AC_CTRL_H */