zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/ap/app/cwmp/netcwmp/libxmlet/src/inc/xmlbuffer.h b/ap/app/cwmp/netcwmp/libxmlet/src/inc/xmlbuffer.h
new file mode 100755
index 0000000..585005c
--- /dev/null
+++ b/ap/app/cwmp/netcwmp/libxmlet/src/inc/xmlbuffer.h
@@ -0,0 +1,105 @@
+///////////////////////////////////////////////////////////////////////////

+//

+// Copyright (c) 2000-2003 Intel Corporation

+// All rights reserved.

+//

+// Redistribution and use in source and binary forms, with or without

+// modification, are permitted provided that the following conditions are met:

+//

+// * Redistributions of source code must retain the above copyright notice,

+// this list of conditions and the following disclaimer.

+// * Redistributions in binary form must reproduce the above copyright notice,

+// this list of conditions and the following disclaimer in the documentation

+// and/or other materials provided with the distribution.

+// * Neither name of Intel Corporation nor the names of its contributors

+// may be used to endorse or promote products derived from this software

+// without specific prior written permission.

+//

+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

+// A PARTICULAR PURPOSE ARE DISCLAIMED. NO EVENT SHALL INTEL OR

+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY

+// OF LIABILITY, WHETHER CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

+// NEGLIGENCE OR OTHERWISE) ARISING ANY WAY OF THE USE OF THIS

+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+//

+///////////////////////////////////////////////////////////////////////////

+

+#ifndef CWMP_XML_BUFFER_H

+#define CWMP_XML_BUFFER_H

+

+#include <stdlib.h>

+#include "cwmp/xmlet.h"

+

+#define MINVAL( a, b ) ( (a) < (b) ? (a) : (b) )

+#define MAXVAL( a, b ) ( (a) > (b) ? (a) : (b) )

+

+#define	XINLINE inline

+

+#define MEMBUF_DEF_SIZE_INC		1024*4

+

+

+typedef struct // XmlBuffer

+{

+    char	*buf;

+

+    size_t	length;

+    size_t	capacity;

+    size_t	size_inc;

+

+} XmlBuffer;

+

+//--------------------------------------------------

+//////////////// functions /////////////////////////

+//--------------------------------------------------

+/*

+#ifdef __cplusplus

+extern "C" {

+#endif // __cplusplus

+*/

+

+

+void XmlBufferInit(XmlBuffer *m);

+void XmlBufferDestroy(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+    XmlBuffer *m);

+

+int XmlBufferAssign(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+

+    XmlBuffer *m, const void *buf,

+    size_t buf_len );

+int XmlBufferAssignString(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+

+    XmlBuffer *m, const char *c_str );

+int XmlBufferAppend(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+

+    XmlBuffer *m, const void *buf);

+int XmlBufferAppendString(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+    XmlBuffer *m, const char *c_str);

+int XmlBufferInsert(

+#ifdef USE_CWMP_MEMORY_POOL

+    Pool * pool,

+#endif

+

+    XmlBuffer *m, const void* buf,

+    size_t buf_len, int index );

+

+#endif // _CWMP_XML_MEMBUF_H