blob: 29fe5ae08d977930aae05085f1a396f022b1e9b3 (
plain)
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
39
40
|
/* Copyright (c) 2002-2003 krzYszcz and others.
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
/* generic helpers for binary file reading and writing */
#ifndef __BIFI_H__
#define __BIFI_H__
#define BIFI_ERR_OK 0
#define BIFI_ERR_OPEN -1
#define BIFI_ERR_READ -2 /* generic read failure */
#define BIFI_ERR_WRITE -3 /* generic write failure */
#define BIFI_ERR_BADHEADER -4 /* header missing or short */
typedef struct _bifi
{
int b_selfalloc:1;
int b_hdralloc:1;
char *b_header;
size_t b_headersize;
FILE *b_fp;
char b_filename[MAXPDSTRING];
int b_err; /* BIFI_ERR code */
int b_syserrno; /* system error code */
} t_bifi;
uint32 bifi_swap4(uint32 n);
uint16 bifi_swap2(uint16 n);
t_bifi *bifi_new(t_bifi *x, char *hdr, size_t hdrsz);
void bifi_free(t_bifi *x);
void bifi_clear(t_bifi *x);
int bifi_read_start(t_bifi *x, const char *filename, const char *dirname);
int bifi_write_start(t_bifi *x, const char *filename, const char *dirname);
void bifi_error_report(t_bifi *x);
#endif
|