libUPnP
1.6.17
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
ixml
src
inc
ixmlmembuf.h
Go to the documentation of this file.
1
/**************************************************************************
2
*
3
* Copyright (c) 2000-2003 Intel Corporation
4
* All rights reserved.
5
* Copyright (c) 2012 France Telecom All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
*
10
* - Redistributions of source code must retain the above copyright notice,
11
* this list of conditions and the following disclaimer.
12
* - Redistributions in binary form must reproduce the above copyright notice,
13
* this list of conditions and the following disclaimer in the documentation
14
* and/or other materials provided with the distribution.
15
* - Neither name of Intel Corporation nor the names of its contributors
16
* may be used to endorse or promote products derived from this software
17
* without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR
23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
27
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*
31
**************************************************************************/
32
33
34
#ifndef IXML_MEMBUF_H
35
#define IXML_MEMBUF_H
36
37
43
#include "
ixml.h
"
44
45
46
#include <stdlib.h>
/* for size_t */
47
48
49
#define MINVAL(a, b) ( (a) < (b) ? (a) : (b) )
50
#define MAXVAL(a, b) ( (a) > (b) ? (a) : (b) )
51
52
53
#define MEMBUF_DEF_SIZE_INC 20u
54
55
59
typedef
struct
60
{
61
char
*buf;
62
size_t
length;
63
size_t
capacity;
64
size_t
size_inc;
65
}
ixml_membuf
;
66
67
71
void
ixml_membuf_init
(
73
ixml_membuf
*m);
74
75
82
void
ixml_membuf_destroy
(
84
ixml_membuf
*m);
85
86
97
int
ixml_membuf_assign
(
99
ixml_membuf
*m,
101
const
void
*buf,
103
size_t
buf_len);
104
114
int
ixml_membuf_assign_str
(
116
ixml_membuf
*m,
118
const
char
*c_str);
119
129
int
ixml_membuf_append
(
131
ixml_membuf
*m,
133
const
void
*buf);
134
145
int
ixml_membuf_append_str
(
147
ixml_membuf
*m,
149
const
char
*c_str);
150
161
int
ixml_membuf_insert
(
163
ixml_membuf
*m,
165
const
void
*buf,
167
size_t
buf_len,
170
size_t
index);
171
172
173
#endif
/* IXML_MEMBUF_H */
174
Generated on Fri Feb 1 2013 21:41:16 for libUPnP by
1.8.1.2