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

1 year ago
/****************************************************************************/
/* Copyright (c) 2007,<2C><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾ */
/* All rights reserved. */
/* */
/* ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/** <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF>Ʒ<EFBFBD><C6B7><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><E1B9A9><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD>ӿ<EFBFBD>
* @file ac_ctrl.h */
/* */
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ע<><D7A2> */
/* 2007/09/30 ZYZ <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> */
/****************************************************************************/
#ifndef IEC61850_AC_CTRL_H
#define IEC61850_AC_CTRL_H
#include "ac_reqm.h"
#ifdef __cplusplus
extern "C" {
#endif
/** <20><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>,ѡ<><D1A1>,<2C><><EFBFBD><EFBFBD><><C8A1>ͨ<EFBFBD>ýṹ*/
typedef struct
{
AI_OBJ_ID ctrl_obj; //<2F><><EFBFBD><EFBFBD>id
AC_CTRL_VALUE ctrl_val;
U_AC_REQ_DONE u_ctrl_done; //<2F>û<EFBFBD><C3BB>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
} AC_CTRL_REQ_INFO;
/**
* <EFBFBD><EFBFBD><EFBFBD>ȫģʽ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>SBO<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>id<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>SBO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param srv_id <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
* @param sel_req_info <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
* @param time_out <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD>
* @param req <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @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);
/**
* <EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>ȫģʽ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>SBOw<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>id<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>SBOw<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param srv_id <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
* @param selw_req_info <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
* @param time_out <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD>
* @param req <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @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);
/**
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Cancel<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>id<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>дCancel<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param srv_id <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
* @param cancel_req_info <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
* @param time_out <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD>
* @param req <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @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);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>.
* <EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Oper<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>id<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>дOper<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param srv_id <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
* @param oper_req_info <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>
* @param time_out <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD>
* @param req <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @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 */