[BACK]Return to afile.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / aucat

File: [local] / src / usr.bin / aucat / afile.h (download)

Revision 1.2, Sun Feb 9 19:58:17 2020 UTC (4 years, 3 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, HEAD
Changes since 1.1: +4 -4 lines

Rename WAV_H "include guard" macro of afile.h to AFILE_H.

Fix from Jan Stary <hans at stare.cz>, thanks.

/*	$OpenBSD: afile.h,v 1.2 2020/02/09 19:58:17 ratchov Exp $	*/
/*
 * Copyright (c) 2008 Alexandre Ratchov <alex@caoua.org>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
#ifndef AFILE_H
#define AFILE_H

#include <sys/types.h>
#include "dsp.h"

struct afile {
	struct aparams par;		/* file params */
#define AFILE_FMT_PCM	0		/* integers (fixed point) */
#define AFILE_FMT_ULAW	1		/* 8-bit mu-law */
#define AFILE_FMT_ALAW	2		/* 8-bit a-law */
#define AFILE_FMT_FLOAT	3		/* IEEE 754 32-bit floats */
	int fmt;			/* one of above */
	int rate;			/* file sample rate */
	int nch;			/* file channel count */
#define AFILE_HDR_AUTO	0		/* guess from file name */
#define AFILE_HDR_RAW	1		/* headerless aka "raw" file */
#define AFILE_HDR_WAV	2		/* microsoft .wav */
#define AFILE_HDR_AIFF	3		/* apple .aiff */
#define AFILE_HDR_AU	4		/* sun/next .au */
	int hdr;			/* header type */
	int fd;				/* file descriptor */
#define AFILE_FREAD	1		/* open for reading */
#define AFILE_FWRITE	2		/* open for writing */
	int flags;			/* bitmap of above */
	off_t curpos;			/* read/write position (bytes) */
	off_t startpos;			/* where payload starts */
	off_t endpos;			/* where payload ends */
	off_t maxpos;			/* max allowed pos (.wav limitation) */
	char *path;			/* file name (debug only) */
};

int afile_open(struct afile *, char *, int, int, struct aparams *, int, int);
size_t afile_read(struct afile *, void *, size_t);
size_t afile_write(struct afile *, void *, size_t);
int afile_seek(struct afile *, off_t);
void afile_close(struct afile *);

#endif /* !defined(AFILE_H) */