120 lines
3.3 KiB
C
120 lines
3.3 KiB
C
![]() |
/****************************************************************************
|
|||
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>: smvapi.h
|
|||
|
----------------------------------------------------------------------------
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : smvapi.cͷ<EFBFBD>ļ<EFBFBD>
|
|||
|
----------------------------------------------------------------------------
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ :
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
----------------------------------------------------------------------------
|
|||
|
2011-04-15 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
****************************************************************************/
|
|||
|
|
|||
|
#ifndef _SMVAPI_H_
|
|||
|
#define _SMVAPI_H_
|
|||
|
|
|||
|
#include "gse_clnp.h"
|
|||
|
#include "gse_asn1.h"
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>ȣ<EFBFBD><C8A3><EFBFBD>9-2<><32>14
|
|||
|
#define SV2_MAX_VSTRING_LEN 35
|
|||
|
#define SV2_MAX_OBJREF_LEN 64
|
|||
|
#define SV2_MAX_SVID_LEN 34
|
|||
|
|
|||
|
|
|||
|
#define SV2_MAX_ASDU_NUM 10 //<2F><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>һ<EFBFBD><D2BB>apdu<64>а<EFBFBD><D0B0><EFBFBD>10<31><30>asdu
|
|||
|
|
|||
|
/**
|
|||
|
* smv9-2<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
*/
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
ST_INT eth_index;
|
|||
|
ST_INT timeout;
|
|||
|
|
|||
|
ST_UINT16 appid;
|
|||
|
ST_CHAR svID[SV2_MAX_SVID_LEN+1]; /**< svID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> */
|
|||
|
}GSV_SV2RECV_INI;
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
ST_UINT16 smpCnt; /**< <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
ST_UINT32 confRev; /**< <20><><EFBFBD>øı<C3B8><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
ST_UCHAR smpSynch; /**< <20><>0<EFBFBD><30>1<EFBFBD><31>2<EFBFBD><32><EFBFBD><EFBFBD>ֵ,<2C><>9-2le7.2.2 */
|
|||
|
ST_UCHAR *ds_buf; /**< <20><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ʽ<EFBFBD><CABD>9-2le figure5 */
|
|||
|
ST_INT buf_len; /**< ds_buf<75>ij<EFBFBD><C4B3><EFBFBD> */
|
|||
|
}SV2_ASDU_VAL;
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
ST_UCHAR *apdu;
|
|||
|
ASN_1_UNIT smpCnt;
|
|||
|
ASN_1_UNIT confRev;
|
|||
|
ASN_1_UNIT smpSynch;
|
|||
|
ASN_1_UNIT ds_buf;
|
|||
|
ASN_1_UNIT svId;
|
|||
|
}SV2_ASDU_AU;
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
char daRef[SV2_MAX_OBJREF_LEN+1];
|
|||
|
char outVarName[SV2_MAX_OBJREF_LEN+1];
|
|||
|
int entryIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>1<EFBFBD><31>ʼ
|
|||
|
int userIndex; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float rating; //<2F>ֵ<EEB6A8><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2012-03-30
|
|||
|
} SV2_ASDU_USER;
|
|||
|
|
|||
|
/**
|
|||
|
* smv9-2<EFBFBD><EFBFBD><EFBFBD>ƽṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
ST_INT eth_index; /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
ST_UINT16 appid;
|
|||
|
|
|||
|
ST_UINT16 reserved1;
|
|||
|
ST_UINT16 reserved2;
|
|||
|
|
|||
|
ST_CHAR svId[SV2_MAX_SVID_LEN+1];
|
|||
|
SV2_ASDU_VAL *asdu_vals;
|
|||
|
SV2_ASDU_AU *val_asdu_au;
|
|||
|
ST_UINT8 asdu_num; /**< apdu<64><75>asdu<64>ĸ<EFBFBD><C4B8><EFBFBD> */
|
|||
|
ST_UINT16 apdu_len; /**< <20><><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>Ļ<EFBFBD>asdu<64><75><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>仯 */
|
|||
|
|
|||
|
SV2_ASDU_USER *asdu_user; //hsj add 2012-03-27
|
|||
|
int entryNumAct; //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>鳤<EFBFBD><E9B3A4>
|
|||
|
int entryNumDataset; //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
|
|||
|
int delayPoint; //<2F>ϲ<EFBFBD><CFB2><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>ͣ<EFBFBD><CDA3>ӳٵ<D3B3><D9B5><EFBFBD>
|
|||
|
|
|||
|
int ctrlIndex; //<2F><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>0<EFBFBD><30>ʼ add 2012-05-10
|
|||
|
}GSV_SV2RECV_CTRL;
|
|||
|
|
|||
|
/**
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>9-2<EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻش<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* sv2_ctrl<EFBFBD>е<EFBFBD>ds_buffs<EFBFBD><EFBFBD>ȡֵ
|
|||
|
*/
|
|||
|
typedef ST_VOID (*U_SMV2RECV_CALLBACK)(GSV_SV2RECV_CTRL *sv2_ctrl, ST_INT svIndex, ST_INT svNum, unsigned int recvTime );
|
|||
|
|
|||
|
ST_VOID smvapi_parse(const ST_UCHAR *msg, ST_INT msg_len, ST_INT svIndex, ST_INT svNum, unsigned int recvTime );
|
|||
|
ST_VOID smvapi_recved_smv92(ST_UCHAR *buf, ST_INT svIndex, ST_INT svNum, unsigned int recvTime );
|
|||
|
|
|||
|
/** <20><>ʼ<EFBFBD><CABC>SMV<4D><56><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ƿ飬<C6BF><E9A3AC>61850ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><F2A3ACBB><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
GSV_SV2RECV_INI * protect_get_smv_ini( unsigned int *smv92_recv_ini_num );
|
|||
|
|
|||
|
|
|||
|
#if 1
|
|||
|
int smvapi_release( void );
|
|||
|
|
|||
|
int smvapi_init( U_SMV2RECV_CALLBACK u_callback );
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|