BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GSL_DEFS_H__ 00003 #define __GSL_DEFS_H__ 00004 00005 #include <sfi/sfi.hh> 00006 #include <sfi/sfistore.hh> 00007 00008 00009 G_BEGIN_DECLS 00010 00011 /* --- forward decls --- */ 00012 typedef struct _GslMagic GslMagic; 00013 typedef struct _GslDataCache GslDataCache; 00014 typedef struct _GslDataHandle GslDataHandle; 00015 typedef struct _GslDataHandleFuncs GslDataHandleFuncs; 00016 typedef struct _GslWaveChunk GslWaveChunk; 00017 typedef struct _GslWaveChunkBlock GslWaveChunkBlock; 00018 /* ssize_t/off_t type used within Gsl */ 00019 00020 /* 00021 * FIXME: GslLong is a temporary typedef - it should go away after all 00022 * code that uses GslLong has been ported to use int64 (as defined in 00023 * sfitypes.h). 00024 */ 00025 typedef long long int GslLong; 00026 static_assert (sizeof (GslLong) == 8, "GslLong"); 00027 #define GSL_MAXLONG G_MAXINT64; 00028 #define GSL_MINLONG G_MININT64; 00029 00030 00031 /* --- functions --- */ 00032 typedef void (*GslFreeFunc) (gpointer data); 00033 00034 00035 /* --- implementation details --- */ 00036 #if __GNUC__ >= 3 && defined __OPTIMIZE__ 00037 # define GSL_GCC_PREFETCH(addr) (__builtin_prefetch (addr, 0)) 00038 # define GSL_GCC_RPREFETCH(addr) (__builtin_prefetch (addr, 0)) 00039 # define GSL_GCC_WPREFETCH(addr) (__builtin_prefetch (addr, 1)) 00040 #else 00041 # define GSL_GCC_PREFETCH(addr) /* addr */ 00042 # define GSL_GCC_RPREFETCH(addr) /* addr */ 00043 # define GSL_GCC_WPREFETCH(addr) /* addr */ 00044 #endif 00045 00046 G_END_DECLS 00047 00048 #endif /* __GSL_DEFS_H__ */ 00049 00050 /* vim:set ts=8 sw=2 sts=2: */