32
38
blob *blobCreate(void);
33
39
void blobDestroy(blob *b);
34
40
void blobArrayDestroy(blob *b[], int n);
35
void blobSetFilename(blob *b, const char *filename);
41
void blobSetFilename(blob *b, const char *dir, const char *filename);
36
42
const char *blobGetFilename(const blob *b);
37
void blobAddData(blob *b, const unsigned char *data, size_t len);
43
int blobAddData(blob *b, const unsigned char *data, size_t len);
38
44
unsigned char *blobGetData(const blob *b);
39
45
unsigned long blobGetDataSize(const blob *b);
40
46
void blobClose(blob *b);
41
47
int blobcmp(const blob *b1, const blob *b2);
42
48
void blobGrow(blob *b, size_t len);
51
* Like a blob, but associated with a file
53
typedef struct fileblob {
59
fileblob *fileblobCreate(void);
60
void fileblobDestroy(fileblob *fb);
61
void fileblobSetFilename(fileblob *fb, const char *dir, const char *filename);
62
const char *fileblobGetFilename(const fileblob *fb);
63
int fileblobAddData(fileblob *fb, const unsigned char *data, size_t len);
64
void sanitiseName(char *name);
66
/* Maximum filenames under various systems */
67
#ifndef NAME_MAX /* e.g. Linux */
68
# ifdef MAXNAMELEN /* e.g. Solaris */
69
# define NAME_MAX MAXNAMELEN
71
# ifdef FILENAME_MAX /* e.g. SCO */
72
# define NAME_MAX FILENAME_MAX