/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1992-2001 by Sun Microsystems, Inc.
* All rights reserved.
*/
#ifndef _MULTIMEDIA_AUDIOFILE_H
#define _MULTIMEDIA_AUDIOFILE_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef NO_EXTERN_C
#ifdef __cplusplus
extern "C" {
#endif
#endif /* NO_EXTERN_C */
#include <AudioUnixfile.h>
// A 'primitive type' for memory mapped file access types
enum vmaccess_t {
};
{ return (type); }
inline operator int() { // Cast to integer
switch (type) {
case NormalAccess: return (MADV_NORMAL);
case RandomAccess: return (MADV_RANDOM);
case SequentialAccess: return (MADV_SEQUENTIAL);
}
}
};
// This is the 'base' class for regular files containing audio data
// Open named file
const char *, int);
// Create named file
const char *path); // filename
// class AudioUnixfile methods specialized here
// Seek in input stream
// Seek in output stream
// Constructor with path
const char *path, // filename
// Set tmpfile location
static AudioError SetTempPath(
const char *path); // directory path
// class AudioUnixfile methods specialized here
// front end to madvise
return (vmaccess);
}
// ... with search path
const char *path = AUDIO_PATH);
// Read from position
void* buf, // buffer to fill
// Write at position
void* buf, // buffer to copy
// copy to another audio obj.
// class Audio methods specialized here
};
#ifdef NO_EXTERN_C
#ifdef __cplusplus
}
#endif
#endif /* NO_EXTERN_C */
#endif /* !_MULTIMEDIA_AUDIOFILE_H */