proton
0
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
proton-c
include
proton
buffer.h
Go to the documentation of this file.
1
#ifndef PROTON_BUFFER_H
2
#define PROTON_BUFFER_H 1
3
4
/*
5
*
6
* Licensed to the Apache Software Foundation (ASF) under one
7
* or more contributor license agreements. See the NOTICE file
8
* distributed with this work for additional information
9
* regarding copyright ownership. The ASF licenses this file
10
* to you under the Apache License, Version 2.0 (the
11
* "License"); you may not use this file except in compliance
12
* with the License. You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing,
17
* software distributed under the License is distributed on an
18
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
* KIND, either express or implied. See the License for the
20
* specific language governing permissions and limitations
21
* under the License.
22
*
23
*/
24
25
#include <
proton/import_export.h
>
26
#include <
proton/types.h
>
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
32
typedef
struct
pn_buffer_t
pn_buffer_t
;
33
34
PN_EXTERN
pn_buffer_t
*
pn_buffer
(
size_t
capacity);
35
PN_EXTERN
void
pn_buffer_free
(
pn_buffer_t
*buf);
36
PN_EXTERN
size_t
pn_buffer_size
(
pn_buffer_t
*buf);
37
PN_EXTERN
size_t
pn_buffer_capacity
(
pn_buffer_t
*buf);
38
PN_EXTERN
size_t
pn_buffer_available
(
pn_buffer_t
*buf);
39
PN_EXTERN
int
pn_buffer_ensure
(
pn_buffer_t
*buf,
size_t
size);
40
PN_EXTERN
int
pn_buffer_append
(
pn_buffer_t
*buf,
const
char
*bytes,
size_t
size);
41
PN_EXTERN
int
pn_buffer_prepend
(
pn_buffer_t
*buf,
const
char
*bytes,
size_t
size);
42
PN_EXTERN
size_t
pn_buffer_get
(
pn_buffer_t
*buf,
size_t
offset,
size_t
size,
char
*dst);
43
PN_EXTERN
int
pn_buffer_trim
(
pn_buffer_t
*buf,
size_t
left,
size_t
right);
44
PN_EXTERN
void
pn_buffer_clear
(
pn_buffer_t
*buf);
45
PN_EXTERN
int
pn_buffer_defrag
(
pn_buffer_t
*buf);
46
PN_EXTERN
pn_bytes_t
pn_buffer_bytes
(
pn_buffer_t
*buf);
47
PN_EXTERN
int
pn_buffer_print
(
pn_buffer_t
*buf);
48
49
#ifdef __cplusplus
50
}
51
#endif
52
53
#endif
/* buffer.h */
Generated on Mon Jun 2 2014 22:59:05 for proton by
1.8.1.2