-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbinbulk.h
More file actions
38 lines (32 loc) · 1.08 KB
/
binbulk.h
File metadata and controls
38 lines (32 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef __BINBULK__
#define __BINBULK__
#include <wchar.h>
#include <t_gc.h>
#ifndef EOF
#define EOF (-1)
#endif
#define DEFAULT_BINBULK_SIZE 512
typedef struct _binbulk {
int length;
int allocsize;
int pos;
unsigned char *data;
} BinBulk;
/* Bulk standard interface */
BinBulk* new_binbulk();
int binbulk_get_length(BinBulk *bulk);
int binbulk_alloc_size(BinBulk *bulk, int size);
int binbulk_realloc_size(BinBulk *bulk, int size);
int binbulk_add_char(BinBulk *bulk, wchar_t c);
wchar_t binbulk_get_char(BinBulk *bulk);
int binbulk_is_eof(BinBulk *bulk);
wchar_t binbulk_set_char(BinBulk *bulk, wchar_t c);
int binbulk_seek(BinBulk *bulk, int pos);
int binbulk_get_position(BinBulk *bulk);
int binbulk_get_capacity(BinBulk *bulk);
int binbulk_truncate(BinBulk *bulk, int size);
int binbulk_read(BinBulk *bulk, int fd);
int binbulk_write(BinBulk *bulk, int fd, int from, int to);
Cell* binbulk_base64_encode(BinBulk *bulk, int count_bytes);
int binbulk_base64_decode(BinBulk *bulk, Cell *b64);
#endif /* __BINBULK__ */