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 */