home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_DEVICE_AUDIO_H
- #define __INC_POS_DEVICE_AUDIO_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Audio.h<< 19 Dec 1996 08:25:14 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PEXEC_DEVICE_H
- #include <pExec/Device.h>
- #endif
-
- /*\
- *** OpenDevice mit Unit==~0 geht immer:
- *** Geeignet für: AUDIOCMD_Info, AUDIOCMD_ChannelInfo
- \*/
-
- struct pOS_AudioDevice {struct pOS_Device Dev; };
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_AudioIO
- {
- /** struct pOS_IORequest **/
-
- struct pOS_Message aio_Message;
- struct pOS_Device *aio_Device; /* device node pointer */
- struct pOS_Unit *aio_Unit; /* unit (driver private) */
- UWORD aio_Command; /* (enum pOS_IOReqCommands) (enum pOS_AudioIOReqCommands) */
- UBYTE aio_Flags; /* (enum pOS_IOReqFlags) */
- SBYTE aio_Error; /* (enum pOS_IOReqErrors) */
-
- union {
- UBYTE aio_Reserved[64];
-
- struct { /** CMD_WRITE **/
- struct pOS_AudioMap *amio_AudioMap;
- UWORD amio_Volume;
- UWORD amio_Cycles;
- ULONG amio_Frequence; /* Hz */
- ULONG amio_Length;
- } aio_Map;
-
- struct { /** AUDIOCMD_Info **/
- ULONG aiio_FirstHwChannels; /* Erster Hardware-Channels */
- ULONG aiio_NumHwChannels; /* Anzahl der Hardware-Channels */
- ULONG aiio_FirstSwChannels; /* Erster Software-Channels */
- ULONG aiio_NumSwChannels; /* Anzahl der Software-Channels */
- } aio_Info;
-
- struct { /** AUDIOCMD_ChannelInfo **/
- ULONG acio_Channel;
- size_t acio_InfoSize; /* sizeof(pOS_AudioInfoData) */
- struct pOS_AudioInfoData *acio_InfoData;
- } aio_ChInfo;
-
- struct { /** AUDIOCMD_AllocChannel **/
- const struct pOS_TagItem *alio_Tags;
- ULONG alio_Result;
- } aio_AllocCh;
-
- /** AUDIOCMD_FreeChannel **/
-
-
- } aio_U;
-
- };
-
-
-
- enum pOS_AudioIOReqCommands
- {
- AUDIOCMD_Info = CMD_NONSTD,
- AUDIOCMD_ChannelInfo,
- AUDIOCMD_AllocChannel,
- AUDIOCMD_FreeChannel,
- };
-
-
- enum pOS_AudioIOReqErrors
- {
- AUDIOIOERR_UnknownChannel=1,
- };
-
- #endif
-