Files
microser/mms/clntobj.h
2025-01-16 16:17:01 +08:00

400 lines
7.2 KiB
C

/**
* @file: $RCSfile: clntobj.h,v $
* @brief: $IEC 61850 Protocol
*
* @version: $Revision: 1.1 $
* @date: $Date: 2018/11/24 06:54:50 $
* @author: $Author: lizhongming $
* @state: $State: Exp $
*
* @latest: $Id: clntobj.h,v 1.1 2018/11/24 06:54:50 lizhongming Exp $
*
*/
#ifndef FOUNDRY_OUTPUT_HEADER_INCLUDED
#define FOUNDRY_OUTPUT_HEADER_INCLUDED
#include "mvl_uca.h"
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
/* MVL Type Control Information */
extern MVL_TYPE_CTRL *mvl_type_ctrl;
extern ST_INT mvl_num_types;
/************************************************************************/
/* MVL Type ID's */
#define RTYP_BOOL_TYPEID 0
#define RTYP_BTIME6_TYPEID 1
#define RTYP_BSTR6_TYPEID 2
#define RTYP_BSTR8_TYPEID 3
#define RTYP_BSTR9_TYPEID 4
#define RTYP_BVSTR6_TYPEID 5
#define RTYP_BVSTR8_TYPEID 6
#define RTYP_BVSTR10_TYPEID 7
#define RTYP_INT8U_TYPEID 8
#define RTYP_INT16U_TYPEID 9
#define RTYP_OSTR8_TYPEID 10
#define RTYP_VSTR32_TYPEID 11
#define RTYP_VSTR65_TYPEID 12
#define RTYP_INT32U_TYPEID 13
#define I16_TYPEID 14
#define U32_TYPEID 15
#define UTF8VSTRING13_TYPEID 16
#define phv_type_TYPEID 17
#define phsx_type_TYPEID 18
/************************************************************************/
/************************************************************************/
/* Common Strings Index Defines */
#ifndef USE_RT_TYPE_2
#define FO_PHSA_STRING_INDEX 1
#define FO_INSTCVAL_STRING_INDEX 2
#define FO_MAG_STRING_INDEX 3
#define FO_I_STRING_INDEX 4
#define FO_F_STRING_INDEX 5
#define FO_ANG_STRING_INDEX 6
#define FO_CVAL_STRING_INDEX 7
#define FO_RANGE_STRING_INDEX 8
#define FO_Q_STRING_INDEX 9
#define FO_T_STRING_INDEX 10
#define FO_PHSB_STRING_INDEX 11
#define FO_PHSC_STRING_INDEX 12
#define FO_NEUT_STRING_INDEX 13
#define FO_NET_STRING_INDEX 14
#define FO_RES_STRING_INDEX 15
#endif
/************************************************************************/
/* TYPEDEFS for MMS TYPES */
/************************************************************************/
/* Use ":CF", "-notypedefs" in the ODF file to not include this line */
#define USE_MMS_TYPEDEFS
#if defined (USE_MMS_TYPEDEFS)
typedef ST_BOOLEAN RTYP_BOOL_TDEF;
typedef MMS_BTIME6 RTYP_BTIME6_TDEF;
typedef ST_UCHAR RTYP_BSTR6_TDEF[1]; /* Bitstring */
typedef ST_UCHAR RTYP_BSTR8_TDEF[1]; /* Bitstring */
typedef ST_UCHAR RTYP_BSTR9_TDEF[2]; /* Bitstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[1];
} RTYP_BVSTR6_TDEF; /* Bitstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[1];
} RTYP_BVSTR8_TDEF; /* Bitstring */
typedef struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} RTYP_BVSTR10_TDEF; /* Bitstring */
typedef ST_UINT8 RTYP_INT8U_TDEF;
typedef ST_UINT16 RTYP_INT16U_TDEF;
typedef ST_UCHAR RTYP_OSTR8_TDEF[8]; /* Octetstring */
typedef ST_CHAR RTYP_VSTR32_TDEF[33]; /* Visible String */
typedef ST_CHAR RTYP_VSTR65_TDEF[66]; /* Visible String */
typedef ST_UINT32 RTYP_INT32U_TDEF;
typedef ST_INT16 I16_TDEF;
typedef ST_UINT32 U32_TDEF;
typedef ST_CHAR UTF8VSTRING13_TDEF[28];
typedef struct
{
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} phsA;
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} phsB;
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} phsC;
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} neut;
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} net;
struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} res;
} phv_type_TDEF;
typedef struct
{
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} instCVal;
struct
{
struct
{
ST_INT32 i;
ST_FLOAT f;
} mag;
struct
{
ST_INT32 i;
ST_FLOAT f;
} ang;
} cVal;
ST_INT8 range;
struct /* BVstring */
{
ST_INT16 len_1;
ST_UCHAR data_1[2];
} q;
MMS_UTC_TIME t;
} phsx_type_TDEF;
/************************************************************************/
#endif /* if defined (USE_MMS_TYPEDEFS) */
/************************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* #ifndef FOUNDRY_OUTPUT_HEADER_INCLUDED */