1 #ifndef CLIB_AC97MIXER_PROTOS_H
    2 #define CLIB_AC97MIXER_PROTOS_H
    3 
    4 #ifndef EXEC_TYPES_H
    5 # include <exec/types.h>
    6 #endif
    7 
    8 #ifndef UTILITY_TAGITEM_H
    9 # include <utility/tagitem.h>
   10 #endif
   11 
   12 #ifndef UTILITY_HOOKS_H
   13 # include <utility/hooks.h>
   14 #endif
   15 
   16 #ifdef __cplusplus
   17 extern "C" {
   18 #endif /* __cplusplus */
   19 
   20 struct AC97Mixer_CodecObject;
   21 
   22 void	*AC97FindMixer(void *MixerObject,
   23                        LONG			mixerID,
   24                        struct TagItem *MyTags);
   25 
   26 LONG	AC97ReadIndex(void *MixerObject,
   27                       ULONG			Offset);
   28 
   29 LONG	AC97WriteIndex(void	*MixerObject,
   30                        ULONG		Offset,
   31                        ULONG		Data);
   32 
   33 
   34 LONG	AC97GetMixerAttr(void	*MixerObject,
   35                            ULONG attr,
   36 			   void	*valueptr);
   37 
   38 LONG	AC97SetMixerAttr(void	*MixerObject,
   39                            ULONG	attr,
   40 			   LONG	value);
   41 
   42 LONG	AC97GetInputAttr(void	*MixerObject,
   43 			   ULONG	index,
   44                            ULONG	attr,
   45 			   void	*valueptr);
   46 
   47 LONG	AC97GetOutputAttr(void	*MixerObject,
   48 			   ULONG	index,
   49                            ULONG	attr,
   50 			   void	*valueptr);
   51 
   52 LONG	AC97SetInputAttr(void	*MixerObject,
   53 			   ULONG	index,
   54                            ULONG	attr,
   55 			   LONG		value);
   56 
   57 LONG	AC97SetOutputAttr(void	*MixerObject,
   58 			   ULONG	index,
   59                            ULONG	attr,
   60 			   LONG		value);
   61 
   62 LONG	AC97AddMixerNotify(void	*MixerObject,
   63 			   ULONG	type,
   64                            struct Hook	*hook);
   65 
   66 LONG	AC97RemMixerNotify(void	*MixerObject,
   67                            struct Hook	*hook);
   68 
   69 LONG AC97AddCodec(struct AC97Mixer_CodecObject *CodecObject);
   70 
   71 VOID AC97RemCodec(struct AC97Mixer_CodecObject *CodecObject);
   72 
   73 void *AC97AddCodecTagList(struct AC97Mixer_CodecObject *CodecObject, CONST struct TagItem *taglist);
   74 
   75 #if !defined(USE_INLINE_STDARG)
   76 void *AC97AddCodecTags(struct AC97Mixer_CodecObject *CodecObject, Tag tag1Type, ... );
   77 #endif
   78 
   79 VOID AC97RemCodecByID(LONG MixerID);
   80 
   81 #ifdef __cplusplus
   82 }
   83 #endif /* __cplusplus */
   84 
   85 #endif /* CLIB_AC97MIXER_PROTOS_H */