You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.7 KiB
C

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/****************************************************************************/
/* 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 */