00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00029
00030 #ifndef _SML_DEFINES_H
00031 #define _SML_DEFINES_H
00032
00033 #define SML_ELEMENT_SYNCML "SyncML"
00034 #define SML_ELEMENT_SYNCHDR "SyncHdr"
00035 #define SML_ELEMENT_SYNCBODY "SyncBody"
00036 #define SML_ELEMENT_VERPROTO "VerProto"
00037 #define SML_ELEMENT_VERDTD "VerDTD"
00038 #define SML_ELEMENT_MSGID "MsgID"
00039 #define SML_ELEMENT_SESSIONID "SessionID"
00040 #define SML_ELEMENT_TARGET "Target"
00041 #define SML_ELEMENT_SOURCE "Source"
00042 #define SML_ELEMENT_SOURCE_PARENT "SourceParent"
00043 #define SML_ELEMENT_TARGET_PARENT "TargetParent"
00044 #define SML_ELEMENT_LOCURI "LocURI"
00045 #define SML_ELEMENT_LOCNAME "LocName"
00046 #define SML_ELEMENT_RESPURI "RespURI"
00047 #define SML_ELEMENT_NORESP "NoResp"
00048 #define SML_ELEMENT_SYNC "Sync"
00049 #define SML_ELEMENT_STATUS "Status"
00050 #define SML_ELEMENT_CMDID "CmdID"
00051 #define SML_ELEMENT_MSGREF "MsgRef"
00052 #define SML_ELEMENT_CMDREF "CmdRef"
00053 #define SML_ELEMENT_CMD "Cmd"
00054 #define SML_ELEMENT_ANCHOR "Anchor"
00055 #define SML_ELEMENT_NEXT "Next"
00056 #define SML_ELEMENT_LAST "Last"
00057 #define SML_ELEMENT_ALERT "Alert"
00058 #define SML_ELEMENT_PUT "Put"
00059 #define SML_ELEMENT_GET "Get"
00060 #define SML_ELEMENT_SEQUENCE "Sequence"
00061 #define SML_ELEMENT_ATOMIC "Atomic"
00062 #define SML_ELEMENT_FINAL "Final"
00063 #define SML_ELEMENT_DATA "Data"
00064 #define SML_ELEMENT_ITEM "Item"
00065 #define SML_ELEMENT_META "Meta"
00066 #define SML_ELEMENT_MAXMSGSIZE "MaxMsgSize"
00067 #define SML_ELEMENT_TYPE "Type"
00068 #define SML_ELEMENT_SOURCEREF "SourceRef"
00069 #define SML_ELEMENT_TARGETREF "TargetRef"
00070 #define SML_ELEMENT_NUMBEROFCHANGES "NumberOfChanges"
00071 #define SML_ELEMENT_ADD "Add"
00072 #define SML_ELEMENT_REPLACE "Replace"
00073 #define SML_ELEMENT_DELETE "Delete"
00074 #define SML_ELEMENT_MAP "Map"
00075 #define SML_ELEMENT_MAPITEM "MapItem"
00076 #define SML_ELEMENT_FORMAT "Format"
00077 #define SML_ELEMENT_CRED "Cred"
00078 #define SML_ELEMENT_CHAL "Chal"
00079 #define SML_ELEMENT_RESULTS "Results"
00080 #define SML_ELEMENT_MAXOBJSIZE "MaxObjSize"
00081 #define SML_ELEMENT_EMI "EMI"
00082 #define SML_ELEMENT_MOREDATA "MoreData"
00083 #define SML_ELEMENT_MEM "Mem"
00084 #define SML_ELEMENT_FREEID "FreeID"
00085 #define SML_ELEMENT_VERSION "Version"
00086 #define SML_ELEMENT_NEXTNONCE "NextNonce"
00087
00088
00089 #define SML_ELEMENT_CTCAP "CTCap"
00090 #define SML_ELEMENT_CTTYPE "CTType"
00091 #define SML_ELEMENT_DATASTORE "DataStore"
00092 #define SML_ELEMENT_DATATYPE "DataType"
00093 #define SML_ELEMENT_DEVID "DevID"
00094 #define SML_ELEMENT_DEVINF "DevInf"
00095 #define SML_ELEMENT_DEVTYPE "DevTyp"
00096 #define SML_ELEMENT_DISPLAYNAME "DisplayName"
00097 #define SML_ELEMENT_DSMEM "DSMem"
00098 #define SML_ELEMENT_EXT "Ext"
00099 #define SML_ELEMENT_FWV "FwV"
00100 #define SML_ELEMENT_HWV "HwV"
00101 #define SML_ELEMENT_MAN "Man"
00102 #define SML_ELEMENT_MAXGUIDSIZE "MaxGUIDSize"
00103 #define SML_ELEMENT_MAXID "MaxID"
00104 #define SML_ELEMENT_MAXMEM "MaxMem"
00105 #define SML_ELEMENT_MAXOCCUR "MaxOccur"
00106 #define SML_ELEMENT_MAXSIZE "MaxSize"
00107 #define SML_ELEMENT_MOD "Mod"
00108 #define SML_ELEMENT_NOTRUNCATE "NoTruncate"
00109 #define SML_ELEMENT_OEM "OEM"
00110 #define SML_ELEMENT_PARAMNAME "ParamName"
00111 #define SML_ELEMENT_PROPERTY "Property"
00112 #define SML_ELEMENT_PROPNAME "PropName"
00113 #define SML_ELEMENT_PROPPARAM "PropParam"
00114 #define SML_ELEMENT_RX "Rx"
00115 #define SML_ELEMENT_RXPREF "Rx-Pref"
00116 #define SML_ELEMENT_SHAREDMEM "SharedMem"
00117 #define SML_ELEMENT_SIZE "Size"
00118 #define SML_ELEMENT_SUPPORTLARGEOBJS "SupportLargeObjs"
00119 #define SML_ELEMENT_SUPPORTNUMBEROFCHANGES "SupportNumberOfChanges"
00120 #define SML_ELEMENT_SUPPORT_HIERARCHICAL_SYNC "SupportHierarchicalSync"
00121 #define SML_ELEMENT_SWV "SwV"
00122 #define SML_ELEMENT_SYNCCAP "SyncCap"
00123 #define SML_ELEMENT_SYNCTYPE "SyncType"
00124 #define SML_ELEMENT_TX "Tx"
00125 #define SML_ELEMENT_TXPREF "Tx-Pref"
00126 #define SML_ELEMENT_UTC "UTC"
00127 #define SML_ELEMENT_VALENUM "ValEnum"
00128 #define SML_ELEMENT_VERCT "VerCT"
00129 #define SML_ELEMENT_XNAM "XNam"
00130 #define SML_ELEMENT_XVAL "XVal"
00131
00132
00133 #define SML_ELEMENT_MARK "Mark"
00134
00135 #define SML_ELEMENT_DATATYPE_CHR "chr"
00136 #define SML_ELEMENT_DATATYPE_INT "int"
00137 #define SML_ELEMENT_DATATYPE_BOOL "bool"
00138 #define SML_ELEMENT_DATATYPE_BIN "bin"
00139 #define SML_ELEMENT_DATATYPE_DATE "datetime"
00140 #define SML_ELEMENT_DATATYPE_PHONE "phonenum"
00141
00142 #define SML_ELEMENT_DEVTYP_PAGER "pager"
00143 #define SML_ELEMENT_DEVTYP_HANDHELD "handheld"
00144 #define SML_ELEMENT_DEVTYP_PDA "pda"
00145 #define SML_ELEMENT_DEVTYP_PHONE "phone"
00146 #define SML_ELEMENT_DEVTYP_SMARTPHONE "smartphone"
00147 #define SML_ELEMENT_DEVTYP_SERVER "server"
00148 #define SML_ELEMENT_DEVTYP_WORKSTATION "workstation"
00149
00150 typedef enum {
00151 SML_DEVINF_DATATYPE_UNKNOWN,
00152 SML_DEVINF_DATATYPE_CHR,
00153 SML_DEVINF_DATATYPE_INT,
00154 SML_DEVINF_DATATYPE_BOOL,
00155 SML_DEVINF_DATATYPE_BIN,
00156 SML_DEVINF_DATATYPE_DATE,
00157 SML_DEVINF_DATATYPE_PHONE
00158 } SmlDevInfDataType;
00159
00160 typedef enum {
00161 SML_DEVINF_DEVTYPE_UNKNOWN,
00162 SML_DEVINF_DEVTYPE_PAGER,
00163 SML_DEVINF_DEVTYPE_HANDHELD,
00164 SML_DEVINF_DEVTYPE_PDA,
00165 SML_DEVINF_DEVTYPE_PHONE,
00166 SML_DEVINF_DEVTYPE_SMARTPHONE,
00167 SML_DEVINF_DEVTYPE_SERVER,
00168 SML_DEVINF_DEVTYPE_WORKSTATION
00169 } SmlDevInfDevTyp;
00170
00171 typedef enum {
00172 SML_DEVINF_SYNCTYPE_UNKNOWN = 0,
00173 SML_DEVINF_SYNCTYPE_TWO_WAY = 1,
00174 SML_DEVINF_SYNCTYPE_SLOW_SYNC = 1 << 1,
00175 SML_DEVINF_SYNCTYPE_ONE_WAY_FROM_CLIENT = 1 << 2,
00176 SML_DEVINF_SYNCTYPE_REFRESH_FROM_CLIENT = 1 << 3,
00177 SML_DEVINF_SYNCTYPE_ONE_WAY_FROM_SERVER = 1 << 4,
00178 SML_DEVINF_SYNCTYPE_REFRESH_FROM_SERVER = 1 << 5,
00179 SML_DEVINF_SYNCTYPE_SERVER_ALERTED_SYNC = 1 << 6
00180 } SmlDevInfSyncCap;
00181
00182 typedef enum {
00183 SML_DEVINF_CTCAP_UNKNOWN,
00184 SML_DEVINF_CTCAP_CTTYPE,
00185 SML_DEVINF_CTCAP_PROPNAME,
00186 SML_DEVINF_CTCAP_VALENUM,
00187 SML_DEVINF_CTCAP_DATATYPE,
00188 SML_DEVINF_CTCAP_SIZE,
00189 SML_DEVINF_CTCAP_DISPLAYNAME,
00190 SML_DEVINF_CTCAP_PARAMNAME,
00191 SML_DEVINF_CTCAP_VERCT,
00192 SML_DEVINF_CTCAP_PROPERTY,
00193 SML_DEVINF_CTCAP_PROPPARAM,
00194 SML_DEVINF_CTCAP_NOTRUNCATE,
00195 SML_DEVINF_CTCAP_MAXOCCUR,
00196 SML_DEVINF_CTCAP_MAXSIZE
00197 } SmlDevInfCTCapType;
00198
00199 #define SML_ELEMENT_TEXT_VCARD "text/x-vcard"
00200 #define SML_ELEMENT_TEXT_VCARD_30 "text/vcard"
00201 #define SML_ELEMENT_TEXT_VCAL "text/x-vcalendar"
00202 #define SML_ELEMENT_TEXT_ICAL "text/calendar"
00203 #define SML_ELEMENT_TEXT_PLAIN "text/plain"
00204 #define SML_ELEMENT_TEXT_MESSAGE "text/x-vMessage"
00205
00206 #define SML_ELEMENT_DEVINF_XML "application/vnd.syncml-devinf+xml"
00207 #define SML_ELEMENT_WBXML "application/vnd.syncml+wbxml"
00208 #define SML_ELEMENT_XML "application/vnd.syncml+xml"
00209 #define SML_ELEMENT_SAN "application/vnd.syncml.ds.notification"
00210 #define SML_ELEMENT_APPLICATION_OMA_DS_EMAIL "application/vnd.omads-email+xml"
00211 #define SML_ELEMENT_APPLICATION_OMA_DS_FILE "application/vnd.omads-file+xml"
00212 #define SML_ELEMENT_APPLICATION_OMA_DS_FOLDER "application/vnd.omads-folder+xml"
00213
00214 #define SML_NAMESPACE_METINF "syncml:metinf"
00215 #define SML_NAMESPACE_DEVINF "syncml:devinf"
00216 #define SML_NAMESPACE_SYNCML10 "SYNCML:SYNCML1.0"
00217 #define SML_NAMESPACE_SYNCML11 "SYNCML:SYNCML1.1"
00218 #define SML_NAMESPACE_SYNCML12 "SYNCML:SYNCML1.2"
00219
00220 #define SML_VERSION_STRING_10 "SyncML/1.0"
00221 #define SML_VERSION_STRING_11 "SyncML/1.1"
00222 #define SML_VERSION_STRING_12 "SyncML/1.2"
00223
00224 #define SML_AUTH_BASIC "syncml:auth-basic"
00225 #define SML_AUTH_MD5 "syncml:auth-md5"
00226 #define SML_BASE64 "b64"
00227
00228
00229
00230 #define SML_TRANSPORT_CONFIG_PROXY "PROXY"
00231 #define SML_TRANSPORT_CONFIG_USERNAME "USERNAME"
00232 #define SML_TRANSPORT_CONFIG_PASSWORD "PASSWORD"
00233 #define SML_TRANSPORT_CONFIG_SSL_CA_FILE "SSL_CA_FILE"
00234 #define SML_TRANSPORT_CONFIG_PORT "PORT"
00235 #define SML_TRANSPORT_CONFIG_URL "URL"
00236 #define SML_TRANSPORT_CONFIG_SSL_KEY "SSL_KEY"
00237 #define SML_TRANSPORT_CONFIG_SSL_SERVER_CERT "SSL_SERVER_CERT"
00238 #define SML_TRANSPORT_CONFIG_BLUETOOTH_ADDRESS "BLUETOOTH_ADDRESS"
00239 #define SML_TRANSPORT_CONFIG_BLUETOOTH_CHANNEL "BLUETOOTH_CHANNEL"
00240 #define SML_TRANSPORT_CONFIG_IRDA_SERVICE "IRDA_SERVICE"
00241
00242 #define SML_TRANSPORT_CONFIG_AT_COMMAND "AT_COMMAND"
00243 #define SML_TRANSPORT_CONFIG_AT_MANUFACTURER "AT_MANUFACTURER"
00244 #define SML_TRANSPORT_CONFIG_AT_MODEL "AT_MODEL"
00245
00246 #define SML_TRANSPORT_CONFIG_DATASTORE "DATASTORE"
00247 #define SML_TRANSPORT_CONFIG_DATASTORE_EVENT "EVENT"
00248 #define SML_TRANSPORT_CONFIG_DATASTORE_TODO "TODO"
00249 #define SML_TRANSPORT_CONFIG_DATASTORE_CONTACT "CONTACT"
00250 #define SML_TRANSPORT_CONFIG_DATASTORE_NOTE "NOTE"
00251
00252
00253
00254 typedef enum {
00255 SML_DEVINF_VERSION_UNKNOWN = 0,
00256 SML_DEVINF_VERSION_10 = 1,
00257 SML_DEVINF_VERSION_11 = 2,
00258 SML_DEVINF_VERSION_12 = 3
00259 } SmlDevInfVersion;
00260
00261 typedef enum {
00262 SML_MIMETYPE_UNKNOWN,
00263 SML_MIMETYPE_XML,
00264 SML_MIMETYPE_WBXML,
00265 SML_MIMETYPE_SAN
00266 } SmlMimeType;
00267
00268 typedef enum {
00269 SML_TRANSPORT_HTTP_SERVER,
00270 SML_TRANSPORT_HTTP_CLIENT,
00271 SML_TRANSPORT_OBEX_CLIENT,
00272 SML_TRANSPORT_OBEX_SERVER
00273 } SmlTransportType;
00274
00275 typedef enum {
00276 SML_RESULT_OK,
00277 SML_RESULT_RETRY,
00278 SML_RESULT_FATAL
00279 } SmlTransportResult;
00280
00281 typedef enum {
00282 SML_VERSION_UNKNOWN = 0,
00283 SML_VERSION_10 = 1,
00284 SML_VERSION_11 = 2,
00285 SML_VERSION_12 = 3
00286 } SmlProtocolVersion;
00287
00288 typedef enum {
00289 SML_PROTOCOL_UNKNOWN = 0,
00290 SML_PROTOCOL_SYNCML = 1,
00291 SML_PROTOCOL_DM = 2
00292 } SmlProtocolType;
00293
00294 typedef enum {
00295 SML_COMMAND_TYPE_UNKNOWN = 0,
00296 SML_COMMAND_TYPE_ALERT = 1,
00297 SML_COMMAND_TYPE_SYNC = 2,
00298 SML_COMMAND_TYPE_PUT = 3,
00299 SML_COMMAND_TYPE_HEADER = 4,
00300 SML_COMMAND_TYPE_ADD = 5,
00301 SML_COMMAND_TYPE_REPLACE = 6,
00302 SML_COMMAND_TYPE_DELETE = 7,
00303 SML_COMMAND_TYPE_MAP = 8,
00304 SML_COMMAND_TYPE_GET = 9,
00305 SML_COMMAND_TYPE_RESULTS = 10
00306 } SmlCommandType;
00307
00308 typedef enum {
00309 SML_ALERT_UNKNOWN = 0,
00310 SML_ALERT_DISPLAY = 100,
00311 SML_ALERT_TWO_WAY = 200,
00312 SML_ALERT_SLOW_SYNC = 201,
00313 SML_ALERT_ONE_WAY_FROM_CLIENT = 202,
00314 SML_ALERT_REFRESH_FROM_CLIENT = 203,
00315 SML_ALERT_ONE_WAY_FROM_SERVER = 204,
00316 SML_ALERT_REFRESH_FROM_SERVER = 205,
00317 SML_ALERT_TWO_WAY_BY_SERVER = 206,
00318 SML_ALERT_ONE_WAY_FROM_CLIENT_BY_SERVER = 207,
00319 SML_ALERT_REFRESH_FROM_CLIENT_BY_SERVER = 208,
00320 SML_ALERT_ONE_WAY_FROM_SERVER_BY_SERVER = 209,
00321 SML_ALERT_REFRESH_FROM_SERVER_BY_SERVER = 210,
00322 SML_ALERT_RESULT = 221,
00323 SML_ALERT_NEXT_MESSAGE = 222,
00324 SML_ALERT_NO_END_OF_DATA = 223
00325 } SmlAlertType;
00326
00327 typedef enum {
00328 SML_CHANGE_UNKNOWN = 0,
00329 SML_CHANGE_ADD = 1,
00330 SML_CHANGE_REPLACE = 2,
00331 SML_CHANGE_DELETE = 3
00332 } SmlChangeType;
00333
00334 typedef enum {
00335 SML_AUTH_TYPE_UNKNOWN = 0,
00336 SML_AUTH_TYPE_BASIC = 1,
00337 SML_AUTH_TYPE_MD5 = 2
00338 } SmlAuthType;
00339
00340 typedef enum {
00341 SML_FORMAT_TYPE_UNKNOWN = 0,
00342 SML_FORMAT_TYPE_BASE64 = 1
00343 } SmlFormatType;
00344
00345 typedef enum {
00346 SML_DS_UNKNOWN_TYPE = 0,
00347 SML_DS_SERVER = 1,
00348 SML_DS_CLIENT = 2
00349 } SmlDsServerType;
00350
00351 #if __GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 >= 2)
00352
00353 # define LIBSYNCML_DEPRECATED __attribute__ ((deprecated))
00354 #elif defined(_MSC_VER) && (_MSC_VER >= 1300) && (_MSC_VER < 1400)
00355
00356 # define LIBSYNCML_DEPRECATED __declspec(deprecated)
00357 #elif defined(_MSV_VER) && (_MSC_VER >= 1400)
00358
00359 # define LIBSYNCML_DEPRECATED
00360 #else
00361 # define LIBSYNCML_DEPRECATED
00362 #endif
00363
00364 #endif //_SML_DEFINES_H
00365