From faada59567f8cb252f4a909116595ce309ff5828 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Fri, 23 May 2003 12:29:55 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r647, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/miXed/; revision=648 --- shared/common/bifi.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 shared/common/bifi.h (limited to 'shared/common/bifi.h') diff --git a/shared/common/bifi.h b/shared/common/bifi.h new file mode 100644 index 0000000..29fe5ae --- /dev/null +++ b/shared/common/bifi.h @@ -0,0 +1,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 -- cgit v1.2.1