syncmlfw/common/wbxml/inc/syncml/smldef.h
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/common/wbxml/inc/syncml/smldef.h	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Definitions for SyncML toolkit types.
+*
+*/
+
+
+
+#ifndef __SMLDEF_H__
+#define __SMLDEF_H__
+
+/** 
+ * ==================================
+ * Basic data types 
+ * ==================================
+ **/
+typedef short			Short_t;		// short integer,  16 Bytes
+typedef long			Long_t;			// long integer,   32 Bytes
+typedef char*			String_t;		// String pointer, 
+typedef unsigned char	Byte_t;			// a single byte
+typedef Byte_t			Boolean_t;		// a boolean
+
+typedef int				Ret_t;        // Return Type of API Commands
+typedef Long_t			Length_t;     // System dependent string length
+typedef Short_t			MemHandle_t;  // Memory object Handle 
+typedef unsigned char	*MemPtr_t;    // Memory object Pointer
+typedef void			*VoidPtr_t;   // Void Pointer
+typedef Long_t			MemSize_t;    // System dependent memory object size
+typedef unsigned char	MemByte_t;    // Memory element
+typedef unsigned int	Flag_t;       // A generic flag type. This type is used to 
+                                    // declare variables in structures wherever  
+                                    // flags are used.
+
+/**
+ * ==================================
+ * Definitions used in the SyncML API
+ * ==================================
+ **/
+
+/**
+ * Application callback function displaying output strings to the user
+ **/ 
+typedef void (*smlPrintFunc) (String_t outputString);
+
+/** 
+ * structure describing the options and setting of this syncml process 
+ **/
+typedef struct sml_options_s {
+  smlPrintFunc  defaultPrintFunc;       // default application callback for displaying strings,
+  MemSize_t     maxWorkspaceAvailMem;   // size which all workspaces in total MUST not exceed
+} *SmlOptionsPtr_t, SmlOptions_t;
+
+/**
+ * Reference of an instance
+ **/ 
+typedef MemHandle_t InstanceID_t;    // Handle, used as a unique ID of 
+                                     // an synchronization instance 
+/**
+ * Type of used encoding
+ **/
+typedef enum {
+	SML_UNDEF = 0,
+        SML_WBXML,
+        SML_XML
+} SmlEncoding_t;
+
+/** 
+ * structure describing the options of an instance, 
+ **/
+typedef struct sml_instance_options_s {
+  SmlEncoding_t encoding;               // Used encoding type,
+  MemSize_t     workspaceSize;          // size of the workspace to allocate
+  String_t      workspaceName;          // name of the workspace
+} *SmlInstanceOptionsPtr_t, SmlInstanceOptions_t;
+
+/**
+ * Processing modes
+ **/
+typedef enum {
+  SML_DO_NOTHING = 0,
+  SML_FIRST_COMMAND,
+  SML_NEXT_COMMAND,
+  SML_NEXT_MESSAGE,
+  SML_ALL_COMMANDS
+} SmlProcessMode_t;
+
+/**
+ * Requested buffer pointer position
+ **/
+typedef enum {
+  SML_FIRST_DATA_ITEM = 0,
+  SML_FIRST_FREE_ITEM
+} SmlBufPtrPos_t;
+
+/**
+ * SyncML Protocol Management and Command Elements (PE)
+ **/
+typedef enum {
+    SML_PE_UNDEF = 0,
+    SML_PE_ERROR,
+    SML_PE_ADD,
+    SML_PE_ALERT,
+    SML_PE_ATOMIC_START,
+    SML_PE_ATOMIC_END,
+    SML_PE_COPY,
+    SML_PE_DELETE,
+    SML_PE_EXEC,
+    SML_PE_GET,
+    SML_PE_MAP,
+	SML_PE_MOVE, // 1.2 CHANGES: Move added
+    SML_PE_PUT,
+    SML_PE_RESULTS,
+    SML_PE_SEARCH,
+    SML_PE_SEQUENCE_START,
+    SML_PE_SEQUENCE_END,
+    SML_PE_STATUS,
+    SML_PE_SYNC_START,
+    SML_PE_SYNC_END,
+    SML_PE_REPLACE,
+    SML_PE_HEADER,
+    SML_PE_PUT_GET,
+    SML_PE_CMD_GROUP,
+    SML_PE_GENERIC,
+    SML_PE_FINAL
+} SmlProtoElement_t;
+
+#define SML_PE_SIZE_SENT (1<<0)
+#define SML_PE_META_CREATED_BY_GENERATOR (1<<1)
+#define SML_PE_SIZE_CREATED_BY_GENERATOR (1<<2)
+
+
+
+#endif // __SMLDEF_H__