/************************************************************************/ /* SISCO SOFTWARE MODULE HEADER *****************************************/ /************************************************************************/ /* (c) Copyright Systems Integration Specialists Company, Inc., */ /* 1999 - 2004, All Rights Reserved */ /* */ /* MODULE NAME : sx_arb.h */ /* PRODUCT(S) : */ /* */ /* MODULE DESCRIPTION : */ /* */ /* GLOBAL FUNCTIONS DEFINED IN THIS MODULE : */ /* */ /* MODIFICATION LOG : */ /* Date Who Rev Comments */ /* -------- --- ------ ------------------------------------------- */ /* 12/06/04 JRB 02 Add "sx_defs.h". */ /* 08/30/04 DSF 01 Module created */ /************************************************************************/ /************************************************************************/ #ifndef SX_ARB_INCLUDED #define SX_ARB_INCLUDED #ifdef __cplusplus extern "C" { #endif /************************************************************************/ #include "mms_def2.h" #include "mms_mp.h" #include "mms_pvar.h" #include "mms_vvar.h" #include "sx_defs.h" /* need SX_ENC_CTRL */ 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); 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); /************************************************************************/ /************************************************************************/ /* 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); ST_RET (*utf8) (ST_VOID *usr, ST_UCHAR *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, SD_CONST RUNTIME_TYPE *rtHead); ST_CHAR *sxaLocalToText (ST_VOID *dataPtr, SD_CONST RUNTIME_TYPE *rtHead, ST_INT numRt); /************************************************************************/ #ifdef __cplusplus } #endif #endif /* SX_ARB_INCLUDED */