diff -r 000000000000 -r b497e44ab2fc syncmlfw/common/wbxml/inc/syncml/smldef.h --- /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__