dfsound: Fix issues on big-endian systems
[pcsx_rearmed.git] / plugins / dfsound / spu.h
index 8912684..334c680 100644 (file)
  *                                                                         *\r
  ***************************************************************************/\r
 \r
-void SetupTimer(void);\r
-void RemoveTimer(void);\r
-void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap);\r
-void CALLBACK SPUplayCDDAchannel(short *pcm, int bytes);
\ No newline at end of file
+#ifndef __P_SPU_H__\r
+#define __P_SPU_H__\r
+\r
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__\r
+#define HTOLE16(x) __builtin_bswap16(x)\r
+#define LE16TOH(x) __builtin_bswap16(x)\r
+#else\r
+#define HTOLE16(x) (x)\r
+#define LE16TOH(x) (x)\r
+#endif\r
+\r
+void ClearWorkingState(void);\r
+void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int is_start);\r
+int  CALLBACK SPUplayCDDAchannel(short *pcm, int bytes, unsigned int cycle, int is_start);\r
+\r
+#endif /* __P_SPU_H__ */\r