#define NewSndCallBackProc(a) NewSndCallBackUPP(a)

enum {
soundListRsrc=1
};

enum {
siHardwareBusy =1,
};

enum{
siInvalidSampleSize =2,
siInvalidSampleRate =3
};

enum {
siDecompressionParams =1
};

enum {
rate22050hz =1,
rate48khz =2,
rate44khz=3,
rate11025hz =4
};


enum {
siClientAcceptsVBR =1
};

enum {
siCompressionSampleRate =1,
siCompressionChannels =2,
siCompressionParams =3,
siCompressionOutputSampleRate =4,
siCompressionMaxPacketSize =5
};

enum {
kExtendedSoundData =1,
kExtendedSoundBufferSizeValid=2,
kExtendedSoundCommonFrameSizeValid =3

};

enum {
kSoundConverterHasLeftOverData =1
};

enum {
kUserDataTextEncodedBy =1,
kUserDataTextSpecialPlaybackRequirements =2
};

struct SoundComponentData {
 int numChannels;
int sampleRate;
int sampleSize;
int format;
int flags;
int sampleCount;
int buffer;
int reserved;
};
typedef struct SoundComponentData       SoundComponentData;
typedef SoundComponentData *            SoundComponentDataPtr;

struct SoundInfoList {
int count;
int infoHandle;
};
typedef struct SoundInfoList            SoundInfoList;
typedef SoundInfoList *                 SoundInfoListPtr;

typedef struct SoundSource*       SoundSource;
typedef int  SoundParamProcPtr;

struct SndListResource {

};
typedef struct SndListResource          SndListResource;
typedef SndListResource *               SndListPtr;
typedef SndListPtr *                    SndListHandle;

struct CmpSoundHeader {
int sampleSize;
int sampleRate;
int numFrames;
int sampleArea;
int compressionID;
int numChannels;
};
typedef struct CmpSoundHeader           CmpSoundHeader;
typedef CmpSoundHeader *                CmpSoundHeaderPtr;


typedef  int * SoundConverter;
typedef int SoundConverterFillBufferDataUPP;


struct SndChannel{
int qLength;
int userInfo;
};

typedef struct SndChannel SndChannel;
typedef SndChannel * SndChannelPtr;

struct SndCommand{
int param1;
int param2;
int cmd;
};
typedef struct SndCommand SndCommand;

struct SoundHeader {
int sampleRate;
int encode;
int samplePtr;
int length;
int loopEnd;
int loopStart;
int baseFrequency;
int sampleArea;
};
typedef struct SoundHeader  SoundHeader;
typedef SoundHeader * SoundHeaderPtr;

typedef int SndCallBackProcPtr;
typedef int SndCallBackUPP;

int SysBeep( int a );
int SetupAIFFHeader(int a,int b, int c, int d, int e, int f, int g);
int SndSoundManagerVersion();
int SndPlay(int a,int b,int c);
int SoundConverterOpen(int a,int b, int c);
int SoundConverterSetInfo(int a,int b , int c);	
int SoundConverterGetInfo(int a,int b, int c);
int SoundConverterClose(int a);
int DisposeSoundConverterFillBufferDataUPP(int a);
int NewSoundConverterFillBufferDataUPP(int a);	
int NewSndCallBackUPP(int a);

