Home
Blog
µ
Software
Projekte
TerraDuino Terrarien Steuerung
Grundschule in Shambu
Hundecontent
Google News Tagcloud der Top Suchbegriffe
Onlinerechner Medikamentendosierung
Kontakt
Impressum
libpcp
0.2.4
Main Page
Modules
Classes
Files
Back
File List
D
github
pcp
include
pcp
buffer.h
1
/*
2
This file is part of Pretty Curved Privacy (pcp1).
3
4
Copyright (C) 2013-2015 T.v.Dein.
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
You can contact me by mail: <tom AT vondein DOT org>.
20
*/
21
22
#ifndef HAVE_PCP_BUFFER_H
23
#define HAVE_PCP_BUFFER_H
24
25
#include <stdio.h>
26
#include <stdarg.h>
27
#include "mem.h"
28
#include "util.h"
29
#include "defines.h"
30
#include "structs.h"
31
#include "context.h"
32
62
Buffer
*
buffer_new
(
size_t
blocksize,
char
*name);
63
73
Buffer
*
buffer_new_str
(
char
*name);
74
75
142
Buffer
*
buffer_new_buf
(
char
*name,
void
*data,
size_t
datasize);
143
144
/* initialize buffer vars */
145
void
buffer_init(
Buffer
*b,
size_t
blocksize,
char
*name);
146
155
void
buffer_free
(
Buffer
*b);
156
165
void
buffer_clear
(
Buffer
*b);
166
174
void
buffer_rewind
(
Buffer
*b);
175
190
void
buffer_add
(
Buffer
*b,
const
void
*data,
size_t
len);
191
204
void
buffer_add_buf
(
Buffer
*dst,
Buffer
*src);
205
226
void
buffer_add_str
(
Buffer
*b,
const
char
* fmt, ...);
227
243
void
buffer_add_hex
(
Buffer
*b,
void
*data,
size_t
len);
244
245
/* resize the buffer if necessary, used internally only */
246
void
buffer_resize(
Buffer
*b,
size_t
len);
247
257
int
buffer_done
(
Buffer
*b);
258
287
size_t
buffer_get_chunk
(
Buffer
*b,
void
*buf,
size_t
len);
288
300
size_t
buffer_get_chunk_tobuf
(
Buffer
*b,
Buffer
*dst,
size_t
len);
301
316
byte *
buffer_get
(
Buffer
*b);
317
342
char
*
buffer_get_str
(
Buffer
*b);
343
378
byte *
buffer_get_remainder
(
Buffer
*b);
379
415
size_t
buffer_extract
(
Buffer
*b,
void
*buf,
size_t
offset,
size_t
len);
416
426
size_t
buffer_fwd_offset
(
Buffer
*b,
size_t
fwdby);
427
432
void
buffer_dump
(
const
Buffer
*b);
433
438
void
buffer_info
(
const
Buffer
*b);
439
450
size_t
buffer_size
(
const
Buffer
*b);
451
480
size_t
buffer_left
(
const
Buffer
*b);
481
488
uint8_t
buffer_get8
(
Buffer
*b);
489
496
uint16_t
buffer_get16
(
Buffer
*b);
497
504
uint32_t
buffer_get32
(
Buffer
*b);
505
512
uint64_t
buffer_get64
(
Buffer
*b);
513
520
uint16_t
buffer_get16na
(
Buffer
*b);
521
528
uint32_t
buffer_get32na
(
Buffer
*b);
529
536
uint64_t
buffer_get64na
(
Buffer
*b);
537
546
uint8_t
buffer_last8
(
Buffer
*b);
547
556
uint16_t
buffer_last16
(
Buffer
*b);
557
566
uint32_t
buffer_last32
(
Buffer
*b);
567
576
uint64_t
buffer_last64
(
Buffer
*b);
577
593
size_t
buffer_fd_read
(
Buffer
*b, FILE *in,
size_t
len);
594
601
void
buffer_add8
(
Buffer
*b, uint8_t v);
602
609
void
buffer_add16
(
Buffer
*b, uint16_t v);
610
617
void
buffer_add32
(
Buffer
*b, uint32_t v);
618
625
void
buffer_add64
(
Buffer
*b, uint64_t v);
626
633
void
buffer_add16be
(
Buffer
*b, uint16_t v);
634
641
void
buffer_add32be
(
Buffer
*b, uint32_t v);
642
649
void
buffer_add64be
(
Buffer
*b, uint64_t v);
650
651
652
#endif // HAVE_PCP_BUFFER_H
653
Generated on Mon Apr 13 2015 13:44:00 for libpcp by
1.8.3.1