added an old version of mikmod for dos
[dosdemo] / libs / oldmik / src / mdma.h
diff --git a/libs/oldmik/src/mdma.h b/libs/oldmik/src/mdma.h
new file mode 100644 (file)
index 0000000..893d359
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef MDMA_H
+#define MDMA_H
+
+#include "mtypes.h"
+
+#define READ_DMA                0
+#define WRITE_DMA               1
+#define INDEF_READ              2
+#define INDEF_WRITE             3
+
+#ifdef __WATCOMC__
+
+typedef struct{
+       void *continuous;       /* the pointer to a page-continous dma buffer */
+       UWORD raw_selector;     /* the raw allocated dma selector */
+} DMAMEM;
+
+#elif defined(__DJGPP__)
+
+typedef struct{
+               void *continuous;       /* the pointer to a page-continous dma buffer */
+               _go32_dpmi_seginfo raw; /* points to the memory that was allocated */
+} DMAMEM;
+
+#else
+
+typedef struct{
+       void *continuous;       /* the pointer to a page-continous dma buffer */
+       void *raw;                      /* points to the memory that was allocated */
+} DMAMEM;
+
+#endif
+
+DMAMEM *MDma_AllocMem(UWORD size);
+void    MDma_FreeMem(DMAMEM *dm);
+int     MDma_Start(int channel,DMAMEM *dm,UWORD size,int type);
+void    MDma_Stop(int channel);
+void   *MDma_GetPtr(DMAMEM *dm);
+void    MDma_Commit(DMAMEM *dm,UWORD index,UWORD count);
+UWORD   MDma_Todo(int channel);
+
+#endif