Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ AQueryAFile(3X) — HP-UX ANSI C A.10.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

AGetAFileAttributes(3X)

AQueryAFile(3X)

NAME

AQueryAFile − get file format of specified audio file

SYNOPSIS

#include <Alib.h> AFileFormat
AQueryAFile (

Audio ∗  audio,

char ∗  name,

long ∗  status_return );

DESCRIPTION

AQueryAFile() returns the file format of the file specified in name. 

audio specifies the Audio structure associated with this connection. 

name is the pathname of the audio data file to be queried. 

status_return receives the returned status of the operation, unless this parameter is passed in as a NULL pointer.  If status_return is set to NULL, Alib will do the error handling. 

RETURN VALUE

Upon successful completion, AQueryAFile() returns the file format of the file specified in name.  AFFUnknown is returned if the format type cannot be determined. 

STRUCTURES

The following are defined in /opt/audio/include/Alib.h. 

/ * Enumerated type for audio file formats. */
 typedef enum _AFileFormat {
    AFFUnknown,    /* Alib cannot determine file type  */
    AFFRiffWave,   /* Microsoft RIFF waveform          */
    AFFSun,        /* Sun(NeXT) format                 */
    AFFReserved,
    AFFRawMuLaw,   /* MuLaw format                     */
    AFFRawALaw,    /* ALaw format                      */
    AFFRawLin16,   /* Linear16 (16-bit signed)         */
    AFFRawLin8,    /* Linear8 (8-bit signed)           */
    AFFRawLin8Offset /* Linear8Offset (8-bit unsigned) */
} AFileFormat;

ERRORS

If status_return is not set to NULL, it can return one of the following values:

0   AENoError No error - the call completed successfully. 

1   AESystemCall A file read, write, or open failed with an error other than File Not Found. 

2   AEBadAudio The audio structure is invalid.  A pointer to a valid audio structure may be missing (use AOpenAudio() to get a valid pointer). 

8   AEFileNotFound The Audio Library could not find the specified file. 

11  AEBadFileHdr The specified file type requires a header, but the file lacks a valid header for that file type. 

16  AECantDetermineFormat AFFUnknown was specified for either the source or destination file format, but there is no valid header or filename extension. 

17  AEOutofMemory The Audio Library could not allocate space for the data. 

EXAMPLE

The following example queries the file format of the file /myhome/a_dir/a_file. 

AFileFormat  file_fmt; /* file format */
Audio       *audio;    /* audio connection */
long         status;   /* status */
char         fname[] = "/myhome/a_dir/a_file";
 .
 .
 .
/* load file into new sound bucket */
 file_fmt = AQueryAFile(audio, fname, &status);

NOTE

In order to ensure that the compiler finds the Audio Library (libAlib.sl) and the Alib.h header file, you must add the following switches:

-L /opt/audio/lib
-I/opt/audio/include

DEPENDENCIES

This function belongs to the Audio Library of functions that manage connections to an audio server.  The audio server must run on a system that has audio hardware. To find out whether or not your system has audio hardware, refer to Using the Audio Developer’s Kit or the online help for the Audio control panel.  For information about the audio capabilities of a particular system use the online example audioinfo.c. 

AUTHOR

AQueryAFile() was developed by HP. 

SEE ALSO

AGetAFileAttributes(3X). 

Hewlett-Packard Company  —  Audio Library: February, 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026