⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sx_defs.h

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
                 ST_RET (*u_sx_el_start_fun) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag),                 ST_RET (*u_sx_el_end_fun) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag));ST_RET sx_parseEx_mt (ST_CHAR *fileName, ST_INT numItems,                  SX_ELEMENT *itemTbl, ST_VOID *usr,                 ST_RET (*u_sx_el_start_fun) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag),                 ST_RET (*u_sx_el_end_fun) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag));ST_VOID sx_push (SX_DEC_CTRL *sxDecCtrl, ST_INT numItems, 		 SX_ELEMENT *itemTbl, ST_BOOLEAN auto_pop);ST_VOID sx_pop (SX_DEC_CTRL *sxDecCtrl);ST_RET sx_get_entity (SX_DEC_CTRL *sxDecCtrl, 		      ST_CHAR *destBuf, ST_INT destLen,		      ST_INT *lenOut);ST_RET sx_get_int (SX_DEC_CTRL *sxDecCtrl, ST_INT *out_ptr);ST_RET sx_get_double (SX_DEC_CTRL *sxDecCtrl, ST_DOUBLE *out_ptr);ST_RET sx_get_uchar (SX_DEC_CTRL *sxDecCtrl, ST_UCHAR *out_ptr);ST_RET sx_get_int16 (SX_DEC_CTRL *sxDecCtrl, ST_INT16 *out_ptr);ST_RET sx_get_long (SX_DEC_CTRL *sxDecCtrl, ST_LONG *out_ptr);ST_RET sx_get_ulong (SX_DEC_CTRL *sxDecCtrl, ST_UINT32 *out_ptr);ST_RET sx_get_bool (SX_DEC_CTRL *sxDecCtrl, ST_BOOLEAN *out_ptr);ST_RET sx_get_time (SX_DEC_CTRL *sxDecCtrl, time_t *out_ptr);ST_RET sx_get_time_ex (SX_DEC_CTRL *sxDecCtrl, time_t *out_ptr, long *microseconds);ST_RET sx_get_uint (SX_DEC_CTRL *sxDecCtrl, ST_UINT *out_ptr);ST_RET sx_get_alloc_string (SX_DEC_CTRL *sxDecCtrl, ST_CHAR **strOut);ST_RET sx_get_string_ptr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR **strOut, ST_INT *lenOut);ST_RET sx_get_string (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *dest, ST_INT *lenOut);ST_VOID sx_format_string (ST_CHAR *dest, ST_CHAR *src);ST_RET sx_get_bitstring (SX_DEC_CTRL *sxDecCtrl, ST_INT *dest, ST_INT *lenOut);ST_RET sx_get_element_contents (SX_DEC_CTRL *sxDecCtrl, 		      ST_CHAR *destBuf, ST_INT destLen,		      ST_INT *lenOut);ST_RET sx_find_element_contents (SX_DEC_CTRL *sxDecCtrl, 		      ST_CHAR **elStartOut, ST_INT *lenOut);ST_RET sx_get_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *value, ST_CHAR *name);ST_RET sx_get_attr_ptr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR **ptrOut, ST_CHAR *name);ST_RET sx_get_bool_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_BOOLEAN *out_ptr);ST_RET sx_get_int_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_INT *out_ptr);ST_RET sx_get_double_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_DOUBLE *out_ptr);ST_RET sx_get_uchar_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_UCHAR *out_ptr);ST_RET sx_get_int16_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_INT16 *out_ptr);ST_RET sx_get_long_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_LONG *out_ptr);ST_RET sx_get_ulong_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_UINT32 *out_ptr);ST_RET sx_get_uint_attr (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, ST_UINT *out_ptr);#define sxd_decode_data_el(elName,xml,xmlLen,xmlUsed,vdp,typeId,elPres,checkDt)\ _sxd_decode_data_el(elName,xml,xmlLen,xmlUsed,vdp,typeId,elPres,sxdDefXmlStyle,checkDt)ST_RET _sxd_decode_data_el (ST_CHAR *elName, 			   ST_CHAR *xml, ST_INT xmlLen, ST_INT *xmlUsed, 			   ST_VOID *vdp, ST_INT typeId, 			   ST_BOOLEAN *elPres, ST_INT sxdXmlStyle, ST_BOOLEAN checkDt);ST_RET sxd_decode_rtdata_el (SD_CONST ST_CHAR *elName, 			   ST_CHAR *xml, ST_INT xmlLen, ST_INT *xmlUsed, 			   ST_VOID *vdp, SD_CONST RUNTIME_TYPE *rt_head, 			   ST_INT rt_num, ST_BOOLEAN *elPres, 			   ST_INT sxdXmlStyle, ST_BOOLEAN checkDt);extern ST_RET (*u_sx_el_start) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag);extern ST_RET (*u_sx_el_end) (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *tag);ST_VOID sxStartElement (SX_DEC_CTRL *sxDecCtrl);ST_VOID sxEndElement (SX_DEC_CTRL *sxDecCtrl);ST_RET sx_get_value (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *format_string, ST_VOID *out_ptr);ST_RET sx_get_attr_value (SX_DEC_CTRL *sxDecCtrl, ST_CHAR *name, 			  ST_CHAR *format_string, ST_VOID *out_ptr);ST_VOID sx_load_characters (ST_CHAR *lineBuf, ST_BOOLEAN *eof, FILE *fp, ST_INT numToRead);/************************************************************************//************************************************************************//************************************************************************//* max prefix length in SXD_XML_STYLE_A */#define  SXD_MAX_PREFIX	100typedef struct sx_enc_ctrl   {  ST_INT xmlBufLen;  ST_CHAR *xmlBuf;  ST_CHAR *xmlBufEnd;  ST_BOOLEAN useFp;  FILE *fp;  ST_CHAR *nextWritePos;  ST_INT currNestLevel;  ST_CHAR tags[SX_MAX_STACK_LEVEL][SX_MAX_TAG_LEN+1];  ST_RET errCode;  ST_BOOLEAN bUseFormatting;  ST_BOOLEAN bOneLineEl;/* Used for data encoding */  ST_BOOLEAN encDt;  ST_CHAR *outerElement;  ST_INT sxdXmlStyle;	  ST_CHAR sxdPrefix[SXD_MAX_PREFIX+1];	/* only for SXD_XML_STYLE_A */  ST_INT sxdStructNestLevel;		/* only for SXD_XML_STYLE_A */  ST_VOID *usr;  } SX_ENC_CTRL;/* Macro for getting current encoded length */#define SX_ENC_LEN(__sxEncCtrl)  ((__sxEncCtrl)->nextWritePos - (__sxEncCtrl)->xmlBuf)/************************************************************************//************************************************************************/SX_ENC_CTRL *sx_start_encode (ST_CHAR *xmlBuf, ST_INT xmlBufLen);SX_ENC_CTRL *sx_start_encodeEx (ST_CHAR *fileName);ST_VOID sx_end_encode (SX_ENC_CTRL *sxEncCtrl);ST_VOID sx_init_encode (SX_ENC_CTRL *sxEncCtrl, 			ST_CHAR *xmlBuf, ST_INT xmlBufLen);ST_RET  sx_init_encodeEx (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *fileName);#define sx_start_element(sxEncCtrl,tag,numAttr,attr)\              sx_write_element(sxEncCtrl,tag,numAttr,attr,SD_FALSE,SD_FALSE);#define sx_write_empty_element(sxEncCtrl,tag,numAttr,attr)\              sx_write_element(sxEncCtrl,tag,numAttr,attr,SD_FALSE,SD_TRUE);ST_VOID sx_end_element (SX_ENC_CTRL *sxEncCtrl);ST_VOID sx_write_element (SX_ENC_CTRL *sxEncCtrl, SD_CONST ST_CHAR *tag, 			   ST_INT numAttr, SXE_ATTR_PAIR *attr, 			   ST_BOOLEAN end, ST_BOOLEAN empty);/* Defines for 'no attribute' cases */#define sx_wr_string_el(sxEncCtrl,tag,str)\		sx_wrx_string_el(sxEncCtrl,tag,str,0,NULL)#define sx_wr_int_el(sxEncCtrl,tag,val)\		sx_wrx_int_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_uint_el(sxEncCtrl,tag,val)\		sx_wrx_uint_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_ulong_el(sxEncCtrl,tag,val)\		sx_wrx_ulong_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_float_el(sxEncCtrl,tag,val)\		sx_wrx_float_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_double_el(sxEncCtrl,tag,val)\		sx_wrx_double_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_long_el(sxEncCtrl,tag,val)\		sx_wrx_long_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_bool_el(sxEncCtrl,tag,val)\		sx_wrx_bool_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_time_el(sxEncCtrl,tag,val)\		sx_wrx_time_el(sxEncCtrl,tag,val,0,NULL)#define sx_wr_cdata_el(sxEncCtrl,tag,str, len)\		sx_wrx_cdata_el(sxEncCtrl,tag,str,len,0,NULL)/* Functions to write elements and element contents */ST_VOID sx_wr_string (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *str);ST_VOID sx_wrx_string_el (SX_ENC_CTRL *sxEncCtrl, SD_CONST ST_CHAR *tag, ST_CHAR *str, 			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_bitstring (SX_ENC_CTRL *sxEncCtrl, ST_INT numBits, 						 ST_UINT8 *bitStr);ST_VOID sx_wrx_bitstring_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, 			 ST_INT numBits, ST_UINT8 *bitStr,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_int (SX_ENC_CTRL *sxEncCtrl, ST_INT val);ST_VOID sx_wrx_int_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_INT val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_uint (SX_ENC_CTRL *sxEncCtrl, ST_UINT val);ST_VOID sx_wrx_uint_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_UINT val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_ulong (SX_ENC_CTRL *sxEncCtrl, ST_ULONG val);ST_VOID sx_wrx_ulong_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_ULONG val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_float (SX_ENC_CTRL *sxEncCtrl, ST_FLOAT val);ST_VOID sx_wrx_float_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_FLOAT val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_double (SX_ENC_CTRL *sxEncCtrl, double val);ST_VOID sx_wrx_double_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, double val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_long (SX_ENC_CTRL *sxEncCtrl, ST_LONG val);ST_VOID sx_wrx_long_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_LONG val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_bool (SX_ENC_CTRL *sxEncCtrl, ST_BOOLEAN val);ST_VOID sx_wrx_bool_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, ST_BOOLEAN val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_time (SX_ENC_CTRL *sxEncCtrl, time_t val);ST_VOID sx_wrx_time_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, time_t val,			 ST_INT numAttr, SXE_ATTR_PAIR *attr);ST_VOID sx_wr_cdata (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *str, ST_INT len);ST_VOID sx_wrx_cdata_el (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *tag, 			ST_CHAR *str, ST_INT len,			ST_INT numAttr, SXE_ATTR_PAIR *attr);#define sxd_wr_data(ec,typeId,elName,data,encodeDt,elPres)\  _sxd_wr_data(ec,typeId,elName,data,sxdDefXmlStyle,encodeDt,elPres)\ST_RET _sxd_wr_data (SX_ENC_CTRL *sxEncCtrl, ST_INT typeId,		   ST_CHAR *elName, ST_VOID *data, ST_INT sxdXmlStyle,		   ST_BOOLEAN encodeDt, ST_BOOLEAN *elPres);ST_RET sxd_wr_rtdata (SX_ENC_CTRL *sxEncCtrl, RUNTIME_TYPE *rt, ST_INT numRt, 		   ST_CHAR *elName, ST_VOID *data, ST_INT sxdXmlStyle,		   ST_BOOLEAN encodeDt, ST_BOOLEAN *elPres);ST_VOID sx_add_string (SX_ENC_CTRL *sxEncCtrl, SD_CONST ST_CHAR *_src, 				ST_CHAR **writePosIo);ST_RET  sx_add_buf (SX_ENC_CTRL *sxEncCtrl, SD_CONST ST_CHAR *_src, ST_INT _srcLen,                    ST_CHAR **writePosIo);ST_VOID sx_wr_comment (SX_ENC_CTRL *sxEncCtrl, ST_CHAR *str);/************************************************************************//************************************************************************//* Arbitrary data processing, for use in traversing the RUNTIME_TYPE	*/typedef struct   {  ST_RET (*arrStart) (ST_VOID *usr, RUNTIME_TYPE *rt);  ST_RET (*arrEnd)   (ST_VOID *usr, RUNTIME_TYPE *rt);  ST_RET (*strStart) (ST_VOID *usr, RUNTIME_TYPE *rt, SD_CONST RUNTIME_TYPE *rt_head);  ST_RET (*strEnd)   (ST_VOID *usr, RUNTIME_TYPE *rt);  ST_RET (*int8)     (ST_VOID *usr, ST_INT8    *data_dest, RUNTIME_TYPE *rt);  ST_RET (*int16)    (ST_VOID *usr, ST_INT16   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*int32)    (ST_VOID *usr, ST_INT32   *data_dest, RUNTIME_TYPE *rt);#ifdef INT64_SUPPORT  ST_RET (*int64)    (ST_VOID *usr, ST_INT64   *data_dest, RUNTIME_TYPE *rt);#endif  ST_RET (*uint8)    (ST_VOID *usr, ST_UINT8   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*uint16)   (ST_VOID *usr, ST_UINT16  *data_dest, RUNTIME_TYPE *rt);  ST_RET (*uint32)   (ST_VOID *usr, ST_UINT32  *data_dest, RUNTIME_TYPE *rt);#ifdef INT64_SUPPORT  ST_RET (*uint64)   (ST_VOID *usr, ST_UINT64  *data_dest, RUNTIME_TYPE *rt);#endif  ST_RET (*flt)      (ST_VOID *usr, ST_FLOAT   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*dbl)      (ST_VOID *usr, ST_DOUBLE  *data_dest, RUNTIME_TYPE *rt);  ST_RET (*oct)      (ST_VOID *usr, ST_UCHAR   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*booln)    (ST_VOID *usr, ST_BOOLEAN *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bcd1)     (ST_VOID *usr, ST_INT8    *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bcd2)     (ST_VOID *usr, ST_INT16   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bcd4)     (ST_VOID *usr, ST_INT32   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bs)       (ST_VOID *usr, ST_UCHAR   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*vis)      (ST_VOID *usr, ST_CHAR    *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bt4)      (ST_VOID *usr, ST_INT32   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*bt6)      (ST_VOID *usr, ST_INT32   *data_dest, RUNTIME_TYPE *rt);  ST_RET (*gt)       (ST_VOID *usr, time_t     *data_dest, RUNTIME_TYPE *rt);  ST_RET (*utc)      (ST_VOID *usr, MMS_UTC_TIME *data_dest, RUNTIME_TYPE *rt);  } SXD_ARB_DATA_CTRL;ST_RET sxd_process_arb_data (ST_CHAR *datptr, SD_CONST RUNTIME_TYPE *rt_head, 			     ST_INT rt_num, ST_VOID *usr, 			     SXD_ARB_DATA_CTRL *ac, ST_BOOLEAN *elPres);ST_RET sxaTextToLocal (ST_CHAR *pSource, ST_VOID *pDest, ST_INT numRt, RUNTIME_TYPE *rtHead);ST_CHAR *sxaLocalToText (ST_VOID *dataPtr, RUNTIME_TYPE *rtHead, ST_INT numRt);/************************************************************************/#ifdef __cplusplus}#endif#endif /* SX_DEFS_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -