/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.31
 * 
 * This file is not intended to be easily readable and contains a number of 
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG 
 * interface file instead. 
 * ----------------------------------------------------------------------------- */

#define SWIGOCCAMPI
#define SWIG_init    initoccSDLsound

#define SWIG_name    "occSDLsound"
#ifdef WIN32
#define DLLPREFIX extern __declspec(dllexport)
#else
#define DLLPREFIX
#endif
#ifdef __cplusplus
extern "C" {
#endif

/*  A set of basic macros for converting between occam types to C types.
 *  Taken from David C. Wood's paper Kroc - Calling C Functions from occam
 */

typedef int word;

#define VAL_BYTE(w)     (*(char *)&(w))
#define BYTE(w)         ((char *)(w))
#define CAST_BYTE(w)    ((char)(w))

#define VAL_BOOL(w)     (*(char *)(&(w))
#define BOOL(w)         ((char *)(w))
#define CAST_BOOL(w)    ((char)(w))

#define VAL_INT16(w)    (*(short int *)&(w))
#define INT16(w)        ((short int*)(w))
#define CAST_INT16(w)   ((short int)(w))

#define VAL_INT(w)      (w)
#define INT(w)          ((int *)(w))
#define CAST_INT(w)     ((int)(w))

#define VAL_INT32(w)    (w)
#define INT32(w)        ((int *)(w))
#define CAST_INT32(w)   ((int)(w))

#define VAL_INT64(w)    (*(long long int *)(w))
#define INT64(w)        ((long long int *)(w))
#define CAST_INT64(w)   ((long long int)(w))

#define VAL_REAL32(w)   (*(float *)&(w))
#define REAL32(w)       ((float *)(w))
#define CAST_REAL32(w)  ((float)(w))

#define VAL_REAL64(w)   (*(double *)(w))
#define REAL64(w)       ((double *)(w))
#define CAST_REAL64(w)  ((double)(w))



#include <SDL.h>
#include <SDL_endian.h>
#include <SDL_sound.h>


#ifdef __cplusplus
}
#endif
