TagPtr_t getTagTable(SmlPcdataExtension_t ext) { #ifndef NOWSM int mySize = 0; TagPtr_t _tmpTagPtr; SyncMLInfoPtr_t pGA = NULL; #else TagPtr_t _tmpTagPtr=NULL; #endif /* standard SyncML codepage */ static const Tag_t syncml[] = { { _TOKEN(TN_ADD, 0x05, "Add")}, { _TOKEN(TN_ALERT, 0x06, "Alert")}, { _TOKEN(TN_ARCHIVE, 0x07, "Archive")}, { _TOKEN(TN_ATOMIC, 0x08, "Atomic")}, { _TOKEN(TN_CHAL, 0x09, "Chal")}, { _TOKEN(TN_CMD, 0x0A, "Cmd")}, { _TOKEN(TN_CMDID, 0x0B, "CmdID")}, { _TOKEN(TN_CMDREF, 0x0C, "CmdRef")}, { _TOKEN(TN_COPY, 0x0D, "Copy")}, { _TOKEN(TN_CRED, 0x0E, "Cred")}, { _TOKEN(TN_DATA, 0x0F, "Data")}, { _TOKEN(TN_DELETE, 0x10, "Delete")}, { _TOKEN(TN_EXEC, 0x11, "Exec")}, { _TOKEN(TN_FINAL, 0x12, "Final")}, { _TOKEN(TN_GET, 0x13, "Get")}, { _TOKEN(TN_ITEM, 0x14, "Item")}, { _TOKEN(TN_LANG, 0x15, "Lang")}, { _TOKEN(TN_LOCNAME, 0x16, "LocName")}, { _TOKEN(TN_LOCURI, 0x17, "LocURI")}, { _TOKEN(TN_MAP, 0x18, "Map")}, { _TOKEN(TN_MAPITEM, 0x19, "MapItem")}, { _TOKEN(TN_META, 0x1A, "Meta")}, { _TOKEN(TN_MSGID, 0x1B, "MsgID")}, { _TOKEN(TN_MSGREF, 0x1C, "MsgRef")}, { _TOKEN(TN_NORESP, 0x1D, "NoResp")}, { _TOKEN(TN_NORESULTS, 0x1E, "NoResults")}, { _TOKEN(TN_PUT, 0x1F, "Put")}, { _TOKEN(TN_REPLACE, 0x20, "Replace")}, { _TOKEN(TN_RESPURI, 0x21, "RespURI")}, { _TOKEN(TN_RESULTS, 0x22, "Results")}, { _TOKEN(TN_SEARCH, 0x23, "Search")}, { _TOKEN(TN_SEQUENCE, 0x24, "Sequence")}, { _TOKEN(TN_SESSIONID, 0x25, "SessionID")}, { _TOKEN(TN_SFTDEL, 0x26, "SftDel")}, { _TOKEN(TN_SOURCE, 0x27, "Source")}, { _TOKEN(TN_SOURCEREF, 0x28, "SourceRef")}, { _TOKEN(TN_STATUS, 0x29, "Status")}, { _TOKEN(TN_SYNC, 0x2A, "Sync")}, { _TOKEN(TN_SYNCBODY, 0x2B, "SyncBody")}, { _TOKEN(TN_SYNCHDR, 0x2C, "SyncHdr")}, { _TOKEN(TN_SYNCML, 0x2D, "SyncML")}, { _TOKEN(TN_TARGET, 0x2E, "Target")}, { _TOKEN(TN_TARGETREF, 0x2F, "TargetRef")}, { _TOKEN(TN_VERSION, 0x31, "VerDTD")}, { _TOKEN(TN_PROTO, 0x32, "VerProto")}, /* SyncML DS 1.1 */ { _TOKEN(TN_NUMBEROFCHANGES, 0x33, "NumberOfChanges")}, { _TOKEN(TN_MOREDATA, 0x34, "MoreData")}, /* SyncML DS 1.2, Synthesis/luz 2005-08-17 */ { _TOKEN(TN_FIELD, 0x35, "Field")}, { _TOKEN(TN_FILTER, 0x36, "Filter")}, { _TOKEN(TN_RECORD, 0x37, "Record")}, { _TOKEN(TN_FILTERTYPE, 0x38, "FilterType")}, { _TOKEN(TN_SOURCEPARENT, 0x39, "SourceParent")}, { _TOKEN(TN_TARGETPARENT, 0x3A, "TargetParent")}, { _TOKEN(TN_MOVE, 0x3B, "Move")}, { _TOKEN(TN_CORRELATOR, 0x3C, "Correlator")}, /* End of table */ { _TOKEN(TN_UNDEF, 0x00, NULL)} }; #ifdef __USE_METINF__ static const Tag_t metinf[] = { { _TOKEN(TN_METINF_ANCHOR, 0x05, "Anchor")}, { _TOKEN(TN_METINF_EMI, 0x06, "EMI")}, { _TOKEN(TN_METINF_FORMAT, 0x07, "Format")}, { _TOKEN(TN_METINF_FREEID, 0x08, "FreeID")}, { _TOKEN(TN_METINF_FREEMEM, 0x09, "FreeMem")}, { _TOKEN(TN_METINF_LAST, 0x0A, "Last")}, { _TOKEN(TN_METINF_MARK, 0x0B, "Mark")}, { _TOKEN(TN_METINF_MAXMSGSIZE, 0x0C, "MaxMsgSize")}, { _TOKEN(TN_METINF_MEM, 0x0D, "Mem")}, { _TOKEN(TN_METINF_METINF, 0x0E, "MetInf")}, { _TOKEN(TN_METINF_NEXT, 0x0F, "Next")}, { _TOKEN(TN_METINF_NEXTNONCE, 0x10, "NextNonce")}, { _TOKEN(TN_METINF_SHAREDMEM, 0x11, "SharedMem")}, { _TOKEN(TN_METINF_SIZE, 0x12, "Size")}, { _TOKEN(TN_METINF_TYPE, 0x13, "Type")}, { _TOKEN(TN_METINF_VERSION, 0x14, "Version")}, /* SCTSTK - 18/03/2002, S.H. 2002-04-05 : SyncML 1.1 */ { _TOKEN(TN_METINF_MAXOBJSIZE, 0x15, "MaxObjSize")}, /* SyncML DS 1.2, Synthesis/luz 2005-08-17 */ { _TOKEN(TN_METINF_FIELDLEVEL, 0x16, "FieldLevel")}, /* End of table */ { _TOKEN(TN_UNDEF, 0x00, NULL)} }; #endif #ifdef __USE_DEVINF__ static const Tag_t devinf[] = { {_TOKEN(TN_DEVINF_CTCAP, 0x05, "CTCap")}, {_TOKEN(TN_DEVINF_CTTYPE, 0x06, "CTType")}, {_TOKEN(TN_DEVINF_DATASTORE, 0x07, "DataStore")}, {_TOKEN(TN_DEVINF_DATATYPE, 0x08, "DataType")}, {_TOKEN(TN_DEVINF_DEVID, 0x09, "DevID")}, {_TOKEN(TN_DEVINF_DEVINF, 0x0A, "DevInf")}, {_TOKEN(TN_DEVINF_DEVTYP, 0x0B, "DevTyp")}, {_TOKEN(TN_DEVINF_DISPLAYNAME, 0x0C, "DisplayName")}, {_TOKEN(TN_DEVINF_DSMEM, 0x0D, "DSMem")}, {_TOKEN(TN_DEVINF_EXT, 0x0E, "Ext")}, {_TOKEN(TN_DEVINF_FWV, 0x0F, "FwV")}, {_TOKEN(TN_DEVINF_HWV, 0x10, "HwV")}, {_TOKEN(TN_DEVINF_MAN, 0x11, "Man")}, {_TOKEN(TN_DEVINF_MAXGUIDSIZE, 0x12, "MaxGUIDSize")}, {_TOKEN(TN_DEVINF_MAXID, 0x13, "MaxID")}, {_TOKEN(TN_DEVINF_MAXMEM, 0x14, "MaxMem")}, {_TOKEN(TN_DEVINF_MOD, 0x15, "Mod")}, {_TOKEN(TN_DEVINF_OEM, 0x16, "OEM")}, {_TOKEN(TN_DEVINF_PARAMNAME, 0x17, "ParamName")}, {_TOKEN(TN_DEVINF_PROPNAME, 0x18, "PropName")}, {_TOKEN(TN_DEVINF_RX, 0x19, "Rx")}, {_TOKEN(TN_DEVINF_RXPREF, 0x1A, "Rx-Pref")}, {_TOKEN(TN_DEVINF_SHAREDMEM, 0x1B, "SharedMem")}, {_TOKEN(TN_DEVINF_SIZE, 0x1C, "Size")}, {_TOKEN(TN_DEVINF_SOURCEREF, 0x1D, "SourceRef")}, {_TOKEN(TN_DEVINF_SWV, 0x1E, "SwV")}, {_TOKEN(TN_DEVINF_SYNCCAP, 0x1F, "SyncCap")}, {_TOKEN(TN_DEVINF_SYNCTYPE, 0x20, "SyncType")}, {_TOKEN(TN_DEVINF_TX, 0x21, "Tx")}, {_TOKEN(TN_DEVINF_TXPREF, 0x22, "Tx-Pref")}, {_TOKEN(TN_DEVINF_VALENUM, 0x23, "ValEnum")}, {_TOKEN(TN_DEVINF_VERCT, 0x24, "VerCT")}, {_TOKEN(TN_DEVINF_VERDTD, 0x25, "VerDTD")}, {_TOKEN(TN_DEVINF_XNAM, 0x26, "XNam")}, {_TOKEN(TN_DEVINF_XVAL, 0x27, "XVal")}, /* %%% luz:2003-04-28 : added these SyncML 1.2 tags, they were missing */ {_TOKEN(TN_DEVINF_UTC, 0x28, "UTC")}, {_TOKEN(TN_DEVINF_NOFM, 0x29, "SupportNumberOfChanges")}, {_TOKEN(TN_DEVINF_LARGEOBJECT, 0x2A, "SupportLargeObjs")}, /* SyncML DS 1.2, Synthesis/luz 2005-08-17 */ {_TOKEN(TN_DEVINF_PROPERTY, 0x2B, "Property")}, {_TOKEN(TN_DEVINF_PROPPARAM, 0x2C, "PropParam")}, {_TOKEN(TN_DEVINF_MAXOCCUR, 0x2D, "MaxOccur")}, {_TOKEN(TN_DEVINF_NOTRUNCATE, 0x2E, "NoTruncate")}, {_TOKEN(TN_DEVINF_FILTERRX, 0x30, "Filter-Rx")}, {_TOKEN(TN_DEVINF_FILTERCAP, 0x31, "FilterCap")}, {_TOKEN(TN_DEVINF_FILTERKEYWORD,0x32, "FilterKeyword")}, {_TOKEN(TN_DEVINF_FIELDLEVEL, 0x33, "FieldLevel")}, {_TOKEN(TN_DEVINF_HIERARCHICAL, 0x34, "SupportHierarchicalSync")}, {_TOKEN(TN_DEVINF_MAXSIZE, 0x1C, "MaxSize")}, // alias for TN_DEVINF_SIZE (same WBXML, different XML) /* End of table */ {_TOKEN(TN_UNDEF, 0x00, NULL)} }; #endif #ifndef NOWSM _tmpTagPtr = NULL; pGA = mgrGetSyncMLAnchor(); if (pGA == NULL) return NULL; #endif /* get the correct codepage */ if (ext == SML_EXT_UNDEFINED) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->SyncML; if (_tmpTagPtr == NULL) { mySize = sizeof(syncml); pGA->tokTbl->SyncML = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->SyncML == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->SyncML, &syncml, mySize); _tmpTagPtr = pGA->tokTbl->SyncML; } #else _tmpTagPtr=(TagPtr_t)syncml; #endif } #ifdef __USE_METINF__ else if (ext == SML_EXT_METINF) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->MetInf; if (_tmpTagPtr == NULL) { mySize = sizeof(metinf); pGA->tokTbl->MetInf = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->MetInf == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->MetInf, &metinf, mySize); _tmpTagPtr = pGA->tokTbl->MetInf; } #else _tmpTagPtr=(TagPtr_t)metinf; #endif } #endif #ifdef __USE_DEVINF__ else if (ext == SML_EXT_DEVINF) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->DevInf; if (_tmpTagPtr == NULL) { mySize = sizeof(devinf); pGA->tokTbl->DevInf = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->DevInf == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->DevInf, &devinf, mySize); _tmpTagPtr = pGA->tokTbl->DevInf; } #else _tmpTagPtr=(TagPtr_t)devinf; #endif } #endif return _tmpTagPtr; }
const // without WSM, the tag table is a global read-only constant #endif TagPtr_t getTagTable(SmlPcdataExtension_t ext) { #ifndef NOWSM int mySize = 0; TagPtr_t _tmpTagPtr; SyncMLInfoPtr_t pGA = NULL; #else TagPtr_t _tmpTagPtr=NULL; #endif /* standard SyncML codepage */ static const Tag_t syncml[] = { { _TOKEN(TN_ADD, 0x05, "Add")}, { _TOKEN(TN_ALERT, 0x06, "Alert")}, { _TOKEN(TN_ARCHIVE, 0x07, "Archive")}, { _TOKEN(TN_ATOMIC, 0x08, "Atomic")}, { _TOKEN(TN_CHAL, 0x09, "Chal")}, { _TOKEN(TN_CMD, 0x0A, "Cmd")}, { _TOKEN(TN_CMDID, 0x0B, "CmdID")}, { _TOKEN(TN_CMDREF, 0x0C, "CmdRef")}, { _TOKEN(TN_COPY, 0x0D, "Copy")}, { _TOKEN(TN_CRED, 0x0E, "Cred")}, { _TOKEN(TN_DATA, 0x0F, "Data")}, { _TOKEN(TN_DELETE, 0x10, "Delete")}, { _TOKEN(TN_EXEC, 0x11, "Exec")}, { _TOKEN(TN_FINAL, 0x12, "Final")}, { _TOKEN(TN_GET, 0x13, "Get")}, { _TOKEN(TN_ITEM, 0x14, "Item")}, { _TOKEN(TN_LANG, 0x15, "Lang")}, { _TOKEN(TN_LOCNAME, 0x16, "LocName")}, { _TOKEN(TN_LOCURI, 0x17, "LocURI")}, { _TOKEN(TN_MAP, 0x18, "Map")}, { _TOKEN(TN_MAPITEM, 0x19, "MapItem")}, { _TOKEN(TN_META, 0x1A, "Meta")}, { _TOKEN(TN_MSGID, 0x1B, "MsgID")}, { _TOKEN(TN_MSGREF, 0x1C, "MsgRef")}, { _TOKEN(TN_NORESP, 0x1D, "NoResp")}, { _TOKEN(TN_NORESULTS, 0x1E, "NoResults")}, { _TOKEN(TN_PUT, 0x1F, "Put")}, { _TOKEN(TN_REPLACE, 0x20, "Replace")}, { _TOKEN(TN_RESPURI, 0x21, "RespURI")}, { _TOKEN(TN_RESULTS, 0x22, "Results")}, { _TOKEN(TN_SEARCH, 0x23, "Search")}, { _TOKEN(TN_SEQUENCE, 0x24, "Sequence")}, { _TOKEN(TN_SESSIONID, 0x25, "SessionID")}, { _TOKEN(TN_SFTDEL, 0x26, "SftDel")}, { _TOKEN(TN_SOURCE, 0x27, "Source")}, { _TOKEN(TN_SOURCEREF, 0x28, "SourceRef")}, { _TOKEN(TN_STATUS, 0x29, "Status")}, { _TOKEN(TN_SYNC, 0x2A, "Sync")}, { _TOKEN(TN_SYNCBODY, 0x2B, "SyncBody")}, { _TOKEN(TN_SYNCHDR, 0x2C, "SyncHdr")}, { _TOKEN(TN_SYNCML, 0x2D, "SyncML")}, { _TOKEN(TN_TARGET, 0x2E, "Target")}, { _TOKEN(TN_TARGETREF, 0x2F, "TargetRef")}, { _TOKEN(TN_VERSION, 0x31, "VerDTD")}, { _TOKEN(TN_PROTO, 0x32, "VerProto")}, { _TOKEN(TN_NUMBEROFCHANGES,0x33, "NumberOfChanges")}, { _TOKEN(TN_MOREDATA, 0x34, "MoreData")}, /* from version 1.2 */ { _TOKEN(TN_CORRELATOR, 0x3C, "Correlator")}, { _TOKEN(TN_UNDEF, 0x00, NULL)} }; #ifdef __USE_METINF__ static const Tag_t metinf[] = { { _TOKEN(TN_METINF_ANCHOR, 0x05, "Anchor")}, { _TOKEN(TN_METINF_EMI, 0x06, "EMI")}, { _TOKEN(TN_METINF_FORMAT, 0x07, "Format")}, { _TOKEN(TN_METINF_FREEID, 0x08, "FreeID")}, { _TOKEN(TN_METINF_FREEMEM, 0x09, "FreeMem")}, { _TOKEN(TN_METINF_LAST, 0x0A, "Last")}, { _TOKEN(TN_METINF_MARK, 0x0B, "Mark")}, { _TOKEN(TN_METINF_MAXMSGSIZE, 0x0C, "MaxMsgSize")}, { _TOKEN(TN_METINF_MEM, 0x0D, "Mem")}, { _TOKEN(TN_METINF_METINF, 0x0E, "MetInf")}, { _TOKEN(TN_METINF_NEXT, 0x0F, "Next")}, { _TOKEN(TN_METINF_NEXTNONCE, 0x10, "NextNonce")}, { _TOKEN(TN_METINF_SHAREDMEM, 0x11, "SharedMem")}, { _TOKEN(TN_METINF_SIZE, 0x12, "Size")}, { _TOKEN(TN_METINF_TYPE, 0x13, "Type")}, { _TOKEN(TN_METINF_VERSION, 0x14, "Version")}, /* SCTSTK - 18/03/2002, S.H. 2002-04-05 : SyncML 1.1 */ { _TOKEN(TN_METINF_MAXOBJSIZE, 0x15, "MaxObjSize")}, { _TOKEN(TN_UNDEF, 0x00, NULL)} }; #endif #ifdef __USE_DEVINF__ static const Tag_t devinf[] = { {_TOKEN(TN_DEVINF_CTCAP, 0x05, "CTCap")}, {_TOKEN(TN_DEVINF_CTTYPE, 0x06, "CTType")}, {_TOKEN(TN_DEVINF_DATASTORE, 0x07, "DataStore")}, {_TOKEN(TN_DEVINF_DATATYPE, 0x08, "DataType")}, {_TOKEN(TN_DEVINF_DEVID, 0x09, "DevID")}, {_TOKEN(TN_DEVINF_DEVINF, 0x0A, "DevInf")}, {_TOKEN(TN_DEVINF_DEVTYP, 0x0B, "DevTyp")}, {_TOKEN(TN_DEVINF_DISPLAYNAME, 0x0C, "DisplayName")}, {_TOKEN(TN_DEVINF_DSMEM, 0x0D, "DSMem")}, {_TOKEN(TN_DEVINF_EXT, 0x0E, "Ext")}, {_TOKEN(TN_DEVINF_FWV, 0x0F, "FwV")}, {_TOKEN(TN_DEVINF_HWV, 0x10, "HwV")}, {_TOKEN(TN_DEVINF_MAN, 0x11, "Man")}, {_TOKEN(TN_DEVINF_MAXGUIDSIZE, 0x12, "MaxGUIDSize")}, {_TOKEN(TN_DEVINF_MAXID, 0x13, "MaxID")}, {_TOKEN(TN_DEVINF_MAXMEM, 0x14, "MaxMem")}, {_TOKEN(TN_DEVINF_MOD, 0x15, "Mod")}, {_TOKEN(TN_DEVINF_OEM, 0x16, "OEM")}, {_TOKEN(TN_DEVINF_PARAMNAME, 0x17, "ParamName")}, {_TOKEN(TN_DEVINF_PROPNAME, 0x18, "PropName")}, {_TOKEN(TN_DEVINF_RX, 0x19, "Rx")}, {_TOKEN(TN_DEVINF_RXPREF, 0x1A, "Rx-Pref")}, {_TOKEN(TN_DEVINF_SHAREDMEM, 0x1B, "SharedMem")}, {_TOKEN(TN_DEVINF_SIZE, 0x1C, "Size")}, {_TOKEN(TN_DEVINF_SOURCEREF, 0x1D, "SourceRef")}, {_TOKEN(TN_DEVINF_SWV, 0x1E, "SwV")}, {_TOKEN(TN_DEVINF_SYNCCAP, 0x1F, "SyncCap")}, {_TOKEN(TN_DEVINF_SYNCTYPE, 0x20, "SyncType")}, {_TOKEN(TN_DEVINF_TX, 0x21, "Tx")}, {_TOKEN(TN_DEVINF_TXPREF, 0x22, "Tx-Pref")}, {_TOKEN(TN_DEVINF_VALENUM, 0x23, "ValEnum")}, {_TOKEN(TN_DEVINF_VERCT, 0x24, "VerCT")}, {_TOKEN(TN_DEVINF_VERDTD, 0x25, "VerDTD")}, {_TOKEN(TN_DEVINF_XNAM, 0x26, "XNam")}, {_TOKEN(TN_DEVINF_XVAL, 0x27, "XVal")}, // %%% luz:2003-04-28 : added these, they were missing {_TOKEN(TN_DEVINF_UTC, 0x28, "UTC")}, {_TOKEN(TN_DEVINF_NOFM, 0x29, "SupportNumberOfChanges")}, {_TOKEN(TN_DEVINF_LARGEOBJECT, 0x2A, "SupportLargeObjs")}, // %%% end luz { _TOKEN(TN_UNDEF, 0x00, NULL)} }; #endif #ifdef __USE_DMTND__ static const Tag_t dmtnd[] = { { _TOKEN(TN_DMTND_AccessType, 0x05, "AccessType")}, { _TOKEN(TN_DMTND_ACL, 0x06, "ACL")}, { _TOKEN(TN_DMTND_Add, 0x07, "Add")}, { _TOKEN(TN_DMTND_b64, 0x08, "b64")}, { _TOKEN(TN_DMTND_bin, 0x09, "bin")}, { _TOKEN(TN_DMTND_bool, 0x0A, "bool")}, { _TOKEN(TN_DMTND_chr, 0x0B, "chr")}, { _TOKEN(TN_DMTND_CaseSense, 0x0C, "CaseSense")}, { _TOKEN(TN_DMTND_CIS, 0x0D, "CIS")}, { _TOKEN(TN_DMTND_Copy, 0x0E, "Copy")}, { _TOKEN(TN_DMTND_CS, 0x0F, "CS")}, { _TOKEN(TN_DMTND_date, 0x10, "date")}, { _TOKEN(TN_DMTND_DDFName, 0x11, "DDFName")}, { _TOKEN(TN_DMTND_DefaultValue, 0x12, "DefaultValue")}, { _TOKEN(TN_DMTND_Delete, 0x13, "Delete")}, { _TOKEN(TN_DMTND_Description, 0x14, "Description")}, { _TOKEN(TN_DMTND_DFFormat, 0x15, "DFFormat")}, { _TOKEN(TN_DMTND_DFProperties, 0x16, "DFProperties")}, { _TOKEN(TN_DMTND_DFTitle, 0x17, "DFTitle")}, { _TOKEN(TN_DMTND_DFType, 0x18, "DFType")}, { _TOKEN(TN_DMTND_Dynamic, 0x19, "Dynamic")}, { _TOKEN(TN_DMTND_Exec, 0x1A, "Exec")}, { _TOKEN(TN_DMTND_float, 0x1B, "float")}, { _TOKEN(TN_DMTND_Format, 0x1C, "Format")}, { _TOKEN(TN_DMTND_Get, 0x1D, "Get")}, { _TOKEN(TN_DMTND_int, 0x1E, "int")}, { _TOKEN(TN_DMTND_Man, 0x1F, "Man")}, { _TOKEN(TN_DMTND_MgmtTree, 0x20, "MgmtTree")}, { _TOKEN(TN_DMTND_MIME, 0x21, "MIME")}, { _TOKEN(TN_DMTND_Mod, 0x22, "Mod")}, { _TOKEN(TN_DMTND_Name, 0x23, "Name")}, { _TOKEN(TN_DMTND_Node, 0x24, "Node")}, { _TOKEN(TN_DMTND_node, 0x25, "node")}, { _TOKEN(TN_DMTND_NodeName, 0x26, "NodeName")}, { _TOKEN(TN_DMTND_null, 0x27, "null")}, { _TOKEN(TN_DMTND_Occurrence, 0x28, "Occurrence")}, { _TOKEN(TN_DMTND_One, 0x29, "One")}, { _TOKEN(TN_DMTND_OneOrMore, 0x2A, "OneOrMore")}, { _TOKEN(TN_DMTND_OneOrN, 0x2B, "OneOrN")}, { _TOKEN(TN_DMTND_Path, 0x2C, "Path")}, { _TOKEN(TN_DMTND_Permanent, 0x2D, "Permanent")}, { _TOKEN(TN_DMTND_Replace, 0x2E, "Replace")}, { _TOKEN(TN_DMTND_RTProperties, 0x2F, "RTProperties")}, { _TOKEN(TN_DMTND_Scope, 0x30, "Scope")}, { _TOKEN(TN_DMTND_Size, 0x31, "Size")}, { _TOKEN(TN_DMTND_time, 0x32, "time")}, { _TOKEN(TN_DMTND_Title, 0x33, "Title")}, { _TOKEN(TN_DMTND_TStamp, 0x34, "TStamp")}, { _TOKEN(TN_DMTND_Type, 0x35, "Type")}, { _TOKEN(TN_DMTND_Value, 0x36, "Value")}, { _TOKEN(TN_DMTND_VerDTD, 0x37, "VerDTD")}, { _TOKEN(TN_DMTND_VerNo, 0x38, "VerNo")}, { _TOKEN(TN_DMTND_xml, 0x39, "xml")}, { _TOKEN(TN_DMTND_ZeroOrMore, 0x3A, "ZeroOrMore")}, { _TOKEN(TN_DMTND_ZeroOrN, 0x3B, "ZeroOrN")}, { _TOKEN(TN_DMTND_ZeroOrOne, 0x3C, "ZeroOrOne") } }; #endif #ifndef NOWSM _tmpTagPtr = NULL; pGA = mgrGetSyncMLAnchor(); if (pGA == NULL) return NULL; #endif /* get the correct codepage */ if (ext == SML_EXT_UNDEFINED) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->SyncML; if (_tmpTagPtr == NULL) { mySize = sizeof(syncml); pGA->tokTbl->SyncML = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->SyncML == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->SyncML, &syncml, mySize); _tmpTagPtr = pGA->tokTbl->SyncML; } #else _tmpTagPtr=(TagPtr_t)syncml; #endif } #ifdef __USE_METINF__ else if (ext == SML_EXT_METINF) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->MetInf; if (_tmpTagPtr == NULL) { mySize = sizeof(metinf); pGA->tokTbl->MetInf = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->MetInf == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->MetInf, &metinf, mySize); _tmpTagPtr = pGA->tokTbl->MetInf; } #else _tmpTagPtr=(TagPtr_t)metinf; #endif } #endif #ifdef __USE_DEVINF__ else if (ext == SML_EXT_DEVINF) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->DevInf; if (_tmpTagPtr == NULL) { mySize = sizeof(devinf); pGA->tokTbl->DevInf = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->DevInf == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->DevInf, &devinf, mySize); _tmpTagPtr = pGA->tokTbl->DevInf; } #else _tmpTagPtr=(TagPtr_t)devinf; #endif } #endif #ifdef __USE_DMTND__ else if (ext == SML_EXT_DMTND) { #ifndef NOWSM _tmpTagPtr = pGA->tokTbl->DmTnd; if (_tmpTagPtr == NULL) { mySize = sizeof(dmtnd); pGA->tokTbl->DmTnd = (TagPtr_t)smlLibMalloc(mySize); if (pGA->tokTbl->DmTnd == NULL) return NULL; smlLibMemcpy(pGA->tokTbl->DmTnd, &dmtnd, mySize); _tmpTagPtr = pGA->tokTbl->DmTnd; } #else _tmpTagPtr=(TagPtr_t)dmtnd; #endif } #endif return _tmpTagPtr; }