www.pudn.com > av3dec_20050318.zip > AFheader.h
/*------------ Telecommunications & Signal Processing Lab --------------
McGill University
Routine:
AFfiles.h
Description:
Function prototypes for the TSP library AF file internal routines
Author / revision:
P. Kabal Copyright (C) 1999
$Revision: 1.22 $ $Date: 1999/06/04 23:27:17 $
----------------------------------------------------------------------*/
#ifndef AFfile_h_
#define AFfile_h_
#include /* typedef for FILE */
#include /* typedef for jmp_buf */
struct AF_opt; /* Audio file routine options */
struct AF_NHpar; /* Headerless audio file parameters */
struct AF_infox; /* Header information string */
struct AF_info; /* Header information string */
struct AF_read; /* File format and data parameters */
struct AF_write; /* File format and data parameters */
#ifndef AFILE_t_
# define AFILE_t_
typedef struct AF_filepar AFILE; /* Audio file parameters */
#endif
/* Header read/write definitions */
#define RHEAD_S(fp,string) \
AFreadHead (fp, (void *)(string), 1, (int) (sizeof (string)), \
DS_NATIVE)
#define RHEAD_SN(fp,string,N) \
AFreadHead (fp, (void *) (string), 1, (int) (N), DS_NATIVE)
#define RHEAD_V(fp,value,swap) \
AFreadHead (fp, (void *) &(value), (int) (sizeof (value)), 1, \
(int) (swap))
#define RSKIP(fp,nbytes) \
AFreadHead (fp, NULL, 1, (int) (nbytes), DS_NATIVE)
#define WHEAD_S(fp,string) \
AFwriteHead (fp, (const void *) (string), 1, (int) (sizeof (string)), \
DS_NATIVE)
#define WHEAD_SN(fp,string,N) \
AFwriteHead (fp, (const void *) (string), 1, (int) (N), DS_NATIVE)
#define WHEAD_P(fp,string) \
AFwriteHead (fp, (const void *) (string), 1, (int) (strlen (string)), \
DS_NATIVE)
#define WHEAD_V(fp,value,swap) \
AFwriteHead (fp, (const void *) &(value), (int) (sizeof (value)), 1, \
(int) (swap))
#ifdef __cplusplus
extern "C" {
#endif
int
AFfindType (FILE *fp);
struct AF_info *
AFgenHinfo (double Sfreq);
const char *
AFgetHrec (const char name[], const struct AF_info *Hinfo);
int
AFgetSPrec (const char name[], int type, void *data, int erropt,
const char head[], int N);
struct AF_opt *
AFoptions (void);
void
AFprAFpar (AFILE *AFp, const char Fname[], FILE *fpinfo);
AFILE *
AFrdAIhead (FILE *fp);
AFILE *
AFrdAUhead (FILE *fp);
AFILE *
AFrdBLhead (FILE *fp);
AFILE *
AFrdEShead (FILE *fp);
int
AFrdHinfo (FILE *fp, int Size, struct AF_info *Hinfo, int Align);
int
AFrdHtext (FILE *fp, int Size, const char Ident[], struct AF_info *Hinfo,
int Align);
AFILE *
AFrdINhead (FILE *fp);
AFILE *
AFrdSFhead (FILE *fp);
AFILE *
AFrdSPhead (FILE *fp);
AFILE *
AFrdSWhead (FILE *fp);
AFILE *
AFrdTAhead (FILE *fp);
AFILE *
AFrdWVhead (FILE *fp);
int
AFreadHead (FILE *fp, void *Buf, int size, int Nelem, int Swapb);
AFILE *
AFsetNHread (FILE *fp, const char Fname[]);
AFILE *
AFsetNHwrite (FILE *fp, int Dformat, int Swapb, long int Nchan, double Sfreq);
AFILE *
AFsetRead (FILE *fp, int Ftype, struct AF_read *AFr, int Fix);
AFILE *
AFsetWrite (FILE *fp, int Ftype, struct AF_write *AFw);
int
AFupdAIhead (AFILE *AFp);
int
AFupdAUhead (AFILE *AFp);
int
AFupdHead (AFILE *AFp);
int
AFupdWVhead (AFILE *AFp);
AFILE *
AFwrAIhead (FILE *fp, int Format, long int Nframe, long int Nchan,
double Sfreq);
AFILE *
AFwrAUhead (FILE *fp, int Format, long int Nframe, long int Nchan,
double Sfreq);
AFILE *
AFwrWVhead (FILE *fp, int Format, long int Nframe, long int Nchan,
double Sfreq);
int
AFwriteHead (FILE *fp, const void *Buf, int Size, int Nv, int Swapb);
#ifdef __cplusplus
}
#endif
#endif /* AFfile_h_ */